Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comprobar el servicio:
En este momento, es posible acceder a la página web por defecto de Nginx poniendo la
dirección Ip del servidor o su nombre de dominio en caso de que se pueda resolver con
un servidor DNS o a través de un fichero hosts.
Nginx Tiene activado un servidor virtual por defecto que es el que responde cuando no
hay un servidor virtual específico configurado para ese dominio, su fichero de
configuración esta en /etc/nginx/sites-available/default;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
Para crear un servidor virtual en Nginx hay que crear su archivo de configuración
en /etc/nginx/sites-available para despues activarlo. Nginx no tiene en cuenta las
configuraciones de los sitios del directorio sites-available, para que se añada la
configuracion de un sitio creado en sites-available al archivo de configuración principal
hay que crear un enlace simbolico que apunte ese fichero de configuración
desde /etc/nginx/sites-enabled, de esa forma quedará activado o lo que es lo mismo,
Nginx añadirá su configuración al archivo de configuración principal
en /etc/nginx/nginx.conf.
El sitio web por defecto de Nginx es un servidor virtual con su archivo de configuracion
en /etc/nginx/sites-available/default y su enlace en /etc/nginx/sites-enabled/default
server {
listen 80;
listen [::]:80;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/starenterprise;
server_name www.starenterprise.es;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
- listen: indica los puertos de escucha tanto para IPv5 como para IPv6
- server-name: especifica el nombre de dominio al que se asocia el servidor virtual
- root: indica el directorio que contendrá los archivos que forman el sitio web; archivos
html, imágenes,etc.
- index: aquí se enumeran los archivos que se buscarán en primer lugar dentro del
directorio, es decir, los archivos índice.
- location: En este bloque se indican una serie de configuraciones concretas de esta ruta o
directorio del sitio web. La directiva try_files indica que el recurso solicitado (URL) ha de
resolverse como un archivo, en caso contrario como un directorio y como ultima opción
error 404.
Los archivos web del servidor por defecto se alojan en /var/www/html, para el sitio
starenterprise.es vamos a crear el directorio /var/www/starenterprise y crearemos el
archivo index.html que aparecerá como página de inicio del sitio.
<html>
<head>
<title>
Sitio de Starenterprise
</title>
</head>
<body>
<h1>Bienvenidos a la web de Starenterprise</h1>
</body>
</html>
Para activar el servidor virtual hay que crear el enlace simbólico en /etc/sites-
enebled/starenterprise.es.conf que apunte a
/etc/nginx/sites-available/starenterprise.es.conf
root@cloud-server:~# ln -s /etc/nginx/sites-available/starenterprise.es.conf
/etc/nginx/sites-enabled/
root@cloud-server:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@cloud-server:~# systemctl reload nginx.service
Instalación de openssl:
Generar CSR (Certificate Singning Request): Normalmente este archivo csr es lo que se
manda a la autoridad certificadora que emite el certificado y lo firma digitalmente para
asegurar su autenticidad. En este caso el certificado lo generaré yo y será un certificado
autofirmado
Para configurar el certificado en nuestro servidor virtual, hay que añadir las lineas de
configuracion correspondientes a SSL en el archivo de configuración del sitio
/etc/nginx/sites-available/starenterprise.es.conf.
root@cloud-server:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@cloud-server:~# systemctl reload nginx.service
root@cloud-server:~# systemctl status nginx
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
Este bloque de ubicación dirige la peticiones php al archivo php7.3-fpm.sock,
que es el socket asociado a php-fpm.
Tras guardar los cambios hay que comprobar que no haya errores de sintaxis y
recarcar la configuración de Nginx:
root@cloud-server:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@cloud-server:~# systemctl reload nginx
<?php
phpinfo();
?>