CentOS 7에서 WordPress 설치하기

WordPress Logo
WordPress Logo

‘Install WordPress with LEMP Stack’ Project에서 기본적인 환경 세팅을 마쳤고 이제 워드프레스를 설치하기 위한 과정에 대해서 포스팅 하도록 하겠습니다. 오늘이 4월 16일인데 제 Putty Log를 찾아보니 4월 5일에 시도 했었네요.
그동안 이 포스팅을 하지 못했던 것은 빠르게 구축하고 신규 사이트로 이전을 해야했어서 입니다.
양해 부탁드리며, 지금이라도 올려드리니 위 프로젝트 링크의 순서에 맞게 진행하시면 사이트 생성에 큰 무리가 없으실거라 생각됩니다.

우선 워드프레스를 다운받아 설치하기 전에 Maria DB 세팅을 진행합니다.

MariaDB 세팅

#mysql -u root -p
Enter password :

위의 커맨드를 입력하게 되면 패스워드를 묻게 되고, 패스워드까지 입력하게되면 MariaDB에 들어올 수 있습니다.
현재 상황으로는 아직 ROOT 계정 밖에 없기 때문에 root로 접속하는 것으로 표현하였습니다.
-u는 id를 입력하기 위한 parameter이구요. -p는 패스워드를 물어보라는 뜻입니다.

MariaDB [(none)]> CREATE USER [id]@localhost IDENTIFIED BY "password";

우선 root계정이 아닌 일반 계정을 만들어줍니다.([]는 제외) 이 계정은 차후 워드프레스 설정파일에서 사용하게 될 예정입니다.

MariaDB [(none)]> CREATE DATABASE 데이터베이스이름;

위 커맨드로 DB를 생성해줍니다. MariaDB는 데이터베이스 프로그램 이름이고 그 아래 우리가 사용할 DB를 생성해주는 것입니다. 이 또한 워드프레스 설정파일에서 입력해줘야하니 따로 적어두면 좋습니다.

MariaDB [(none)]> GRANT ALL ON 데이터베이스이름.* TO id@localhost;

위 커맨드로 우리가 방금 생성한 데이터베이스의 권한을 생성한 계정에게 부여해줍니다.

MariaDB [(none)]> FLUSH PRIVILEGES;

부여한 권한을 적용시켜주는 커맨드입니다. 그 후 exit를 입력하여 가뿐하게 빠져나와줍니다. 확인차 아까 위에서 MariaDB 접속하는 커맨드에서 root대신 생성한 id로 시도해보아도 좋습니다.

WordPress 설정

# wget https://ko.wordpress.org/wordpress-5.0.3-ko_KR.tar.gz

위 명령어를 입력하여 워드프레스 파일을 다운받습니다.
나중에 이 글을 읽으실 분들을 위해 위 워드프레스 주소를 결정하는 방법에 대해 간략하게 소개해드리자면, 이 링크에 접속하셔서 필요한 버전의 tar.gz 링크를 오른쪽 클릭하신 후 링크 복사를 하셔서 wget 우측에 붙여넣어서 받아주시면 됩니다.
주소 중에는 latest 주소가 있긴 하지만 대부분 잘 쓰지 않는 경로이긴 합니다.
최신버전일수록 문제가 발생할 확률이 높기 때문이죠.
(저는 사실 최신버전 떳다고 하면 다 업그레이드 합니다. 내 사이트가 뭐라고 ㅎㅎ)

그럼 다운이 다 받아지게 되는데 그때 ll 또는 ls를 입력해보면 파일의 이름을 확인해볼 수 있습니다.

# tar zxvf wordpress-5.0.3-ko_KR.tar.gz wordpress

무작정 제 커맨드 예시를 복사 붙여넣기 하시면 안되고 뒤에 들어가는 파일이름은 잘 체크해주시기 바랍니다.
제가 로그를 복사해온 후에 눈에 보이는 것들을 필터링 하고 있기 때문에 놓치는 부분이 있을 수 있습니다.
위 커맨드를 입력하면 wordpress 폴더를 생성한 후에 그 안에 압축해제를 합니다.

# mv wordpress/* /var/www/html
# rm -rf wordpress-5.0.3-ko_KR.tar.gz
#mkdir /var/www/html/wp-content/uploads
#mkdir /var/www/html/wp-content/upgrade
# mkdir /var/www/html/wp-content/temp

