🐋
Apuntes Sistemas
  • ⚓Presentación
  • 📊Sistemas y Servidores
    • Personalizar el prompt de Windows
    • Utilidad de manejo de apps para Windows
    • PRACTICA: Arranque dual Windows y Ubuntu
    • 🚧SysLinuxOS: el SO para ASIX
    • Comandos Linux
      • PRACTICA - Ejercicio de práctica comandos
      • 🚧Instalación de paquetes
      • Apuntes Linux: blue/red team
      • Ejemplos de bash
      • Listado de comandos de Linux
    • Comandos Windows
      • 🚧Apuntes Powershell
      • Bucles FOR con batch
      • Scripts de práctica de Windows
    • Prácticas con Windows 10
    • Configuración de netplan
    • Terminal shell
      • SSH
      • 🚧Ghostty
      • 🚧Warp: la terminal inteligente
      • tmux: paneles de terminal
      • Tabby: Mejorar terminal
      • Conexión SSH en red NAT con VirtualBox
      • TheFuck!: Corrección de comandos
      • Wave: Mejorar terminal Linux
      • 🚧Registros de sesiones
    • Instalación manual de Wordpress en CDMON
    • 🏗️Proxmox
    • 🚧TrueNAS
    • Docker
      • Instalación de Docker
      • Dockerfiles
      • Volúmenes de docker
      • Deployment web con Docker con ejemplos
        • 🚧PRACTICA: Node.js con docker
      • Docker Compose
        • Ejemplo 1: Implantación de Wordpress
        • Ejemplo 2: Implementación de servidor con Nginx, Flask y mySQL
        • Ejemplo 3: Implantación de onlyoffice
        • 🚧Ejemplo 4: Passbolt
        • 🚧PRACTICA: Creando una web de emulación de juegos con docker-compose
      • Monitorización con Grafana en Docker
      • Pi-hole con docker
      • Actividad clase: Deployment app
      • Proyectos self-hosted de docker
    • 🚧Ansible
      • Configuración de laboratorio de ansible
    • 🚧Monitorización de servicios y redes
      • Servicios y cronjobs
      • 1Panel
      • 🚧WatchYourLAN
      • 🚧Uptime-kuma
      • 🚧Netdata
      • 🚧Prometheus + Grafana + Loki
    • LDAP
      • 🚧Gestión gráfica de LDAP
      • Carpetas compartidas NFS
      • PRACTICA: Infraestructura LDAP
  • 🗃️Servicios
    • 🚧Servidor hosting público
    • DHCP
      • DHCP con Ubuntu
      • 🦖DHCP & DNS script
      • DHCP con Alpine
        • Alpine - configuración de red
    • DNS
      • 😡Comprobación DNS
      • Script para enumeración DNS
      • DNS con ubuntu server
      • 🏗️DNSmasq
      • 🚧Securizar servidor DNS
    • Web
      • IIS con Windows server
      • Apache
        • Instalación de LAMP en Ubuntu
          • Prueba de servidor LAMP
          • 🚧Configuración de seguridad de Ubuntu
          • Creación de un VirtualHost en LAMP
          • Creación de varios VirtualHosts en LAMP
          • 🚧Instalación por script de LAMP
        • Aplicaciones con LAMP
          • Instalación de WP en entorno LAMP
          • 🚧Instalación de MantisBT en LAMP
            • 👷Guía de MantisBT
          • 🚧Instalación de QDPM con LAMP
      • Nginx
        • Virtualhosts
        • Instalando Wordpress en nginx
      • 👷MEAN stack
      • 👷‍♂️Caddy
      • 🚧Plesk
      • 🚧Ajenti -Web interface
    • 🏗️Proxy
      • Nginx como proxy inverso y balanceador
      • 🚧Zoraxy
    • Mailing
      • 🚧Servidor Mail con cloudfare
      • 🚧Reenvío de correos de root
      • 🚧Roundcube como MUA
      • Comprobación ESMTP
      • 🚧Seguridad en mailing
      • 🚧Mailhog
    • 🏗️File transfer
      • 🚧FTP
      • Git
    • Sistemas de comunicación instantánea
      • Comunicación mediante CLI
      • Ejabberd - XMPP
        • 🚧Ejabberd con docker
      • 🚧Openfire - XMPP
      • 🚧Comunicaciones servidor-móvil
    • 🏗️Multimedia services
      • Stremio
      • Ver anime por CLI
      • Jellyfin
      • 🚧HLS sobre Apache
      • 🚧Servicio autohospedado de videoconferencia
      • 🚧Morphos: Conversor docs
      • 🚧Reproductores de música en CLI
      • 🚧Icecast - música en streaming
      • 🚧RTMP-HLS server
      • 🚧Guacamole
  • 🖱️Hardware
    • 🚧Identificando conectores
    • Curso de electrónica analógica
    • Alcanzar los 3200MHz con la RAM
    • Calculadora de cuellos de botella
    • 🚧PXE: Bootear sistemas en red
    • 🚧PRÁCTICA - Clonación de disco con Clonezilla
    • Logitech iFixit
  • 🕸️Redes
    • Apuntes IPv4 Alina
    • ¿Cómo diferenciar tantos elementos de red?
    • 🚧IPv6
    • PRÁCTICA - Subneteo con IPcalc en Linux
    • PRÁCTICA - Comandos de red en Windows
    • 🚧PRÁCTICA - Comandos de red en Linux
    • Herramientas de red
      • 🚧TCPDump: analizado de paquetes en red
      • PRÁCTICA - Netsh
      • 🚧PRÁCTICA - mtr.ping.pe
      • 🚧Netcat
    • Wireshark
    • VPN y escritorio remoto
      • Comunicación punto a punto con ngrok
      • 🚧VPN
    • Escaneo de red
      • PRÁCTICA - Mapeado de red con Draw.io
      • 🚧PRÁCTICA - Nmap/Zenmap
    • Redes inalámbricas
      • Wi-fi
        • 🚧PRÁCTICA - Configuración de router
        • 🚧PRÁCTICA - Como hacer un Wifi Heatmap
        • 🚧Seguridad de redes inalámbricas
        • PRÁCTICA - Crackear la contraseña del Wifi con WPA/WPA2
    • PRÁCTICA - Usar SSH en Cisco packet tracer
  • 🛑Ciberseguridad
    • 🚧Securizando un servidor Linux
      • Protégete de ataques de fuerza bruta con Fail2ban
      • Firewall
        • UFW (uncomplicated firewall)
          • GUFW - Interfaz gráfica de ufw
        • 🚧IPTables
        • 🚧PFsense
          • 🚧DMZ con PFsense
      • 🚧Passbolt: gestor de contraseñas autohospedado
      • 🚧Hashes y encriptación
      • 🚧Certificados SSL/TLS
      • Copias de seguridad
    • 🚧Alerta de escaneo de puertos
    • 🚧Google dorks
    • 🚧Enumeración DNS
    • Comandos destructivos de linux
    • Webs enseñanza cyber
    • Wireless Pentesting CheatSheet Github
    • The password game!
    • Personal Security Checklist
  • 🔌Arduino
    • Termómetro e higrómetros digitales y online con Arduino
    • Construyendo un coche multipropósito
      • Multi
      • Montaje del auto
    • Arduino con Sigfox para IoT
    • 10 proyectos de Arduino
  • 📚Recursos y libros
    • Media library: libros varios
    • Herramientas básicas de sysadmin
  • 🌍Sostenibilidad y digitalización
    • Portfolio curso digitalización MOOC
    • 🚧Explotación de recursos por IA
    • 🚧Nuevas tecnologias y comunicaciones
    • 🚧Enlaces sobre Inteligencia artificial
