AWS의 Lightsail에서 서버를 생성할 경우

Wordpress 를 선택하게 되면 간단하게 Wordpress를 설치하게 된다.

하지만, 서버 설치 후 순수하게 Wordpress만 사용하기에는 조금 아쉬운 감이 있다보니,

Nginx(bitnami)를 설치 후 Wordpress도 사용 가능하게 하는 방법을 사용해 서버를 구성한 적이 있다.

이 때 이래저래 삽질한 것이 있어서 정리해서 올려본다.

참고로 이 내용은 bitnami 문서로 가이드하고 있다.(물론 영어이다.)

https://docs.bitnami.com/virtual-machine/how-to/install-wordpress-nginx/


Nginx를 이용해 서버를 생성 후 접속한 후 진행한다.

참고로 bitnami에서 새 페이지 관리는 대부분 /opt/bitnami/apps에서 하며,

서버 관리에 대한 부분은 /opt/bitnami/ 폴더에 있다.


bitnami의 demo를 apps 폴더에 복사한다.

sudo cp -r /opt/bitnami/docs/demo /opt/bitnami/apps/wordpress


복사한 폴더에서 예제 사이트 내용을 삭제한다.

sudo rm -rf /opt/bitnami/apps/wordpress/htdocs/


그리고 wordpress를 다운받아 서버에 저장한다.(wget을 이용할 경우 한글로 변경해야하는 번거로움이 있기 때문에 다운받아 설치함)

~/temp에 워드프레스를 저장하여 진행한다.


파일 압축을 푼다.

sudo tar zxvf ~/temp/wordpress-4.9.4-ko_KR.tar.gz -C /opt/bitnami/apps/wordpress/


압축푼 파일을 기존 htdocs 폴더명으로 변경한다.

sudo mv /opt/bitnami/apps/wordpress/wordpress/ /opt/bitnami/apps/wordpress/htdocs/


그리고 권한을 변경해 준다. (추후 테마 업로드 등을 위해서)


sudo chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/


sudo find /opt/bitnami/apps/wordpress/htdocs/ -type d -exec chmod 775 {} \;

sudo find /opt/bitnami/apps/wordpress/htdocs/ -type f -exec chmod 664 {} \;


wordpress의 config 파일에 직접 업로드 방식이 가능하도록 코드를 추가한다.

sudo echo "define ( 'FS_METHOD', 'direct' );" >> /opt/bitnami/apps/wordpress/htdocs/wp-config.php


최초 접속으로 설정을 변경할 수 있도록 하기 위해 아래 명령을 실행한다.

sudo chmod 640 wp-config.php /opt/bitnami/apps/wordpress/htdocs/wp-config.php

sudo chown bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/wp-config.php


demo에 사용된 코드에서 demo 명칭을 wordpress로 변경한다.

sudo sed -i 's/demo/wordpress/g' /opt/bitnami/apps/wordpress/conf/nginx-prefix.conf

sudo sed -i 's/demo/wordpress/g' /opt/bitnami/apps/wordpress/conf/nginx-vhosts.conf


마지막으로 설정된 값을 적용한다.

적용할 파일명은 /opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf 이며,

이 파일에 추가할 코드는 아래와 같다.

include "/opt/bitnami/apps/wordpress/conf/nginx-prefix.conf";


그리고, wordpress의 경우 rewirte가 적용이 되어야 하므로,

/opt/bitnami/apps/wordpress/conf/nginx-app.conf 파일에

아래 코드를 추가한다.

  if (!-e $request_filename)

  {

   rewrite ^/wordpress/(.+)$ /wordpress/index.php?q=$1 last;

  }


코드를 넣을 위치를 모를 경우도 있어 전체코드를 아래 적는다.


    index index.php index.html index.htm;


    if (!-e $request_filename)

    {

        rewrite ^/wordpress/(.+)$ /wordpress/index.php?q=$1 last;

    }


    location ~ \.php$ {

    fastcgi_split_path_info ^(.+\.php)(/.+)$;

    fastcgi_read_timeout 300;

    fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock;

    fastcgi_index index.php;

    fastcgi_param  SCRIPT_FILENAME $request_filename;

    include fastcgi_params;


워드프레스 운영이 시작된 후 고유주로를 글 이름으로 했을 때 문제가 생길 경우에는

rewrite ^/wordpress/(.+)$ /wordpress/index.php?q=$1 last;


아래에 아래 코드를 추가하면 된다.

rewrite ^(.+)$ /index.php?q=$1 last;



이제 DB를 생성한다.

DB 생성은 mysql 명령어로 mysql 서버에 접속해 진행한다.


mysql -u root -p

를 입력하고 서버 생성시 확인한 비밀번호를 입력한다.

(비밀번호는 ~/bitnami_application_password 에서 확인 가능하다.)


wordpress DB 생성

create database bitnami_wordpress;


권한을 준다

grant all privileges on bitnami_wordpress.* to '계정명'@'localhost' identified by '비밀번호';

여기서 계정명은 추후 워드프레스만들 때 DB 계정명으로 사용된다.


DB 설정이 끝났으므로 DB 접속을 끝낸다.

exit;



마지막으로 nginx 설정을 한다.

nginx의 업로드 용량을 올려준다.

/opt/bitnami/nginx/conf/nginx.conf 파일에서

아래 코드를 추가한다.

client_max_body_size 20m;

더 큰 용량을 원할 경우 더 큰 값을 입력한다. m은 MB(메가바이트)를 의미한다.


추가할 위치를 포함해 적는다.


http {

    include       mime.types;

    default_type  application/octet-stream;


    client_max_body_size 20m;


    client_body_temp_path  "/opt/bitnami/nginx/tmp/client_body" 1 2;



이제 nginx를 재시작 하면 된다.

sudo /opt/bitnami/ctlscript.sh restart nginx



이제 http://서버IP/wordpress 에 접속한다.

나머지 세팅 값을 입력한다.


Database Name: bitnami_wordpress

User Name: 계정명

Password:  비밀번호

Database Host: localhost

Table Prefix: wp_


나머지 워드프레스 설정을 하고 마치게 된다.

+ Recent posts