IT Info

gcp wordpress 워드프레스 설치 방법(php 8.1)

Jan92 2023. 6. 26. 23:16

구글 클라우드 플랫폼, 워드프레스 설치하는 방법(php 8.1)

 

gcp wordpress 설치 방법

최근 워드프레스 블로그에 관심이 있어 찾아보게 된 'GCP(Google Cloud Platform)에 WordPress를 설치하는 방법'에 대한 포스팅입니다. 아래 내용은 Ubuntu 20.04 LTS 버전에서 작업된 내용임을 참고 부탁드립니다.

 

2023년 6월 26일 기준 워드프레스의 최신 버전은 6.2.2인데요.

Wordpress 5.9부터 PHP 8.1에 대한 베타 지원이 추가되었기 때문에 해당 포스팅에서는 PHP 8.1 버전을 설치하였습니다.

(기존에 많이 사용되던 7.4 버전에 비해 8.1 버전의 성능이 많이 향상되었다고 합니다.)

 

전체 과정을 간단하게 설명드리면 Apache2, MariaDB, PHP 설치에 이어 데이터베이스 생성 및 계정 설정을 진행합니다.

이어서 워드프레스를 설치, 워드프레스 설정 파일을 통해 데이터베이스를 연결하고 접속 암호화를 설정합니다.

Apache2 설정 수정 후, PHP와 Apache2를 재가동시키면 워드프레스 설치가 완료됩니다.

 

 


1. apt update

sudo apt update && sudo apt upgrade -y

서버 접속 후 위 apt 명령어를 통해 패키지 최신화 및 최신 버전 업그레이드를 진행합니다.

(update의 경우 설치 가능한 패키지 리스트를 최신화하는 명령어이며, upgrade의 경우 실제 업데이트를 하기 위한 명령어입니다.)

 

 

2. Apache2 설치

sudo apt install apache2

이어서 apache2 웹 서버를 설치합니다. 정상적으로 설치되고 해당 서버의 외부 ip로 접속했을 때 다음과 같은 화면을 볼 수 있습니다.

 

Apache2 설치

 

3. MariaDB 설치

sudo apt install mariadb-server

이어서 데이터베이스 관리 시스템으로 mariadb를 설치해 줍니다.

 

 

4. PHP 설치

(php 및 php-fpm)
sudo apt install php8.1 php8.1-fpm

(그 외 필요한 패키지들)
sudo apt install php8.1-gd php-json php8.1-mysql php8.1-curl php8.1-intl php-imagick php8.1-xml php8.1-zip libapache2-mod-php8.1

이어서 php, php-fpm을 설치하고, 그 외에 워드프레스 사용에 필요한 패키지들을 함께 설치합니다.

(웹 서버로 apache2를 사용하는 경우 mpm_event를 이용하기 위해 php8.1-fpm을 설치하고 mod_php를 이용하기 위해 libapache2-mod-php8.1을 설치합니다.)

 

Unable to locate package php8.1

이때 이미지처럼 Unable to locate package php8.1, Couldn't find any package by glob 'php8.1' 같은 에러 메시지가 발생할 수 있는데요.

 

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

해당 패키지를 찾지 못하는 경우 발생하는 문제이며, 다음 명령어를 통해 해당 패키지가 있는 repository를 추가해 주고 다시 php를 설치하게 되면 설치가 정상적으로 진행됩니다.

(php 설치가 완료되면 'php -v' 명령어를 통해 설치된 버전을 확인할 수 있습니다.)

 

 

5. MariaDB 설정

create database && create user

설치된 mariadb에 접속 후 다음과 같이 데이터베이스를 생성하고 워드프레스에서 사용할 계정을 생성합니다.

 

(데이터베이스 생성)
CREATE DATABASE wordpress;

(워드프레스에서 사용할 계정 생성 및 권한 부여)
USE mysql;
CREATE USER 'wordpress'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%';
FLUSH PRIVILEGES:

 

 

6. 워드프레스 설치

(/var/www/html 경로로 이동)
cd /var/www/html

(wordpress 다운로드 및 압축 풀기)
sudo wget https://wordpress.org/latest.tar.gz
sudo tar zxvf latest.tar.gz

워드프레스 사이트에서 압축 파일을 다운로드하여서 푸는 작업입니다.

(23년 6월 25일 기준 wordpress-6.2.2.tar.gz 파일이 다운로드되었습니다.)

 

 

