GCP 이용 워드프레스 설치

현재 블로그는 티스토리를 이용하고는 있으나, 개인 홈페이지 및 개인 블로그는 설치형 워드프레스를 사용중이다. 초심자가 접근하기엔 역시 티스토리나 네이버 블로그가 편하지만, 편의성이나 자유도는 압도적으로 워드프레스가 좋다. 플러그인 지원도 그렇고 이래저래 좋은 점이 많지만 역시, 단점은 설치형이다 보니 범접하기가 힘든 것도 사실이다.

설치 시 꽤나 귀찮은 점이 많아서 오늘은 추후 재설치 시 까먹을 것을 대비해서 워드프레스 설치방법을 써보려고 한다.

무료로 제공되는 가상 서버 중에는 여러가지가 있지만, 제목에 떡하니 GCP(Google Cloud Platform)라고 적어둔건 딱히 GCP가 좋아서 그런 것 보단 현재 오라클 클라우드는 이미 다른 용도로 잘 사용중이라 남는 자리가 없어서, 남는 서버를 고르다보니 GCP가 선택되었다. (개인 홈페이지, 개인용 블로그는 오라클 클라우드를 사용중이다.)

준비물 : 구글계정, GCP 가입. 이건 인터넷에 많이 있으니 이 과정은 생략한다.

1. 먼저 GCP로 접속한다. (s.xeriars.com/U71-)



2. 메뉴버튼 → Compute Engine → VM 인스턴스 클릭



3. 만들기 클릭



3. 무료 사용을 위해서는 f1-micro 머신을 골라야 하는데, 다음의 리전만 무료로 이용가능하므로 주의.

us-west1(오리건), us-central1(아이오와) us-east1(사우스캐롤라이나)

사용조건 : 1GB 트래픽, 서버용량 월 30GB, 서버 사용시간 월 744시간 (31일 * 24시간 = 744시간/월)

인스턴스를 2개 만들게되더라도 서버시간은 합산 계산되므로 두개를 같이 돌리게 되면 744시간 / 2 = 372시간으로 줄어드므로 주의한다.



4. 원하는 부팅디스크를 고른다. 개인 취향에 맞춰 CentOS를 써도 되고 Debian을 써도 되고, 그건 자유.

인스턴스는 1개만 사용할 것이므로 처음부터 30GB로 잡아준다.



5. 나중에 포트를 열려면 메뉴버튼 → VPC 네트워크 → VM 인스턴스에 가서 열면 되지만, 귀찮으니 미리 여기서 http와 https의 트래픽을 허용으로 체크 후 만들기 클릭



6. SSH로 서버에 접근 할 수 있도록 SSH키를 생성해서 붙여준다. 메뉴버튼 → Compute Engine → 메타데이터 → SSH키



7. 인스턴스 생성이 완료되면 서버 IP(외부 IP)를 이용해서 접속한다. 고정 IP는 참고로 유료기능이다.

서버 내에서 shutdown -r 명령으로는 상관이 없지만 GCP 메뉴에서 서버를 중지했다가 재시작하는 경우에는 IP가 변경되므로 나중에 도메인과 연결하기 위해 DNS를 설정하게 되면 주의해야 한다.



8. PuTTY 등으로 SSH 접속을 진행하면 되며, 무사히 완료되면 다음의 명령을 실행한다.

$sudo apt update && sudo apt upgrade -y

9. APM (Apache, PHP, MariaDB) 패키지를 설치해준다.

$sudo apt install apache2 php7.4 php7.4-fpm mariadb-server
$sudo apt install php7.4-json libapache2-mod-php7.4 php7.4-mysql
$sudo apt install php7.4-gd php7.4-mbstring php7.4-bz2 php7.4-zip
$sudo apt install php7.4-opcache php7.4-readline php7.4-curl php7.4-xml

10. mysql (MariaDB)를 설정한다.

먼저 root계정 패스워드를 설정한다.

$sudo mysqladmin -uroot -proot password 1q2w3e4r!@

그 다음 워드프레스용 데이터베이스와 계정을 생성해준다.



$sudo mysql -u root -p
create database wordpress;
use mysql;
CREATE USER 'wordpress'@'%' IDENTIFIED BY '1q2w3e4r!@';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%'; 
FLUSH PRIVILEGES;
quit;

11. 워드프레스 설치파일을 다운로드 한 뒤, 압축을 풀어 apache2 웹서버 루트로 이동시켜준다.

$cd /tmp
$wget https://wordpress.org/latest.tar.gz
$tar zxvf latest.tar.gz
$sudo mv wordpress /var/www/html

12. 웹서버 루트로 이동 후 wp-config.php를 수정해주어야 한다. nano가 없으면 설치한다.

$cd /var/www/html/wordpress
$sudo cp wp-config-sample.php wp-config.php
$sudo apt install nano
$sudo nano wp-config.php

13. wp-config.php를 다음과 같이 수정한다.


// ** 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', 'wordpress' );

/** MySQL database password */
define( 'DB_PASSWORD', '1q2w3e4r!@' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

다른 부분은 위에서 설정한 DB 설정대로 해주면 되고 AUTH_KEY 부분의 ‘put your unique phrase here’ 부분은 s.xeriars.com/73yL를 방문해서 나온 정보를 입력하면 된다.

14. 파일 및 디렉터리 소요권을 부여한다.

$sudo chown www-data.www-data /var/www/html/wordpress/* -R

15. php.ini를 값을 수정한다.

$sudo nano /etc/php/7.4/fpm/php.ini

최하단에 다음의 값을 넣어준다.

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440

저장 후 php를 재시작한다.

$sudo service php7.4-fpm restart

15. apache2를 재시작한다.

$sudo service apache2 restart

16. https로 접속을 원하는 경우 반드시 도메인이 필요하며, 도메인의 DNS를 설정한 후 certbot으로 인증서를 발급받으면 된다. 그 관련 절차는 xeriars.com/260 를 참조한다.

17. 웹브라우저를 열고 http://본인의서버IP주소/wordpress 로 접속한다.



만약 설치화면이 아니라 php소스가 출력된다면 다음과 같이 수정해 줄 필요가 있다.

$sudo nano /etc/apache2/apache2.conf


스크린샷과 같이 맨 밑줄에 다음의 설정을 삽입 후 저장.

AddType application/x-httpd-php .php .htm .html .inc
AddType application/x-httpd-php-source .phps

apache2를 재시작해준다.

$sudo service apache2 restart


위와 같이 나온다면 99% 완성이다.

블로그 이름, 아이디, 비밀번호를 설정해준 뒤 install WordPress를 클릭해주면 설치가 완료된다.

검색엔진에 블로그가 노출되기 원한다면 Search engine visibility에 체크해준다. 나는 개인 홈페이지를 만들때는 체크를 안하고 만들었다.



18. 아이디와 패스워드까지 생성되었으면 완료된 것이다. 이제 다시 http://본인의서버IP주소/wordpress 로 접속하면 다음과 같은 화면을 볼 수 있다.



19. 개설된 블로그가 이렇게 뜬다면 완성.

이제 관리자 페이지에 들어가 이런저런 설정을 해주면 된다.

잘 꾸미고 운영하는 일만 남았으며, 다음번 글에는 이런저런 꼼수를 조금 더 담아볼까 생각중.

댓글 남기기