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

Разверните WordPress поверх FAMP в FreeBSD 11.1


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

  1. Шаг 1. Установите MariaDB
  2. Шаг 2. Установите веб-сервер Apache
  3. Шаг 3. Установите PHP
  4. Шаг 4. Установите WordPress

В этом руководстве показано, как установить и настроить самую популярную CMS с открытым исходным кодом, используемую в Интернете, WordPress, поверх FAMP в последней версии FreeBSD 11.x. FAMP — это аббревиатура, которая описывает следующий пакет программного обеспечения: Unix-подобная операционная система FreeBSD 11.1, HTTP-сервер Apache, один из самых популярных веб-серверов с открытым исходным кодом в Интернете, RDBMS MariaDB (система управления реляционными базами данных), которая является ответвлением ядра базы данных MySQL и серверного языка программирования PHP.

ТРЕБОВАНИЯ:

  • Установка FreeBSD 11.x выполняется с нуля или в системе не установлено предыдущее программное обеспечение FAMP.
  • Сетевая карта, настроенная со статическим IP-адресом.
  • Сервер SSH установлен и настроен для удаленного доступа или прямого доступа к консоли командной строки сервера.
  • Желательно зарегистрированное доменное имя (в этом руководстве это не обязательно, поскольку для посещения веб-сайта мы будем использовать статический IP-адрес сервера).
  • Учетная запись sudo на сервере с правами root или прямым доступом к учетной записи root.

Шаг 1 - Установите MariaDB

Перед установкой пакета FAMP на свой сервер FreeBSD войдите в систему с учетной записью с привилегиями root и убедитесь, что ваша система полностью обновлена, введя приведенные ниже команды.

freebsd-update fetch
freebsd-update install
pkg update
pkg upgrade

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

pkg install bash bash_completion nano

Nano — популярный редактор командной строки Linux. Во FreeBSD ee является редактором файлов по умолчанию. Редактор Vi также установлен по умолчанию во FreeBSD.

Чтобы развернуть веб-сайт Wordpress на сервере, абсолютно необходимо подключиться к реляционной базе данных. Одной из наиболее часто используемых СУБД в сочетании с Wordpress является MySQL/MariaDB. Итак, первым компонентом, который нужно установить в наш стек FAMP, будет сервер базы данных MySQL. Чтобы найти доступные версии и компоненты базы данных MariaDB, которые будут использоваться в этой настройке вместо базы данных MySQL, введите одну из следующих команд в консоли вашего компьютера.

ls -al /usr/ports/databases/ | grep mariadb
pkg search -o mariadb

Затем установите последнюю версию сервера базы данных MariaDB во FreeBSD, выполнив следующую команду:

pkg install mariadb102-client mariadb102-server

На следующем шаге обязательно включите демон MariaDB во FreeBSD и запустите службу базы данных, выполнив приведенные ниже команды.

sysrc mysql_enable=”YES”
service mysql-server start

Затем начните защищать базу данных MaraDB, выполнив скрипт mysql_secure_installation. Используйте следующий пример установки, чтобы защитить базу данных MariaDB. Кроме того, убедитесь, что вы выбрали надежный пароль для пользователя root MySQL.

/usr/local/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Служба MariaDB по умолчанию настроена на привязку и прослушивание сетевых подключений к сетевому сокету 0.0.0.0:3306/TCP. Запустив команду sockstat с флагами -4 -6, вы увидите состояние сокета MariaDB, как показано на снимке экрана ниже.

соксстат -4 -6

Такое поведение сервера MySQL может привести к проблемам с безопасностью, поэтому мы полностью отключим удаленный доступ к MariaDB, привязав демон только к  интерфейсу замыкания на себя с помощью приведенной ниже команды. Вам нужно будет перезапустить демон, чтобы отразить изменения.

sysrc mysql_args="--bind-address=127.0.0.1".
service mysql-server restart

Однако повторите команду sockstat, чтобы определить новый статус сетевого сокета MariaDB. На данный момент MariaDB должна прослушивать подключения только через интерфейс loopback , как показано на снимке экрана ниже.

sockstat -4

Наконец, после защиты демона базы данных MySQL создайте базу данных MariaDB для установки Wordpress. Войдите в MariaDB с консоли сервера и выполните следующие команды, чтобы создать базу данных и пользователя, который будет использоваться для администрирования базы данных Wordpress. Введите корневой пароль MySQL в приглашении и убедитесь, что вы заменили имя базы данных, пользователя базы данных и пароль соответственно.

