GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar WordPress con HHVM y Nginx en CentOS 7

HHVM (HipHop Virtual Machine) es una máquina virtual de código abierto para ejecutar programas escritos en lenguaje PHP y Hack. HHVM ha sido desarrollado por Facebook, proporciona la mayoría de las funciones de la versión actual de PHP 7. Para ejecutar HHVM en su servidor, puede usar un FastCGI para conectar HHVM con un servidor web Nginx o Apache, o puede usar el servidor web integrado en HHVM llamado "Proxygen".

En este tutorial, le mostraré cómo instalar WordPress con HHVM y Nginx como servidor web. Usaré CentOS 7 como sistema operativo, por lo que se requieren conocimientos básicos de CentOS.

Requisito previo

  • CentOS 7 - 64 bits
  • Privilegios de raíz

Paso 1:configurar SELinux y agregar el repositorio de Epel

En este tutorial, usaremos SELinux en modo de aplicación, por lo que necesitamos las herramientas de administración de SELinux instaladas en el sistema. Usaremos setools y setrobleshoot para administrar las políticas de SELinux.

De forma predeterminada, SELinux está habilitado en CentOS 7. Podemos comprobarlo con el siguiente comando:

sestatus
getenforce

Puede ver que SELinux está habilitado con el modo de cumplimiento.

A continuación, instale setools y configure la solución de problemas con el comando yum.

yum -y install setroubleshoot setools net-tools

Cuando se haya completado la instalación, puede instalar el repositorio EPEL.

yum -y install epel-release

Paso 2:instalar Nginx

Nginx o engine-x es un servidor web liviano con alto rendimiento y bajo consumo de memoria. En CentOS, podemos usar yum para instalar los paquetes de Nginx. ¡Asegúrese de haber iniciado sesión como usuario root!

Instale nginx con este comando yum del repositorio de CentOS:

yum -y install nginx

Ahora inicie Nginx y permita que se inicie en el momento del arranque con el comando systemctl:

systemctl start nginx
systemctl enable nginx

Para asegurarse de que Nginx se esté ejecutando en nuestro servidor, visite la dirección IP del servidor con su navegador o use el comando curl como se muestra a continuación para obtener los resultados:

curl 192.168.1.110

Lo verificaré con mi navegador web aquí:

Paso 3:instalar y configurar MariaDB

MariaDB es una base de datos de código abierto desarrollada por el desarrollador original de MySQL, Monty Widenius, se ha bifurcado de la base de datos MySQL pero sigue siendo compatible con ella en sus funciones principales. En este paso, instalaremos MariaDB y configuraremos la contraseña de root para la base de datos MariaDB. Luego crearemos una nueva base de datos y un nuevo usuario que son necesarios para nuestra instalación de WordPress.

Instale mariadb y mariadb-server:

yum -y install mariadb mariadb-server

Inicie MariaDB y agregue el servicio para que se inicie automáticamente en el momento del arranque:

systemctl start mariadb
systemctl enable mariadb

Se ha iniciado MariaDB, y ahora tenemos que configurar la contraseña de root para la base de datos mariadb/mysql. Escriba el siguiente comando para configurar la contraseña raíz de MariaDB.

mysql_secure_installation

Escriba su nueva contraseña para el usuario raíz de MariaDB cuando se le solicite.

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 contraseña raíz de MariaDB ha sido configurada. Ahora inicie sesión en el shell de MariaDB/MySQL y cree una nueva base de datos "wordpressdb" y un nuevo usuario "wpuser" con contraseña "[email protected]" para nuestra instalación de WordPress. ¡Elige una contraseña segura para tu instalación!

Inicie sesión en el shell de MariaDB/MySQL:

mysql -u root -p
TYPE YOUR PASSWORD

Crear una nueva base de datos y un nuevo usuario:

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

Se ha instalado MariaDB y se ha creado la nueva base de datos para nuestra instalación de WordPress.

Paso 4:instalar HHVM

Para la instalación de HHVM, necesitamos instalar muchas dependencias. Podemos instalar HHVM desde la fuente descargando la fuente de github o instalando paquetes precompilados que están disponibles en Internet. En este tutorial, instalaré HHVM desde paquetes precompilados.

Instale las dependencias para la instalación de 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

Luego instale los paquetes precompilados de HHVM desde este sitio con el 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

Se ha instalado HHVM, verifíquelo con el siguiente comando:

hhvm --version

Para usar el comando php, podemos configurar el comando hhvm como php. Entonces, cuando escriba 'php' en el shell, verá el mismo resultado que con el comando hhvm.

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

Paso 5:configurar HHVM

En este paso, configuraremos HHVM. Ejecutaremos hhvm como un servicio systemd. En lugar de ejecutarlo en un puerto del sistema, ejecutaremos hhvm en un archivo de socket Unix, que es más rápido.

Vaya al directorio systemd y cree el archivo hhvm.service.

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

Pegue la configuración del servicio a continuación en ese archivo.

