Apuntes de Kirby
  • 👀whoami
  • 🦉Redes
    • Introducción Redes
      • Organizaciones
      • Historia
      • Puntos de conexión
      • Métodos de acceso a la red
    • Clasificación de las redes
    • Topología de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento estático
    • Enrutamiento dinámico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 🚧Redes conmutadas
    • CML
      • 🚧1er CML lab
    • CISCO
      • ¿Qué son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 🚧Suricata
  • 🐝Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 🚧Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP vía IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 🚧Mensajería instantánea
      • Ejabberd
    • 🚧Imágenes - Vídeos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 🔑Seguridad
    • NAS
      • Instalación Synology NAS en VirtualBox
        • Creación de volúmenes y su uso
        • Actualización Synology NAS
        • Creación de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuración de los servicios de archivos
          • Configuración de red
          • Copias de seguridad (restauración)
          • Seguridad
          • Personalizar páginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • ¿Qué son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 🐳Virtualización
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • Añadir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Clúster
      • Red Interna
      • 🚧Proxmox Backup
      • 🚧Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 🐞Misceláneas
    • Datos - codificación
    • IPTables
    • Túnel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Capítulo 0 Blink
      • Capítulo 1 Led
      • Capítulo 2 Botton & LED
  • ⁉️Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page
  • Introducción
  • Configurando la aplicación web
  • Configurando Nginx

Was this helpful?

Edit on GitHub
  1. Servicios
  2. Servidores Web
  3. Nginx

Nginx: PHP y MySQL

Una aplicación con PHP y MYSQL

PreviousPHP-FPMNextMySQLi - PHP

Last updated 7 months ago

Was this helpful?

Introducción

En esta sección vamos a ver el mismo ejemplo de aplicación web utilizando php y mysql que está configurado con docker, solo que, en este caso, vamos a ver cómo se haría la configuración nativa, en el sistema.

El ejemplo en cuestión es el mismo utilizado en la sección contenedores - docker - docker-compose - ejemplo para levantar un sitio web programado con PHP, que se conecta a una DB en MySQL, utilizando la actividad llamada LoginRegister realizada en 1º año de Asix. Para ello necesitamos los servicios activos de:

  • Apache o Nginx para levantar el servicio web

  • MySql para la base de datos

  • PHP para el lenguaje de programación

  • Phpmyadmin, si me quiero conectar a un gestor de DB, aunque no lo voy a utilizar.

Configurando la aplicación web

En el directorio /var/www/ creamos una carpeta que va a contener nuestros archivos de la aplicación web. Yo le he llamado simplemente example.com:

Como podréis observar el dueño de la carpeta se llama www-data y no root, es es porque tenemos que modificar los archivos del directorio:

chown -R www-data:www-data /var/www/example.com

Volcamos el contenido dentro del directorio obteniendo lo siguiente:

Tendrás que tener en cuenta que en el archivo conexion.php debes modificar los parámetros de conexión a la base de datos, como mínimo el password:

Configurando Nginx

Vamos ahora a la configuración de Nginx. Para ello nos vamos al directorio /etc/nginx/sites-available/ creamos (podemos copiar y pegar del archivo default) un archivo con el nombre de nuestro sitio web. En este caso, example.com.conf:

server { 
  listen 80; 
  ## define root path
  root /var/www/example.com;

  error_log  /var/log/nginx/error-example.log;
  access_log /var/log/nginx/access-example.log;
  index index.php index.html;

  ## define location php
  location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }
}

Recuerda que tenemos que crear un enlace directo en /etc/nginx/sites-enable/example.com.conf

$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Ahora solo nos queda comprobar que no hayamos cometido un error con la configuración y actualizar el servicio de Nginx:

sudo nginx -t
sudo nginx -s reload

Para poder acceder a nuestro sitio web con el nombre de dominio que le hemos asignado tenemos que modificar el archivo /etc/hosts:

Finalmente, nos vamos al navegador y accedemos a nuestro sitio:

🐝
/var/www/example.com
Contenido en /var/www/example.com
Archivo conexion.php
Archivo /etc/hosts
example.com