Alojamiento para Laravel

Diferentes opciones para alojar una aplicación en Laravel

VPS:

VPS en DigitalOcean.com

App Platform

Forge

Cloudways

Setup a Droplet for Laravel 8

Configuración del alojamiento:

Configuración inicial del servidor con Ubuntu 20.04

ssh root@alumno.xyz

cat /root/.digitalocean_password
root_mysql_pass="e21ba1a79f9b6c3b780c8af6b7d53aabe697266be4fd8f82"

passwd

adduser paco
usermod -aG sudo paco

apt install mc

apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update

apt install php8.0-fpm

php -v

systemctl status php8.0-fpm

apt-get install php8.0-mysql php8.0-mbstring php8.0-xml php8.0-bcmath

# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/mydomain

cp /etc/nginx/sites-available/default /etc/nginx/sites-available/todo

nano /etc/nginx/sites-available/todo

Modificar las directivas root (con la ruta propia) y server_name (con el dominio propio)

server {
        listen 80;
        listen [::]:80;
        # SSL configuration
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;

        # Set root directive with your /public Laravel directory
        root /home/paco/todo/public;
        # Set index directive with index.php
        index index.php;

        # Set server_name directive with the hostname
        server_name todo.alumno.xyz;

        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.0-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Reiniciar el servidor web Nginx

ln -s /etc/nginx/sites-available/todo /etc/nginx/sites-enabled/
nginx -t
service nginx restart

Configuración de la base de datos

apt install mysql-server
mysql_secure_installation
(poner password de la base de datos)

mysql -u root -p

CREATE DATABASE db_laravel8;
CREATE USER 'userdb'@'localhost' IDENTIFIED BY 'malaga20*';
GRANT ALL PRIVILEGES ON * . * TO 'userdb'@'localhost';
FLUSH PRIVILEGES;
exit

Configura el cortafuegos

ufw allow 'Nginx HTTP'

ufw allow 'OpenSSH'

ufw enable

ufw status

Configuración del certificado para usar https

apt-get install certbot python3-certbot-nginx
# certbot --nginx -d host.mydomain.com
certbot --nginx -d alumno.xyz -d todo.alumno.xyz

Instalar webmin

(abrir puerto 10000 en el firewall)

ufw allow 10000

https://alumno.xyz:10000/

Deja una respuesta