리눅스에서 WordPress 설치 및 OnePress 테마 적용하기

안녕하세요! 이전 포스팅에서 Nginx와 SSL 설정을 완료했으니, 이번에는 리눅스 서버에 WordPress를 설치하고 인기 있는 OnePress 테마를 적용하는 방법을 알아보겠습니다.

이 가이드는 Ubuntu 22.04 LTS를 기준으로 작성되었지만, 다른 리눅스 배포판에서도 비슷한 방식으로 적용할 수 있습니다. 웹 개발 초보자도 쉽게 따라 할 수 있도록 단계별로 상세히 설명하겠습니다. 이 가이드를 따라하면 멋진 웹사이트를 빠르게 구축할 수 있습니다.

목차

  1. 사전 준비
  2. MariaDB 데이터베이스 설정
  3. PHP 설치 및 구성
  4. WordPress 다운로드 및 설치
  5. Nginx 가상 호스트 설정
  6. WordPress 초기 설정
  7. 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)

Pasted image 20250517175339.png

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 설치 마법사가 시작됩니다:

  1. 언어를 선택합니다 (한국어).
  2. 사이트 제목, 사용자 이름, 비밀번호, 이메일 주소를 입력합니다.
  3. “WordPress 설치하기” 버튼을 클릭합니다.
  4. 설치가 완료되면 “로그인” 버튼을 클릭하여 관리자 대시보드에 로그인합니다.

2. 기본 설정 구성하기

WordPress 관리자 대시보드에서 다음 기본 설정을 구성하세요:

  1. 설정 > 일반:

    • 사이트 제목 및 설명 확인
    • 올바른 시간대 설정 (예: UTC+9:00 서울)
  2. 설정 > 읽기:

    • 홈페이지 표시 방식 선택 (최근 글 또는 정적 페이지)
  3. 설정 > 고유 주소:

    • “글 이름” 옵션 선택 (예: https://uncleguru.net/sample-post/)

OnePress 테마 설치 및 설정

OnePress는 사용하기 쉬운 강력한 원페이지 WordPress 테마입니다. 무료 버전과 프리미엄 버전이 있습니다.

1. OnePress 테마 설치하기

WordPress 관리자 대시보드에서:

  1. 모양 > 테마 > 새로 추가로 이동합니다.
  2. 검색 상자에 “OnePress”를 입력합니다.
  3. OnePress 테마를 찾아 “설치” 버튼을 클릭합니다.
  4. 설치가 완료되면 “활성화” 버튼을 클릭합니다.

2. 필수 플러그인 설치하기

OnePress 테마는 일부 기능을 위해 추가 플러그인을 권장합니다:

  1. 플러그인 > 새로 추가로 이동합니다.
  2. 다음 플러그인을 검색하여 설치 및 활성화합니다:
    • Contact Form 7 (연락처 양식)
    • One Click Demo Import (데모 콘텐츠 가져오기)
    • WooCommerce (온라인 상점 기능이 필요한 경우)

3. OnePress 테마 설정하기

3.1 테마 옵션 구성

외모 > 사용자 정의하기에서 다양한 OnePress 테마 옵션을 설정할 수 있습니다:

  1. 사이트 ID: 로고, 사이트 제목, 설명을 설정합니다.
  2. 색상: 주요 색상 및 배경색을 선택합니다.
  3. 헤더 옵션: 상단 바, 메뉴 스타일, 투명 메뉴 등을 설정합니다.
  4. 영웅 섹션: 메인 헤더 이미지, 제목, 부제목을 설정합니다.
  5. 섹션 순서 및 내용: 각 섹션의 순서와 내용을 맞춤 설정합니다.

3.2 홈페이지 섹션 설정

OnePress 테마는 다양한 홈페이지 섹션을 제공합니다:

  1. About Us (회사 소개): 회사 정보와 특징을 표시합니다.
  2. Services (서비스): 제공하는 서비스를 아이콘과 함께 표시합니다.
  3. Features (특징): 제품이나 서비스의 주요 특징을 강조합니다.
  4. Projects (프로젝트): 포트폴리오 작업을 갤러리 형식으로 표시합니다.
  5. Counter (카운터): 숫자로 된 통계나 성과를 표시합니다.
  6. Team (팀): 팀원의 정보와 소셜 미디어 링크를 표시합니다.
  7. News (뉴스): 최근 블로그 글을 표시합니다.
  8. Contact (연락처): 연락처 양식과 지도를 표시합니다.

각 섹션은 외모 > 사용자 정의하기 > 테마 옵션 > 섹션에서 설정할 수 있습니다.

마무리

이제 리눅스 환경에서 Nginx, MariaDB, PHP를 사용하여 WordPress를 성공적으로 설치하고, OnePress 테마를 적용하는 방법을 배웠습니다. 이 설정을 통해 멋진 원페이지 웹사이트를 구축할 수 있습니다.

질문이나 의견이 있으시면 댓글로 남겨주세요!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다