Поиск по сайту:

Как разместить несколько сайтов в одной установке Wordpress на CentOS 7


На этой странице

  1. 1 Предварительное примечание
  2. 2 Инициализация базы данных
    1. 3.1 Конфигурация нескольких сайтов
    2. 3.2 Перезапись Apache
    3. 3.3  Создайте файл .htaccess
    4. 3.4 Веб-установка
    5. 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 --reload

    3 Установка WordPress 4.0

    Сначала мы создадим временный каталог, в который я буду загружать последнюю версию WordPress следующим образом:

    mkdir temp
    cd temp
    yum install wget unzip net-tools
    wget 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/