Si të instaloni WordPress me HHVM dhe Nginx në OpenSUSE Leap 42.1
HHVM (HipHop Virtual Machine) është një makinë virtuale me burim të hapur e zhvilluar nga Facebook, është një përpilues JIT (vetëm në kohë) për të ekzekutuar programe të shkruara në PHP 5 (dhe disa veçori të PHP 7) dhe gjuhën Hack. Nëse dëshironi të ekzekutoni HHVM në serverin tuaj, mund të përdorni ueb serverin e bazuar në FastCGI në krye të serverit të uebit Nginx ose apache, ose mund të përdorni serverin e integruar të uebit të quajtur \Proxygen\.
Në këtë tutorial, unë do t'ju tregoj se si të instaloni WordPress (një CMS i njohur i bazuar në PHP) me HHVM dhe Nginx si serverin tonë të internetit. Unë do të përdor OpenSUSE Leap 42.1 si sistem operativ, kështu që kërkohet njohuri bazë për OpenSUSE.
Kusht paraprak
- OpenSUSE Leap 42.1 - 64 bit.
- Privilegjet e rrënjës.
- Njohuri bazë OpenSUSE si Zypper, SuSE-firewall.
Hapi 1 - Instaloni Nginx
Nginx ose engine-x është një server web i lehtë me performancë të lartë dhe konsum të ulët memorie. Në serverin tonë OpenSUSE, ne mund të përdorim komandën zypper për të instaluar paketën.
Përdorni \sudo su\ për t'u bërë përdoruesi rrënjë dhe instaloni Nginx me komandën zypper në openSUSE Leap 42.1:
sudo su
zypper in nginx
Më pas shkoni te drejtoria e uebit \/srv/www/htdocs\ dhe krijoni një skedar të ri index.html.
cd /srv/www/htdocs/
echo "<h1>Nginx OpenSUSE Leap 42.1</h1>" > index.html
Shtoni Nginx për të filluar në kohën e nisjes dhe filloni Nginx me komandën systemctl:
systemctl enable nginx
systemctl start nginx
Për të siguruar që Nginx po funksionon në serverin tonë, ne mund të vizitojmë adresën IP të serverit me një shfletues ose të përdorim komandën curl më poshtë për të parë rezultatet:
curl 192.168.43.29
Hapi 2 - Instaloni dhe konfiguroni MariaDB
MariaDB është një bazë të dhënash me burim të hapur e zhvilluar nga zhvilluesi origjinal i MySQL Monty Widenius, MariaDB është në përputhje me MySQL. Në këtë hap, ne do të instalojmë MariaDB dhe do të konfigurojmë fjalëkalimin rrënjë për bazën e të dhënave MariaDB. Më pas do të krijojmë një bazë të dhënash dhe përdorues të ri që na nevojiten për instalimin tonë të WordPress.
Instaloni MariaDB me zypper:
zypper in mariadb mariadb-client
Shtoni MariaDB në sekuencën e nisjes dhe më pas filloni:
systemctl enable mysql
systemctl start mysql
MariaDB ka filluar, tani duhet të konfigurojmë fjalëkalimin rrënjë për bazën e të dhënave MariaDB/mysql. Drejtoni komandën më poshtë për të vendosur një fjalëkalim rrënjësor MariaDB.
/usr/bin/mysqladmin -u root password 'toor123'
Shënim:
Fjalëkalimi i MariaDB është \toor123\, ju lutemi përdorni një fjalëkalim të ndryshëm dhe më të sigurt në serverin tuaj.
Fjalëkalimi rrënjësor i MariaDB është konfiguruar. Tani identifikohuni në guaskën MariaDB/MySQL dhe krijoni një bazë të dhënash të re \wpdb\ dhe përdorues të ri \wpuser\ me fjalëkalim \[email e mbrojtur ]\ për instalimin tonë të WordPress. Zgjidhni një fjalëkalim të sigurt edhe këtu në sistemin tuaj.
Hyni në guaskën MariaDB/MySQL:
mysql -u root -p
TYPE PASSWORD toor123
Krijoni një bazë të dhënash të re dhe përdorues të ri:
create database wpdb;
create user ';
flush privileges;
MariaDB është instaluar dhe baza e re e të dhënave për instalimin tonë të WordPress është krijuar.
Hapi 3 - Instaloni HHVM
Për instalimin HHVM, duhet të shtojmë një depo të re hhvm. Ne mund të përdorim komandën zypper për të shtuar depon e re hhvm në server. Atëherë duhet të rifreskojmë depot e openSUSE:
zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo
zypper refresh
Shkruani a për t'i besuar gjithmonë çelësit.
Tani instaloni paketat hhvm:
zypper in hhvm hhvm-nginx hhvm-fastcgi
hhvm-nginx ofron një mostër të konfigurimit Nginx.
hhvm-fastcgi siguron skedarët meta të FastCGI.
Hapi 4 - Konfiguro HHVM dhe Nginx
Në këtë hap, ne do të konfigurojmë HHVM që të funksionojë me serverin e uebit Nginx. Ne do të konfigurojmë HHVM që të përdorë Unix-socket dhe të ekzekutojmë HHVM si përdorues Nginx. Shkoni te direktoria e konfigurimit HHVM dhe modifikoni serverin e skedarit të konfigurimit.ini me redaktorin vim:
cd /etc/hhvm/
vim server.ini
Zhkomentoni rreshtin 3 për të aktivizuar Unix-Sockets për HHVM.
hhvm.server.file_socket = /var/run/hhvm/server.sock
Ruaje dhe dil.
Më pas, ne duhet të modifikojmë skriptin e shërbimit HHVM në mënyrë që HHVM të mund të ekzekutojë përdoruesin Nginxginx. Është e rëndësishme të konfiguroni HHVM që të funksionojë si i njëjti përdorues sesa serveri në internet. Shkoni te drejtoria systemd dhe modifikoni skedarin hhvm.service me vim:
cd /usr/lib/systemd/system
vim hhvm.service
Ndrysho opsionin --user hhvm në linjën 11 te përdoruesi 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
Ruaje dhe dil.
Tani ndryshoni pronarin e drejtorisë \/var/run/hhvm\ në përdoruesin e nginx.
chown -R nginx:nginx /var/run/hhvm/
Shënim:
Pas rinisjes së serverit, ndonjëherë pronari i paracaktuar i drejtorisë kthehet te përdoruesi i paracaktuar. Për të zgjidhur këtë problem, ne mund të përcaktojmë komandën linux që do të ekzekutohet pasi të jenë ekzekutuar të gjitha skriptet e nivelit aktual të ekzekutimit.
Ndryshoni skedarin after.local në drejtorinë \/etc/rc.d/\ dhe shtoni një komandë të re linux në fund të skedarit:
vim /etc/rc.d/after.local
Ngjitni komandën më poshtë:
chown -R nginx:nginx /var/run/hhvm/
Ruaje dhe dil.
Më pas, ne duhet të konfigurojmë HHVM për të punuar me Nginx. Ne kemi instaluar paketën e re \hhvm-nginx\, ajo përmban një shembull të konfigurimit HHVM për serverin e internetit Nginx.
Shkoni te drejtoria e konfigurimit Nginx dhe kopjoni konfigurimin HHVM:
cd /etc/nginx/
cp hhvm.conf.example hhvm.conf
Ndrysho hhvm.conf me vim:
vim hhvm.conf
Në rreshtin e dytë, shtoni një konfigurim të ri për të përcaktuar direktorinë rrënjësore të uebit:
root /srv/www/htdocs;
Ruaje dhe dil.
Pastaj ne duhet të modifikojmë konfigurimin Nginx për të përfshirë konfigurimin HHVM.
vim nginx.conf
Në linjën 59 - shtoni linjën e re të konfigurimit më poshtë:
include /etc/nginx/hhvm.conf;
Ruaje dhe dil.
Aktivizo dhe nis HHVM me komandën systemctl më poshtë:
systemctl enable hhvm
systemctl start hhvm
Pastaj rinisni Nginx:
systemctl restart nginx
Nginx dhe HHVM janë instaluar dhe konfiguruar. Për të testuar nëse konfigurimi po funksionon, ne do të krijojmë një skedar të ri php që përmban kodin phpinfo dhe do ta ruajmë atë në direktorinë rrënjësore të uebit \/srv/www/htdocs\, më pas do ta aksesojmë atë përmes shfletuesit të internetit.
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
Hapni shfletuesin tuaj dhe shkruani adresën IP të serverit:
192.168.43.29/info.php
Nginx dhe HHVM po punojnë pa gabime.
Hapi 5 - Krijoni një Host Virtual me HHVM dhe Nginx
Në këtë hap, ne do të krijojmë një konfigurim të ri të hostit virtual me Nginx dhe HHVM. Unë do të përdor emrin e domenit \hakasenano.co\ për këtë shembull dhe do ta përdor si domen për instalimin tonë të WordPress gjithashtu. Ju lutemi zëvendësoni emrin e domenit me emrin tuaj të domenit në të gjithë skedarët dhe komandat e konfigurimit.
Shkoni te drejtoria Nginx dhe krijoni drejtori të re për të ruajtur skedarin e hostit virtual:
cd /etc/nginx/
mkdir vhosts.d/
cd vhosts.d/
Krijo një skedar të ri konfigurimi \nano.conf\ me vim:
vim nano.conf
Dhe ngjitni konfigurimin e ri të hostit virtual më poshtë:
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;
}
}
Ruaje dhe dil.
Në konfigurimin tonë virtual të hostit, ne kemi përcaktuar direktorinë rrënjësore të uebit për emrin e domenit që të jetë drejtoria \/srv/www/nano\. Kjo direktori nuk ekziston tani për tani, kështu që ne duhet ta krijojmë atë direktorium tani.
mkdir -p /srv/www/nano/
Më në fund, provoni konfigurimin Nginx dhe rinisni atë:
nginx -t
systemctl restart nginx
Sigurohuni që komanda nginx -t të mos shfaqë një mesazh gabimi.
Hapi 6 - Instaloni WordPress
Në hapin 5, ne krijuam konfigurimin e hostit virtual për instalimin tonë të WordPress. Pra, ne vetëm duhet të shkarkojmë WordPress tani dhe më pas të modifikojmë konfigurimin e bazës së të dhënave që kemi krijuar në hapin 2.
Shkoni te direktoria kryesore e uebit \/srv/www/nano\ dhe shkarkoni arkivin zip të WordPress me komandën wget:
cd /srv/www/nano
wget wordpress.org/latest.zip
Ekstraktoni \latest.zip\ dhe zhvendosni të gjithë skedarët dhe drejtoritë e WordPress në dosjen nano:
unzip latest.zip
mv wordpress/* .
Më pas, kopjoni skedarin \wp-config-sample.php\ në \wp-config.php\ dhe modifikoni me vim:
cp wp-config-sample.php wp-config.php
vim wp-config.php
Ndrysho DB_NAME në bazën tonë të të dhënave \wpdb\, DB_USER në \wpuser\ dhe DB_PASSWORD në \[email \ .
define('DB_NAME', 'wpdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
Ruaje dhe dil.
Tani hapni shfletuesin e internetit dhe shkruani emrin e domenit në shiritin e adresave.
Do të ridrejtoheni te www.hakasenano.co dhe do të shihni faqen e instalimit.
Dhe mund të plotësoni titullin dhe përshkrimin e faqes me informacionin tuaj dhe klikoni \Instalo Wordpress\.
Prisni derisa të përfundojë instalimi dhe do të shihni faqen e hyrjes më poshtë. Klikoni \Identifikohu\ për t'u identifikuar në panelin e administratorit të WordPress:
Shkruani përdoruesin dhe fjalëkalimin tuaj të administratorit, më pas kliko sërish \Identifikohu\.
Tani jeni në panelin e administratorit të WordPress.
Wordpress me Nginx dhe HHVM në OpenSUSE Leap 42.1 është instaluar tani.
Referenca
- http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-www-to-no-www