Установка WordPress с HHVM и Nginx на OpenSUSE Leap 42.1
Кратко: пошаговая инструкция по установке Nginx, MariaDB, HHVM и WordPress на OpenSUSE Leap 42.1. Включены настройка Unix-socket для HHVM, создание виртуального хоста, конфигурация базы данных и базовые проверки работоспособности. В конце — чек-листы, отладка, безопасность и критерии приёмки.
Важно: пример использует домен hakasenano.co и пароли в примерах — замените их на свои значения и используйте надёжные пароли перед публикацией в продакшен.
Основные варианты запроса (SEO-интенция)
- Установка WordPress с HHVM и Nginx на OpenSUSE
- Настройка HHVM как FastCGI для Nginx
- WordPress + HHVM руководство для OpenSUSE Leap
- Как запустить WordPress через Unix-socket и HHVM
Введение
HHVM (HipHop Virtual Machine) — это JIT-компилятор и виртуальная машина с открытым исходным кодом, разработанная в Facebook для выполнения PHP 5 (и части PHP 7) и языка Hack. HHVM можно запускать поверх Nginx/Apache через FastCGI или использовать встроенный сервер Proxygen. В этом руководстве показано, как развернуть WordPress под HHVM и Nginx на OpenSUSE Leap 42.1.
Короткое определение: HHVM — JIT-исполнитель для PHP-подобного кода, ускоряющий выполнение в определённых сценариях.
В этой статье вы найдёте пошаговые команды, необходимые конфигурации, а также разделы по отладке, безопасности и приемочным критериям.
Предварительные требования
- OpenSUSE Leap 42.1 — 64-бит.
- Root-привилегии (использование sudo или sudo su).
- Базовые знания OpenSUSE: zypper, systemctl, базовая работа с vim/командной строкой.
- Доступ к серверу по SSH или локальный терминал.
Примечание: во всех командах и конфигурациях заменяйте примерные пароли и домены на реальные значения вашей инфраструктуры.
Шаг 1 — Установка Nginx
Nginx — лёгкий и производительный веб-сервер. На OpenSUSE используйте zypper.
Станьте root и установите Nginx:
sudo su
zypper in nginxПерейдите в веб-каталог и создайте простой index.html для проверки:
cd /srv/www/htdocs/
echo "Nginx OpenSUSE Leap 42.1
" > index.htmlДобавьте Nginx в автозапуск и запустите сервис:
systemctl enable nginx
systemctl start nginxПроверьте работу сервера через браузер или curl (замените IP на адрес вашего сервера):
curl 192.168.43.29Важно: если сервер недоступен, проверьте firewall (SuSEfirewall2 или firewalld) и сетевые настройки.
Шаг 2 — Установка и настройка MariaDB
MariaDB — форк MySQL, совместимый с ним. Установим сервер и клиент MariaDB и создадим базу данных для WordPress.
Установка:
zypper in mariadb mariadb-clientВключение в автозапуск и запуск сервиса:
systemctl enable mysql
systemctl start mysqlНастройка пароля root для MariaDB:
/usr/bin/mysqladmin -u root password 'toor123'Важно: пароль в примере — “toor123” — используйте сложный пароль в реальной системе.
Входим в консоль MariaDB и создаём базу и пользователя для WordPress:
mysql -u root -p
TYPE PASSWORD toor123Внутри MySQL:
create database wpdb;
create user wpuser@localhost identified by 'wpuser@';
grant all privileges on wpdb.* to wpuser@localhost identified by 'wpuser@';
flush privileges;
Примечание: для продакшен-сервера выбирайте более сложный пароль и ограничьте доступ по хостам, если необходимо.
Шаг 3 — Установка HHVM
Добавьте репозиторий HHVM и обновите метаданные:
zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo
zypper refreshПри появлении приглашения доверять ключу введите a для «всегда доверять», если репозиторий вам известен.

