Alojamiento para Laravel
Alojar una aplicación con Laravel en un VPS de DigitalOcean
Configuración del alojamiento en el VPS con Laravel en el Marketplace de DigitalOcean.com:
Configuración del alojamiento en el VPS con LEMP:
Configuración inicial del servidor con Ubuntu 20.04

Crear un nuevo usuario en el VPS
ssh root@alumno.me
adduser paco usermod -aG sudo paco apt install mc php -v logout
Conectarse con el nuevo usuario
ssh usuario@alumno.me
Modificar el fichero de configuración del servidor principal
sudo nano /etc/nginx/sites-available/digitalocean
Contenido del fichero /etc/nginx/sites-available/digitalocean
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/html;
index index.php index.html;
# Make site accessible from http://alumno.me
server_name alumno.me;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
Modificar server_name (con el dominio propio)
server_name alumno.me;
Configuración del certificado para usar https en el dominio alumno.me
sudo apt install certbot python3-certbot-nginx # certbot --nginx -d host.mydomain.com sudo certbot --nginx -d alumno.me
Acceso desde el navegador
Modificar el fichero de configuración del servidor virtual
sudo nano /etc/nginx/sites-available/laravel
Contenido del fichero /etc/nginx/sites-available/laravel
server {
listen 80;
# Set root directive with your /public Laravel directory
root /home/usuario/notesApp/public;
# Set index directive with index.php
index index.php;
# Set server_name directive with the hostname
server_name laravel.alumno.me;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Modificar la directiva root (con la ruta propia):
root /home/usuario/notesApp/public;
server_name (con el dominio propio)
server_name laravel.alumno.me;
y la configuración de php (con la versión usada de php)
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
Enlazar el fichero todo en sites-available a la carpeta sites-enabled para habilitar el servidor virtual
ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
Reiniciar el servidor web Nginx
sudo nginx -t sudo systemctl restart nginx sudo systemctl status nginx
Añadir un registro tipo A en el DNS
laravel -> droplet
Dar permiso de acceso a la carpeta personal a todos los usuario (para que pueda acceder el usuario propietario del servidor web)
sudo chmod 755 /home/usuario
Comprobación del funcionamiento del servidor virtual laravel.alumno.me
cd ~ mkdir -p todo/public nano todo/public/index.php
contenido del fichero index.php en la carpeta home/usuario/todo/public
Servidor virtual para la Aplicación en Laravel <?php echo "<br>"; echo "PHP funciona bien";
Acceso desde el navegador al servidor virtual:
Configuración del cortafuegos
ufw allow 'Nginx HTTP' ufw allow 'OpenSSH' ufw enable ufw status
Configuración del certificado para usar https en el subdominio laravel.alumno.me
# sudo apt install certbot python3-certbot-nginx # certbot --nginx -d host.mydomain.com sudo certbot --nginx -d laravel.alumno.me
Acceso desde el navegador



Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.