Cómo instalar WordPress en una configuración LEMP

Introducción

En este tutorial, aprenderá cómo instalar WordPress en una instancia recién creada. Demostraré la instalación en un servidor Ubuntu 14.04. Estas instrucciones también pueden funcionar en versiones anteriores de Ubuntu y Debian.

Entonces, comencemos.

Paso uno: actualice los paquetes existentes

apt-get update && apt-get upgrade

Paso dos: instale Nginx

Nginx es un servidor web ligero de alto rendimiento diseñado con el propósito de entregar grandes cantidades de contenido estático con un uso eficiente de los recursos del sistema. A diferencia de Apache, Nginx utiliza un modelo asíncrono controlado por eventos que proporciona un rendimiento más predecible bajo carga.

Agreguemos un repositorio de terceros para instalar la última versión de Nginx (1.6.1).

sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update 
sudo apt-get install nginx
service nginx start

Ahora, probemos si el servidor está funcionando.

http://YOUR-VPS-IP

Debería llevarte a la página de destino predeterminada de Nginx.

Paso tres: Instale PHP 5.5

PHP es un lenguaje de script de uso general de código abierto ampliamente utilizado que es especialmente adecuado para el desarrollo web y puede integrarse en HTML.

Instalemos la última versión de PHP en nuestro servidor.

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt

Si desea verificar su versión de PHP, ejecute el siguiente comando:

php -v

Verás algo como esto.

PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

Ahora, haremos un ligero cambio de configuración para que nuestra configuración sea más segura. Abra el archivo de configuración principal php5-fpm con privilegios de root:

sudo nano /etc/php5/fpm/php.ini

Presione Ctrl + W y busque cgi.fix_pathinfo=. Descomente (eliminar;) y cambie 1 a 0. Después de los cambios, la línea debería verse así:

cgi.fix_pathinfo=0

Guarde ( Ctrl + O ) y cierre el archivo ( Ctrl + X ).

Ahora, solo necesitamos reiniciar nuestro procesador PHP escribiendo:

sudo service php5-fpm restart

Paso cuatro: instalar MySQL

Para almacenar y administrar bases de datos, necesitamos instalar MySQL. Puede instalarlo fácilmente escribiendo lo siguiente en la consola:

sudo apt-get install mysql-server

Durante el proceso de instalación, se le pedirá que establezca una contraseña de root para MySQL. Una vez que haya configurado la contraseña de root, tendremos que decirle a MySQL que genere la estructura de directorios donde almacenará las bases de datos.

sudo mysql_install_db

Terminemos ejecutando un script de seguridad que modificará algunas inseguridades predeterminadas.

sudo mysql_secure_installation

Simplemente escriba la contraseña de root de MySQL y escriba nsi no desea cambiarla. Después de eso, escriba ya cada pregunta.


Establecer zona horaria (condicional)

Por defecto, la zona horaria de su servidor es UTC. Si vive en una zona horaria diferente, puede cambiarla escribiendo el siguiente comando:

sudo dpkg-reconfigure tzdata

En este punto, su servidor LEMP está en funcionamiento.

Paso cinco: configurar Nginx para servir Wordpress

Comencemos nuestra instalación de Wordpress creando un bloque de servidor Nginx para nuestro sitio.

sudo nano /etc/nginx/sites-available/wordpress

Pegue el siguiente código allí:

server {
        listen 80;

        root /var/www/wordpress;
        index index.php index.html index.htm;

        server_name domain.com;

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        } 
location / {
                # try_files $uri $uri/ =404;
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }


        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

location = /favicon.ico {
        access_log off;
        log_not_found off;
        expires max;
}
location = /robots.txt {
        access_log off;
        log_not_found off;
}

# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
        access_log off;
        log_not_found off;
        expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
    return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
        location ~ \.php$ {
                deny all;
        }
}
}

Este es un archivo de configuración de Wordpress bien ajustado con soporte para enlaces permanentes. Guarde ( Ctrl + O ) y cierre el archivo ( Ctrl + X ). Habilitemos el bloqueo del servidor al simular:

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress

A continuación, eliminaremos el bloque de servidor predeterminado de Nginx.

sudo rm /etc/nginx/sites-enabled/default

Ahora, ajustaremos el archivo de configuración principal de Nginx:

sudo nano /etc/nginx/nginx.conf

Asegúrese de que la cantidad de procesos de trabajo sea igual a la cantidad de núcleos en su instancia.

user www-data;
worker_processes 1;
pid /run/nginx.pid;

Añadir uso epoll; al bloque de eventos.

events {
worker_connections 4096;
multi_accept on;
use epoll;
}

Agregue client_max_body_size y server_tokens off directive. Establezca keepalive_timeout en 30 segundos.

        ##
        # Basic Settings
        ##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size  100m;


        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

Asegúrese de que todo el bloque de configuración de Gzip se vea así:

        ##
        # Gzip Settings
        ##

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

Guarde ( Ctrl + O ) y cierre el archivo ( Ctrl + X ). Luego reinicie el servidor:

sudo service nginx restart

Paso seis: configurar PHP

Si desea cargar archivos de más de 2 MB en su sitio de WordPress, debe aumentar las variables de tamaño de carga de PHP en php.ini .

sudo nano /etc/php5/fpm/php.ini

Ahora, presione Ctrl + W y busque " upload_max_filesize " y configúrelo en 100m .

upload_max_filesize=100M

Haga lo mismo con post_max_size . post_max_size debe ser del mismo tamaño o mayor que upload_max_filesize .

post_max_size=100M

Reinicia PHP.

sudo service php5-fpm restart

Paso siete: configurar la base de datos MySQL

En este paso, crearemos el usuario y las tablas de la base de datos. Continúe e inicie sesión en el shell de MySQL:

mysql -u root -p

Inicie sesión con su contraseña de root de MySQL. Tendremos que crear una base de datos de WordPress, junto con un usuario en la base de datos. Primero, hagamos la base de datos (siéntase libre de darle el nombre que desee):

CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)

Después de eso, necesitamos crear un nuevo usuario. Reemplace la base de datos, el nombre y la contraseña con lo que prefiera:

CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)

Establezca una contraseña para su nuevo usuario:

SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)

Termine otorgando todos los privilegios al nuevo usuario. Sin este comando, el instalador de WordPress no podrá iniciarse:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

Luego actualice MySQL:

FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Salga del shell de MySQL:

exit

Paso ocho: Instalar los archivos de WordPress

Ya casi hemos terminado. Procedamos a instalar WordPress.

Primero navegue al directorio raíz del sitio:

mkdir /var/www/
cd /var/www/

Ahora, descargue la última versión de WordPress:

wget http://wordpress.org/latest.tar.gz

Extraerlo del archivo:

tar -xzvf latest.tar.gz

Dar los permisos de /var/www/wordpressal www-datausuario. Permitirá futuras actualizaciones automáticas de complementos de WordPress y edición de archivos con SFTP.

sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data

Ya terminaste! Su nuevo sitio de WordPress ya está listo. Simplemente navegue a su sitio web y finalice la instalación.



Leave a Comment

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.