[이렇게 사용하세요!] 클라우드 위에 나만의 WordPress 블로그 구축하기

NAVER CLOUD PLATFORM
NAVER CLOUD PLATFORM
17 min readOct 26, 2021
이미지 출처 : wordpress.com

Wordpress 블로그 서비스를 네이버 클라우드 플랫폼에서!

가장 강력하고 쉬운 블로그 서비스를 제공하는 WordPress 서비스를 네이버 클라우드 플랫폼을 활용하여 구축하는 방법에 대해서 알아보려고 합니다. 네이버 클라우드 플랫폼에서 제공하는 Server 및 MySQL 설치형 상품을 활용하여 단계 별로 쉽게 구축할 수 있도록 설명 드리겠습니다.

[figure 1] Wordpress (https://ko.wordpress.com/#benefits-domains)

오늘 구축해 볼 WordPress 서비스는 Private Cloud 서비스 설치형으로도 인기가 높아서, 아래와 같이 Docker Hub 서비스에서도 많은 STARs를 받고 있는 서비스 중 하나입니다.

[figure 2] Docker Hub — Wordpress#1 (https://hub.docker.com/explore/?page=2)
[figure 3] Docker Hub — Wordpress#2 (https://hub.docker.com/explore/?page=2)

이번 포스팅에서는 Docker Container Image를 사용하는 것은 제외하고,
네이버 클라우드 플랫폼의 인프라 및 서비스를 활용하여
WordPress 서비스를 구축하는 방법을 알려 드리겠습니다.

Wordpress 설치를 위한 준비 작업은 어떤 것들이 있나요?

Wordpress 서비스 설치에 앞서 먼저 몇 가지 S/W 설치 및 설정 작업이 필요합니다. 기본적으로 Wordpress의 경우 웹 서버와 데이터베이스를 내장하고 있지 않기 때문에, 별도의 서비스 구성은 사용자가 직접 진행해야 합니다.

(1) 웹 서버 설치 및 설정 (Nginx Web Server)
— Nginx 설치 및 설정에 대해서는 해당 글에서는 생략합니다.
(기존 ‘나만의 LINE 챗봇 서비스 구축하기’ 포스팅을 참고하시면 됩니다. 또한 Nginx 사이트에서도 참조가 가능합니다. )

[figure 4] Nginx 서버 설치 및 설정

- 아래와 같이 Free SSL 인증서 설치 및 설정하는 방법도 마찬가지로 위와 같이 기존 ‘나만의 LINE 챗봇 서비스 구축하기’ 포스팅을 참고하시면 됩니다.

[figure 5] Let’s Encrypt 설치 및 설정

- 아래와 같이 Nginx 상태 확인 및 서비스 시작/중지를 할 수 있습니다.

[figure 6] Nginx Service Status 확인
[figure 7] Nginx Service Start | Stop

(2) PHP7 설치 및 설정
— WordPress 서비스에서 동적인 HTML 구성을 위해 스크립트 언어 중 가장 간단하게 설치 및 설정이 가능한 PHP를 선택하였으며, 버전은 성능이 크게 개선된 “PHP7”을 선택하였습니다.

[figure 8] PHP7 Installation

- 아래와 같이 “yum install php70” 명령을 통해 설치를 진행합니다. 설치가 완료되면, “Completed!” 메시지가 출력 되고, 설치 프로세스는 종료됩니다.

[figure 9] PHP7 Installation 완료

- “yum install yum-utils” 명령어를 통해 추가 유틸리티 패키지를 설치합니다.

[figure 10] PHP Utilization Module Installation

- 설치가 완료되면, “Completed!” 메시지가 출력되고, 설치 프로세스는 종료됩니다.

[figure 11] PHP Utilization Module Installation 완료

- 추후 PHP 7.1/7.2 사용을 원한다면, 아래와 같이 설정을 “Enable” 합니다.

[figure 12] PHP Other Version 설정 Enable

- 아래와 같이 PHP 필수 모듈 설치를 진행합니다.

[figure 13] PHP 필수 Module Installation 완료

- MySQL, XML, JSON 처리 및 기타 주요 라이브러리를 추가로 설치합니다.

[figure 14] PHP XML Module Installation
[figure 15] PHP SOAP Module Installation
[figure 16] PHP XMLRPC Module Installation
[figure 17] PHP MBSTRING Module Installation

- 설치된 PHP 버전 확인을 위해 “php -v” 명령어를 실행하여 확인할 수 있습니다.

[figure 18] PHP 버전 확인

- “yum list php.x85_64”를 실행하여 설치된 정보를 확인할 수 있습니다.

[figure 19] PHP 설치 리스트 및 정보 확인

- PHP 설정이 완료되면, Nginx의 “~{NGINX_CONF}/default.conf” 파일에 아래와 같이 PHP의 fastcgi 관련 설정을 추가합니다.

[figure 20] Nginx 연동을 위한 설정파일 변경

(3) 네이버 클라우드 플랫폼 MySQL 설치형 서비스 사용방법
— 네이버 클라우드 플랫폼 콘솔에서 [Server]에서 MySQL 서버 생성을 위해 [서버 생성]을 클릭합니다.

[figure 21] MySQL Database 서버 이미지 생성

- 검색 필터를 사용하여, [DBMS > MySQL] 이미지 리스트만 나타나도록 합니다.

[figure 22] MySQL Database 서버 이미지 검색

- “mysql(5.6)-centos-7.2–64” 이미지를 선택하고 다음을 클릭합니다.

[figure 23] MySQL Database 서버 이미지 선택

- Server Type, Hostname 등의 필요정보를 입력 후 [다음]을 클릭합니다.

[figure 24] MySQL Database 서버 정보 입력

- 새로운 인증키를 생성 후 저장합니다.

[figure 25] MySQL Database 서버 인증키 생성

- 기존 방화벽에서 선택 또는 새로운 방화벽 설정을 합니다.

[figure 26] MySQL Database 서버 방화벽 설정

- 단계별로 설정한 서버 정보를 최종 확인 후 서버를 생성합니다.

[figure 27] MySQL Database 서버 확인 및 생성

- 아래와 같이 [생성중] > [부팅중] > [설정중] > [운영중]으로 최종 생성된 것을 확인할 수 있습니다.

[figure 28] MySQL Database 서버 생성 확인

- 외부의 접속을 위해 [Public IP]를 설정합니다.

- 외부에서 접속을 위한 포트 포워딩 설정을 클릭합니다.

[figure 30] MySQL Database 서버 포트포워딩 설정

- 서버 접속을 위해 관리자 비밀번호 확인 메뉴를 실행합니다.

[figure 31] MySQL Database 서버 관리자 비밀번호 설정/확인

- 설정한 접속정보를 통해 정상적으로 접근이 되는지 확인을 합니다.

[figure 32] MySQL Database 서버 터미널 접속 확인

(4) 네이버 클라우드 플랫폼 MySQL Database 설정 방법

- 보안 위험 회피를 위해 MySQL DB Daemon Shutdown을 실행합니다.

[figure 33] MySQL Database Shutdown

- 아래와 같이 정상적으로 Stop/Start 실행이 되었는지 확인을 합니다.

[figure 34] MySQL Database Start | Stop

- 초기 패스워드 설정을 위해 MySQL DB에 접속합니다.

[figure 35] MySQL Database 접속 확인

- 아래와 같이 초기 패스워드 실행 명령을 통해 패스워드를 설정합니다.

[figure 36] MySQL Database 비밀번호 설정

- 외부 접속을 위해서 아래와 같이 권한을 할당합니다.

[figure 37] MySQL Database 외부 접속 설정

- 보안 강화를 위해 아래와 같이 네이버 클라우드 플랫폼에서 제공하는 SQL Tool을 사용하도록 권고하고 있습니다.

[figure 38] MySQL Database SQLSTATUS 실행
[figure 39] MySQL Database SQLSTATUS 항목 설명

(5) PHP-FPM 설치 및 설정 방법
- “yum install php-fpm.x86_64” 명령어를 통해 아래와 같이 설치를 진행합니다.

[figure 40] PHP-FPM 설치

- 최초 설치시에는 Apache에서 동작하게 되어 있어서, 이 부분을 Nginx로 변경합니다.
> vi /etc/php-fpm.d/www.conf

[figure 41] PHP-FPM 설정 변경

- 아래와 같이 시스템의 서비스로 등록하고, 실행 후 상태를 확인합니다.

[figure 42] PHP-FPM 서비스 등록 및 실행

- PHP 파일 업로드 제한을 아래와 같이 수정할 수 있습니다.
> vi /etc/php.ini

[figure 43] php.ini 파일에서 Upload 관련 설정 수정
[figure 44] php.ini 파일에서 post_max_size 설정 수정

- Nginx 설정에서도 파일 업로드 제한을 수정할 수 있습니다.
> vi /etc/nginx/conf.d/default.conf

- 설정 파일 수정 완료 후 Nginx, PHP 서버를 재시작 합니다.

[figure 46] Nginx 서비스 재시작

(6) Nginx + PHP 설치 및 연동 확인
— PHP와 Nginx가 정상적으로 설치되었는 지 확인할 수 있습니다.

[figure 47] Nginx, PHP 설치 확인

- “test.php” 파일을 아래와 같이 생성 후 저장해 보았습니다.

[figure 48] “test.php” 파일 생성 후 실행

- 아래와 같이 실행 결과를 확인할 수 있습니다.

[figure 49] Nginx 서버에서 “test.php” 실행 결과

(7) Wordpress 연동을 위한 MySQL Database 설정
— MySQL DB 접속 후 wordpress 사용자를 생성합니다.

[figure 50] MySQL Database에 Wordpress 사용자 생성

- wordpress database 를 생성합니다.

[figure 51] MySQL Database에 Wordpress 데이터베이스 생성

- 전체 권한을 wordpress 사용자에게 할당합니다.

[figure 52] MySQL Database에 Wordpress 사용자 할당

- 설정한 권한 정보를 MySQL DB에 적용합니다.

[figure 53] MySQL Database에 최종 정보 적용

Wordpress 서버 설치는 어떻게 하나요?

위와 같이 웹 서버와 데이터베이스 서버 설치 및 설정 작업이 완료되면, 마지막으로 Wordpress 서버 설치 및 설정 작업을 완료하면 나만의 블로그 서비스를 시작할 수 있습니다.

그럼 이제부터 Wordpress 서버 설치 및 서비스 방법에 대해 알아보겠습니다.

- “wget http://wordpress.org/latest.tar.gz" 명령어로 wordpress 최신 버전을 다운로드 받습니다.

[figure 54] Wordpress 다운로드

- 다운로드 한 파일의 압축을 해제합니다.

[figure 55] Wordpress 파일 압축 해제

- 다운로드된 파일을 삭제합니다.

[figure 56] Wordpress 파일 압축 파일 삭제

- 압축이 해제된 파일을 “/var/www/wordpress”로 옮깁니다.

[figure 57] Wordpress 파일 이동

- 워드프레스의 플러그인, 테마, 미디어가 저장되는 디렉터리를 생성합니다.

[figure 58] Wordpress 미디어 디렉터리 생성

- 워드프레스 디렉터리에 Nginx 사용자가 접근할 수 있도록 권한을 추가합니다.

[figure 59] Wordpress 디렉터리 권한 변경

- Nginx 서버에 WordPress 파일을 Document Root의 하위 디렉터리로 이동합니다.

[figure 60] Wordpress 파일을 Nginx Document Root로 이동

- “wp-config.php” 파일을 편집하여, DB 및 보안 설정을 합니다.
DB 관련 정보를 입력합니다.

[figure 61] Wordpress Database 정보 입력

Authorization Key 생성을 위해 아래의 주소에 접근 후 발급을 받습니다.
(https://api.wordpress.org/secret-key/1.1/salt/)

[figure 62] Wordpress Authorization Key 생성

최초 정보를 주석처리 후 위에서 발급 받은 키 정보를 입력합니다.

[figure 63] Wordpress Authorization Key 정보 입력

Wordpress 서비스 접속 및 최초 설정 방법은 어떻게 되나요?

- 아래와 같이 wordpress 도메인을 호출하면 최초 시작 페이지로 접근을 할 수 있습니다. [한국어]를 선택 후 [계속]을 클릭합니다.

[figure 64] My Wordpress Site 접속

- 필요한 정보를 입력 후 [워드프레스 설치하기]를 클릭합니다.

[figure 65] My Wordpress Site 접속 후 설정하기

- 위에서 입력한 계정 정보를 통해 로그인을 하면 아래와 같이 WordPress 대시보드를 확인할 수 있습니다.

[figure 66] My Wordpress 로그인 및 대쉬보드 확인

- 위의 단계까지 마무리되면, 아래와 같이 MySQL DB의 wordpress User의 테이블 정보가 정상적으로 생성된 것을 확인할 수 있습니다.

[figure 67] My Wordpress & MySQL Database 연동 성공

네이버 클라우드 플랫폼 상품 및 서비스는 어떻게 사용할 수 있나요?

네이버 클라우드 플랫폼의 MySQL Database 설치형 상품 및 서비스 플랫폼을 사용하기 위해서는 아래와 같이 네이버 클라우드 플랫폼 포털 사이트 및 사용자 가이드를 참고하시면 쉽게 사용하실 수 있습니다.

- 네이버 클라우드 플랫폼 포털
: https://www.ncloud.com/?referer=blog
- 네이버 클라우드 플랫폼 사용자 가이드
: http://docs.ncloud.com/ko
- MySQL Database 상품 가이드
: http://docs.ncloud.com/ko/database/database-1-1.html

글을 마무리 하며…

네이버 클라우드 플랫폼의 MySQL Database 설치형 상품 및 서비스를 활용하여, Wordpress 서비스를 구축하는 방법에 대해서 알아보았습니다. 나만의 블로그 서비스를 구축하기 위해서는 여러 솔루션들이 있지만, 강력한 Plug-in과 Theme를 제공하는 Wordpress 서비스가 가장 좋은 대안이라고 생각합니다. 네이버 클라우드 플랫폼의 인프라 서비스와 플랫폼을 활용하여 쉽고 빠르게 블로그 서비스를 생성 및 제공할 수 있지 않을까 기대해 봅니다. 끝까지 읽어 주셔서 감사합니다.

--

--

NAVER CLOUD PLATFORM
NAVER CLOUD PLATFORM

We provide cloud-based information technology services for industry leaders from startups to enterprises.