데이터베이스 연결 중 오류

wp-config.php의 사용자명과 비밀번호 정보가 올바르지 않거나 192.168.1.3의 데이터베이스 서버에 접근할 수 없다는 것을 의미합니다. 이는 호스트의 데이터베이스 서버가 동작하지 않고 있다는 것을 의미할 수도 있습니다.


1. wp-config.php 파일의 설정 확인

워드프레스의 wp-config.php 파일에 입력한 데이터베이스 정보가 정확한지 확인하세요.

bash
sudo nano /var/www/html/wordpress/wp-config.php

확인해야 할 항목:

php
define('DB_NAME', 'wordpress'); // 데이터베이스 이름
define('DB_USER', 'wp_user'); // 데이터베이스 사용자명
define('DB_PASSWORD', '비밀번호'); // 데이터베이스 비밀번호

define('DB_HOST', 'localhost'); // 호스트 이름

점검:

  • DB_NAME: MySQL에서 생성한 데이터베이스 이름과 일치하는지 확인.
  • DB_USER: 데이터베이스 사용자 이름이 올바른지 확인.
  • DB_PASSWORD: MySQL 사용자 계정의 비밀번호와 동일한지 확인.
  • DB_HOST: 동일 서버에 설치된 MySQL이라면 localhost로 유지.

2. MySQL 사용자 권한 확인

MySQL에 접속해 사용자 권한이 제대로 설정되었는지 확인합니다.

bash
sudo mysql -u root -p

다음 명령어를 실행:

sql
USE mysql;
SELECT User, Host FROM mysql.user WHERE User = 'wp_user';
  • 결과에 wp_userlocalhost가 포함되어 있는지 확인합니다.
  • 권한이 제대로 설정되지 않았다면 다시 권한 부여:
    sql
    GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '비밀번호';
    FLUSH PRIVILEGES;

3. MySQL 서버 상태 확인

MySQL 서버가 실행 중인지 확인합니다.

bash
sudo systemctl status mysql
  • MySQL 서버가 멈춰 있다면:
    bash
    sudo systemctl start mysql
  • 부팅 시 MySQL이 자동으로 시작되도록 설정:
    bash
    sudo systemctl enable mysql

4. MySQL에서 직접 접속 테스트

wp-config.php에 설정된 사용자 계정으로 데이터베이스에 접속할 수 있는지 테스트합니다.

bash
mysql -u wp_user -p -h localhost
  • 제대로 접속되면 MySQL CLI가 열립니다.
  • 접속에 실패한다면 사용자 이름, 비밀번호, 또는 호스트 설정을 다시 확인하세요.

5. 방화벽 설정 확인

우분투 방화벽(UFW)을 사용 중인 경우 MySQL 포트(기본: 3306)가 열려 있는지 확인하세요.

방화벽 상태 확인:

bash
sudo ufw status

MySQL 포트를 열려면:

bash
sudo ufw allow 3306
sudo ufw reload

6. DB_HOST 설정 변경 (외부 서버 사용 시)

DB_HOSTlocalhost 대신 실제 MySQL 서버 IP 주소(175.202.41.78)로 설정해 보세요.
wp-config.php 파일에서:

php
define('DB_HOST', '175.202.41.78');

외부 서버일 경우 확인할 사항:

  • MySQL 서버에서 외부 접속이 허용되었는지 확인:
    sql
    GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'%' IDENTIFIED BY '비밀번호';
    FLUSH PRIVILEGES;
  • MySQL 설정 파일(/etc/mysql/mysql.conf.d/mysqld.cnf)에서 bind-address 항목이 0.0.0.0 또는 특정 IP로 설정되어 있는지 확인하세요.

7. Apache 및 PHP 로그 확인

Apache와 PHP 로그를 확인하여 추가 오류 정보를 파악하세요.

Apache 로그:

bash
sudo tail -f /var/log/apache2/error.log

PHP 오류 로그:

bash
sudo tail -f /var/log/php*.log

우분투에 워드프레스 설치하기

우분투에 워드프레스를 설치하는 방법을 단계별로 안내드립니다. 이 과정은 기본적으로 LAMP 스택(Linux, Apache, MySQL/MariaDB, PHP)을 설치하고, 워드프레스를 다운로드하여 설정하는 방식입니다.


