개인 서버에 Ubuntu LEMP WORDPRESS 설치하기 14

Contents

1. 개인 서버 만들기, 파워, 케이스, 메인보드, CPU쿨러, SSD, 메모리(RAM), CPU 선정과 주문 조립
2. 공유기 설정하기, 공유기1 브릿지 모드 설정, iptime 공유기2 IPTV 연결 설정
3. 개인 서버에 Ubuntu 22.04.4 LTS 설치하기, Universal-USB-Installer를 사용하여 부팅 가능한 USB를 생성하기
4. 개인 PC에 우분투 서버 접속용 3가지 SSH 설치, 자료실의 Putty, EditPlus, FileZilla 다운 후 설치하기
5. 우분투 서버 환경 date 설정하기
6. 웹 서버 Nginx 설치, 현재 iptables 규칙 초기화
7. Ubuntu sever 폴더 권한 설정, Nginx 페이지의 내용 수정과 권한 설정
8. Nginx 서버에 PHP8.3 설치, 자주 쓰이는 php8.3 모듈 설치하기
9. apt update와 upgrade가 완료 후 mariadb를 설치하기
10. MariaDB 관리 도구 phpMyAdmin 설치하기
11. 아사달에서 도메인 연결하기, 카페24에서 도메인 연결하기
12. HTTPS 적용을 위한 SSL 인증서 발급, Nginx에 acme-challenge 폴더 위치를 알리기 위하여 letsencrypt.conf 파일 만들기, Let’s Encrypt SSL 발급 받기
13. MariaDB에서 데이터베이스(DB) 만들기, phpMyAdmin에서 DB생성
14. 워드프레스 설치, 우분투 서버에 ko.wordpress.org/latest-ko_KR.zip 파일 설치, wordpress.zip 파일 압축 풀기, 서버 폴더 소유자 권한 및 사용자 그룹 변경
15. 워드프레스 설치 후 환경 설정, 우분투 서버에 wp-config.php에 임시디렉토리 설정, FTP 연결 정보 입력, Putty로 php.ini, nginx.conf를 수정

개인 서버에 Ubuntu LEMP WORDPRESS 설치하기 14

개인 서버에 Ubuntu sever LEMP(Linux-ubuntu+Nginx+MariaDB-Phpmyadmin+PHP8.3) WORDPRESS 설치하기

WordPress는 가장 널리 사용되는 콘텐츠 관리 시스템(CMS) 중 하나로, 사용자 친화적인 인터페이스와 확장성 덕분에 많은 웹사이트에서 선호됩니다.

설치과정은 워드프레스 파일을 개인 서버에 다운로드하고 그 다음 압축을 푼 다음 설치하는 방법입니다.

14-1. 개인 서버에 WordPress 설치하기

워드프레스 사이트에 접속하여 설치파일 다운로드 페이지에 접속합니다.

워드프레스 다운로드 사이트 URL : https://ko.wordpress.org/download/

ko.wordpress.org/latest-ko_KR.zip 해당 파일은 이런 형태로 되어있습니다.

14-2. 개인 서버에 다운로드 합니다.

Putty 명령창에 wget -O ~/wordpress.zip https://ko.wordpress.org/latest-ko_KR.zip 를 입력합니다.

junewoo@cvilla:~$ wget -O ~/wordpress.zip https://ko.wordpress.org/latest-ko_KR.zip
--2024-03-15 00:33:27--  https://ko.wordpress.org/latest-ko_KR.zip
Resolving ko.wordpress.org (ko.wordpress.org)... 198.143.164.252
Connecting to ko.wordpress.org (ko.wordpress.org)|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26823656 (26M) [application/zip]
Saving to: ‘/home/junewoo/wordpress.zip’

/home/junewoo/wordp 100%[===================>]  25.58M  3.99MB/s    in 7.0s

2024-03-15 00:33:35 (3.64 MB/s) - ‘/home/junewoo/wordpress.zip’ saved [26823656/26823656]

junewoo@cvilla:~$

그러면 wordpress.zip이 /home/junewoo/ 폴더에 저장되었다고 합니다.

14-3. 저장한 워드프레스 압축파일을 풀어보겠습니다.

명령창에 unzip /home/junewoo/wordpress.zip -d ~ 를 입력합니다.

~는 임시 디렉토리에 풀라는 의미입니다.