[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

Guarde el archivo y salga de vim.

A continuación, vaya al directorio hhvm y edite el archivo server.ini.

cd /etc/hhvm/
vim server.ini

Reemplace hhvm.server.port en la línea 7 con la configuración de socket de Unix a continuación:

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

Guarde el archivo y salga del editor.

En el archivo de servicio de hhvm, hemos definido que hhvm se ejecuta con el usuario 'nginx', por lo que debemos cambiar el propietario del directorio del archivo de socket al usuario 'nginx'. Luego debemos cambiar el contexto de SELinux del directorio hhvm para permitir el acceso al archivo de socket.

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

Después de reiniciar el servidor, hhvm no se ejecutará porque no hay un directorio para el archivo de socket, por lo que debemos crearlo automáticamente en el momento del inicio.

Edite el archivo rc.local con vim.

vim /etc/rc.local

Pegue la configuración a continuación al final de la línea.

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

Guarde el archivo y salga de vim. Haz que el archivo sea ejecutable.

chmod +x /etc/rc.local

Vuelva a cargar el servicio systemd, inicie hhvm y agréguelo para que se inicie en el momento del arranque.

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

Asegúrese de que no haya ningún error. Verifique que hhvm se esté ejecutando en el archivo de socket con el comando netstat.

netstat -pl | grep hhvm

Paso 6:configurar HHVM y Nginx

En este paso, configuraremos HHVM para que se ejecute con el servidor web Nginx. Necesitamos crear un nuevo archivo de configuración de hhvm en el directorio de Nginx.

Vaya al directorio /etc/nginx y cree un archivo hhvm.conf.

cd /etc/nginx/
vim hhvm.conf

Pegue la configuración a continuación:

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;
}

Guardar y salir.

A continuación, edite el archivo nginx.conf y agregue la línea de inclusión de configuración de hhvm.

vim nginx.conf

Agregue la configuración a la línea 57 de la directiva del servidor.

include /etc/nginx/hhvm.conf;

Guardar y salir.

Luego cambie el contexto SELinux del archivo de configuración hhvm.

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

Pruebe la configuración de Nginx y reinicie el servicio.

nginx -t
systemctl restart nginx

Asegúrate de que no haya ningún error.

Paso 7:crear un host virtual con HHVM y Nginx

En este paso, crearemos una nueva configuración de host virtual con Nginx y hhvm. Usaré el nombre de dominio "natsume.co" para este ejemplo. Utilice su propio nombre de dominio y reemplácelo en los archivos de configuración y en la instalación de WordPress dondequiera que aparezca.

Vaya al directorio nginx conf.d donde almacenaremos el archivo de host virtual:

cd /etc/nginx/conf.d/

Cree la nueva configuración "natsume.conf" con vim:

vim natsume.conf

Pegue la configuración del host virtual a continuación:

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;
    }
}

Guardar y salir.

En nuestra configuración de host virtual, hemos definido el directorio raíz web para que el nombre de dominio sea el directorio "/var/www/hakase". Ese directorio aún no existe, por lo que debemos crearlo y cambiar la propiedad al usuario y grupo nginx.

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

A continuación, configure el contexto de SELinux para el archivo y el directorio.

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

Finalmente, pruebe la configuración de nginx para asegurarse de que no haya ningún error, luego reinicie nginx:

nginx -t
systemctl restart nginx

Paso 8 - Instalar WordPress

En el paso 5, creamos la configuración de host virtual para nuestra instalación de WordPress. Ahora solo tenemos que descargar WordPress y editar la configuración de la base de datos utilizando la base de datos y el usuario que hemos creado en el paso 3.

Vaya al directorio raíz web "/var/www/hakase" y descargue WordPress con el comando wget:

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

Extraiga "latest.tar.gz" y mueva todos los archivos y directorios de WordPress al directorio actual:

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

A continuación, copie el archivo "wp-config-sample.php" en "wp-config.php" y edítelo con vim:

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

Establezca DB_NAME en "wordpressdb" , DB_USER a "wpuser" y DB_PASSWORD a "[email protected]" .

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

Guardar y salir.

Cambie el contexto de SELinux para el directorio de WordPress.

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

Ahora abra un navegador web y escriba el nombre de dominio de su dominio de wordpress en la barra de direcciones, el mío es "natsume.co".

Elija el idioma inglés y haga clic en 'Continuar '.

Complete el título y la descripción del sitio con su información y haga clic en "Instalar Wordpress".

Espere hasta que finalice la instalación. Verá la página a continuación, haga clic en "Iniciar sesión" para iniciar sesión en el panel de administración de WordPress:

Escriba su usuario y contraseña de administrador, luego haga clic en "Iniciar sesión" nuevamente.

Ahora estás en el panel de administración de WordPress.

Página de inicio de Wordpress.

Wordpress con Nginx y HHVM en CentOS 7 se ha instalado correctamente.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar Nextcloud con Nginx y PHP 7.3 en CentOS 8

  3. Cómo instalar WordPress Multisite en Centos VPS con Nginx

  4. Instale Magento en CentOS 7, con Nginx, PHP-FPM y MariaDB

  5. Instale WordPress con HHVM, Nginx y MariaDB en Ubuntu 12.04 LTS

Cómo instalar WordPress con Nginx en AlmaLinux 8

Cómo Instalar Wordpress con Nginx, MariaDB y HHVM en Ubuntu 15.04

Cómo instalar Wordpress con Nginx, MariaDB y HHVM en Debian 8

Cómo instalar WordPress con Nginx en CentOS 8 / RHEL 8

Cómo instalar OwnCloud 8 con Nginx y PHP-FPM en CentOS 6

Cómo instalar WordPress en CentOS 8