Установите пакеты HHVM и вспомогательные модули для Nginx/FastCGI:
zypper in hhvm hhvm-nginx hhvm-fastcgi- hhvm-nginx содержит пример конфигурации для Nginx.
- hhvm-fastcgi содержит данные для FastCGI интеграции.
Шаг 4 — Настройка HHVM и Nginx
Настроим HHVM на работу через Unix-сокет и запускаем под пользователем Nginx.
Откройте конфигурацию HHVM:
cd /etc/hhvm/
vim server.iniРазкомментируйте или добавьте строку, чтобы включить Unix-socket:
hhvm.server.file_socket = /var/run/hhvm/server.sockСохраните и выйдите.
Затем правим systemd-юнит, чтобы HHVM запускался от пользователя nginx (важно, чтобы пользователь совпадал с веб-сервером):
cd /usr/lib/systemd/system
vim hhvm.serviceНайдите строку ExecStart и замените опцию –user hhvm на –user nginx. Пример одной строки (в одной строке, без разрывов):
ExecStart=/usr/bin/hhvm --config /etc/hhvm/php.ini --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/server.sock - vPidFile=/var/run/hhvm/server.pidСохраните и выйдите.
Теперь смените владельца каталога runtime HHVM:
chown -R nginx:nginx /var/run/hhvm/Примечание: после перезагрузки владельцем может стать другой пользователь. Для гарантии добавьте команду смены владельца в /etc/rc.d/after.local:
vim /etc/rc.d/after.localВ конец добавьте:
chown -R nginx:nginx /var/run/hhvm/Сохраните и выйдите.
Скопируйте пример конфигурации HHVM для Nginx и определите web root:
cd /etc/nginx/
cp hhvm.conf.example hhvm.conf
vim hhvm.confДобавьте вторую строку (пример):
root /srv/www/htdocs;Сохраните и выйдите.
Включите include в основном конфиге Nginx:
vim nginx.confНа строке ~59 добавьте:
include /etc/nginx/hhvm.conf;Сохраните и выйдите.
Запустите HHVM и перезапустите Nginx:
systemctl enable hhvm
systemctl start hhvm
systemctl restart nginxСоздайте test-php, чтобы убедиться, что HHVM обрабатывает PHP:
cd /srv/www/htdocs/
echo "" > info.phpОткройте в браузере: http://192.168.43.29/info.php