mysql –u root –p
create database wordpress;
grant all privileges on wordpress.* to 'wpuser'@'localhost' identified by 'wppassword';
flush privileges;
exit

Шаг 2. Установите веб-сервер Apache.

Следующей службой, которую необходимо установить для завершения стека FAMP, является HTTP-сервер Apache. Репозитории FreeBSD PORTS поставляются с двумя предварительно скомпилированными версиями веб-сервера Apache. Чтобы получить список всех версий среды выполнения Apache, выполните одну из следующих команд в терминале.

pkg search apache2
ls /usr/ports/www/ | grep apache

Для этой пользовательской настройки с Wordpress мы установим версию 2.4 HTTP-сервера Apache, выполнив следующую команду.

pkg install apache24

После того, как пакет веб-сервера Apache со всеми зависимостями был установлен в системе, убедитесь, что вы включили и запустили демон с помощью следующих команд.

sysrc apache24_enable=”yes”
service apache24 start

Чтобы протестировать конфигурацию Apache, откройте браузер и посетите веб-страницу по умолчанию через протокол HTTP, введя IP-адрес вашего сервера или полное доменное имя системы в поле URL-адреса, как показано на рисунке ниже. В браузере должно появиться сообщение \Это работает!\.

http://server_IP или_FQDN

Каталог DocumentRoot HTTP-сервера Apache находится в пути /usr/local/www/apache24/data/ во FreeBSD 11.x. Позже мы скопируем установочные файлы Wordpress в это место. Кроме того, убедитесь, что вы удалили файл index.html по умолчанию, введя следующую команду.

rm /usr/local/www/apache24/data/index.html

Шаг 3 – Установите PHP

Подобно веб-серверу Apache, FreeBSD 11.x PORTS поставляется с несколькими предварительно скомпилированными бинарными версиями языка PHP: выпуск PHP 5.6, PHP 7.0 и PHP 7.1. Чтобы отобразить все версии PHP, введите одну из следующих команд.

ls /usr/ports/lang/ | grep php
pkg search –o php

В этом пользовательском руководстве мы будем использовать версию PHP 7.1 для установки Wordpress. Выполните приведенную ниже команду, чтобы установить PHP со всеми необходимыми модулями для правильной работы Wordress.

pkg install php71 php71-mysqli mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json

На следующем шаге с помощью вашего любимого текстового редактора создайте новый файл конфигурации php.conf для веб-сервера Apache в каталоге /usr/local/etc/apache24/Includes/ и добавьте приведенный ниже контент.

nano /usr/local/etc/apache24/Includes/php.conf

Выдержка из файла php.conf:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

После того, как вы закончите редактирование файла, убедитесь, что вы создали новый файл phpinfo.php в корневом каталоге Apache по умолчанию, выполнив приведенную ниже команду, чтобы проверить, работает ли шлюз Apache PHP должным образом.

echo '<?php phpinfo();  ?>' | tee /usr/local/www/apache24/data/phpinfo.php

Наконец, перезапустите службу Apache, чтобы применить изменения, и перейдите по указанному ниже URL-адресу, чтобы отобразить конфигурацию PHP на стороне сервера, как показано на следующем снимке экрана.

service apache24 restart

http://сервер_IP-или-FQDN/phpinfo.php

Кроме того, вы можете создать файл конфигурации PHP ini для Apache и изменить оператор timezone , чтобы он отражал географическое положение вашего сервера. Список поддерживаемых часовых поясов PHP можно найти по следующей ссылке: http://php.net/manual/en/timezones.php.

Скопируйте файл php.ini-production , чтобы создать файл установки по умолчанию для PHP. Затем отредактируйте файл php.ini , чтобы изменить конфигурацию часового пояса PHP.

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
nano /usr/local/etc/php.ini

Выдержка из файла php.ini:

date.timezone = Continent/City

Чтобы применить новую настройку PHP, вам необходимо перезапустить службу Apache. Затем снова посетите веб-страницу phpinfo.php и перейдите к настройке date , чтобы убедиться, что изменение было успешно применено, как показано на снимке экрана ниже.

service apache24 restart

Шаг 4 — Установите WordPress

Чтобы установить Wordpress поверх FAMP в FreeBSD, сначала загрузите в свою систему последнюю версию установочного архива с помощью утилиты wget . Извлеките загруженный архив и скопируйте все установочные файлы Wordpress в корневой каталог Apache, выполнив следующие команды.

