V1.0(2017.2.1) 개정일자 Version 개정내용 2017.2.1 1.0 신규작성
Page 1 / 10 1. 솔루션소개 WordPress WordPress는세계에서가장인기있는오픈소스웹사이트제작관리도구입니다. 웹표준, 접근성, SEO( 검색엔진최적화 ) 등의강점이있으며다양한테마와확장기능을제공합니다. 2. 설치버전 하기명시된버전은권장설치버전이며필요시다른버전을설치하셔도무방합니다. Software Ubuntu Version 14.04 x86_64 Apache 2.4.7 MySQL 5.5.53 PHP 5.5.9-1 WordPress 4.7.1 3. 설치과정 LAMP 및 WordPress 설치전에필요한인스턴스의네트워크, 키패어설정은 IXcloud 매뉴얼 (www.ixcloud.net/contents/manual/) 의 한번에구축하는 IXcloud 가이드 를참고하세요. 1) 프로젝트 > 컴퓨트 > 접근 & 보안메뉴에서 wordpress 라는시큐리티그룹을생성하여다음과같이 ping테스트를위한 ICMP, SSH를위한 22번포트, WordPress 접속을위한 80번포트규칙을추가합니다.
Page 2 / 10 2) 프로젝트 > 컴퓨트 > 인스턴스메뉴에서인스턴스를생성합니다. Flavor에서인스턴스의사양을선택하고이미지이름에서는 Ubuntu14.04를선택합니다.
Page 3 / 10 3) 접근 & 보안탭에서키페어및시큐리티그룹을설정하고네트워크탭에서연결할네트워크를선택한후에실행버튼을클릭하면인스턴스가생성됩니다.
Page 4 / 10 4) 프로젝트 > 컴퓨트 > 접근 & 보안메뉴에서 공인 IP 탭을클릭한뒤, 프로젝트에 IP 할당 을진행한뒤에공인IP를인스턴스에연결해줍니다.
Page 5 / 10 5) PuTTY를통해인스턴스콘솔에접속합니다. 인스턴스콘솔접속방법은 IXcloud 매뉴얼 (www.ixcloud.net/contents/manual/) 의 인스턴스콘솔관리 (Linux & Windows) 를참고하세요. 6) PuTTY 로 Ubuntu 인스턴스콘솔에접속해서기본설정을진행합니다. OS: Ubuntu 14.04 < 설치 > $ sudo apt-get update $ sudo apt-get install ntp < 추가 > $ sudo vim /etc/ntp.conf < 추가할내용 > server 1.kr.pool.ntp.org server 1.asia.pool.ntp.org server time.bora.net
Page 6 / 10 7) 인스턴스콘솔에서 Apache, MySQL, PHP 를설치합니다. < 설치 > $ sudo apt-get install apache2 $ sudo apt-get install mysql-server php5-mysql $ mysql_secure_installation 암호입력 > 최초선택지에서 No > 두번째선택지부터 Yes < 설치 > $ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt $ sudo nano /etc/apache2/mods-enabled/dir.conf Index.html 앞에 index.php 추가후저장및종료 $ service apache2 restart < 설치 > $ sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt 8) PHP 가제대로설치되었는지확인합니다. $ sudo nano /var/www/html/info.php <?php phpinfo();?> 추가후저장하고종료 웹브라우저에서 http://ip< 혹은도메인 >/info.php 해서정상적으로 PHP info 가나오는지확인 확인이되면삭제 $ rm /var/www/html/info.php
Page 7 / 10 <PHP 설치가완료되면확인할수있는 PHPinfo 페이지 > 9) WordPress 를위한 MySQL 데이터베이스와사용자를생성합니다. $ mysql -u root -p < 빨간부분을임의의데이터로수정후 MySQL 콘솔상에서입력처리후종료 > CREATE DATABASE wordpress; CREATE USER wordpressuser@localhost; SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password"); GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; Exit 10) WordPress 다운로드및설정을진행합니다. $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz
Page 8 / 10 $ cd ~/wordpress $ cp wp-config-sample.php wp-config.php $ nano wp-config.php 다음항목에빨간데이터를 MySQL 정보세팅시사용한정보로변경 // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('db_name', 'wordpress'); /** MySQL database username */ define('db_user', 'wordpressuser'); /** MySQL database password */ define('db_password', 'password'); 11) Document Root 에파일을복사합니다. $ rsync -avp ~/wordpress/ /var/www/html/ $ cd /var/www/ $ chown -R www-data:www-data html/ $ usermod -a -G www-data www-data 12) WordPress 가제대로설치되었는지웹에서확인합니다. http://ip< 혹은도메인 > 으로접속하여 WordPress 초기설정페이지접근확인 13) 기타마무리설정을진행합니다. (1) 이미지크롭등오류가발생할경우아래항목의데이터를수정합니다. $ nano /var/www/html//wp-includes/default-constants.php
Page 9 / 10 출력된내용에서 define( 'WP_MEMORY_LIMIT', '64M' ); --> 96M으로변경 $ service apache2 reload (2) 로그데이터출력을위해데이터를수정합니다. $ nano/etc/php5/apache2/php.ini error_log = /var/log/error.log 를추가합니다. 14) 방화벽설정을진행합니다. 하기의내용중구성할환경에알맞게선택하여설정합니다. (1) 특정 IP만특정포트로접근허용 $ ufw allow from <IP> to any port <PORT> (2) 특정포트와프로토콜허용 $ ufw allow 80/tcp (3) 등록방화벽확인 $ ufw status $ ufw status numbered (4) 등록방화벽삭제 $ ufw delete [numbered] (5)ufw 로깅 $ ufw logging on $ ufw logging off (6) 핑제거 $ vi /etc/ufw/before.rules 에서 icmp 부분에있는 ACCEPT를 DROP으로변경 (7) 방화벽활성화 $ ufw enable
Page 10 / 10 15) Ubuntu 에서추가 Apache 설정을진행합니다. $ vi /etc/apache2/mods-available/alias.conf $ vi /etc/apache2/apache2.conf 에 AllowOverride 를 None에서 All로변경 $ a2enmod rewrite $ service apache2 restart 16) WordPress 의사용자암호변경방법은다음과같습니다. < 참고 > https://codex.wordpress.org/resetting_your_password wp.txt 라는파일에암호로하고자하는텍스트입력후저장 $ tr -d '\r\n' < wp.txt md5sum tr -d ' -' $ rm wp.txt 결과로나온 md5 값을저장 $ mysql -u root -p use ( 워드프레스데이터베이스 ); show tables; select id, user_login, user_pass from ( 사용자테이블 ); update ( 사용자테이블 ) set user_pass= 저장된 md5 값 where id = ( 사용자번호 ); 이후 http://ip( 혹은도메인 )/wp-login.php 로접속해서, 사용자명과변경된암호 ( 텍스트 ) 로접속 WordPress 설치를완료하셨습니다. ^^