Con tecnología de GitBook
En esta página
  • Instalación de LEMP Stack
  • Instalación de WordPress:
  1. Servicios
  2. Web
  3. Nginx

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 upgrade

2. Instalación de Nginx:

sudo apt install nginx

3. Instalación de MySQL (MariaDB):

sudo apt install mariadb-server
sudo mysql_secure_installation

Sigue 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-mysql

5. Configuración de Nginx para PHP:

Crea un archivo de configuración para tu sitio en Nginx:

sudo nano /etc/nginx/sites-available/alexwp.org

Ejemplo 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ámetro SCRIPT_FILENAME para 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 .htaccess y 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/alexwp

Elimina el archivo de configuración predeterminado si no lo necesitas:

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

Verificamos la configuración:

sudo nginx -t

Reiniciamos Nginx:

sudo service nginx restart

Instalació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/alexwp

2. Configuración de la base de datos para WordPress:

sudo mysql -u root -p

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

Para comprobar las bases de datos creadas escribe:

SHOW databases;

Para comprobar los usuarios creados:

USE mysql;

SELECT User FROM user;

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.php

Vamos a editar el archivo de configuración y realizar los cambios necesarios:

sudo nano /var/www/alexwp/wp-config.php

Busca 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".

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/alexwp

5. 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".

AnteriorVirtualhostsSiguienteMEAN stack

Última actualización hace 7 meses

Ahora puedes generar nuevas Secret keys y Salts de seguridad en el y reemplazar las líneas existentes en tu archivo wp-config.php:

generador oficial de WordPress
🗃️
Page cover image