ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как установить WordPress с HHVM и Nginx на OpenSUSE 42.1 Leap

Как установить WordPress с HHVM и Nginx на OpenSUSE 42.1 Leap

Оглавление

  1. Шаг 1 — Установка Nginx
  2. Шаг 2 — Установка и настройка MariaDB
  3. Шаг 3 — Установка HHVM
  4. Шаг 4 — Настройка HHVM и Nginx
  5. Шаг 5 — Создание виртуального хостинга с HHVM и Nginx
  6. Шаг 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.

Необходимое условие

Шаг 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

 

Шаг 2 — Установка и настройка MariaDB

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

Введите ‘а’ , чтобы всегда доверять ключ.

Zypper refresh

Теперь установить пакеты hhvm:

zypper in hhvm hhvm-nginx hhvm-fastcgi

 

hhvm-Nginx обеспечивает образец конфигурации Nginx.

hhvm-FastCGI предоставляет файлы метаданных FastCGI.

Шаг 4 — Настройка HHVM и Nginx

На этом этапе мы будем настраивать 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

 

Сохранить и выйти.

Nginx Systemd скрипт

Теперь измените владельца каталога «/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

Тогда мы должны изменить конфигурацию 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

HHVM phpInfo

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:

WP установка успешна

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

WordPress вход

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

WordPress панель

Все! Мы установили в настоящее время. WordPress с Nginx и HHVM на OpenSUSE 42.1 Leap

Exit mobile version