wordpress 블로그만들기(LAMP 스택,도메인추가)

메론보이·2024년 6월 8일

리눅스

목록 보기
15/17
post-thumbnail

RHEL에서 Bind9를 활용한 LAMP 스택 기반의 WordPress 블로그 설치 가이드

이번 포스트에서는 RHEL 시스템에서 Bind9 DNS 서버를 설정하고, LAMP 스택을 활용하여 WordPress 블로그를 설치하는 과정을 단계별로 설명하겠습니다.

1. 도메인 이름 얻기

도메인 등록

우선, 도메인 등록 서비스 제공업체를 통해 도메인을 등록합니다. 이 예제에서는 duckdns.org를 사용하여 무료 서브 도메인 shinhk.duckdns.org를 생성했습니다.

  1. DuckDNS 웹사이트에 접속합니다.
  2. DuckDNS에 로그인하고 새 도메인을 등록합니다.
  3. 도메인을 등록하면 xxx.duckdns.org를 사용할 수 있습니다.

2. RHEL 시스템 준비

시스템 업데이트 및 패키지 설치

RHEL 시스템을 업데이트하고 필요한 패키지를 설치합니다.

sudo yum update -y

3. Bind9 설치 및 설정

Bind9 설치

sudo yum install bind bind-utils -y

Bind9 설정

/etc/named.conf 파일을 수정하여 DNS 설정을 합니다.

sudo vi /etc/named.conf

다음 내용을 추가합니다:

options {
    listen-on port 53 { 127.0.0.1; 192.168.111.100; };
    listen-on-v6 port 53 { ::1; };
    directory     "/var/named";
    dump-file     "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { any; };
    recursion yes;
    dnssec-validation yes;
    managed-keys-directory "/var/named/dynamic";
};

logging {
    channel default_debug {
        file "data/named.run";
        severity dynamic;
    };
};

zone "." IN {
    type hint;
    file "named.ca";
};

zone "xxx.duckdns.org" IN {
    type master;
    file "/var/named/xxx.duckdns.org.zone";
    allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

존 파일 생성

존 파일을 생성하여 도메인 설정을 합니다.

sudo vi /var/named/shinhk.duckdns.org.zone

파일 내용:

$TTL 86400
@   IN  SOA     xxx.duckdns.org. root.xxx.duckdns.org. (
                    2024060801  ; Serial
                    3600        ; Refresh
                    1800        ; Retry
                    1209600     ; Expire
                    86400 )     ; Minimum TTL

    IN  NS      xxx.duckdns.org.
    IN  A       192.168.111.100

www IN  A       192.168.111.100

Bind9 서비스 시작 및 활성화

sudo systemctl start named
sudo systemctl enable named

방화벽 설정

sudo firewall-cmd --permanent --add-port=53/udp
sudo firewall-cmd --permanent --add-port=53/tcp
sudo firewall-cmd --reload

4. LAMP 스택 설치

Apache 설치

sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd

MariaDB 설치

sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

PHP 설치

sudo yum install php php-mysqlnd php-fpm php-json -y
sudo systemctl restart httpd

5. WordPress 설치

MariaDB 설정

sudo mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;

WordPress 다운로드 및 설치

cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz

WordPress 설정 파일 구성

sudo cp wp-config-sample.php wp-config.php
sudo vi wp-config.php

다음 내용을 수정합니다:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpressuser');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');

블로그에 보안 키를 추가하는 방법을 설명할 때, 실제 키를 포함하는 대신, 키를 생성하는 방법과 생성된 키를 어디에 삽입해야 하는지 설명하는 것이 좋습니다. 실제 키는 블로그에 포함하지 않고, 독자들이 직접 생성할 수 있도록 안내하는 것이 안전합니다.

아래는 블로그 포스트의 보안 키 부분을 작성하는 방법에 대한 예시입니다.


6. WordPress 설치: 보안 키 설정

WordPress 설치 과정에서 중요한 보안 요소 중 하나는 보안 키 설정입니다. 보안 키는 WordPress의 보안을 강화하는 데 사용됩니다.

보안 키 생성

  1. 보안 키는 WordPress Secret Key API를 사용하여 생성할 수 있습니다. 이 링크를 클릭하면 자동으로 보안 키가 생성됩니다.

  2. 생성된 보안 키를 복사합니다. 예를 들어, 다음과 같은 형식으로 생성됩니다:

    define('AUTH_KEY',         'put your unique phrase here');
    define('SECURE_AUTH_KEY',  'put your unique phrase here');
    define('LOGGED_IN_KEY',    'put your unique phrase here');
    define('NONCE_KEY',        'put your unique phrase here');
    define('AUTH_SALT',        'put your unique phrase here');
    define('SECURE_AUTH_SALT', 'put your unique phrase here');
    define('LOGGED_IN_SALT',   'put your unique phrase here');
    define('NONCE_SALT',       'put your unique phrase here');

보안 키 추가

  1. wp-config.php 파일을 엽니다. 이 파일은 WordPress 루트 디렉토리에 있습니다.

    sudo vi /var/www/html/wp-config.php
  2. 파일에서 보안 키 부분을 찾아서 생성된 키로 대체합니다. 기존의 put your unique phrase here를 생성된 키로 교체합니다.

    define('AUTH_KEY',         'your generated key');
    define('SECURE_AUTH_KEY',  'your generated key');
    define('LOGGED_IN_KEY',    'your generated key');
    define('NONCE_KEY',        'your generated key');
    define('AUTH_SALT',        'your generated key');
    define('SECURE_AUTH_SALT', 'your generated key');
    define('LOGGED_IN_SALT',   'your generated key');
    define('NONCE_SALT',       'your generated key');
  3. 변경 내용을 저장하고 파일을 닫습니다.

이제 보안 키가 설정되었으며, WordPress 설치가 더 안전해졌습니다.

Apache 설정

sudo vi /etc/httpd/conf.d/wordpress.conf

다음 내용을 추가합니다:

<VirtualHost *:80>
    ServerAdmin admin@xxx.duckdns.org
    DocumentRoot /var/www/html
    ServerName xxx.duckdns.org
    ServerAlias www.xxx.duckdns.org

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/xxx.duckdns.org-error.log
    CustomLog /var/log/httpd/xxx.duckdns.org-access.log combined
</VirtualHost>

Apache를 재시작합니다.

sudo systemctl restart httpd

WordPress 설치 마법사 실행

웹 브라우저에서 http://xxx.duckdns.org로 접속하여 WordPress 설치 마법사를 완료합니다. 데이터베이스 정보는 다음과 같이 입력합니다:

  • 데이터베이스 이름: wordpress
  • 사용자 이름: wordpressuser
  • 비밀번호: password
  • 데이터베이스 호스트: localhost
  • 테이블 접두사: wp_

설치 마법사가 완료되면 관리자 계정으로 로그인하여 WordPress 대시보드에 접근할 수 있습니다.

0개의 댓글