위 명령어를 차례대로 설명하자면, 첫번째 라인은 압축을 푼 파일 전체를 html폴더로 이동시키라는 것이고, 두번째 라인은 아까 다운받은 압축파일을 삭제, 나머지 라인은 워드프레스 구동시에 필요한 폴더들을 생성해준 것입니다.

# cd /var/www/html
# mv wp-config-sample.php ../wp-config.php

우선 이동시킨 html 폴더로 이동해서 ll 을 통해 파일들을 확인해봐도 좋습니다.
그리고 wp-config-sample.php파일을 상위 폴더로 이동시켜주는데, 이건 보안상 같은 디렉토리에 두지 않는 것이 좋아서 그렇습니다.
이동시키면서 이름도 wp-config.php로 변경시켜줍니다.

# chown -R nginx:nginx /var/www/html
# chown -R 711 /var/www/html
# chcon -R -t httpd_sys_content_t /var/www/html
# chcon -R -t httpd_sys_content_t /var/www/wp-config.php
# chcon -R -t httpd_sys_rw_content_t /var/www/html/wp-content

php파일 설정에서 user와 group부분에서 nginx로 변경을 했습니다.
그렇기 때문에 php파일이 접근 가능하게 접근해야 하는 디렉토리에 권한 변경을 진행해주는 것입니다.

Nginx 설정

# vim /etc/nginx/conf.d/default.conf
server {
     listen 80;
     server_name  url;
     root    /var/www/html;
     index   index.html index.htm;

     location / {
         try_files $uri $uri/ /index.php?$args;
         index  index.php index.html;
     }


     error_page   500 502 503 504  /50x.html;

     location = /50x.html {
         root   /usr/share/nginx/html;
     }

     location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
     }

위 커맨드로 Nginx 컨피그를 변경을 해야 합니다. 지금까지 제 포스트를 따라왔다면 내용을 싹 지운 후에 위 내용으로 교체해도 무관합니다.
Nginx 컨피그와 관련되어 곧 포스트를 할 예정이니 그 이후 링크를 걸어드리도록 하겠습니다.
++19.04.21 표준식 변수 관련 포스트 업데이트 링크 공유합니다.
다 입력이 되었다면 esc를 눌러 커맨드 모드로 전환 후 :wq를 입력하여 저장 후 나오면 됩니다.

# nginx -t
# systemctl restart nginx

Nginx의 컨피그 내용을 변경했다면 해당 내용 적용을 위해 컨피그 검사를 한 후, 이상이 없으면 재시작해줘야 합니다.

wp-config.php 설정

# vim /var/www/wp-config.php

wp-config.php 파일을 드디어 수정할 차례가 왔습니다. 이 파일은 워드프레스 설정 내용이 담겨있는 파일입니다. 내용이 꽤 길어서 /를 활용하여 내용을 찾아가면서 고쳐주는 작업이 필요합니다.

define('DB_NAME', '데이터베이스명');

define('DB_USER', '생성한 ID');

define('DB_PASSWORD', 'ID의 패스워드');

위 문구를 찾아 오른쪽 ” 안을 바꿔주면 됩니다. 그리고 define(‘NONCE_SALT’~)를 찾아 그 밑에 아래 문구를 추가해줍니다.

define('FS_METHOD', 'direct');

문구를 추가해주면 워드프레스 업데이트 등 진행시 FTP 인증을 거치지 않게 됩니다.
거의 필수 구문이라고 생각해주시면 되겠습니다.
그리고 추가적으로 참고할 점은 되도록 복사 붙여넣기를 한 후에 내용을 변경해주시기 바랍니다. 여기서 ‘가 좀 특이한지 그냥 치게되면 안먹는 경우가 있었습니다.

NONCE_SALT 키 입력

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

위 구문을 찾아 ‘put your unique phrase here’ 부분을 채워줘야 합니다. 필수는 아니지만 보안을 위한 인증키를 삽입하는 구문입니다. 이 링크를 들어가면 위 구문에 들어갈 키를 랜덤하게 생성해줍니다. 새로고침하면서 마음에 드는(?) 것으로 골라 입력하시면 되겠습니다.

그리고 나서 Nginx 컨피그에서 입력했던 url을 웹브라우저에 입력하면 초기 워듶프레스 세팅창이 나올 것입니다. 나중에 세팅해야지 하고 창을 꺼버리면 기본 세팅이 되어버리니 꼭 창을 끄지말고 바로 세팅해주시기 바랍니다!! 기본세팅이 되면 골치가 많이 아파집니다..

Comments 1

  1. Pingback: Nginx 표준식 변수 정리 | ThinkGround

Leave a Reply