Како да инсталирате WordPress со HHVM и Nginx на OpenSUSE Leap 42.1


HHVM (HipHop Virtual Machine) е виртуелна машина со отворен код развиена од Facebook, тоа е JIT (само-на-време) компајлер за извршување на програми напишани во PHP 5 (и некои карактеристики на PHP 7) и Hack јазик. Ако сакате да извршите HHVM на вашиот сервер, можете да го користите веб-серверот базиран на FastCGI на врвот на веб-серверот Nginx или apache, или можете да го користите вградениот веб-сервер наречен \Proxygen\.

Во ова упатство, ќе ви покажам како да инсталирате WordPress (добро познат CMS базиран на PHP) со HHVM и Nginx како наш веб-сервер. Ќе користам OpenSUSE Leap 42.1 како оперативен систем, затоа е потребно основно познавање на OpenSUSE.

Предуслов

  • OpenSUSE Leap 42.1 - 64bit.
  • Привилегии на root.
  • Основно знаење на OpenSUSE како Zypper, SuSE-firewall.

Чекор 1 - Инсталирајте Nginx

Nginx или engine-x е лесен веб-сервер со високи перформанси и мала потрошувачка на меморија. На нашиот OpenSUSE сервер, можеме да ја користиме командата zypper за да го инсталираме пакетот.

Користете \sudo su\ за да станете root корисник и инсталирајте Nginx со командата zypper на openSUSE Leap 42.1:

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 Монти Видениус, MariaDB е компатибилна со MySQL. Во овој чекор, ќе инсталираме MariaDB и ќе ја конфигурираме root лозинката за базата на податоци на MariaDB. Потоа ќе создадеме нова база на податоци и корисник што ни е потребен за нашата инсталација на WordPress.

Инсталирајте го MariaDB со ципер:

zypper in mariadb mariadb-client

Додајте MariaDB во секвенцата за подигање и потоа стартувајте ја:

systemctl enable mysql
systemctl start mysql

MariaDB е започната, сега треба да ја конфигурираме root лозинката за базата на податоци MariaDB/mysql. Извршете ја командата подолу за да поставите лозинка за root MariaDB.

/usr/bin/mysqladmin -u root password 'toor123'

Забелешка:

Лозинката на MariaDB е \toor123\, ве молиме користете друга и побезбедна лозинка на вашиот сервер.

Корената лозинка на MariaDB е конфигурирана. Сега најавете се на школка MariaDB/MySQL и креирајте нова база на податоци \wpdb\ и нов корисник \wpuser\ со лозинка \[email заштитена ]\ за нашата инсталација на WordPress. Изберете сигурна лозинка и овде на вашиот систем.

Пријавете се во школката MariaDB/MySQL:

mysql -u root -p
TYPE PASSWORD toor123

Направете нова база на податоци и нов корисник:

create database wpdb;
create user ';
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

Внесете a за секогаш да му верувате на клучот.

Сега инсталирајте ги пакетите hhvm:

zypper in hhvm hhvm-nginx hhvm-fastcgi

hhvm-nginx обезбедува примерок од конфигурацијата Nginx.

hhvm-fastcgi ги обезбедува мета-датотеките FastCGI.

Чекор 4 - Конфигурирајте ги HHVM и Nginx

Во овој чекор, ќе го конфигурираме HHVM да работи со веб-серверот Nginx. Ќе го конфигурираме HHVM да користи Unix-сокет и ќе го стартува HHVM како корисник на Nginx. Одете во директориумот за конфигурација HHVM и уредете го серверот за конфигурациска датотека.ini со уредникот vim:

cd /etc/hhvm/
vim server.ini

Откажете ја линијата 3 за да овозможите Unix-Sockets за HHVM.

hhvm.server.file_socket = /var/run/hhvm/server.sock

Зачувај и излези.

Следно, мора да ја уредиме скриптата за услугата HHVM за да може HHVM да работи Nginxginx корисник. Важно е да го конфигурирате 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 директориумот на веб:

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 код и ќе ја зачуваме во root директориумот на веб \/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. Ќе го користам името на доменот \hakasenano.co\ за овој пример и ќе го користам како домен и за нашата инсталација на 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 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; } }

Зачувај и излези.

Во нашата конфигурација на виртуелен хост, го дефиниравме root директориумот на веб за името на доменот да биде директориумот \/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\  и преземете ја зип-архивата на WordPress со командата wget:

cd /srv/www/nano
wget wordpress.org/latest.zip

Извлечете \latest.zip\  и преместете ги сите датотеки и директориуми на WordPress во нано директориумот:

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 во \wpuser\ и DB_PASSWORD во \[заштитена е-пошта]\ .

define('DB_NAME', 'wpdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');

Зачувај и излези.

Сега отворете го веб-прелистувачот и внесете го името на доменот во лентата за адреси.

Ќе бидете пренасочени на www.hakasenano.co и ќе ја видите страницата на инсталацијата.

И можете да го пополните насловот и описот на страницата со вашите информации и да кликнете \Инсталирај Wordpress\.

Почекајте додека не заврши инсталацијата и ќе ја видите страницата за најавување подолу. Кликнете на \Најави се\ за да се најавите на административната табла на WordPress:

Внесете го вашиот администраторски корисник и лозинка, а потоа повторно кликнете \Најави се\.

Сега сте во административната табла на WordPress.

Wordpress со Nginx и HHVM на OpenSUSE Leap 42.1 е инсталиран сега.

Референца

  • http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-www-to-no-www