wget https://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp –rf wordpress/* /usr/local/www/apache24/data/

Затем настройте правильные разрешения для корневого веб-пути вашего сервера для учетной записи группы среды выполнения Apache, чтобы предоставить веб-серверу права на запись в каталог установки Wordpress.

chown -R root:www /usr/local/www/apache24/data/
chmod -R 775 /usr/local/www/apache24/data/

Теперь ваш веб-сервер готов к процессу установки Wordpress. Откройте браузер и перейдите к IP-адресу или полному доменному имени вашего сервера, после чего должен появиться первый экран установки. Нажмите Поехали! кнопку, чтобы начать установку.

На следующем экране введите имя базы данных MariaDB, имя пользователя и пароль базы данных Wordpress и хост базы данных. Поскольку веб-сервер MariaDB и Apache установлены на одном узле, используйте localhost в качестве хоста базы данных. Оставьте значение префикса таблицы по умолчанию и нажмите кнопку Отправить, чтобы продолжить.

После создания файла конфигурации базы данных нажмите кнопку «Запустить установку» и на следующем экране добавьте название своего веб-сайта, имя пользователя для администрирования веб-сайта и адрес электронной почты. Убедитесь, что вы выбрали надежный пароль для имени пользователя. Кроме того, вам следует избегать использования простых имен пользователей, таких как admin, administrator, root и т. д., из соображений безопасности. Когда вы закончите, нажмите кнопку Установить Wordpress , чтобы завершить установку.

После успешной установки Wordpress войдите в панель управления администратора с учетными данными, созданными на предыдущем шаге, и начните управлять своим сайтом.

Чтобы обновить или установить плагины или темы, загрузить изображения или изменить другие аспекты Wordpress, которые требуют загрузки файлов из Интернета, добавьте следующую строку в файл Wordpress wp-config.php, выполнив следующую команду с правами суперпользователя.

echo "define('FS_METHOD', 'direct');" | tee –a /usr/local/www/apache24/data/wp-config.php

Эта строка гарантирует, что Wordpress может загружать и устанавливать онлайн-файлы или обновления без запуска FTP-сервера на хосте. Однако этот метод может быть не лучшим выбором, если Wordpress установлен на тарифном плане общего хостинга. На приведенном ниже снимке экрана обновление для подключаемого модуля было успешно применено с помощью FS_METHOD без запроса учетной записи ftp.

Наконец, чтобы иметь возможность изменить постоянную внутреннюю структуру ссылок Wordpress, вам необходимо включить переписывание для HTTP-сервера Apache. Чтобы включить модуль перезаписи, сначала откройте основной файл конфигурации Apache и добавьте следующий блок кода перед оператором , как показано на снимке экрана ниже.

nano /usr/local/etc/apache24/httpd.conf

Выдержка из файла httpd.conf:

<Directory "/usr/local/www/apache24/data">
                Require all granted        
                AllowOverride All
</Directory>

Затем закройте файл и раскомментируйте строку LoadModule , переписав ее, введя приведенную ниже команду, которая удалит предыдущий знак хэштега. Используйте фильтр grep, чтобы отобразить строку перезаписи LoadModule. Наконец, проверьте файл конфигурации Apache на наличие потенциальных синтаксических ошибок и перезапустите службу, чтобы изменения вступили в силу.

grep rewrite /usr/local/etc/apache24/httpd.conf
sed -i.bak '/rewrite/s/^#//g' /usr/local/etc/apache24/httpd.conf
grep rewrite /usr/local/etc/apache24/httpd.conf
apachectl -t
service apache24 restart

Теперь вы можете изменить структуру постоянных ссылок Wordpress, выбрав Панель управления -> Настройки -> Постоянные ссылки. Выберите свой любимый вариант постоянной ссылки для структуры URL-адреса из параметров экрана и нажмите кнопку «Сохранить изменения», чтобы применить изменения. Отличный вариант для SEO – постоянная ссылка названия публикации.

Если параметр постоянной ссылки не подходит, откройте и изучите содержимое файла .htaccess из корневого веб-пути вашего сервера. Приведенный ниже контент должен быть автоматически вставлен в этот файл. Если нет, обновите содержимое ниже вручную до файла .htaccess или проверьте права доступа к файлу. Учетной записи пользователя или группы среды выполнения Apache должны быть предоставлены права на запись в этот файл.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Вот и все! Вы успешно развернули веб-сайт Wordpress поверх веб-сервера Apache, базы данных MariaDB и языка программирования PHP в FreeBSD 11.