7. 워드프레스 데이터베이스 연결 및 접속 암호화 설정

(/var/www/html/wordpress 경로로 이동)
cd /var/www/html/wordpress

(wp-config-sample.php 파일을 복사)
sudo cp wp-config-sample.php wp-config.php

(복사한 wp-config.php 파일 수정)
sudo vim wp-config.php

워드프레스 설정 샘플 파일인 wp-config-sample.php를 복사한 설정 파일(wp-config.php)을 생성하고 해당 파일을 수정합니다.

 

wp-config.php 파일 수정1

먼저 설정 파일에서 'DB_NAME', 'DB_USER', 'DB_PASSWORD' 부분을 mariadb에서 만든 데이터베이스와 계정 정보로 바꿔줍니다.

 

wp-config.php 파일 수정2

그리고 위 define 부분의 value 값들을 변경해주어야 하는데요. 

아래 주소에 접속하면 wordpress api를 통해 위 key들에 대한 유니크한 value 값들을 발급받을 수 있습니다.

http://api.wordpress.org/secret-key/1.1/salt/

(발급받은 value 값을 'put your unique phrase here' 부분에 넣어주면 되는데, 해당 영역을 모두 지우고 api 결과 데이터를 그대로 복사하여 넣는 것이 더 편리합니다.)

 

 

8. 워드프레스 파일 및 디렉터리 권한 부여

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

 

 

9. php.ini 파일 수정

sudo vim /etc/php/8.1/fpm/php.ini

vim 편집기를 통해 해당 경로의 php.ini 파일을 수정하는데요.

 

file_uploads = On
max_execution_time = 180
memory_limit = 256M
post_max_size = 32M
max_input_time = 60

파일 맨 하단에 위 내용을 추가해 주면 됩니다.

(해당 값의 경우 서버의 성능에 따라 다르게 설정할 필요가 있습니다.)

 

각각의 옵션에 대한 내용을 살펴보면, file_uplods 값을 On으로 설정함으로써 파일 업로드를 허가하게 됩니다.

max_execution_time의 경우, default 값이 30인데요. 워드프레스에서 max_execution_time exceeded라는 에러가 가끔 발생하기 때문에 기본 값보다 크게 잡아줍니다.

max_input_time은 GET, POST, 파일 업로드 등의 입력 데이터를 받아들이는 최대 시간(초단위)에 대한 설정입니다.

memory_limit의 default 값은 128M으로 스크립트가 사용할 수 있는 최대 메모리양을 나타냅니다.

 

 

10. apache2 설정 변경 (루트 디렉터리 변경)

sudo vim /etc/apache2/apache2.conf

다음 명령어를 통해 apache2.conf 설정 파일을 수정합니다.

 

apache2.conf

해당 파일에서 수정되어야 할 부분은 바로 노란색 네모로 되어 있는 부분인데요.

기존에 '/var/www/'로 되어있던 값을 '/var/www/html/wordpress/'로 수정해 주면 됩니다.

 

 

sudo vim /etc/apache2/sites-available/000-default.conf

이어서 apache2에서 현재 사용 중인 설정인 000-default.conf 설정 파일도 수정이 필요한데요.

 

000-default.conf

해당 파일의 DocumentRoot 부분의 값을 '/var/www/html'에서 '/var/www/html/wordpress'로 바꿔주시면 됩니다.

 

 

11. Apache2, PHP 재시작

sudo service php8.1-fpm restart
sudo service apache2 restart

마지막으로 변경된 설정 값을 적용하기 위해서 apache, php를 재시작해줍니다.

 

 

gcp wordpress 설치 완료

그리고 해당 서버의 외부 ip를 통해 접속하게 되면 워드프레스 설치가 완료되어 다음과 같이 wordpress admin 페이지로 연결되는 것을 확인할 수 있습니다.

 

 

 

< 함께 보면 좋은 자료 >

2023.04.15 - [Programming/Web] - 무료 ssl 인증서 적용하는 방법(Let's Encrypt)

2022.06.20 - [Programming/Web] - 구글 클라우드 플랫폼 GCP 무료 서버 생성하기(22년 6월 기준)

 

 

< 참고 자료 >

https://artnfear.com/entry/GCP-평생-무료-VM에-워드프레스-설치하기

https://rich-developer.tistory.com/49