Оглавление
- Шаг 1 — Установка Nginx
- Шаг 2 — Установка и настройка MariaDB
- Шаг 3 — Установка HHVM
- Шаг 4 — Настройка HHVM и Nginx
- Шаг 5 — Создание виртуального хостинга с HHVM и Nginx
- Шаг 6 — Установка WordPress
HHVM (HipHop Virtual Machine) является виртуальной машиной с открытым исходным кодом, разработанный Facebook, это JIT (just-in-time) компилятор для выполнения программ, написанных на PHP 5 (и некоторые особенности PHP 7) и язык Hack. Если вы хотите запустить HHVM на вашем сервере, вы можете использовать FastCGI на основе веб-сервера на основе Nginx или веб-сервера Apache, или вы можете использовать встроенный веб-сервер под названием «Proxygen».
На этом уроке мы покажем вам, как установить WordPress (хорошо известную CMS, основанную на PHP) с HHVM и Nginx в качестве нашего веб-сервера. Мы будем использовать OpenSUSE 42.1 Leap в качестве операционной системы, поэтому потребуется базовые знания OpenSUSE.
Необходимое условие
- OpenSUSE Leap 42,1 — 64 бита.
- Корневые привилегии.
- Базовые знания OpenSUSE как Zypper, SuSE-брандмауэр.
Шаг 1 — Установка Nginx
Nginx или engine-х представляет собой легкий веб-сервер с высокой производительностью и низким потреблением памяти. На нашем сервере OpenSUSE, мы можем использовать команду zypper для установки пакета.
Используйте «sudo su», чтобы стать суперпользователем и установим Nginx с помощью команды zypper на OpenSUSE 42.1 Leap:
sudo su
zypper in nginx
Затем перейдите в веб — каталог «/srv/www/htdocs» и создайте новый файл index.html.
cd /srv/www/htdocs/
echo "<h1>Nginx OpenSUSE Leap 42.1</h1>" > index.html
Добавьте Nginx для запуска во время загрузки и запуска Nginx с помощью команды systemctl:
systemctl enable nginx
systemctl start nginx
Для того, чтобы убедиться, что Nginx работает на нашем сервере, мы можем посетить IP-адрес сервера с помощью браузера, или использовать команду curl ниже, чтобы увидеть результаты:
curl 192.168.43.29
MariaDB представляет собой базу данных с открытым исходным кодом, разработанную оригинальным MySQL разработчиком Monty Widenius, MariaDB совместим с MySQL. На этом шаге мы установим MariaDB и настроим корневой пароль для базы данных MariaDB. Затем мы создадим новую базу данных и пользователя, необходимые нам для установки WordPress.
Установить MariaDB с Zypper:
zypper in mariadb mariadb-client
Добавить MariaDB в автозагрузку, а затем запустим его:
systemctl enable mysql
systemctl start mysql
MariaDB запущен, теперь мы должны настроить корневой пароль для базы данных / MySQL MariaDB. Выполните команду ниже, чтобы настроить корневой пароль MariaDB.
/usr/bin/mysqladmin -u root password 'andreyexpass'
Заметка:
Пароль MariaDB является «andreyexpass», пожалуйста, используйте любой другой, более безопасный пароль на сервере.
Корневой пароль MariaDB был настроен. Теперь войдите в оболочку MariaDB / MySQL и создайте новую базу данных «wpdb» и нового пользователя «wpusers» с паролем «wpuser!@» для нашей установки WordPress. Выберите безопасный пароль здесь, а также в вашей системе.
Войдите в оболочку MariaDB / MySQL:
mysql -u root -p
TYPE PASSWORD andreyexpass
Создайте новую базу данных и нового пользователя:
create database wpdb;
create user wpusers@localhost identified by 'wpusers@';
grant all privileges on wpdb.* to wpusers@localhost identified by 'wpuser!@';
flush privileges;

Создание базы данных
MariaDB установлен, и новая база данных для нашей установки WordPress была создана.
Шаг 3 — Установка HHVM
Для установки HHVM, нам нужно добавить новый репозиторий HHVM. Мы можем использовать команду zypper чтобы добавить новый репозиторий HHVM к серверу. Затем мы должны обновить репозитории OpenSUSE:
zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo
zypper refresh
Введите ‘а’ , чтобы всегда доверять ключ.

Теперь установить пакеты hhvm:
zypper in hhvm hhvm-nginx hhvm-fastcgi
hhvm-Nginx обеспечивает образец конфигурации Nginx.
hhvm-FastCGI предоставляет файлы метаданных FastCGI.
На этом этапе мы будем настраивать HHVM для работы с веб — сервером Nginx. Мы настроим HHVM использовать Unix-сокет и запустим HHVM, как пользователь Nginx. Перейдите в каталог конфигурации HHVM и отредактируйте конфигурационный файл ‘server.ini’ редактором Vim:
cd /etc/hhvm/
vim server.ini
Раскоментируйте линию 3, чтобы позволить Unix-сокетам для HHVM.
hhvm.server.file_socket = /var/run/hhvm/server.sock
Сохраните и выйдите.
Далее, мы должны изменить сценарий службы HHVM так, что HHVM мог запускать Nginx nginx пользователя. Важно настроить HHVM для работы в качестве того же пользователя, чем веб — сервер. Перейти в каталог systemd и редактируйте файл ‘hhvm.service’ с помощью vim:
cd /usr/lib/systemd/system
vim hhvm.service
Изменение —user опции HHVM в строке 11 пользователем 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
Сохранить и выйти.

