안녕하세요! 이전 포스팅에서 Nginx와 SSL 설정을 완료했으니, 이번에는 리눅스 서버에 WordPress를 설치하고 인기 있는 OnePress 테마를 적용하는 방법을 알아보겠습니다.
이 가이드는 Ubuntu 22.04 LTS를 기준으로 작성되었지만, 다른 리눅스 배포판에서도 비슷한 방식으로 적용할 수 있습니다. 웹 개발 초보자도 쉽게 따라 할 수 있도록 단계별로 상세히 설명하겠습니다. 이 가이드를 따라하면 멋진 웹사이트를 빠르게 구축할 수 있습니다.
목차
- 사전 준비
- MariaDB 데이터베이스 설정
- PHP 설치 및 구성
- WordPress 다운로드 및 설치
- Nginx 가상 호스트 설정
- WordPress 초기 설정
- OnePress 테마 설치 및 설정
사전 준비
시작하기 전에 다음 항목들이 준비되어 있는지 확인해주세요:
- Ubuntu 22.04 LTS 서버
- 설치된 Nginx 웹 서버
- 설정된 도메인 (이 가이드에서는
uncleguru.net
사용) - Cloudflare와 Let’s Encrypt로 구성된 SSL (이전 포스팅 참조)
- 서버에 대한 SSH 접속 권한 (root 또는 sudo 권한)
MariaDB 데이터베이스 설정
WordPress는 데이터를 저장하기 위해 데이터베이스가 필요합니다. MariaDB는 MySQL의 대체 데이터베이스로, 더 나은 성능과 보안을 제공합니다.
1. MariaDB 설치하기
sudo apt update
sudo apt install mariadb-server
2. MariaDB 보안 설정하기
MariaDB 설치 후 보안 설정을 진행합니다:
sudo mysql_secure_installation
프롬프트에 따라 다음 설정을 진행하세요:
– root 비밀번호 설정 (Enter current password for root: Enter를 누르세요)
– 새 root 비밀번호 설정 (Set root password? [Y/n]: Y)
– 익명 사용자 제거 (Remove anonymous users? [Y/n]: Y)
– 원격 root 로그인 비활성화 (Disallow root login remotely? [Y/n]: Y)
– 테스트 데이터베이스 제거 (Remove test database and access to it? [Y/n]: Y)
– 특권 테이블 리로드 (Reload privilege tables now? [Y/n]: Y)