ubuntu@wordpress:~$ unzip /home/junewoo/wordpress.zip -d ~
Archive:  /home/ubuntu/wordpress.zip
   creating: /home/ubuntu/wordpress/
  inflating: /home/ubuntu/wordpress/wp-login.php
  inflating: /home/ubuntu/wordpress/wp-cron.php
  inflating: /home/ubuntu/wordpress/xmlrpc.php
  inflating: /home/ubuntu/wordpress/wp-load.php
   creating: /home/ubuntu/wordpress/wp-admin/
  inflating: /home/ubuntu/wordpress/wp-admin/credits.php
  inflating: /home/ubuntu/wordpress/wp-admin/admin-functions.php
  
  			--- 중략 ---
                            
  inflating: /home/ubuntu/wordpress/wp-includes/nav-menu.php
  inflating: /home/ubuntu/wordpress/wp-includes/class-wp-paused-extensions-storage.php
  inflating: /home/ubuntu/wordpress/wp-includes/class.wp-dependencies.php
  inflating: /home/ubuntu/wordpress/wp-signup.php
  inflating: /home/ubuntu/wordpress/wp-links-opml.php

14-4. 압축이 풀렸는지 확인합니다.

명령창에 ls /home/junewoo 를 입력합니다.

junewoo@cvilla:~$ ls /home/junewoo
snap  wordpress  wordpress.zip
junewoo@cvilla:~$

14-5. 에러 없이 정상적으로 압축이 풀렸으면 서비스 폴더로 복사합니다.

명령창에 cp -a /home/junewoo/wordpress/. /var/www/html 를 입력합니다.

junewoo@cvilla:~$cp -a /home/junewoo/wordpress/. /var/www/html

14-6. Editplus에서 정상적으로 복사가 되었는지 확인해 보겠습니다.

/var/www/html 아래 wordpress 내용이 잘 복사된 것을 확인할 수 있습니다.

14-7. 다음으로 wordpress 관련 필요 폴더들을 생성합니다.

WordPress 플러그인 적용 시 해당 폴더가 없거나 권한 문제로 오류가 나는 경우가 있습니다.

오류가 나기 전에 해당 폴더를 생성하시는 것을 추천합니다.

명령창에
mkdir /var/www/html/wp-content/uploads
mkdir /var/www/html/wp-content/upgrade
mkdir /var/www/html/wp-content/temp
와 같이 입력합니다.

junewoo@cvilla:~$mkdir /var/www/html/wp-content/uploads 
junewoo@cvilla:~$ mkdir /var/www/html/wp-content/upgrade
junewoo@cvilla:~$ mkdir /var/www/html/wp-content/temp

다음으로 폴더들이 정상적으로 생성되었는지 확인해 보겠습니다.

명령창에 ls -l ~ /var/www/html 를 입력합니다.

junewoo@cvilla:~$ ls -l ~ /var/www/html
/home/junewoo:
total 26204
drwx------ 3 junewoo junewoo     4096 Dec 23 14:33 snap
drwxr-xr-x 5 junewoo junewoo     4096 Dec  7 03:00 wordpress
-rw-rw-r-- 1 junewoo junewoo 26823656 Jan 31 07:05 wordpress.zip

/var/www/html:
total 252
drwxr-sr-x  2 www-data junewoo  4096 Dec 23 10:37 account_live_cvilla@hanmail.net
-rw-r--r--  1 www-data junewoo  1241 Dec 23 10:37 DirectoryResponse
-rwxrwxr-x  1 www-data junewoo   614 Dec 22 18:28 index.nginx-debian.html
-rwxrwxr-x  1 www-data junewoo   405 Feb  6  2020 index.php
-rwxrwxr-x  1 www-data junewoo 19915 Jan 31 23:23 license.txt
-rw-rw-r--  1 junewoo  junewoo    67 Jan  5 09:44 naverdded6de77ad5c096673b3312b387a541.html
-rwxrwxr-x  1 www-data junewoo  7399 Jan 31 23:23 readme.html
-rw-rw-r--  1 junewoo  junewoo    23 Jan  5 09:58 robots.txt
lrwxrwxrwx  1 www-data junewoo    39 Dec 22 19:36 testpagedb -> /var/www/phpMyAdmin-5.2.1-all-languages
-rwxrwxr-x  1 www-data junewoo  7211 May 13  2023 wp-activate.php
drwxrwsr-x  9 www-data junewoo  4096 Dec  7 03:00 wp-admin
-rwxrwxr-x  1 www-data junewoo   351 Feb  6  2020 wp-blog-header.php
-rwxrwxr-x  1 www-data junewoo  2323 Jun 14  2023 wp-comments-post.php
-rw-rw-rw-  1 www-data junewoo  3787 Dec 23 21:14 wp-config.php
-rwxrwxr-x  1 www-data junewoo  3013 Nov 16 02:47 wp-config-sample.php
drwxrwsr-x 11 www-data junewoo  4096 Mar  5 23:44 wp-content
-rwxrwxr-x  1 www-data junewoo  5638 May 31  2023 wp-cron.php
drwxrwsr-x 27 www-data junewoo 12288 Dec  7 03:05 wp-includes
-rwxrwxr-x  1 www-data junewoo  2502 Nov 27  2022 wp-links-opml.php
-rwxrwxr-x  1 www-data junewoo  3927 Jul 16  2023 wp-load.php
-rwxrwxr-x  1 www-data junewoo 50927 Jan 31 23:23 wp-login.php
-rwxrwxr-x  1 www-data junewoo  8525 Sep 16 15:50 wp-mail.php
-rwxrwxr-x  1 www-data junewoo 26409 Oct 10 23:05 wp-settings.php
-rwxrwxr-x  1 www-data junewoo 34385 Jun 20  2023 wp-signup.php
-rwxrwxr-x  1 www-data junewoo  4885 Jun 22  2023 wp-trackback.php
-rwxrwxr-x  1 www-data junewoo  3154 Sep 30 16:39 xmlrpc.php
junewoo@cvilla:~$

