Как установить 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.

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

  • 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

 

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



2016-11-11T08:07:45
Установка ПО на openSUSE