iOS 앱개발 & 라즈베리파이 서버운영 & 워드프레스 블로그 광고수입 & 에어소프트 & 자작만화

워드프레스 설치 하기

Share with : 

이번 글을 따라하시기 전에 이전 글 ‘DB세팅하기’ 의 작업을 완료 하셔야 합니다.

워드프레스 최신버전 다운로드

워드프레스 공식 홈페이지(https://ko.wordpress.org/download/)에 접속해서 최신버전을 확인합시다.

이 글을 쓰고있는 날짜 기준으로 최신버전은 5.6.1 이군요. 왼클릭이 아니라 마우스 오른쪽 클릭을 해서 ‘링크 주소 복사’를 선택합시다. 그러면 클립보드에 다운로드 주소가 저장됩니다.

라즈베리파이 우분투의 Terminal로 들어갑시다. wget 명령어를 이용하여 다운로드 할 겁니다. 다운로드 할 경로를 지정하고 다른이름으로 저장하기 위해 -O (대문자오)옵션을 사용하겠습니다. 아래와 같이 적어주시면 됩니다.

아래 명령어는 사용자의 홈폴더(/home/ubuntu)에 wordpress-5.6.1.zip이라는 파일명으로 https://ko.wordpress.org/latest-ko_KR.zip 을 다운로드 합니다.

wget -O ~/wordpress-5.6.1.zip https://ko.wordpress.org/latest-ko_KR.zip

다운로드가 정상적으로 완료되면 아래 그림처럼 될 것입니다.

다운로드 한 파일 압축 풀기

zip파일이므로 압축을 풀어야 사용할 수 있습니다. 리눅스에서 압축을 푸는 방법에는 여러가지가 있습니다. 간단하게 압축을 풀 수 있는 unzip 명령어를 사용하겠습니다. 아래와 같이 입력하면 됩니다.

아래 명령어는 -d 옵션을 사용하여 압축을 풀 디렉토리를 사용자의 홈(/home/ubuntu)으로 지정하고 있습니다.

unzip ~/wordpress-5.6.1.zip -d ~

압축을 풀면 홈 디렉토리에 wordpress라는 폴더가 생겼을 겁니다. 직접 확인해봅시다.

압축 푼 파일 내용을 웹루트 디렉토리로 옮기기(워드프레스 설치)

워드프레스를 설치는 wordpress폴더 내의 파일들을 웹루트 디렉토리로 옮기면 끝입니다.

윈도우즈 운영체제에 익숙하신 분들에게는 약간 낮설수 있습니다만, 앞으로 익숙해지면 됩니다. 파일을 복사하기 위해서 cp 명령어를 사용하겠습니다.

-a 옵션도 사용할텐데요. 원본 파일의 속성 및 링크정보들을 그대로 유지하며 복사하는 옵션입니다. 간단히 말하자면 싹다 복사하기 입니다.

아래와 같이 명령어를 입력하고 실행해주세요.

sudo cp -a ~/wordpress/. /var/www/html

완료되었다면 직접 확인해보겠습니다. 아래 명령어를 실행합니다.

ls /var/www/html/

wp로 시작하는 여러 파일들이 들어있는걸로 보아 복사가 성공적으로 완료된 것을 확인할 수 있습니다.

respectMyAuthority 는 phpMyAdmin설치할때 생긴 녀석이라서, 만약 phpMyAdmin설치를 건너뛰고 오셨다면 없을겁니다.

에러예방차원 환경설정 해주기

미리 폴더 만들어주기

가끔씩 우분투에서 디렉토리 접근불가 에러가 나는 일을 미연에 방지하기 위해 몇가지 폴더를 만들어주겠습니다. 아래의 명령어를 입력해줍시다.

mkdir /var/www/html/wp-content/uploads
mkdir /var/www/html/wp-content/upgrade
mkdir /var/www/html/wp-content/temp

잘 만들어졌나 확인 한번 해봅시다. 아래 명령어를 입력합니다.

ls -l /var/www/html/wp-content/

잘 만들어졌군요.

웹루트 폴더 및 하위 폴더 사용자그룹 변경하기

왜 이 작업을 해야 하는지 간단하게 말씀드리겠습니다.

nginx는 우분투 내에서 www-data라는 리눅스 사용자를 통해 시스템을 사용하는데요. 업데이트를 하거나 새로운 테마를 설치할 때 nginx가 워드프레스의 파일에 접근해야하는 경우가 생깁니다. 이때 권한문제 때문에 파일에 접근할수 없게 되는 경우, 에러가 생기게 되는 것이지요.

nginx가 html 하위 폴더와 파일들을 자유롭게 수정할 수 있도록 소유자를 www-data로 바꾸고 접근권한을 775로 변경해주겠습니다. 아래 명령어를 실행해주세요. -R 옵션은 하위 폴더와 파일에 모두 변경사항을 적용하라는 의미입니다.

sudo chown -R www-data:ubuntu /var/www/html
sudo chmod -R 775 /var/www/html

다음 설정은 보안상 추천되지는 않습니다만, 나중에 워드프레스가 웹서버(nginx)의 디렉토리에 접근하지 못하게 되었을 때 생길수 있는 에러를 방지하기 위한 설정입니다. 아래 명령은 웹루트(/var/www/html) 안에 있는 모든 디렉토리를 찾아서 chmod g+s 를 setgid 설정하는 건데요.

sudo find /var/www/html -type d -exec chmod g+s {} \;

setgid 는 특수한 형태의 파일 권한으로써 파일을 실행할때, 다른 그룹의 사용자일지라도 원래 파일이 속한 그룹의 권한을 잠간 빌려서 실행하는 역할을 합니다.

이게 왜 필요한지 좀더 설명드리기 위해 setgid가 가진 특수한 기능에 대해 말씀드리겠습니다.

setgid로 설정된 디렉토리의 내부에서 새로운 디렉토리를 만드는 경우, 새로 만들어진 디렉토리의 사용자그룹은 상위폴더의 사용자그룹과 동일하게 됩니다.

왜냐면 디렉토리를 만드는 것 자체도 일종의 파일을 실행하는 것으로 취급되기 때문에, 디렉토리를 만들때 setgid 를 통해서 해당그룹의 권한을 빌려와 사용하였으므로 새로 만든 디렉토리의 사용자그룹에 setgid 설정된 그룹이 찍히게 되는 겁니다.

워드프레스 구동전 기본 설정하기

Maria DB와 연동시키기(DB사용자 정보 입력)

저번 글에서 만든 wordpress전용 maria DB의 사용자 계정과 비밀번호를 워드프레스의 설정파일 안에 입력해주겠습니다.

워드프레스 설정 파일은 /var/www/html 경로에 있는 wp-config.php라는 녀석입니다.

워드프레스를 갓 설치하였기 때문에 해당 파일은 없을 것입니다. 확인해보겠습니다.

wp-config.php는 없고 wp-config-sample.php가 있습니다. 이녀석을 복사해서 이름을 wp-config.php로 바꾸어주고 안에 내용을 집어넣으면 됩니다. 아래 명령어를 실행합시다. -p 옵션은 원본 파일이 소유자, 그룹 권한 등을 변경없이 그대로 유지하라는 옵션입니다.

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

위에서 sudo 를 쓰지 않으면 -p 옵션을 넣었을지라도 wp-config.php의 소유자가 www-data가 아니라 ubuntu로 됩니다. 주의하세요.

이제 파일을 열어서 수정해보겠습니다. nano편집기로 열텐데요. -l (소문자엘)옵션을 넣어서 현재 몇번째 줄인지 쉽게 확인할수 있도록 하겠습니다.

nano -l /var/www/html/wp-config.php

아래로 조금만 스크롤 해보시면 아래 사진과 같은 항목들이 보이실 겁니다.

database_name_here 부터 password_here까지 세곳에 저번에 만든 wordpress전용 db정보를 넣어줍시다.

나머지 db_host 아래의 값은 그냥 두시면 됩니다.

인증키와 솔트 값 입력

좀더 스크롤을 아래로 내려보면 아래 사진과 같은 값들을 입력하라는 곳이 있습니다.

‘put your unique phrase here’ 있는 부분에 값을 입력해 줘야 하는데요. 인증 관련해서 사용될 키값을 입력해주는 부분입니다.

워드프레스에서 제공하는 api를 통해서 입력할 키 값을 알아보겠습니다. 다음 링크를 확인해주세요. https://api.wordpress.org/secret-key/1.1/salt/

링크를 열어보면 아래 사진과 같은 랜덤 문자열이 보이실겁니다.

해당 항목에 해당 키값들을 입력해주면 됩니다. 위의 사진 잘 보시면 녹색 괄호로 표시를 해둔 ‘와 ‘ 사이의 부분이 키값입니다.

복사 붙여넣기 하실때 팁은 키값은 Ctrl + C 로 복사하고, 붙여넣을때엔 마우스 우클릭 해서 paste 선택하시면 됩니다.

이 값은 보안을 위해 주기적으로 바꿔주시면 좋은데요. 워드프레스에서 제공하는 무료 플러그인도 있으니 나중에 알려드리겠습니다.

임시폴더 위치 지정하기

아직 wp-config.php파일을 닫지 마시고 파일의 맨 아래로 스크롤합시다. 맨 아랫줄에 워드프레스의 임시폴더 위치를 지정해줄 코드를 넣을겁니다.

임시폴더 경로는 위에서 이미 만들었듯이 /wp-content/temp 입니다.

아래 코드를 입력합니다. FILE 좌우의 __는 언더바 두개를 입력한 것입니다.

/* 임시폴더 경로*/
define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp');

FTP 연결우회 설정

워드프레스가 파일을 다운받을 경우(플러그인 설치 혹은 워드프레스 업데이트) 기본적으로 FTP를 사용합니다.

매번 다운로드 받을때마다 연결해줘야 하는 불편함이 있으므로 직접연결을 설정하여 우회하도록 설정하겠습니다. 아래 코드를 wp-config.php의 맨 아래에 입력해주세요.

/* FTP 연결 우회 설정 */
define('FS_METHOD', 'direct');

이제 끝났습니다. Control + x 를 누르고 y 누르고 엔터를 눌러 변경사항을 저장하고 나옵시다.

서버에서 업로드 파일크기 제한 상향시키기

워드프레스를 사용하며 파일을 업로드하게 되는 경우가 있습니다.(대표적으로 글에 사진 첨부할때)

웹서버(nginx)에서 허용하는 크기보다 더 큰 용량을 가진 파일을 업로드하는 경우 에러가 발생할 수 있습니다. 그 에러를 미연에 방지하기 위해 아래의 작업을 해줍시다.

php.ini 수정하기

php.ini는 두군데에 위치해 있습니다. 위치는 아래와 같습니다.

  • /etc/php/8.0/cli/php.ini
  • /etc/php/8.0/fpm/php.ini

nano편집기로 열어서 수정하겠습니다. 아래 명령어를 입력합니다.

sudo nano /etc/php/8.0/cli/php.ini

php.ini파일이 열렸다면 아래의 항목을 찾아서 해당 값으로 바꿔줍니다.

  • max_execution_time = 1000
  • memory_limit = -1
  • post_max_size = 64M
  • file_uploads = On
  • upload_max_filesize = 64M

참고로 -1은 시스템이 허용하는 한 최대로 허가한다는 의미입니다.

일일이 해당 항목을 찾아서 수정하기에는 파일의 길이가 너무 깁니다.(1946줄)

Control + w 를 누르면 화면 하단에 아래 그림처럼 검색할수 있는 창이 뜹니다.

여기에 찾고자 하는 키워드(max_execution_time)를 넣고 엔터를 누르면 해당 키워드가 있는 위치로 커서가 순간이동합니다. 이 기능을 이용하면 쉽게 변경할 수 있습니다.

모두 수정완료하셨다면 Control + x 후 y 후 엔터를 눌러 변경사항을 저장하고 나옵니다.

나머지 파일도 열어서 똑같이 수정해줍시다. 아래 명령어를 입력합니다.

sudo nano /etc/php/8.0/fpm/php.ini

위의 항목을 참고해서 같은 값으로 수정합시다.

두번째 파일도 수정 완료 하였다면 php를 재시작하여 변동사항이 반영되도록 합니다. 아래 명령어를 입력합시다.

sudo service php8.0-fpm restart

nginx.conf 수정하기

위에서 php를 수정했으니 웹서버인 nginx에서도 수정해줍시다.

nginx는 기본적으로 /etc/nginx/에 위치해 있습니다. 해당 위치에 있는 nginx.conf 파일이 환경설정 파일입니다. nano에디터로 열어서 수정하겠습니다. 아래의 명령어를 입력합시다.

sudo nano /etc/nginx/nginx.conf

nginx.conf 파일은 위에서 수정했던 php.ini에 비해서 내용이 얼마 되지 않습니다.

내용중에 http { } 블록이 보이실텐데요. 그 안에 아래 내용을 입력합니다.

client_max_body_size 64m;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

실제로 입력된 모습은 아래 사진과 같습니다.

작성완료하셨다면 Control + x 후 y 후 엔터를 눌러 변경사항을 저장합니다.

변경된 nginx.conf에 문제가 없는지 체크를 해보겠습니다. 아래 명령어를 입력해주세요.

sudo nginx -t

아래 사진과 같이 나왔다면 정상입니다.

수정완료된 사항을 적용하기 위해 nginx를 재시작 하겠습니다. 아래 명령어를 입력해주세요.

sudo service nginx restart

드디어 워드프레스 설치가 끝났습니다. 다음 글에서는 워드프레스 홈페이지에 접속해서 기본 설정을 해보겠습니다.

Stay Connected

More Updates

5 1 vote
Article Rating
Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Nana
Nana
3 years ago

매번 잘 따라하고 있어용. 이번 포스트도 잘 참고할게요.

2
0
Would love your thoughts, please comment.x
()
x