3. WordPress용 데이터베이스 및 사용자 생성하기
MariaDB에 로그인합니다:
sudo mysql
데이터베이스와 사용자를 생성하고 권한을 부여합니다:
CREATE DATABASE wordpress_db;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY '강력한_비밀번호';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
⚠️ 중요: 강력한_비밀번호
부분을 실제로 강력하고 고유한 비밀번호로 변경하세요.
PHP 설치 및 구성
WordPress는 PHP로 작성되었으므로 PHP와 필요한 확장 기능을 설치해야 합니다.
1. PHP 및 필요한 확장 기능 설치하기
PHP를 설치합니다. 제 환경의 경우 기본 8.3이어서 명령은 아래와 같습니다.
sudo apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-intl php8.3-mbstring php8.3-soap php8.3-xml php8.3-xmlrpc php8.3-zip php8.3-imagick
2. PHP 설정 최적화하기
PHP 설정 파일을 수정하여 성능을 최적화합니다:
sudo nano /etc/php/8.3/fpm/php.ini
다음 값들을 찾아 수정하세요:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
설정을 저장하고 PHP-FPM을 재시작합니다:
sudo systemctl restart php8.1-fpm
WordPress 다운로드 및 설치
1. WordPress 다운로드하기
웹 서버의 루트 디렉토리로 이동하여 최신 버전의 WordPress를 다운로드합니다:
cd /var/www
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress html
sudo rm latest.tar.gz
한글 버전을 설치를 원하면 https://ko.wordpress.org/download/ 사이트에서 다운로드 가능합니다.
아래는 설치 명령어 입니다.
cd /var/www
sudo wget https://ko.wordpress.org/latest-ko_KR.zip
sudo unzip latest-ko_KR.zip
sudo mv wordpress html
sudo rm latest-ko_KR.zip
2. 권한 설정하기
WordPress 디렉토리의 소유권과 권한을 설정합니다:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
3. wp-config.php 파일 생성하기
샘플 설정 파일을 복사하고 편집합니다:
cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
다음 부분을 찾아 이전에 생성한 데이터베이스 정보로 수정하세요:
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );
/** Database username */
define( 'DB_USER', 'wordpress_user' );
/** Database password */
define( 'DB_PASSWORD', '강력한_비밀번호' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
WordPress 보안 키를 설정합니다. WordPress.org의 보안 키 생성기에서 랜덤 키를 생성하여 다음 부분을 대체하세요:
define( 'AUTH_KEY', '생성된_키_입력' );
define( 'SECURE_AUTH_KEY', '생성된_키_입력' );
define( 'LOGGED_IN_KEY', '생성된_키_입력' );
define( 'NONCE_KEY', '생성된_키_입력' );
define( 'AUTH_SALT', '생성된_키_입력' );
define( 'SECURE_AUTH_SALT', '생성된_키_입력' );
define( 'LOGGED_IN_SALT', '생성된_키_입력' );
define( 'NONCE_SALT', '생성된_키_입력' );
파일 끝부분에 다음 코드를 추가하여 FTP 접속 없이 플러그인과 테마를 설치할 수 있도록 합니다:
define('FS_METHOD', 'direct');
4. .htaccess 파일 생성하기
Nginx에서는 .htaccess 파일이 필요하지 않지만, 일부 WordPress 플러그인에서 이 파일을 요구할 수 있으므로 빈 파일을 생성해 둡니다:
sudo touch /var/www/html/.htaccess
sudo chmod 664 /var/www/html/.htaccess
sudo chown www-data:www-data /var/www/html/.htaccess
Nginx 가상 호스트 설정
이전에 설정한 Nginx 가상 호스트 파일을 수정하여 WordPress를 지원하도록 합니다:
sudo nano /etc/nginx/sites-available/uncleguru.net
다음과 같이 HTTPS 서버 블록의 location 부분을 수정합니다:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name uncleguru.net www.uncleguru.net;
# SSL 설정 (이전 포스팅 참조)
ssl_certificate /etc/letsencrypt/live/uncleguru.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/uncleguru.net/privkey.pem;
# 기타 SSL 설정...
# 루트 디렉토리 설정
root /var/www/html;
index index.php index.html index.htm;
# 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;
}
# 정적 파일 캐싱 설정
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
# .htaccess 파일 접근 거부
location ~ /\.ht {
deny all;
}
# wp-config.php 파일 접근 거부
location ~ /wp-config.php {
deny all;
}
}
설정을 테스트하고 Nginx를 재시작합니다:
sudo nginx -t
sudo systemctl restart nginx
WordPress 초기 설정
1. 웹 설치 마법사 실행하기
웹 브라우저에서 https://uncleguru.net
에 접속하면 WordPress 설치 마법사가 시작됩니다:
- 언어를 선택합니다 (한국어).
- 사이트 제목, 사용자 이름, 비밀번호, 이메일 주소를 입력합니다.
- “WordPress 설치하기” 버튼을 클릭합니다.
- 설치가 완료되면 “로그인” 버튼을 클릭하여 관리자 대시보드에 로그인합니다.
2. 기본 설정 구성하기
WordPress 관리자 대시보드에서 다음 기본 설정을 구성하세요:
설정 > 일반:
- 사이트 제목 및 설명 확인
- 올바른 시간대 설정 (예: UTC+9:00 서울)
설정 > 읽기:
- 홈페이지 표시 방식 선택 (최근 글 또는 정적 페이지)
설정 > 고유 주소:
- “글 이름” 옵션 선택 (예:
https://uncleguru.net/sample-post/
)
- “글 이름” 옵션 선택 (예:
OnePress 테마 설치 및 설정
OnePress는 사용하기 쉬운 강력한 원페이지 WordPress 테마입니다. 무료 버전과 프리미엄 버전이 있습니다.
1. OnePress 테마 설치하기
WordPress 관리자 대시보드에서:
- 모양 > 테마 > 새로 추가로 이동합니다.
- 검색 상자에 “OnePress”를 입력합니다.
- OnePress 테마를 찾아 “설치” 버튼을 클릭합니다.
- 설치가 완료되면 “활성화” 버튼을 클릭합니다.
2. 필수 플러그인 설치하기
OnePress 테마는 일부 기능을 위해 추가 플러그인을 권장합니다:
- 플러그인 > 새로 추가로 이동합니다.
- 다음 플러그인을 검색하여 설치 및 활성화합니다:
- Contact Form 7 (연락처 양식)
- One Click Demo Import (데모 콘텐츠 가져오기)
- WooCommerce (온라인 상점 기능이 필요한 경우)
3. OnePress 테마 설정하기
3.1 테마 옵션 구성
외모 > 사용자 정의하기에서 다양한 OnePress 테마 옵션을 설정할 수 있습니다:
- 사이트 ID: 로고, 사이트 제목, 설명을 설정합니다.
- 색상: 주요 색상 및 배경색을 선택합니다.
- 헤더 옵션: 상단 바, 메뉴 스타일, 투명 메뉴 등을 설정합니다.
- 영웅 섹션: 메인 헤더 이미지, 제목, 부제목을 설정합니다.
- 섹션 순서 및 내용: 각 섹션의 순서와 내용을 맞춤 설정합니다.
3.2 홈페이지 섹션 설정
OnePress 테마는 다양한 홈페이지 섹션을 제공합니다:
- About Us (회사 소개): 회사 정보와 특징을 표시합니다.
- Services (서비스): 제공하는 서비스를 아이콘과 함께 표시합니다.
- Features (특징): 제품이나 서비스의 주요 특징을 강조합니다.
- Projects (프로젝트): 포트폴리오 작업을 갤러리 형식으로 표시합니다.
- Counter (카운터): 숫자로 된 통계나 성과를 표시합니다.
- Team (팀): 팀원의 정보와 소셜 미디어 링크를 표시합니다.
- News (뉴스): 최근 블로그 글을 표시합니다.
- Contact (연락처): 연락처 양식과 지도를 표시합니다.
각 섹션은 외모 > 사용자 정의하기 > 테마 옵션 > 섹션에서 설정할 수 있습니다.
마무리
이제 리눅스 환경에서 Nginx, MariaDB, PHP를 사용하여 WordPress를 성공적으로 설치하고, OnePress 테마를 적용하는 방법을 배웠습니다. 이 설정을 통해 멋진 원페이지 웹사이트를 구축할 수 있습니다.
질문이나 의견이 있으시면 댓글로 남겨주세요!