Как разместить несколько сайтов в одной установке Wordpress на CentOS 7
На этой странице
- 1 Предварительное примечание
- 2 Инициализация базы данных
- 3.1 Конфигурация нескольких сайтов
- 3.2 Перезапись Apache
- 3.3 Создайте файл .htaccess
- 3.4 Веб-установка
- 3.5 Конфигурация нескольких сайтов
В этом документе описывается, как установить и настроить несколько сайтов WordPress с последней версией WordPress на CentOS 7 в одном экземпляре WordPress. WordPress начался в 2003 году с одного бита кода для улучшения типографики повседневного письма и с меньшим количеством пользователей, чем вы можете сосчитать на пальцах рук и ног. С тех пор он стал крупнейшим в мире инструментом для самостоятельного ведения блогов, который используется на миллионах сайтов и ежедневно просматривается десятками миллионов людей. В этом руководстве объясняется процесс установки WordPress 4.0 на CentOS 7.0 в виде простого руководства.
1 Предварительное примечание
Это руководство основано на сервере CentOS 7.0, поэтому вам следует настроить базовую установку сервера CentOS 7.0, прежде чем продолжить работу с этим руководством. Система должна иметь статический IP-адрес. В этом руководстве я использую 192.168.0.100 в качестве своего IP-адреса и server1.example.com в качестве имени хоста. Чтобы продолжить, у вас должен быть установлен сервер LAMP в CentOS 7.0, как указано в руководстве.
2 Инициализация базы данных
Я создам базу данных для WordPress 4.0 следующим образом:
mysql -u root -p
Здесь мы добавляем базу данных=wordpressdb user=wordpressuser и пароль=wordpresspassword:
CREATE DATABASE wordpressdb;
CREATE USER ;Дальнейшее продвижение:
FLUSH PRIVILEGES;
exitПерезапустить службы
service httpd restart
service mariadb restartДалее вам нужно разрешить Firewall-cmd для http и https следующим образом:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload3 Установка WordPress 4.0
Сначала мы создадим временный каталог, в который я буду загружать последнюю версию WordPress следующим образом:
mkdir temp
cd temp
yum install wget unzip net-toolswget http://wordpress.org/latest.zip
Далее, если вы хотите работать с изображениями, устанавливать плагины и обновлять сайт с учетными данными SSH, мы установим:
yum install php-gd
service httpd restartразархивируйте zip-файл Wordpress 4.0 в папку:
unzip -q latest.zip -d /var/www/html/
Теперь дайте соответствующие разрешения в каталоге
chown -R apache:apache /var/www/html/wordpress
chmod -R 755 /var/www/html/wordpressДалее нам нужно вручную создать каталог uploads в каталоге wp-content в корне нашего документа. Это будет родительский каталог нашего контента:
mkdir -p /var/www/html/wordpress/wp-content/uploads
Нам нужно разрешить самому веб-серверу писать в этот каталог. Мы можем сделать это, назначив групповое владение этим каталогом нашему веб-серверу. Это позволит веб-серверу создавать файлы и каталоги в этом каталоге, что позволит нам загружать контент на сервер. Действуйте следующим образом:
chown -R :apache /var/www/html/wordpress/wp-content/uploads
Теперь нам нужен пример файла конфигурации, чтобы скопировать его в файл конфигурации по умолчанию, чтобы WordPress распознал файл. Пример файла конфигурации доступен по адресу /var/www/html/wordpress:cd /var/www/html/wordpress/
cp wp-config-sample.php wp-config.php
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', 'wordpressdb'); /** MySQL database username */ define('DB_USER', 'wordpressuser'); /** MySQL database password */ define('DB_PASSWORD', 'wordpresspassword');
[...]Измените значения, которые вы указали во время инициализации базы данных.
3.1 Конфигурация нескольких сайтов
Теперь приступим к настройке нескольких сайтов, для этого нам нужно добавить эти строки в наш файл wp-config.php чуть выше /* Вот и все, прекратите редактирование! Удачного ведения блога. */ линия.
nano /var/www/html/wordpress/wp-config.php
[...] /* Multisite */ define('WP_ALLOW_MULTISITE', true); /* That's all, stop editing! Happy blogging. */
[...]3.2 Переписать Apache
Мы изменим файл виртуального хоста apache для WordPress, чтобы разрешить переопределение .htaccess. Для этого мы отредактируем файл виртуального хоста и добавим записи как:
nano /etc/httpd/conf/httpd.conf
[...]
# Further relax access to the default document root: <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All
[...]Измените значение с AllowOverride None на AllowOverride All, затем перезапустите службу:
service httpd restart
3.3 Создайте файл .htaccess
Теперь мы создадим файл .htaccess в корне документа, он позволит Apache перезаписывать:
touch /var/www/html/wordpress/.htaccess
Однако нам нужно, чтобы веб-сервер был владельцем группы, поэтому мы должны настроить права собственности следующим образом:
chown apache /var/www/html/wordpress/.htaccess
Если вы хотите, чтобы WordPress автоматически обновлял этот файл с помощью правил перезаписи, вы можете убедиться, что у него есть правильные разрешения для этого, используя:
chmod 664 /var/www/html/wordpress/.htaccess
Если вы хотите обновить этот файл вручную ради небольшого усиления безопасности, вы можете разрешить веб-серверу только чтение привилегий, набрав:
chmod 644 /var/www/html/wordpress/.htaccess
В моем случае я использую разрешения 644.
3.4 Веб-установка
Теперь приступайте к веб-установке WordPress 4.0. Перейдите по адресу http://192.168.0.100/wordpress/wp-admin/install.php:
Выберите язык и нажмите Продолжить:
Следующий
Теперь дайте значения, как я дал в моем случае
Site Title = Wordpress-testsite Admin Email = Username = admin Admin password = howtoforge Confirm Admin Password = howtoforge
Вышеупомянутые значения будут отличаться в вашем случае, вы можете указать любые значения по вашему выбору. После ввода значений нажмите InstallWordpress:
Теперь мы перейдем к странице входа, нажав Войти:
Укажите учетные данные, которые вы выбрали во время веб-установки WordPress:
3.5 Конфигурация нескольких сайтов
Теперь перейдите в Инструменты -> Настройка сети.
Дайте записи следующим образом
Название сети=Wordpress-testsite multisite
Электронная почта администратора сети=[emailи нажмите Установить
Это даст следующее окно:
Добавьте следующее в ваш файл wp-config.php в /var/www/html/wordpress/ над строкой /* Это все, прекратите редактирование! Удачного ведения блога. */:
nano /var/www/html/wordpress/wp-config.php
Дайте записи в соответствии с вашим выводом после многосайтовой установки. В моем случае это было:
[...]
/* Multisite */ define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', '192.168.0.100'); define('PATH_CURRENT_SITE', '/wordpress/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
/* That's all, stop editing! Happy blogging. */
[...]Добавьте следующие записи в файл .htaccess в /var/www/html/wordpress/, заменив другие правила WordPress:
nano /var/www/html/wordpress/.htaccess
RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L]
После перезапуска апача
systemctl restart httpd.service
Теперь повторно войдите в WordPress. После успешной настройки многосайтовой сети вам необходимо переключиться на сетевую панель управления, чтобы настроить параметры сети, добавить новые сайты и сделать множество других вещей. Наведите указатель мыши на меню «Мои сайты» на панели инструментов администратора, появится всплывающее окно. Нажмите «Сетевой администратор» -> «Панель управления».
5 ссылок
- WordPress: http://wordpress.org/
- CentOS: http://www.centos.org/