Программа WordPress появилась в 2003 в виде нескольких строк кода, для улучшения типографии при повседневном наборе текста. С тех пор WordPress превратился в наиболее популярную самодостаточную программу: сейчас это мощнейший движок для создания блогов, используемый на миллионах сайтов миллионами людей каждый день. Рассмотрим процесс установки WordPress 4.0 на CentOS 7.0 в виде простой последовательности действий.
1 Предварительные замечания
В первую очередь потребуется установить CentOS, прежде чем продолжить. Система должна иметь статический IP-адрес. В нашем случае будем использовать 192.168.0.100 в качестве IP адреса. Также нам понадобится установленный на CentOS 7.0 LAMP-сервер, прекрасно подойдёт связка apache+nginx.
2 Инициализация баз данных
Базы данных для Wordpress 4.0 создаются следующим образом:
mysql -u root -p
Затем присвоим значения database=wordpressdb user=wordpressuser и password=wordpresspassword:
CREATE DATABASE wordpressdb;
CREATE USER wordpressuser@localhost IDENTIFIED BY 'wordpresspassword';
GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost;
Двигаемся далее:
FLUSH PRIVILEGES;
exit
Перезапустим службы:
service httpd restart
service mariadb restart
Далее настроим межсетевой экран для работы с http и https следующим образом:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Для того, чтобы развернуть семейство сайтов на одном движке, я бы рекомендовал отключить SELinux.
3 Установка WordPress 4.0
Для начала создадим директорию temp, в которую загрузим последнюю версию 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
Распакуем архив 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
Далее необходимо собственноручно создать директорию для загрузки ниже директории 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 , перед строками /* That’s all, stop editing! Happy blogging. */
.
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.
Выбираем язык и нажимаем Continue.
Нажимаем Next
Теперь задаём данные для создания сайта, в нашем случае:
Site Title = Wordpress-testsite
Admin Email = Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Username = admin
Admin password = testpassword
Confirm Admin Password = testpassword
Вы можете ввести любые данные, на ваше усмотрение. После этого нажимаем InstallWordpress.
Переходим к странице входа, вводим данные и нажимаем LogIn.
Дадим полномочия, которые мы выбрали во время веб-установки WordPress:
Далее появится окно приветствия WordPress. На этой странице отображается текущая версия WordPress.
3.5 Настройка поддержки нескольких сайтов
Переходим Tools-->Network setup
Вводим данные:
Network Title = Wordpress-testsite multisite
Network admin email = Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
И нажимаем Install
Далее появится окно с названием «Create a Network of WordPress Sites»
Скорируем содержимое этого окна в файл wp-config.php по адресу /var/www/html/wordpress/ над строчкой /* That’s all, stop editing! Happy blogging. */:
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);
/* END. */
[...]
Внимание: адрес 192.168.0.100 в Вашем случае может быть другим!
Добавим наши данные в файл.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]
Затем перезапустим Apache
systemctl restart httpd.service
Перезайдём в WordPress. После успешной установки Multisite Network, необходимо переключиться на Network Dashboard для настройки сети, добавления новых сайтов и т.д. Наведём мышку на меню My Sites в панели инструментов администратора, появится всплывающее окно, нажимаем Network Admin-->Dashboard.
Теперь для создания сайта выбираем Sites-->Add New
И вводим необходимые данные.
Поздравляем! Теперь у вас есть полностью функциональная версия WordPress 4.0 с поддержкой нескольких сайтов на CentOS.
Не забудьте в целях безопасности изменить префикс баз данных при установке. Кроме того, стоит выполнить restorecon -R /var/www/html/wordpress' and 'setsebool -P httpd_unified 1
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux