Как настроить несколько сайтов WordPress на одном Ubuntu VPS
Статус: устарело
В этой статье рассматривается версия Ubuntu, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:
- Обновите Ubuntu до версии 14.04.
- Обновление Ubuntu 14.04 до Ubuntu 16.04
- Перенесите данные сервера в поддерживаемую версию.
Причина:
См. вместо этого:
Введение
WordPress — это популярная CMS (система управления контентом), которая поможет вам быстро и легко запустить свой сайт. Иногда вам нужно разместить несколько не связанных между собой сайтов на одном сервере.
В этом руководстве рассказывается, как разместить два отдельных экземпляра WordPress на одном VPS. У каждого из них будет собственное доменное имя. Это отличается от настройки мультисайта.
Мы достигнем этого за счет использования виртуальных хостов. В этом руководстве будет использоваться VPS-сервер Ubuntu 12.04, но другие дистрибутивы должны работать аналогичным образом.
Предпосылки
В этом руководстве есть несколько требований, которые подробно описаны в некоторых других наших статьях. Прежде чем начать, убедитесь, что вы выполнили следующее:
- Создайте новый VPS DigitalOcean для размещения своих сайтов WordPress. Выполните начальную настройку сервера, следуя этому руководству.
- Настройте два доменных имени в DigitalOcean. Используйте это руководство, чтобы узнать, как настроить доменные имена в DigitalOcean.
- С помощью этого руководства установите стек LAMP в Ubuntu.
На этом этапе у вас должен быть установлен LAMP в Ubuntu, и оба ваших доменных имени должны указывать на ваш дроплет.
Убедитесь, что это так, посетив свои доменные имена в веб-браузере. Оба домена должны предоставить вам одну и ту же индексную страницу 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
Конфигурация WordPress
Мы настроим каждый сайт с информацией о наших сайтах.
Конфигурация первого сайта
Измените каталоги на корень документа первого сайта:
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> . . . . . .
Если вам нужно включить красивые постоянные ссылки, вы можете изменить \AllowOverride None\ в блоке \
После внесения изменений сохраните и закройте файл.
Конфигурация виртуального хоста второго сайта
Откройте второй файл виртуального хоста для редактирования:
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.