들어가며
워드프레스는 전 세계 웹사이트의 43%가 사용하는 가장 인기 있는 CMS(Content Management System)입니다. 오늘은 최신 우분투 24.04 LTS 서버에 워드프레스를 설치하는 완벽한 가이드를 소개하겠습니다.
이 튜토리얼에서는 고성능 웹 서버인 Nginx, 최신 PHP 8.3, 그리고 안정적인 MariaDB를 사용하여 워드프레스 환경을 구축합니다. 초보자도 쉽게 따라할 수 있도록 모든 단계를 상세히 설명하겠습니다.
사전 준비사항
이 가이드를 시작하기 전에 다음 사항들이 준비되어 있어야 합니다:
- 우분투 24.04 LTS가 설치된 서버
- root 권한 또는 sudo 권한을 가진 사용자
- 도메인 이름 (선택사항, IP 주소로도 접속 가능)
- SSH 접속 환경
- 최소 1GB RAM, 20GB 디스크 공간
1. 시스템 업데이트
먼저 시스템 패키지를 최신 상태로 업데이트합니다. 이는 보안과 안정성을 위해 매우 중요한 단계입니다.
Copy# 패키지 목록 업데이트
sudo apt update
# 설치된 패키지 업그레이드
sudo apt upgrade -y
# 필수 유틸리티 설치
sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https -y
💡 팁: -y 옵션은 모든 질문에 자동으로 'yes'로 답하게 합니다.
2. Nginx 웹 서버 설치
Nginx는 가볍고 빠른 웹 서버로, 워드프레스와 완벽하게 호환됩니다.
Nginx 설치
Copy# Nginx 설치
sudo apt install nginx -y
# Nginx 서비스 시작
sudo systemctl start nginx
# 부팅 시 자동 시작 설정
sudo systemctl enable nginx
# 상태 확인
sudo systemctl status nginx
설치 확인
브라우저에서 서버의 IP 주소를 입력하면 Nginx 기본 페이지가 표시됩니다:
http://your_server_ip
3. PHP 8.3 설치 및 설정
PHP 8.3은 향상된 성능과 새로운 기능을 제공합니다. WordPress에 필요한 모든 PHP 확장 모듈을 함께 설치합니다.
PHP 저장소 추가
Copy# Ondřej Surý의 PHP 저장소 추가
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
PHP 8.3 및 필수 모듈 설치
Copy# PHP-FPM 및 필수 확장 모듈 설치
sudo apt install php8.3-fpm php8.3-mysql php8.3-curl \
php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip \
php8.3-intl php8.3-bcmath php8.3-imagick -y
PHP-FPM 서비스 활성화
Copy# PHP-FPM 시작
sudo systemctl start php8.3-fpm
# 자동 시작 설정
sudo systemctl enable php8.3-fpm
# 상태 확인
sudo systemctl status php8.3-fpm
PHP 설정 최적화
Copy# PHP 설정 파일 편집
sudo nano /etc/php/8.3/fpm/php.ini
다음 값들을 찾아 수정합니다:
Copyupload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M
4. MariaDB 데이터베이스 설치
MariaDB는 MySQL의 포크로, 더 나은 성능과 기능을 제공합니다.
MariaDB 설치
Copy# MariaDB 서버 및 클라이언트 설치
sudo apt install mariadb-server mariadb-client -y
# MariaDB 서비스 시작
sudo systemctl start mariadb
# 자동 시작 설정
sudo systemctl enable mariadb
보안 설정
Copy# MariaDB 보안 스크립트 실행
sudo mysql_secure_installation
다음 질문들에 답합니다:
- Enter current password for root: Enter 키 (초기 비밀번호 없음)
- Set root password?: Y
- New password: 강력한 비밀번호 입력
- Remove anonymous users?: Y
- Disallow root login remotely?: Y
- Remove test database?: Y
- Reload privilege tables?: Y
5. WordPress 데이터베이스 생성
WordPress를 위한 전용 데이터베이스와 사용자를 생성합니다.
MariaDB 접속
Copysudo mysql -u root -p
데이터베이스 및 사용자 생성
Copy-- UTF-8 지원 데이터베이스 생성
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 전용 사용자 생성 (비밀번호는 변경하세요!)
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
-- 권한 부여
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
-- 권한 적용
FLUSH PRIVILEGES;
-- 종료
EXIT;
⚠️ 보안 주의: 'StrongPassword123!'를 반드시 강력한 비밀번호로 변경하세요!
6. WordPress 다운로드 및 설치
최신 WordPress를 다운로드하고 적절한 위치에 설치합니다.
WordPress 다운로드
Copy# 임시 디렉토리로 이동
cd /tmp
# 최신 WordPress 다운로드
wget https://wordpress.org/latest.tar.gz
# 압축 해제
tar -xzvf latest.tar.gz
# 웹 디렉토리로 이동
sudo mv wordpress /var/www/wordpress
권한 설정
Copy# 소유권 변경
sudo chown -R www-data:www-data /var/www/wordpress
# 디렉토리 권한 설정
sudo find /var/www/wordpress/ -type d -exec chmod 755 {} \;
# 파일 권한 설정
sudo find /var/www/wordpress/ -type f -exec chmod 644 {} \;
WordPress 설정 파일 생성
Copy# 설정 파일 복사
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
# 설정 파일 편집
sudo nano wp-config.php
다음 부분을 찾아 수정합니다:
Copy/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wordpressuser' );
/** Database password */
define( 'DB_PASSWORD', 'StrongPassword123!' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );
보안 키 생성
WordPress 보안 키 생성기에서 고유한 보안 키를 생성하여 wp-config.php의 해당 부분에 붙여넣습니다.
7. Nginx 서버 블록 설정
WordPress를 위한 Nginx 설정을 생성합니다.
서버 블록 파일 생성
Copysudo nano /etc/nginx/sites-available/wordpress
다음 내용을 입력합니다:
Copyserver {
listen 80;
server_name example.com www.example.com;
root /var/www/wordpress;
index index.php index.html index.htm;
# 로그 파일
access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;
# 파일 업로드 크기 제한
client_max_body_size 64M;
# WordPress 고정 링크 지원
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP 처리
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
# 정적 파일 캐싱
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
# 숨김 파일 접근 차단
location ~ /\. {
deny all;
}
# xmlrpc.php 보안 (필요시 IP 제한)
location = /xmlrpc.php {
deny all;
}
}
설정 활성화
Copy# 심볼릭 링크 생성
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
# 기본 사이트 비활성화 (선택사항)
sudo rm /etc/nginx/sites-enabled/default
# 설정 문법 검사
sudo nginx -t
# Nginx 재시작
sudo systemctl restart nginx
8. WordPress 초기 설정
웹 브라우저에서 WordPress 설치를 완료합니다.
웹 설치 마법사
- 브라우저에서 http://your_domain.com 접속
- 언어 선택: 한국어
- 사이트 정보 입력:
- 사이트 제목: 원하는 사이트 이름
- 사용자명: 관리자 ID (admin 사용 금지)
- 비밀번호: 강력한 비밀번호
- 이메일: 관리자 이메일
- 검색 엔진 가시성: 개발 중이라면 체크
- WordPress 설치 클릭
9. 보안 강화 및 최적화
SSL 인증서 설치 (Let's Encrypt)
Copy# Certbot 설치
sudo apt install certbot python3-certbot-nginx -y
# SSL 인증서 발급 및 자동 설정
sudo certbot --nginx -d example.com -d www.example.com
방화벽 설정
Copy# UFW 설치 (설치되어 있지 않은 경우)
sudo apt install ufw -y
# 필요한 포트 허용
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
# 방화벽 활성화
sudo ufw enable
추가 보안 설정
wp-config.php에 다음 설정을 추가합니다:
Copy// 파일 편집 비활성화
define('DISALLOW_FILE_EDIT', true);
// 디버그 모드 비활성화 (운영 환경)
define('WP_DEBUG', false);
// 자동 업데이트 설정
define('WP_AUTO_UPDATE_CORE', 'minor');
권장 플러그인
- Wordfence Security: 종합 보안 솔루션
- UpdraftPlus: 백업 솔루션
- WP Super Cache: 캐싱 플러그인
- Yoast SEO: SEO 최적화
10. 문제 해결 가이드
일반적인 문제와 해결방법
1. 502 Bad Gateway 오류
Copy# PHP-FPM 상태 확인
sudo systemctl status php8.3-fpm
# PHP-FPM 재시작
sudo systemctl restart php8.3-fpm
2. 파일 업로드 오류
Copy# 업로드 디렉토리 권한 확인
sudo chown -R www-data:www-data /var/www/wordpress/wp-content/uploads
3. 데이터베이스 연결 오류
Copy# MariaDB 상태 확인
sudo systemctl status mariadb
# 데이터베이스 접속 테스트
mysql -u wordpressuser -p wordpress
로그 파일 위치
- Nginx 에러 로그: /var/log/nginx/error.log
- PHP 에러 로그: /var/log/php8.3-fpm.log
- WordPress 디버그: wp-content/debug.log (디버그 모드 활성화 시)
유용한 명령어
Copy# 실시간 로그 모니터링
sudo tail -f /var/log/nginx/error.log
# 디스크 사용량 확인
df -h
# 메모리 사용량 확인
free -m
# 프로세스 확인
ps aux | grep -E 'nginx|php|mysql'
마무리
축하합니다! 🎉 우분투 24.04 서버에 WordPress를 성공적으로 설치했습니다. 이제 다음 단계를 진행할 수 있습니다:
- 테마 선택 및 커스터마이징
- 필수 플러그인 설치
- 콘텐츠 작성 시작
- 정기적인 백업 설정
- 성능 모니터링 도구 설치
자동 설치 스크립트 첨부
도움이 필요하신가요?
설치 과정에서 문제가 발생하거나 궁금한 점이 있다면 댓글로 남겨주세요. 함께 해결책을 찾아보겠습니다!
이 가이드가 도움이 되셨다면 공유해주세요! WordPress로 멋진 웹사이트를 만드시길 바랍니다. ✨
'Study > Linux' 카테고리의 다른 글
| 듀얼부팅 환경의 골치아픈 문제들: 우분투 vs 윈도우 완벽 해결 가이드 (4) | 2025.07.18 |
|---|---|
| Ubuntu에서 Samba 파일 서버 구축하기: 사내 공유폴더 만들기 (사용자별 보안 설정 포함) (1) | 2025.07.14 |
| 🎉 새로운 VPS, 첫걸음을 안전하게 내딛는 방법! (초보자 가이드) (0) | 2025.06.21 |
| 우분투에서 소리가 너무 작다고요? 오디오 볼륨 200% 증폭하는 완벽 가이드! 🔊 (2) | 2025.06.19 |
| 리눅스에서 DNS 서버를 80.80.80.80으로 변경하는 완벽 가이드 (1) | 2025.06.12 |




