GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare WordPress con HHVM e Nginx su CentOS 7

HHVM (HipHop Virtual Machine) è una macchina virtuale open source per l'esecuzione di programmi scritti in linguaggio PHP e Hack. HHVM è stato sviluppato da Facebook, fornisce la maggior parte delle funzionalità dell'attuale versione di PHP 7. Per eseguire HHVM sul tuo server, puoi utilizzare un FastCGI per connettere HHVM con un server Web Nginx o Apache, oppure puoi utilizzare il server Web integrato in HHVM chiamato "Proxygen".

In questo tutorial, ti mostrerò come installare WordPress con HHVM e Nginx come server web. Userò CentOS 7 come sistema operativo, quindi è richiesta una conoscenza di base di CentOS.

Prerequisito

  • CentOS 7 - 64 bit
  • Privilegi di root

Passaggio 1:configura SELinux e aggiungi Epel Repository

In questo tutorial useremo SELinux in modalità enforcing, quindi abbiamo bisogno degli strumenti di gestione di SELinux installati sul sistema. Useremo setools e setrobleshoot per gestire le politiche di SELinux.

Per impostazione predefinita, SELinux è abilitato su CentOS 7, possiamo verificarlo con il comando seguente:

sestatus
getenforce

Puoi vedere che SELinux è abilitato con la modalità di applicazione.

Quindi, installa setools e setroubleshoot con il comando yum.

yum -y install setroubleshoot setools net-tools

Al termine dell'installazione, puoi installare il repository EPEL.

yum -y install epel-release

Passaggio 2:installa Nginx

Nginx o engine-x è un server Web leggero con prestazioni elevate e basso consumo di memoria. Su CentOS, possiamo utilizzare yum per installare i pacchetti Nginx. Assicurati di aver effettuato l'accesso come utente root!

Installa nginx con questo comando yum dal repository CentOS:

yum -y install nginx

Ora avvia Nginx e abilita l'avvio all'avvio con il comando systemctl:

systemctl start nginx
systemctl enable nginx

Per assicurarti che Nginx sia in esecuzione sul nostro server, visita l'indirizzo IP del server con il tuo browser o usa il comando curl come mostrato di seguito per ottenere i risultati:

curl 192.168.1.110

Lo controllerò con il mio browser web qui:

Fase 3 - Installa e configura MariaDB

MariaDB è un database open source sviluppato dallo sviluppatore MySQL originale Monty Widenius, è stato biforcato dal database MySQL ma rimane compatibile con esso nelle sue funzioni principali. In questo passaggio installeremo MariaDB e configureremo la password di root per il database MariaDB. Quindi creeremo un nuovo database e un nuovo utente necessari per la nostra installazione di WordPress.

Installa mariadb e mariadb-server:

yum -y install mariadb mariadb-server

Avvia MariaDB e aggiungi il servizio da avviare automaticamente all'avvio:

systemctl start mariadb
systemctl enable mariadb

MariaDB è stato avviato e ora dobbiamo configurare la password di root per il database mariadb/mysql. Digita il comando seguente per impostare la password di root di MariaDB.

mysql_secure_installation

Digita la tua nuova password per l'utente root MariaDB quando richiesto.

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 ... Success!

La password di root di MariaDB è stata configurata. Ora accedi alla shell MariaDB/MySQL e crea un nuovo database "wordpressdb" e un nuovo utente "wpuser" con password "[email protetta]" per la nostra installazione di WordPress. Scegli una password sicura per la tua installazione!

Accedi alla shell MariaDB/MySQL:

mysql -u root -p
TYPE YOUR PASSWORD

Crea un nuovo database e un nuovo utente:

create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q

MariaDB è stata installata ed è stato creato il nuovo database per la nostra installazione di WordPress.

Fase 4 - Installa HHVM

