WordPress установка · 10 min read · Jan 26, 2026

Развертывание WordPress на FAMP в FreeBSD 11.1

Этот гид покажет, как установить и настроить самую популярную CMS с открытым исходным кодом, используемую в интернете, WordPress, на FAMP в последнем выпуске FreeBSD 11.x. FAMP — это аббревиатура, описывающая следующий программный пакет: F reeBSD 11.1 Unix-подобная операционная система, A pache HTTP сервер, один из самых популярных веб-серверов с открытым исходным кодом в интернете, M ariaDB RDBMS (система управления реляционными базами данных), которая является форком движка базы данных MySQL, и P HP — язык программирования на стороне сервера.

ТРЕБОВАНИЯ:

  • Установка 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 на сервере, абсолютно необходимо подключиться к реляционной базе данных. Одной из самых используемых RDBMS в сочетании с WordPress является MySQL/MariaDB. Итак, первым компонентом, который нужно установить в нашем стеке FAMP, будет сервер базы данных MySQL. Чтобы найти доступные версии и компоненты базы данных MariaDB, которые будут использоваться в этой настройке вместо базы данных MySQL, выполните одну из следующих команд в консоли вашей машины.

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

pkg search -o mariadb

pkg search -o mariadb result

Затем установите последнюю версию сервера базы данных 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
*ПРИМЕЧАНИЕ: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ СЕРВЕРОВ MariaDB В ПРОИЗВОДСТВЕ! Пожалуйста, внимательно прочитайте каждый шаг!*
* *
*Чтобы войти в MariaDB и защитить ее, нам понадобится текущий*
*пароль для пользователя root. Если вы только что установили MariaDB, и*
*вы еще не установили пароль root, пароль будет пустым,*
*поэтому вам просто нужно нажать Enter здесь.*
* *
*Введите текущий пароль для root (нажмите Enter для отсутствия):*
*Хорошо, пароль успешно использован, продолжаем...*
* *
*Установка пароля root гарантирует, что никто не сможет войти в MariaDB*
*пользователя root без надлежащей авторизации.*
*Установить пароль root? [Y/n] y*
*Новый пароль:*
*Повторите новый пароль:*
*Пароль успешно обновлен!*
*Перезагрузка таблиц привилегий..*
* ... Успех!*
*По умолчанию установка MariaDB имеет анонимного пользователя, позволяя любому*
*войти в MariaDB, не имея учетной записи пользователя.*
*Это предназначено только для тестирования и для того, чтобы установка*
*проходила немного легче. Вы должны удалить их перед переходом в*
*производственную среду.*
*Удалить анонимных пользователей? [Y/n] y*
* ... Успех!*
*Обычно root должен иметь возможность подключаться только с 'localhost'. Это*
*гарантирует, что кто-то не сможет угадать пароль root из сети.*
*Запретить удаленный вход root? [Y/n] y*
* ... Успех!*
*По умолчанию MariaDB поставляется с базой данных под названием 'test', к которой любой может*
*иметь доступ. Это также предназначено только для тестирования и должно быть удалено*
*перед переходом в производственную среду.*
*Удалить тестовую базу данных и доступ к ней? [Y/n] y*
* - Удаление тестовой базы данных...*
* ... Успех!*
* - Удаление привилегий на тестовую базу данных...*
* ... Успех!*
*Перезагрузка таблиц привилегий обеспечит, что все изменения, внесенные до сих пор,*
*вступят в силу немедленно.*
*Перезагрузить таблицы привилегий сейчас? [Y/n] y*
* ... Успех!*
*Очистка...*
*Все готово! Если вы выполнили все вышеперечисленные шаги, ваша установка MariaDB*
*теперь должна быть защищена.*
*Спасибо за использование MariaDB!*

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

sockstat -4 -6


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

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

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

sockstat -4

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

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

mysql –u root –p

Шаг 2 – Установка Apache Web Server

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

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

pkg search apache2

grep apache2

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

pkg install apache24

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

sysrc apache24_enable="yes"
service apache24 start

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

http://server_IP или_FQDN

It works page

Директория DocumentRoot сервера Apache HTTP расположена по пути /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

pkg search –o php

pkg search –o php result

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

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 фрагмент:

*  
    DirectoryIndex index.php index.html  
      
        SetHandler application/x-httpd-php  
      
      
        SetHandler application/x-httpd-php-source  
      
*

php.conf

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

echo '' | tee /usr/local/www/apache24/data/phpinfo.php

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

service apache24 restart

http://server_IP-or-FQDN/phpinfo.php

phpinfo

Также вы можете создать файл конфигурации 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 = Континент/Город*

date.timezone = Continent/City

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

service apache24 restart

timezone set in php

Шаг 4 – Установка WordPress

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

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

download and unpack WordPress

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

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

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

WordPress install wizard

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

database user and password

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

run the install

set username and password

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

Login to wordpress

Wordpress dashboard

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

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

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

Wordpress Plugins

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

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

httpd.conf фрагмент:

*  
                Require all granted           
                AllowOverride All  
***

Edit httpd.conf file

Затем закройте файл и раскомментируйте строку 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

Restart apache

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

Dashboard ->Settings -> Permalinks

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

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

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.