단일 Ubuntu VPS에서 여러 WordPress 사이트를 설정하는 방법
상태: 더 이상 사용되지 않음
이 문서에서는 더 이상 지원되지 않는 Ubuntu 버전에 대해 설명합니다. 현재 Ubuntu 12.04를 실행하는 서버를 운영 중인 경우 지원되는 Ubuntu 버전으로 업그레이드하거나 마이그레이션하는 것이 좋습니다.
- Ubuntu 14.04로 업그레이드합니다.
- Ubuntu 14.04에서 Ubuntu 16.04로 업그레이드
- 서버 데이터를 지원되는 버전으로 마이그레이션
이유:
대신 참조:
소개
WordPress는 사이트를 빠르고 쉽게 시작할 수 있도록 도와주는 인기 있는 CMS(콘텐츠 관리 시스템)입니다. 경우에 따라 동일한 서버에서 관련 없는 여러 사이트를 호스팅해야 합니다.
이 가이드는 하나의 VPS에서 두 개의 별도 WordPress 인스턴스를 호스팅하는 방법을 설명합니다. 그들은 각각 고유한 도메인 이름을 갖게 됩니다. 이는 다중 사이트 설정과 다릅니다.
우리는 가상 호스트를 사용하여 이를 달성할 것입니다. 이 가이드는 Ubuntu 12.04 VPS 서버를 사용하지만 다른 배포판도 비슷한 방식으로 작동해야 합니다.
전제 조건
이 가이드에는 다른 문서에서 자세히 다루는 몇 가지 요구 사항이 있습니다. 시작하기 전에 다음을 완료했는지 확인하십시오.
- WordPress 사이트를 호스팅할 새 DigitalOcean VPS를 만듭니다. 이 가이드에 따라 초기 서버 구성을 완료합니다.
- DigitalOcean으로 두 개의 도메인 이름을 설정합니다. 이 가이드를 사용하여 DigitalOcean으로 도메인 이름을 설정하는 방법을 알아보세요.
- 이 가이드를 사용하여 Ubuntu에 LAMP 스택을 설치합니다.
이 시점에서 Ubuntu에 LAMP가 설치되어 있어야 하며 두 도메인 이름 모두 드롭릿을 가리켜야 합니다.
웹 브라우저에서 도메인 이름을 방문하여 이것이 사실인지 확인하십시오. 두 도메인 모두 동일한 기본 Apache 색인 페이지를 제공해야 합니다.
도메인이 이 페이지로 연결되지 않으면 DNS 변경 사항이 전파될 때까지 기다려야 하거나 이전 단계에서 잘못 구성한 것이 있습니다. 이 문제가 해결될 때까지 계속하지 마십시오.
워드프레스 다운로드
준비가 되면 서버에 로그인하고 홈 디렉토리로 변경합니다. 여기에서 파일을 다운로드합니다.
cd wget http://wordpress.org/latest.tar.gz
다음 명령을 실행하여 아카이브 파일의 압축을 풀고 압축을 풉니다.
tar xzvf latest.tar.gz
사이트 데이터베이스 및 사용자 생성
계속하기 전에 MySQL 내의 각 사이트에 대해 독립적인 데이터베이스와 사용자를 구성해야 합니다. 이렇게 하면 사이트 데이터가 분리됩니다.
이 가이드의 목적을 위해 다음 정보를 사용합니다.
Site Name | firstsite.com | secondsite.com |
---|---|---|
Database Name | FirstDatabase | SecondDatabase |
Database User | FirstUser | SecondUser |
Database Password | FirstPassword | SecondPassword |
위의 표는 사용할 명령에 대한 컨텍스트를 제공하기 위해 제공됩니다. 다음 명령을 작성할 때 자신의 정보를 대체하십시오.
MySQL 설치 중에 구성한 관리자 계정을 사용하여 MySQL에 로그인합니다.
mysql -u root -p
MySQL 루트 암호를 입력하라는 메시지가 표시된 다음 MySQL 프롬프트로 이동합니다.
다음 명령을 사용하여 두 개의 데이터베이스를 만듭니다.
CREATE DATABASE FirstDatabase; CREATE DATABASE SecondDatabase;
각 데이터베이스와 연결될 사용자를 만듭니다.
CREATE USER FirstUser@localhost; CREATE USER SecondUser@localhost;
다음으로 각 계정에 대한 암호 액세스를 설정합니다.
SET PASSWORD FOR FirstUser@localhost= PASSWORD("FirstPassword"); SET PASSWORD FOR SecondUser@localhost= PASSWORD("SecondPassword");
새 사용자에게 권한을 부여하여 마무리합니다. 그러면 데이터베이스 사용자가 해당 데이터베이스와 연결되고 적절한 권한이 부여됩니다.
GRANT ALL PRIVILEGES ON FirstDatabase.* TO FirstUser@localhost IDENTIFIED BY 'FirstPassword'; GRANT ALL PRIVILEGES ON SecondDatabase.* TO SecondUser@localhost IDENTIFIED BY 'SecondPassword';
변경 사항을 구현하려면 MySQL 권한 정보를 새로 고칩니다.
FLUSH PRIVILEGES;
쉘 세션으로 돌아가려면 MySQL을 종료하십시오.
exit
사이트 루트 디렉터리 구성
서버의 웹 루트에 있는 개별 디렉토리 내에 두 사이트를 모두 설치합니다.
"/var/www/" 디렉토리로 변경합니다.
cd /var/www
각 사이트에 대한 디렉토리를 만듭니다. 다음은 사이트 파일을 저장합니다.
sudo mkdir FirstSite sudo mkdir SecondSite
웹 콘텐츠를 폴더로 이동하기 전에 샘플 구성을 복사합니다.
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
마지막으로 서버의 웹 루트 아래에 생성한 디렉터리에 파일을 복사합니다.
sudo rsync -avP ~/wordpress/ /var/www/FirstSite/ sudo rsync -avP ~/wordpress/ /var/www/SecondSite/
Apache 웹 사용자에게 디렉토리 소유권을 부여한 다음 Linux 사용자 이름을 웹 그룹에 추가하십시오.
sudo chown www-data:www-data * -R sudo usermod -a -G www-data linux_user_name
워드프레스 구성
사이트에 대한 정보로 각 사이트를 구성합니다.
첫 번째 사이트 구성
디렉터리를 첫 번째 사이트 문서 루트로 변경합니다.
cd /var/www/FirstSite
편집을 위해 WordPress 구성 파일을 엽니다.
sudo nano wp-config.php
아래 필드가 포함된 섹션을 찾아 첫 번째 사이트의 데이터베이스, 사용자 이름 및 비밀번호를 대체하십시오.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'FirstDatabase'); /** MySQL database username */ define('DB_USER', 'FirstUser'); /** MySQL database password */ define('DB_PASSWORD', 'FirstPassword');
저장 및 종료.
두 번째 사이트 구성
디렉터리를 두 번째 사이트 문서 루트로 변경합니다.
cd /var/www/SecondSite
편집을 위해 WordPress 구성 파일을 엽니다.
sudo nano wp-config.php
이전 사이트에 대해 편집한 동일한 섹션을 찾습니다. 이번에는 두 번째 사이트에 대한 정보를 입력하게 됩니다.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'SecondDatabase'); /** MySQL database username */ define('DB_USER', 'SecondUser'); /** MySQL database password */ define('DB_PASSWORD', 'SecondPassword');
저장 및 종료.
Apache 가상 호스트 구성
각 도메인에서 각각의 디렉터리로 트래픽을 보내도록 Apache를 구성해야 합니다. 각 도메인에 대해 별도의 가상 호스트 파일을 생성하여 이를 수행합니다.
디렉터리를 Apache의 사용 가능한 사이트 디렉터리로 변경합니다.
cd /etc/apache2/sites-available
기본 가상 호스트 파일을 복사하여 각 사이트에 대한 새 가상 호스트 파일을 만듭니다.
sudo cp default FirstSite sudo cp default SecondSite
첫 번째 사이트 가상 호스트 구성
복사한 첫 번째 파일을 열어 첫 번째 사이트에 대한 가상 호스트를 구성합니다.
sudo nano FirstSite
다음과 일치하도록 파일의 정보를 변경하십시오. 첫 번째 사이트와 일치하도록 정보를 빨간색으로 대체해야 합니다.
<VirtualHost *:80> ServerAdmin your_email_address ServerName firstsite.com ServerAlias www.firstsite.com DocumentRoot /var/www/FirstSite <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/FirstSite> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . . . . .
예쁜 퍼머링크를 활성화해야 하는 경우 "
변경한 후 파일을 저장하고 닫습니다.
두 번째 사이트 가상 호스트 구성
편집을 위해 두 번째 가상 호스트 파일을 엽니다.
sudo nano SecondSite
두 번째 사이트 정보를 반영하도록 정보를 변경합니다.
<VirtualHost *:80> ServerAdmin your_email_address ServerName secondsite.com ServerAlias www.secondsite.com DocumentRoot /var/www/SecondSite <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/SecondSite> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . . . . .
파일을 저장하고 닫습니다.
최종 구성
사이트를 작동시키는 데 필요한 몇 가지 추가 단계가 있습니다.
첫째, WordPress가 올바르게 작동하려면 추가 PHP 모듈이 설치되어 있어야 합니다. 다음을 입력하여 설치하십시오.
sudo apt-get install php5-gd
다음으로 다음을 입력하여 생성한 가상 호스트 파일을 활성화합니다.
sudo a2ensite FirstSite sudo a2ensite SecondSite
마지막으로 Apache를 다시 로드하여 변경 사항을 읽도록 합니다.
sudo service apache2 reload
결과 보기
새 WordPress 사이트를 보려면 웹 브라우저에서 도메인 이름으로 이동하기만 하면 됩니다.
모든 것을 올바르게 구성했다면 다음과 같은 페이지가 표시되어야 합니다.
이제 각 사이트에 독립적으로 로그인하고 구성할 수 있습니다. 이러한 사이트는 완전히 분리되어 있으며 완전히 다른 두 개의 VPS 서버에 있는 것처럼 관리할 수 있습니다.