Per l'installazione di HHVM, è necessario installare molte dipendenze. Possiamo installare HHVM dal sorgente scaricando il sorgente da github o installando pacchetti predefiniti disponibili su Internet. In questo tutorial, installerò HHVM dai pacchetti predefiniti.

Installa le dipendenze per l'installazione di HHVM

yum -y install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server libc-client make

Quindi installa i pacchetti predefiniti HHVM da questo sito con il comando rpm.

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.2-1.el7.centos.x86_64.rpm
ln -s /usr/local/bin/hhvm /bin/hhvm

HHVM è stato installato, verificalo con il comando seguente:

hhvm --version

Per utilizzare il comando php, possiamo impostare il comando hhvm come php. Quindi, quando digiti 'php' sulla shell, vedrai lo stesso risultato del comando hhvm.

sudo update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
php --version

Passaggio 5 - Configura HHVM

In questo passaggio, configureremo HHVM. Eseguiremo hhvm come servizio systemd. Invece di eseguirlo su una porta di sistema, eseguiremo hhvm su un file socket unix che è più veloce.

Vai alla directory systemd e crea il file hhvm.service.

cd /etc/systemd/system/
vim hhvm.service

Incolla la configurazione del servizio di seguito in quel file.

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service

[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock

[Install]
WantedBy=multi-user.target

Salva il file ed esci da vim.

Quindi, vai alla directory hhvm e modifica il file server.ini.

cd /etc/hhvm/
vim server.ini

Sostituisci hhvm.server.port sulla riga 7 con la configurazione del socket unix di seguito:

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

Salva il file ed esci dall'editor.

Nel file di servizio hhvm, abbiamo definito che hhvm è in esecuzione sotto l'utente 'nginx', quindi dobbiamo cambiare il proprietario della directory del file socket nell'utente 'nginx'. Quindi dobbiamo cambiare il contesto SELinux della directory hvm per consentire l'accesso al file socket.

chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Dopo aver riavviato il server, hhvm non verrà eseguito perché non esiste una directory per il file socket, quindi dobbiamo crearlo automaticamente all'avvio.

Modifica il file rc.local con vim.

vim /etc/rc.local

Incolla la configurazione di seguito fino alla fine della riga.

mkdir -p /var/run/hhvm/
chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Salva il file ed esci da vim. Rendi il file eseguibile.

chmod +x /etc/rc.local

Ricarica il servizio systemd, avvia hhvm e aggiungilo per essere avviato all'avvio.

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

Assicurati che non ci siano errori. Verifica che hhvm sia in esecuzione nel file socket con il comando netstat.

netstat -pl | grep hhvm

Passaggio 6 - Configura HHVM e Nginx

In questo passaggio, configureremo HHVM per l'esecuzione con il server Web Nginx. Dobbiamo creare un nuovo file di configurazione hhvm nella directory Nginx.

Vai alla directory /etc/nginx e crea un file hhvm.conf.

cd /etc/nginx/
vim hhvm.conf

Incolla la configurazione di seguito:

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

Salva ed esci.

Quindi, modifica il file nginx.conf e aggiungi la riga di inclusione della configurazione hhvm.

vim nginx.conf

Aggiungi la configurazione alla riga di direttiva del server 57.

include /etc/nginx/hhvm.conf;

Salva ed esci.

Quindi cambia il contesto SELinux del file di configurazione hhvm.

semanage fcontext -a -t httpd_config_t /etc/nginx/hhvm.conf
restorecon -v /etc/nginx/hhvm.conf

Testare la configurazione di Nginx e riavviare il servizio.

nginx -t
systemctl restart nginx

Assicurati che non ci siano errori.

Passaggio 7:crea un host virtuale con HHVM e Nginx

In questo passaggio creeremo una nuova configurazione di host virtuale con Nginx e hhvm. Userò il nome di dominio "natsume.co" per questo esempio. Utilizza il tuo nome di dominio e sostituiscilo nei file di configurazione e nell'installazione di WordPress ovunque appaia.

Vai alla directory nginx conf.d dove memorizzeremo il file host virtuale:

cd /etc/nginx/conf.d/

Crea la nuova configurazione "natsume.conf" con vim:

vim natsume.conf

Incolla la configurazione dell'host virtuale di seguito:

server {
    listen       80;
    server_name  natsume.co;

    # note that these lines are originally from the "location /" block
    root   /var/www/hakase;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /50x.html {
        root /var/www/hakase;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Salva ed esci.

Nella nostra configurazione dell'host virtuale, abbiamo definito la directory principale web per il nome di dominio come la directory "/var/www/hakase". Quella directory non esiste ancora, quindi dobbiamo crearla e cambiare la proprietà dell'utente e del gruppo nginx.

mkdir -p /var/www/hakase
chown -R nginx:nginx /var/www/hakase

Quindi, configura il contesto SELinux per il file e la directory.

semanage fcontext -a -t httpd_config_t "/etc/nginx/conf.d(/.*)?"
restorecon -Rv /etc/nginx/conf.d

Infine, verifica la configurazione di nginx per assicurarti che non ci siano errori, quindi riavvia nginx:

nginx -t
systemctl restart nginx

Passaggio 8 - Installa WordPress

Nel passaggio 5 abbiamo creato la configurazione dell'host virtuale per la nostra installazione di WordPress. Ora non ci resta che scaricare WordPress e modificare la configurazione del database utilizzando il database e l'utente che abbiamo creato nel passaggio 3.

Vai alla directory principale web "/var/www/hakase" e scarica WordPress con il comando wget:

cd /var/www/hakase
wget wordpress.org/latest.tar.gz

Estrai "latest.tar.gz" e sposta tutti i file e le directory di WordPress nella directory corrente:

tar -xzvf latest.tar.gz
mv wordpress/* .

Quindi, copia il file "wp-config-sample.php" in "wp-config.php" e modificalo con vim:

cp wp-config-sample.php wp-config.php
vim wp-config.php

Imposta DB_NAME su "wordpressdb" , DB_USER a "wpuser" e DB_PASSWORD a "[email protetta]" .

define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '[email protected]');
define('DB_HOST', 'localhost');

Salva ed esci.

Modifica il contesto di SELinux per la directory di WordPress.

semanage fcontext -a -t httpd_sys_content_t "/var/www/hakase(/.*)?"
restorecon -Rv /var/www/hakase

Ora apri un browser web e digita il nome di dominio del tuo dominio wordpress nella barra degli indirizzi, il mio è "natsume.co".

Scegli la lingua inglese e fai clic su 'Continua '.

Inserisci il titolo e la descrizione del sito con le tue informazioni e fai clic su "Installa Wordpress".

Attendere fino al termine dell'installazione. Vedrai la pagina seguente, fai clic su "Accedi" per accedere alla dashboard di amministrazione di WordPress:

Digita l'utente e la password di amministratore, quindi fai di nuovo clic su "Accedi".

Ora sei nella dashboard di amministrazione di WordPress.

Pagina iniziale di Wordpress.

Wordpress con Nginx e HHVM su CentOS 7 è stato installato correttamente.


Cent OS
  1. Come installare WordPress con Nginx su CentOS 7

  2. Come installare Nextcloud con Nginx e PHP 7.3 su CentOS 8

  3. Come installare WordPress Multisite su Centos VPS con Nginx

  4. Installa Magento su CentOS 7, con Nginx, PHP-FPM e MariaDB

  5. Installa WordPress con HHVM, Nginx e MariaDB su Ubuntu 12.04 LTS

Come installare WordPress con Nginx su AlmaLinux 8

Come installare Wordpress con Nginx, MariaDB e HHVM in Ubuntu 15.04

Come installare Wordpress con Nginx, MariaDB e HHVM su Debian 8

Come installare WordPress con Nginx su CentOS 8 / RHEL 8

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6

Come installare WordPress su CentOS 8