Теперь измените владельца каталога «/var/run/hhvm» для пользователя Nginx.
chown -R nginx:nginx /var/run/hhvm/
Заметка:
После перезагрузки сервера, иногда владелец каталога по умолчанию возвращается к пользователю по умолчанию. Чтобы решить эту проблему, мы можем определить команду Linux, которая будет выполнена после того, как все сценарии на текущем уровне были выполнены.
Отредактируйте файл after.local в каталоге «/etc/rc.d/» и добавьте новую команду Linux в конце файла:
vim /etc/rc.d/after.local
Вставьте следующую команду:
chown -R nginx:nginx /var/run/hhvm/
Сохранить и выйти.
Далее, мы должны настроить HHVM для работы с Nginx. Мы установили новый пакет «hhvm-Nginx» , он содержит пример конфигурации HHVM для веб — сервера Nginx.
Перейдите в каталог конфигурации Nginx и скопируйте конфигурацию HHVM:
cd /etc/nginx/
cp hhvm.conf.example hhvm.conf
Отредактируйте hhvm.conf с помощью команды vim:
vim hhvm.conf
На второй строке, добавьте новую конфигурацию, чтобы определить корневую веб-директорию:
root /srv/www/htdocs;
Сохраните и выйти.

Тогда мы должны изменить конфигурацию Nginx, чтобы включить конфигурацию HHVM.
vim nginx.conf
В строке 59 — добавить новую строку конфигурации ниже:
include /etc/nginx/hhvm.conf;
Сохранить и выйти.
Включить и запустить HHVM с командой systemctl ниже:
systemctl enable hhvm
systemctl start hhvm
Затем перезагрузите Nginx:
systemctl restart nginx
Были установлены и настроены Nginx и HHVM. Для того, чтобы проверить что конфигурация работает, мы создадим новый файл php, который содержит код phpinfo и сохраним его в корневом каталоге веб «/srv/www/htdocs», доступный к нему через веб — браузер.
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
Откройте браузер и введите IP-адрес сервера:
192.168.43.29/info.php

Nginx и HHVM работают без ошибок.
Шаг 5 — Создание виртуального хостинга с HHVM и Nginx
На этом шаге мы создадим новую конфигурацию виртуального хоста с Nginx и HHVM. Я буду использовать доменное имя «andreyex.ru» для этого примера и использую его как домен для нашей установки WordPress тоже. Пожалуйста, замените имя домена на ваш собственный домен именем во всех конфигурационных файлов и команд.
Перейдите в каталог Nginx и создайте новый каталог для хранения виртуальных хост-файлов:
cd /etc/nginx/
mkdir vhosts.d/
cd vhosts.d/
Создайте новый файл конфигурации «nano.conf» с помощью vim:
vim nano.conf
И вставьте новую конфигурацию виртуального хоста ниже:
server {
# This line for redirect non-www to www
server_name andreyex.ru;
rewrite ^(.*) http://andreyex.ru$1 permanent;
}
server {
listen 80;
server_name andreyex.ru;
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;
}
}
Сохраните и выйдите.
В нашей конфигурации виртуального хоста, мы определили веб — корневой каталог для доменного имени каталог «/srv/www/nano» . Этот каталог не существует на данный момент, поэтому мы должны создать этот каталог в настоящее время.
mkdir -p /srv/www/nano/
И, наконец, проверьте конфигурацию Nginx и перезапустите его:
nginx -t
systemctl restart nginx
Убедитесь, что команда Nginx -t не отображает сообщение об ошибке.
Шаг 6 — Установить WordPress
На шаге 5 мы создали конфигурацию виртуального хоста для нашей установки WordPress. Так что мы просто должны загрузить WordPress прямо сейчас, а затем изменить конфигурацию базы данных, которую мы создали в шаге 2.
Перейдите на веб — корневой директории «/srv/www/nano» и загрузите Zip — архив WordPress с помощью команды wget:
cd /srv/www/nano
wget wordpress.org/latest.zip
Извлеките «latest.zip» и переместите все WordPress файлы и каталоги в каталог nano:
unzip latest.zip
mv wordpress/* .
Затем скопируйте файл «wp-config-sample.php» в «wp-config.php» и отредактируйте с помощью команды Vim:
cp wp-config-sample.php wp-config.php
vim wp-config.php
Изменение DB_NAME в нашей базе данных «wpdb» , DB_USER к «wpusers» и DB_PASSWORD к «wpuser!@» .
DEFINE ( 'DB_NAME', 'wpdb');
DEFINE ( 'DB_User', 'wpusers');
DEFINE ( 'DB_PASSWORD', 'wpuser!@');
DEFINE ( 'DB_HOST', 'Localhost');
Сохраните и выйдите.
Теперь откройте веб-браузер и введите имя домена в адресной строке.
Вы будете перенаправлены на andreyex.ru и вы увидите страницу установки.
И вы можете заполнить название сайта и описание с информацией и нажмите кнопку «Установить WordPress».

Подождите, пока не закончится установка, и вы увидите страницу входа ниже. Нажмите «Войти» , чтобы войти в панели управления администратора WordPress:

Введите Вашего пользователя и пароль администратора, затем нажмите кнопку «Войти» снова.

Теперь вы находитесь в приборной панели администратора WordPress.

Все! Мы установили в настоящее время. WordPress с Nginx и HHVM на OpenSUSE 42.1 Leap
2016-11-11T08:07:45
Установка ПО на openSUSE