How to Install WordPress in NAVER Cloud Platoform
WordPress 서비스 구축하기in NAVER Cloud Platform
Wordpress 블로그 서비스를 네이버 클라우드 플랫폼에서 구축하세요.
가장 강력하고 쉬운 블로그 서비스를 제공하는 WordPress 서비스를 네이버 클라우드 플랫폼을 활용하여 구축하는 방법에 대해서 알아보려고 합니다.
네이버 클라우드 플랫폼에서 제공하는 Server 및 MySQL 설치형 상품을
활용하여 단계 별로 쉽게 구축할 수 있도록 설명 드리겠습니다.
오늘 구축해 볼 WordPress 서비스는 Private Cloud 서비스 설치형으로도
인기가 높아서, 아래와 같이 Docker Hub 서비스에서도 많은 STARs를 받고
있는 서비스 중 하나입니다.
이번 포스팅에서는 Docker Container Image를 사용하는 것은 제외하고,
네이버 클라우드 플랫폼의 인프라 및 서비스를 활용하여 WordPress
서비스를 구축하는 방법을 알려 드리겠습니다.
Wordpress 설치를 위한 준비 작업은 어떤 것들이 있나요?
Wordpress 서비스 설치에 앞서 먼저 몇 가지 S/W 설치 및 설정 작업이
필요합니다. 기본적으로 Wordpress의 경우 웹 서버와 데이터베이스를
내장하고 있지 않기 때문에, 별도의 서비스 구성은 사용자가 직접 진행해야 합니다.
(1) 웹 서버 설치 및 설정 (Nginx Web Server)
- Nginx 설치 및 설정에 대해서는 해당 글에서는 생략합니다.
( 나만의 LINE 챗봇 서비스 구축하기 포스팅을 참고하시면 됩니다. - 아래와 같이 Nginx 상태 확인 및 서비스 시작/중지를 할 수 있습니다.
$ systemctl status nginx
$ systemctl stop nginx
$ systemctl start nginx
(2) PHP7 설치 및 설정
- WordPress 서비스에서 동적인 HTML 구성을 위해 스크립트 언어 중 가장 간단하게 설치 및 설정이 가능한 PHP를 선택하였으며, 버전은 성능이
크게 개선된PHP7
을선택하였습니다.
$ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- 아래와 같이
yum instasll php70
명령을 통해 설치를 진행합니다.
설치가 완료되면,Completed!
메시지가 출력 되고, 설치 프로세스는
종료됩니다.
$ yum install php70
yum install yum-utils
명령어를 통해 유틸리티 패키지를 설치합니다.
$ yum install yum-utils
- 설치가 완료되면,
Completed!
메시지가 출력되고, 설치 프로세스는
종료됩니다.
- 추후 PHP 7.1/7.2 사용을 원한다면, 아래와 같이 설정을
Enable
합니다.
$ yum-config-manager --enable remi-php71
$ yum-config-manager --enable remi-php72
- 아래와 같이 PHP 필수 모듈 설치를 진행합니다.
- MySQL, XML, JSON 처리 및 기타 주요 라이브러리를 추가로 설치합니다.
$ yum install php-xml.x86_64
$ yum install php-xml
$ yum install php-soap.x86_64
$ yum install php-soap
$ yum install php-xmlrpc.x86_64
$ yum install php-xmlrpc
$ yum install php-mbstring.x86_64
$ yum install php-mbstring
- 설치된 PHP 버전 확인을 위해
php -v
명령어를 실행하여 확인할 수
있습니다.
$ php -v
yum list php.x86_64
를 실행하여 설치된 정보를 확인할 수 있습니다.
$ yum list php.x86_64
- PHP 설정이 완료되면, Nginx의
~{NGINX_CONF}/default.conf
파일에
아래와 같이 PHP의 fastcgi 관련 설정을 추가합니다.
(3) 네이버 클라우드 플랫폼 MySQL 설치형 서비스 사용방법
- 네이버 클라우드 플랫폼 콘솔에서 [Server]에서 MySQL 서버 생성을 위해 [서버 생성]을 클릭합니다.
- 검색 필터를 사용하여, [DBMS > MySQL] 이미지 리스트만 나타나도록
합니다.
- mysql(5.6)-centos-7.2-64
이미지를 선택하고 다음을 클릭합니다.
- Server Type, Hostname 등의 필요정보를 입력 후 [다음]을 클릭합니다.
- 새로운 인증키를 생성 후 저장합니다.
- 기존 방화벽에서 선택 또는 새로운 방화벽 설정을 합니다.
- 단계별로 설정한 서버 정보를 최종 확인 후 서버를 생성합니다.
- 아래와 같이 [생성중] > [부팅중] > [설정중] > [운영중]으로 최종 생성된 것을 확인할 수 있습니다.
- 외부의 접속을 위해 [Public IP]를 설정합니다.
- 외부에서 접속을 위한 포트 포워딩 설정을 클릭합니다.
- 서버 접속을 위해 관리자 비밀번호 확인 메뉴를 실행합니다.
- 설정한 접속정보`를 통해 정상적으로 접근이 되는지 확인을 합니다.
(4) 네이버 클라우드 플랫폼 MySQL Database 설정 방법
- 보안 위험 회피를 위해 MySQL DB Daemon Shutdown을 실행합니다.
- 아래와 같이 정상적으로 Stop/Start 실행이 되었는지 확인을 합니다.
$ service mysqld stop
$ service mysqld start
- 초기 패스워드 설정을 위해 MySQL DB에 접속합니다.
$ mysql -uroot
- 아래와 같이 초기 패스워드 실행 명령을 통해 패스워드를 설정합니다.
mysql> set password=password('Your_Password_String');
- 외부 접속을 위해서 아래와 같이 권한을 할당합니다.
mysql> grant all previleges on *.* 'your_account'@'%' identified by 'your_password'
- 보안 강화를 위해 아래와 같이 네이버 클라우드 플랫폼에서 제공하는
SQL Tool
을 사용하도록 권고하고 있습니다.
(5) PHP-FPM 설치 및 설정 방법
yum install php-fpm.x86_64
명령어를 통해 설치를 진행합니다.
$ yum install php-fpm.x86_64
최초 설치시에는 Apache에서 동작하게 되어 있어서, 이 부분을 Nginx로
변경합니다.
$ vi /etc/php-fpm.d/www.conf
- 아래와 같이 시스템의 서비스로 등록하고, 실행 후 상태를 확인합니다.
$ systemctl enable php-fpm.service
- PHP 파일 업로드 제한을 아래와 같이 수정할 수 있습니다.
$ vi /etc/php.ini
- Nginx 설정에서도 파일 업로드 제한을 수정할 수 있습니다.
$ vi /etc/nginx/conf.d/default.conf
- 설정 파일 수정 완료 후 Nginx, PHP 서버를 재시작 합니다.
$ systemctl restart nginx
$ systemctl restart php-fpm
(6) Nginx + PHP 설치 및 연동 확인
- PHP와 Nginx가 정상적으로 설치되었는 지 확인할 수 있습니다.
$ php -v
test.php
파일을 아래와 같이 생성 후 저장해 보았습니다.
$ cat > test.php
- 아래와 같이 실행 결과를 확인할 수 있습니다.
http://my_public_ip/test.php
(7) Wordpress 연동을 위한 MySQL Database 설정
- MySQL DB 접속 후 wordpress 사용자를 생성합니다.
$ mysql -u root -p
mysql> create user wordpress@localhost identified by "{YOUR_PASSWORD}"
- wordpress database 를 생성합니다.
mysql > create database wordpress;
- 전체 권한을 wordpress 사용자에게 할당합니다.
mysql > grant all on wordpress.* to wordpress;
- 설정한 권한 정보를 MySQL DB에 적용합니다.
mysql > flush privileges;
Wordpress 서버 설치는 어떻게 하나요?
위와 같이 웹 서버와 데이터베이스 서버 설치 및 설정 작업이 완료되면,
마지막으로 Wordpress 서버 설치 및 설정 작업을 완료하면 나만의 블로그
서비스를 시작할 수 있습니다.
그럼 이제부터 Wordpress 서버 설치 및 서비스 방법에 대해 알아보겠습니다.
wget http://wordpress.org/latest.tar.gz
명령어로 wordpress 최신 버전을 다운로드 받습니다.
$ wget http://wordpress.org/latest.tar.gz
- 다운로드 한 파일의 압축을 해제합니다.
$ tar zxvf latest.tar.gz wordpress
- 압축이 해제된 파일을
/var/www/wordpress
로 옮깁니다.
$ mv wordpress /var/www/wordpress
- 플러그인, 테마, 미디어가 저장되는 디렉터리를 생성합니다.
$ mkdir /var/www/wordpress/wp-config/uploads
$ mkdir /var/www/wordpress/wp-config/upgrade
- 워드프레스 디렉터리에 Nginx 사용자가 접근할 수 있도록 권한을
추가합니다.
$ chown -R nginx:nginx /var/www/wordpress
- Nginx 서버에 WordPress 파일을 Document Root의 하위 디렉터리로
이동합니다.
$ ln -s /var/www/wordpress /usr/share/nginx/html/wordpress
wp-config.php
파일을 편집하여, DB 및 보안 설정을 합니다.- DB 관련 정보를 입력합니다.
$ vi wp-config.php
- Authorization Key 생성을 위해 아래의 주소에 접근 후 발급을 받습니다.(https://api.wordpress.org/secret-key/1.1/salt/)
- 최초 정보를 주석처리 후 위에서 발급 받은 키 정보를 입력합니다.
Wordpress 서비스 접속 및 최초 설정 방법은
어떻게 되나요?
- 아래와 같이 wordpress 도메인을 호출하면 최초 시작 페이지로 접근을 할 수 있습니다. [한국어]를 선택 후 [계속]을 클릭합니다.
- 필요한 정보를 입력 후 [워드프레스 설치하기]를 클릭합니다.
- 위에서 입력한 계정 정보를 통해 로그인을 하면 아래와 같이 WordPress
대시보드를 확인할 수 있습니다.
- 위의 단계까지 마무리되면, 아래와 같이 MySQL DB의 wordpress User
테이블 정보가 정상적으로 생성된 것을 확인할 수 있습니다.
mysql > use wordpress;
mysql > show tables;
네이버 클라우드 플랫폼 상품 및 서비스는 어떻게 사용할 수 있나요?
네이버 클라우드 플랫폼의 MySQL Database 설치형 상품 및 서비스 플랫폼을 사용하기 위해서는 아래와 같이 네이버 클라우드 플랫폼 포털 사이트 및
사용자 설명서를 참고하시면 쉽게 사용하실 수 있습니다.
- 네이버 클라우드 플랫폼 포털
- 네이버 클라우드 플랫폼 사용자 설명서
- MySQL Database 상품 설명서
- 네이버 클라우드 플랫폼 WordPress 상품 설명서
- 네이버 클라우드 플랫폼 쉬운 시작 가이드
글을 마무리 하며