여기서는 파일 권한들이 대부분 775로 되어 있습니다.

만일 755로 되어 있다면 테마 및 플러그인 추가 시 에러가 날 수 있습니다.

14-8. 워드프레스 폴더 소유자 권한 및 사용자 그룹을 변경합니다.

Putty 명령창에
sudo chown -R www-data:junewoo /var/www/html
sudo find /var/www/html -type d -exec chmod g+s {} \;
sudo chmod -R 775 /var/www/html
를 입력합니다.

junewoo@cvilla:~$ sudo chown -R www-data:junewoo /var/www/html
[sudo] password for junewoo:
junewoo@cvilla:~$ sudo find /var/www/html -type d -exec chmod g+s {} \;
junewoo@cvilla:~$ sudo chmod -R 775 /var/www/html
junewoo@cvilla:~$

그러면 하위 폴더가 모두 775 권한으로 변경되었습니다.

그러나 이러면 upload된 파일이 덮어씌워진다거나 삭제될 수 있습니다.

명령 창에서 ls -l /var/www/html 를 해 보시면 폴더 소유자 권한이 변경된 것을 확인할 수 있습니다.

junewoo@cvilla:~$ ls -l /var/www/html
total 252
drwxrwsr-x  2 www-data junewoo  4096 Dec 23 10:37 account_live_cvilla@hanmail.net
-rwxrwxr-x  1 www-data junewoo  1241 Dec 23 10:37 DirectoryResponse
-rwxrwxr-x  1 www-data junewoo   614 Dec 22 18:28 index.nginx-debian.html
-rwxrwxr-x  1 www-data junewoo   405 Feb  6  2020 index.php
-rwxrwxr-x  1 www-data junewoo 19915 Jan 31 23:23 license.txt
-rwxrwxr-x  1 www-data junewoo    67 Jan  5 09:44 naverdded6de77ad5c096673b3312b387a541.html
-rwxrwxr-x  1 www-data junewoo  7399 Jan 31 23:23 readme.html
-rwxrwxr-x  1 www-data junewoo    23 Jan  5 09:58 robots.txt
lrwxrwxrwx  1 www-data junewoo    39 Dec 22 19:36 testpagedb -> /var/www/phpMyAdmin-5.2.1-all-languages
-rwxrwxr-x  1 www-data junewoo  7211 May 13  2023 wp-activate.php
drwxrwsr-x  9 www-data junewoo  4096 Dec  7 03:00 wp-admin
-rwxrwxr-x  1 www-data junewoo   351 Feb  6  2020 wp-blog-header.php
-rwxrwxr-x  1 www-data junewoo  2323 Jun 14  2023 wp-comments-post.php
-rwxrwxr-x  1 www-data junewoo  3787 Dec 23 21:14 wp-config.php
-rwxrwxr-x  1 www-data junewoo  3013 Nov 16 02:47 wp-config-sample.php
drwxrwsr-x 11 www-data junewoo  4096 Mar  5 23:44 wp-content
-rwxrwxr-x  1 www-data junewoo  5638 May 31  2023 wp-cron.php
drwxrwsr-x 27 www-data junewoo 12288 Dec  7 03:05 wp-includes
-rwxrwxr-x  1 www-data junewoo  2502 Nov 27  2022 wp-links-opml.php
-rwxrwxr-x  1 www-data junewoo  3927 Jul 16  2023 wp-load.php
-rwxrwxr-x  1 www-data junewoo 50927 Jan 31 23:23 wp-login.php
-rwxrwxr-x  1 www-data junewoo  8525 Sep 16 15:50 wp-mail.php
-rwxrwxr-x  1 www-data junewoo 26409 Oct 10 23:05 wp-settings.php
-rwxrwxr-x  1 www-data junewoo 34385 Jun 20  2023 wp-signup.php
-rwxrwxr-x  1 www-data junewoo  4885 Jun 22  2023 wp-trackback.php
-rwxrwxr-x  1 www-data junewoo  3154 Sep 30 16:39 xmlrpc.php
junewoo@cvilla:~$

