본문 바로가기

작업 공간/프로그래밍 [GCP] 평생 무료 VM에 워드프레스 설치하기

by 서울나기 2021. 4. 28.
GCP(Google Cloud Platform)에 무료 서버를 설치할 수 있다고 해서 찾아보았다. 개인용 블로그 용도로 사용한다면 일반 호스팅 업체를 사용하는 것보다 저렴(혹은 무료)하게 이용할 수 있다. GCP를 가입하면 총 300달러를 주는데 그것과는 별개로 무료로 사용할 수 있는 제품이다. GCP를 가입하는 방법은 다른 블로그에 자세하게 나와있으니 여기선 인스턴스 설정과 워드프레스 설치만을 다룬다.

GCP 무료 VM 만들기

1. 무료 VM 조건

GCP의 무료 서버를 만들기 위해서는 조건이 있다.

 

GCP 무료 등급: 무료 확장 체험판 및 항상 무료  |  Google Cloud

GCP 무료 등급이 3개월간 $300 크레딧을 제공하는 무료 체험판과 20여 개의 항상 무료 제품이라는 두 가지 방식으로 무료 프로그램을 확대합니다. 자세히 알아보기

cloud.google.com

무료로 사용하기 위해서는 오리건/아이오와/사우스캘롤라이나에 있는 서버를 이용해야 하고 f1-micro VM을 사용해야한다. 또 HDD는 30GB까지 제공된다.

2. 인스턴스 생성

GCP 콘솔에 접속해 Compute Engine > VM인스턴스를 선택한다.

상단에 인스턴스 만들기를 클릭힌다.

 

우리나라에 가까운 서버는 오리건(us-west1)에 있는 서버이다. OS는 자신이 원하는 것을 선택해도 된다. 여기서는 우분투 20.04를 토대로 작성하고자 한다.

리전 us-west1(오리건)
머신 구성 N1스리즈 / f1-micro(vCPU 1개, 614MB 메모리
OS Ubuntu 20.04 LTS minimal
하드디스크 표준 영구 디스크 / 30GB

그냥 묻지도 따지지도 말고 다음과 같이 입력하자.

3. 셋팅 완료

VM 인스턴스 메뉴로 돌아가면 셋팅되 서버를 볼 수 있다. 외부 아이피에 적힌 아이피로 홈페이지에 접속이 가능하다.

 

 

이제 우측에 보이는 연결 항목에 SSH 버튼을 클릭해서 워드프레스를 설치해보자.


워드프레스 설치하기

1. 먼저 우분투를 업데이트 시킨다.

$sudo apt update && sudo apt upgrade -y

2. 아파치, PHP, 마리아DB (APM) 패키지를 설치한다.

$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

편집기를 사용하기 위해 나노 에디터 설치.

$sudo apt install nano

3. 마리아DB를 설정해 준다.

3-1. Mysql 계정과 비밀번호를 입력한다. 작은 따옴표 (' ') 안에 비밀번호를 대소문자+숫자(혹은 특수문자) 조합으로 입력한다.

$sudo mysqladmin -uroot -p password '비밀번호'

3-2. 데이터베이스와 계정 생성

$sudo mysql -u root -p

mysql에 접속해 다음과 같은 명령을 차례로 입력한다. 비밀번호는 대소문자 조합으로 할것.

create database wordpress;
use mysql;
CREATE USER 'wordpress'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%';
FLUSH PRIVILEGES;
quit;

4. 워드프레스 설치

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

워드프레스 사이트에서 압축파일을 다운받아 풀어주기만 하면 된다.

5. wp-config.php 수정

wp-config-sample.php 파일을 복사해 wp-config.php를 생성.

$sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

다음 항목을 에디터로 수정한다.

$sudo nano /var/www/html/wordpress/wp-config.php
-- 앞서 설정한 DB 정보를 아래에 3개의 항목에 입력한다.

/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpress' );

/** MySQL database password */
define( 'DB_PASSWORD', '비밀번호' );


-- 아래 부분을 찾아 지우고 http://api.wordpress.org/secret-key/1.1/salt/ 에 있는 정보를 복사 붙이기 한다.

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' );

참고로 나노 에디터에서 Ctrl+K는 한 줄을 전체를 지우는 명령어이다. 수정 후 저장하려면 Ctrl+X를 누르고 Y(저장)을 누른 뒤에 한번 더 엔터를 눌려주면 된다.

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

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

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

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

php.ini 파일 최하단에 다음과 같이 입력해 줄 것.

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

8. 루트 디렉토리 바꾸기

아파치 웹서버 설정 파일을 수정해 워드프레스 디렉토리를 루트 디렉토리로 바꾸자.

$sudo nano /etc/apache2/apache2.conf

8-1. 아래 Directory /var/www/ 부분을 찾아 Directory /var/www/html/wordpress/로 교체.

8-2. 아파치 웹서버의 사이트 설정파일도 수정해 준다.

$sudo nano /etc/apache2/sites-available/000-default.conf

아래 DocumentRoot를 찾아 /var/www/html/wordpress/로 경로를 수정한다.

9. PHP,아파치 재시작

$sudo service php7.4-fpm restart
$sudo service apache2 restart

10. 워드프레스 설정

GCP VM 인스턴스에 나온 외부 IP를 통해 접속하면 완료.


마지막으로 접속이 안된다면 HTTPS:// 를 제거하고 외부 아이피만 붙여넣어 보자.

댓글