Instalando Wordpress en nginx
Instalación de LEMP Stack
LEMP hace referencia a Linux + EngineX + MySQL + PHP
1. Actualizamos el sistema:
sudo apt update
sudo apt upgrade2. Instalación de Nginx:
sudo apt install nginx3. Instalación de MySQL (MariaDB):
sudo apt install mariadb-server
sudo mysql_secure_installationSigue las instrucciones para configurar la seguridad de la base de datos y establecer una contraseña para el usuario root de MySQL.
4. Instalación de PHP y extensiones:
sudo apt install php-fpm php-mysql5. Configuración de Nginx para PHP:
Crea un archivo de configuración para tu sitio en Nginx:
sudo nano /etc/nginx/sites-available/alexwp.orgEjemplo de configuración básica para un servidor PHP:
server {
listen 80;
server_name alexwp.org www.alexwp.org;
root /var/www/alexwp;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
# manejo de php
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; #Ajusta según tu versión de PHP
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#negacion de acceso a archivos .ht
location ~ /\.ht {
deny all;
}
}Las configuraciones antes vistas son directivas de manejo de php, vamos a desglosarlo:
location ~ \.php$: Esta directiva de ubicación utiliza una expresión regular para coincidir con las solicitudes que terminan en ".php".include snippets/fastcgi-php.conf;: Incluye un archivo de configuración específico para FastCGI y PHP.fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;: Especifica la ubicación del socket FastCGI para comunicarse con el servidor PHP-FPM.fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Establece el parámetroSCRIPT_FILENAMEpara indicar la ruta del script PHP a ejecutar.include fastcgi_params;: Incluye otros parámetros FastCGI necesarios para la comunicación con el servidor PHP-FPM.
Las que hay a continuación, son directivas de seguridad para la negación de acceso a archivos .ht:
location ~ /\.ht: Esta directiva de ubicación utiliza una expresión regular para coincidir con cualquier archivo cuyo nombre comience con ".ht". En servidores web como Apache, los archivos.htaccessy otros archivos que comienzan con ".ht" a menudo contienen configuraciones sensibles del servidor web.deny all;: Niega el acceso a estos archivos, lo que significa que cualquier intento de acceder a un archivo que cumpla con la expresión regular será bloqueado y recibirá un código de estado de acceso denegado (403 Forbidden).
Crea un enlace simbólico para habilitar el sitio:
sudo ln -s /etc/nginx/sites-available/alexwp.org /etc/nginx/sites-enabled/Creamos la carpeta donde guardaremos todos los archivos web y que ya hemos referenciado anteriormente.
sudo mkdir /var/www/alexwpElimina el archivo de configuración predeterminado si no lo necesitas:
sudo rm /etc/nginx/sites-enabled/defaultVerificamos la configuración:
sudo nginx -tReiniciamos Nginx:
sudo service nginx restartInstalación de WordPress:
1. Descargamos e instalamos WordPress:
sudo su
cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo cp -R wordpress/* /var/www/alexwp2. Configuración de la base de datos para WordPress:
sudo mysql -u root -pEn MySQL, crea una base de datos (alexwp) y un usuario (alex) para WordPress:
CREATE DATABASE alexwp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'alex'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON alexwp.* TO 'alex'@'localhost';
FLUSH PRIVILEGES;
EXIT;3. Configuración de WordPress:
Copia el archivo de configuración de ejemplo que vamos a modificar:
cd /var/www/alexwp
sudo cp wp-config-sample.php wp-config.phpVamos a editar el archivo de configuración y realizar los cambios necesarios:
sudo nano /var/www/alexwp/wp-config.phpBusca las líneas en el archivo relacionadas con la configuración de la base de datos y actualízalas con la información de tu base de datos:
// Database configuration
define('DB_NAME', 'alexwp');
define('DB_USER', 'alex');
define('DB_PASSWORD', 'P@ssw0rd');
define('DB_HOST', 'localhost');En nuestro caso la base de datos está en el mismo servidor por lo que ponemos "localhost".
Ahora puedes generar nuevas Secret keys y Salts de seguridad en el generador oficial de WordPress y reemplazar las líneas existentes en tu archivo wp-config.php:
define('AUTH_KEY', 'pon_aqui_tu_clave');
define('SECURE_AUTH_KEY', 'pon_aqui_tu_clave');
define('LOGGED_IN_KEY', 'pon_aqui_tu_clave');
define('NONCE_KEY', 'pon_aqui_tu_clave');
define('AUTH_SALT', 'pon_aqui_tu_clave');
define('SECURE_AUTH_SALT', 'pon_aqui_tu_clave');
define('LOGGED_IN_SALT', 'pon_aqui_tu_clave');
define('NONCE_SALT', 'pon_aqui_tu_clave');4. Ajustes de permisos:
Asegúrate de que el servidor web tiene permisos para acceder y escribir en los directorios relevantes:
sudo chown -R www-data:www-data /var/www/alexwp5. Finalizar la instalación a través del navegador:
Accede a tu dominio o dirección IP en un navegador y sigue el asistente de instalación de WordPress.
Completa los detalles del sitio y la información de administrador.
Haz clic en "Instalar WordPress".
Última actualización