14-9. 이런 경우를 방지하기 위하여 upload 폴더에 한해서 폴더 하위 편집권한을 변경합니다.

Putty 명령창에
sudo chown -R www-data:www-data /var/www/html/wp-content/uploads
sudo chmod -R 755 /var/www/html/wp-content/uploads
를 입력합니다.

junewoo@cvilla:~$sudo chown -R www-data:www-data /var/www/html/wp-content/uploads
junewoo@cvilla:~$ sudo chmod -R 755 /var/www/html/wp-content/uploads

이제 uploads 폴더는 junewoo 사용자에게 권한이 없으며 www-data로 웹에서만 소유자가 쓰기 권한이 있게 됩니다.

명령창에 ls -l /var/www/html/wp-content/ 를 입력하면 uploads 폴더만 소유자 권한까지 변경된 것을 확인할 수 있습니다.

junewoo@cvilla:~$ ls -l /var/www/html/wp-content/
total 60
-rwxrwxr-x  1 www-data junewoo  1128 Dec 23 21:14 advanced-cache.php
drwxrwsr-x  4 www-data junewoo  4096 Mar 15 10:00 cache
-rwxrwxr-x  1 www-data junewoo    28 Jan  9  2012 index.php
drwxrwsr-x  4 www-data junewoo  4096 Dec 22 23:16 languages
drwxrwsr-x 19 www-data junewoo  4096 Mar 14 12:45 plugins
drwxrwsr-x  2 www-data junewoo  4096 Mar 14 12:45 temp
drwxrwsr-x  4 www-data junewoo  4096 Mar 13 17:36 themes
drwxrwsr-x  3 www-data junewoo 16384 Mar  5 11:52 updraft
drwxrwsr-x  2 www-data junewoo  4096 Mar 14 12:45 upgrade
drwxrwsr-x  3 www-data junewoo  4096 Mar 12 11:16 upgrade-temp-backup
drwxrwsr-x 12 www-data www-data  4096 Mar 13 17:41 uploads
junewoo@cvilla:~$

이상으로 WordPress 설치전 준비가 되었습니다.

14-10. 이제 본인의 사이트에 접속해 봅니다.

사이트에 접속하면 wp-config.php 파일을 생성한다고 합니다.

위에서 “Let’s go!” 버튼을 누릅니다.

14-11. 데이터베이스 이름, 사용자명, 암호, 데이터베이스 호스트, 테이블 접두어를 입력합니다.

  • 데이터베이스 이름    junewoo ( DB 생성하기에서 생성한 데이터베이스)
  • 사용자명                 root
  • 암호                       password (8. MariaDB 설치하기에서 생성한 암호)
  • 데이터베이스 호스트  localhost (기존 그대로)
  • 테이블 접두어           wp_ (기존 그대로)

정상적으로 입력되셨으면 아래와 같이 설치 과정을 마쳤다고 나타납니다. 이제 “설치 실행하기”를 누릅니다.

14-12. 다음으로 계정 정보를 입력하고 워드프레스를 설치합니다.

  • 사이트 제목
  • 사용자명 (관리자 ID)
  • 사용자 암호 (관리자 암호)
  • 이메일 주소 (관리자 Email 주소)
  • 검색 엔진 접근 여부 (사이트 설정이 완료 된 후에 검색엔진 차단하기를 푸시는 것을 추천합니다.)

위 정보를 모두 입력하셨으면 “워드프레스 설치하기” 버튼을 누릅니다.

설치하기 버튼을 누르시면 아래와 같이 성공!이라고 나타납니다.

14-13. 로그인 버튼을 누르면 로그인 화면이 나타납니다.

4-12. 에서 입력하였던 관리자 ID와 암호를 입력합니다.

14-14. 드디어 관리자 화면에 접속하셨습니다.

위 화면은 준우블로그 워드프레스 관리자 화면입니다.

처음으로 접속한 관리자 화면은 여러 메뉴가 빠져 있습니다.

여기까지 워드프레스 설치를 완료하셨습니다.

다음에는 워드프레스 환경설정을 해 보겠습니다.

개인 서버에 Ubuntu LEMP WORDPRESS 설치하기 15

Leave a Comment