1. 우분투 업데이트

먼저 시스템을 최신 상태로 업데이트합니다.

bash
sudo apt update && sudo apt upgrade -y

2. LAMP 스택 설치

(1) Apache 설치

bash
sudo apt install apache2 -y

Apache가 설치되었는지 확인:

bash
sudo systemctl status apache2

웹 브라우저에서 서버 IP 주소를 입력해 Apache 기본 페이지가 표시되면 정상적으로 설치된 것입니다.


(2) MySQL 또는 MariaDB 설치

MySQL 설치:

bash
sudo apt install mysql-server -y

MySQL 초기 설정:

bash
sudo mysql_secure_installation

설정 과정에서 관리자 비밀번호를 설정하고 기본 보안 옵션을 적용합니다.


(3) PHP 설치

PHP 및 필요한 확장 모듈 설치:

bash
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc -y

PHP가 제대로 설치되었는지 확인:

bash
php -v

3. 워드프레스 설치

(1) 워드프레스 다운로드

bash
wget https://wordpress.org/latest.tar.gz

압축 해제:

bash
tar -xvzf latest.tar.gz

워드프레스 파일을 Apache의 웹 디렉토리로 이동:

bash
sudo mv wordpress /var/www/html/

(2) 데이터베이스 설정

MySQL 콘솔에 접속:

bash
sudo mysql -u root -p

다음 명령어를 사용해 워드프레스용 데이터베이스와 사용자를 생성:

sql
CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

(3) 파일 권한 설정

워드프레스 디렉토리의 권한을 설정:

bash
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress

(4) Apache 설정

워드프레스용 Apache 가상 호스트 파일 생성:

bash
sudo nano /etc/apache2/sites-available/wordpress.conf

다음 내용을 추가:

bash
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/wordpress
ServerName example.com
<Directory /var/www/html/wordpress>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

파일 저장 후 닫기.

Apache 설정 활성화:

bash
sudo a2ensite wordpress.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

4. 워드프레스 설치 마무리

  1. 웹 브라우저에서 서버의 IP 주소 또는 도메인 입력:
    예: http://서버_IP
  2. 워드프레스 설치 화면에서 데이터베이스 정보 입력:
    • 데이터베이스 이름: wordpress
    • 사용자 이름: wp_user
    • 비밀번호: 위에서 설정한 비밀번호
  3. 설치 완료 후 관리자 계정 설정.

우분투기반 워드프레서 설치 및 운영할 수 있도록 도와 주는 책은?

우분투 기반에서 워드프레스를 설치하고 운영하는 방법을 다룬 책은 많지 않지만, 다음과 같은 책들이 도움을 줄 수 있습니다. 이와 함께 추가적으로 한국어로 된 온라인 자료도 활용하면 좋습니다.

추천 서적

  1. “워드프레스 완벽 가이드” (한빛미디어)
    • 워드프레스 설치, 운영, 테마, 플러그인 설정 등을 다룹니다.
    • 주로 웹 호스팅 기반을 설명하지만, 우분투 환경에도 응용 가능합니다.
  2. “리눅스 서버 관리 실무 바이블” (길벗)
    • 리눅스 서버 설정부터 아파치, MySQL 등 우분투 서버 환경 설정을 포함하여 워드프레스 설치의 기초가 되는 내용을 다룹니다.
  3. “워드프레스 사이트 만들기” (정보문화사)
    • 워드프레스 설치 및 커스터마이징 관련 내용을 다룹니다.
  4. “Linux Bible” (영문, Wiley)
    • 우분투 서버를 기반으로 다양한 애플리케이션을 설치하는 방법을 설명합니다. 워드프레스 설치와 서버 최적화 관련 내용도 포함되어 있습니다.

참고할 수 있는 온라인 자료

  • 워드프레스 공식 문서 (한국어)
    https://ko.wordpress.org/support/
    설치, 운영, 관리 방법이 상세히 나와 있습니다.
  • “우분투에서 LAMP 스택 설치 및 워드프레스 설정” 관련 블로그
    검색 키워드: “우분투 워드프레스 설치 가이드”
  • KT 인터넷 사용자 서버 설정 관련 자료
    KT의 포트 개방 및 DDNS 설정 가이드도 함께 확인하세요.