Если отображается страница phpinfo, HHVM и Nginx корректно обрабатывают PHP.
Шаг 5 — Создание виртуального хоста для HHVM и Nginx
Создадим виртуальный хост. В примере используется домен hakasenano.co — замените на свой.
cd /etc/nginx/
mkdir vhosts.d/
cd vhosts.d/
vim nano.confВставьте конфигурацию виртуального хоста:
server {
# This line for redirect non-www to www
server_name hakasenano.co;
rewrite ^(.*) http://www.hakasenano.co$1 permanent;
}
server {
listen 80;
server_name www.hakasenano.co;
root /srv/www/nano;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /srv/www/htdocs;
}
# HHVM running throught Unix-Socket
location ~ \.(hh|php)$ {
root /srv/www/nano;
fastcgi_keep_conn on;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/hhvm/server.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Сохраните, создайте корневую папку для данного сайта и проверьте конфигурацию:
mkdir -p /srv/www/nano/
nginx -t
systemctl restart nginxУбедитесь, что nginx -t не выводит ошибок.
Шаг 6 — Установка WordPress
Скачиваем и устанавливаем WordPress в директорию виртуального хоста:
cd /srv/www/nano
wget wordpress.org/latest.zip
unzip latest.zip
mv wordpress/* .Настройка wp-config.php:
cp wp-config-sample.php wp-config.php
vim wp-config.phpИзмените параметры подключения к базе данных на те, что вы создали:
define('DB_NAME', 'wpdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'wpuser@');
define('DB_HOST', 'localhost');Сохраните и выйдите.

Откройте браузер и перейдите на http://www.hakasenano.co — вас перенесёт на экран установки WordPress. Заполните заголовок сайта, учётные данные администратора и завершите установку.

После успешной установки вы попадёте на страницу входа в админ-панель WordPress.

Войдите и проверьте админ-дэшборд.

WordPress под Nginx и HHVM на OpenSUSE Leap 42.1 установлен.
Дополнительно: проверка и тесты
Минимальный набор проверок, чтобы подтвердить работоспособность:
- Доступ к главной странице сайта (HTTP 200).
- Страница /info.php показывает информацию phpinfo (HHVM). Проверка на наличие строки Server API или HHVM версию.
- В админке WordPress можно создать запись и опубликовать её.
- Установка плагина и его активация (проверка работы FastCGI и прав доступа).
Примеры команд для быстрых проверок:
curl -I http://www.hakasenano.co
curl http://www.hakasenano.co/info.php | grep -i hhvmКритерии приёмки
- Nginx слушает на порту 80 и отвечает кодом 200 на корень сайта.
- HHVM запущен как системная служба и отвечает через unix-сокет /var/run/hhvm/server.sock.
- WordPress установился успешно и авторизация администратора работает.
- База данных wpdb доступна и пользователь wpuser имеет права на неё.
- Логи Nginx и HHVM не содержат критических ошибок при загрузке главной страницы.
Чек-листы по ролям
Для системного администратора:
- Установить и запустить Nginx, MariaDB, HHVM.
- Проверить права на /var/run/hhvm и web-каталоги.
- Обеспечить автозапуск сервисов.
- Настроить резервирование конфигураций и бэкапы БД.
Для разработчика/DevOps:
- Проверить совместимость кода темы и плагинов с HHVM.
- Выполнить тесты интеграции (создание/редактирование поста).
- Настроить CI для деплоя обновлений сайта.
Для владельца сайта/контент-менеджера:
- Подтвердить корректность вывода контента и плагинов.
- Проверить формы и ссылки на клиентской стороне.
Отладка и распространённые ошибки
- Ничего не отображается (500): проверьте логи Nginx и HHVM.
journalctl -u nginx -e
journalctl -u hhvm -e
cat /var/log/nginx/error.log- Ошибка соединения с сокетом /var/run/hhvm/server.sock: убедитесь, что hhvm запущен, сокет существует и права позволяют пользователю nginx читать/писать.
systemctl status hhvm
ls -l /var/run/hhvm/- Проблемы с правами на файлы WordPress: установите корректного владельца (nginx) и права:
chown -R nginx:nginx /srv/www/nano
find /srv/www/nano -type d -exec chmod 755 {} \;
find /srv/www/nano -type f -exec chmod 644 {} \;Перезапуск возвращает владельца /var/run/hhvm к другому: используйте запись в /etc/rc.d/after.local или systemd tmpfiles.d для создания/правки прав при старте.
Плагины и темы несовместимы с HHVM: некоторые плагины, заточенные под специфичные расширения PHP, могут не работать. Тестируйте на staging перед выкатом.
Безопасность и рекомендации
- Используйте сложные пароли и, по возможности, ограничьте доступ к базе по IP.
- Закройте административные порты и убедитесь, что firewall настроен (open ports: 80 и 443 — только при необходимости).
- Регулярно обновляйте OS и пакеты репозиториев (zypper up), но проверяйте совместимость HHVM-репозитория.
- Сделайте бэкап wp-config.php и базы данных перед крупными изменениями.
- Настройте HTTPS (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
Важно: HHVM больше не активно развивается для PHP в тех же темпах, что и PHP-FPM. Для долгосрочной поддержки рассматривайте совместимость с PHP-FPM и миграцию при необходимости.
SOP: быстрый план действий для повторяемой установки
- Подготовка сервера: обновить пакеты, открыть нужные порты.
- Установить Nginx, MariaDB.
- Создать БД и пользователя.
- Добавить репозиторий HHVM, установить hhvm и примеры конфигураций.
- Настроить Unix-socket и права для /var/run/hhvm.
- Добавить vhost в /etc/nginx/vhosts.d/ и перезапустить Nginx.
- Развернуть WordPress, настроить wp-config.php.
- Протестировать поведение, зафиксировать конфиги и сделать бэкап.
Плейбук отката (rollback)
Если после изменений сайт перестал работать, последовательность отката:
- Вернуть резервную копию /etc/nginx/nginx.conf и vhost-файлов.
- Вернуть бэкап /etc/hhvm/server.ini и hhvm systemd unit.
- Перезапустить сервисы: systemctl restart hhvm && systemctl restart nginx.
- Если проблема в базе — восстановить дамп MySQL.
Короткий глоссарий (1 строка на термин)
- HHVM — JIT-исполнитель для PHP/Hack.
- Nginx — веб-сервер с высокой производительностью.
- MariaDB — реляционная СУБД, форк MySQL.
- FastCGI — протокол для взаимодействия веб-сервера и обработчика приложений.
- Unix-socket — файловый сокет для локального IPC между процессами.
Совместимость и когда HHVM может не подойти
- HHVM ориентирован на старые версии PHP 5 и частично PHP 7; современные плагины WordPress, использующие последние фичи PHP, могут работать некорректно.
- Если ваша кодовая база полагается на расширения PHP, которые не поддерживает HHVM, рассмотрите PHP-FPM.
Полезные команды и сниппеты (cheat sheet)
- Проверка конфигурации Nginx: nginx -t
- Перезапуск сервисов: systemctl restart nginx hhvm mysql
- Проверка статуса сервисов: systemctl status nginx hhvm mysql
- Просмотр логов в реальном времени: journalctl -u hhvm -f
Ресурсы и ссылки
- https://www.howtoforge.com/tutorial/wordpress-install-nginx-mariadb-hhvm-ubuntu-15-04/
- https://docs.hhvm.com/hhvm/advanced-usage/fastCGI
- http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-www-to-no-www
Краткое резюме
WordPress успешно устанавливается и запускается на OpenSUSE Leap 42.1 с Nginx и HHVM при корректной настройке Unix-socket, прав пользователей и конфигурации виртуального хоста. Для продакшена обязательно используйте HTTPS, надёжные пароли и регулярно проверяйте совместимость плагинов с HHVM.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента