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
# servidor VPS con LEMP ssh root@alumno.me adduser paco usermod -aG sudo paco logout ssh paco@alumno.me apt install mc php -v sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php8.2-fpm sudo systemctl status php8.2-fpm sudo apt-get install php8.2-mysql php8.2-mbstring php8.2-xml php8.2-bcmath nano /etc/nginx/sites-available/todo
Contenido del fichero /etc/nginx/sites-available/todo
server { listen 80; listen [::]:80; # Set root directive with your /public Laravel directory root /home/usuario/todo/public; # Set index directive with index.php index index.php; # Set server_name directive with the hostname server_name todo.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.2-fpm.sock; } location ~ /\.ht { deny all; } }
Modificar la directiva root (con la ruta propia):
root /home/usuario/todo/public;
server_name (con el dominio propio)
server_name todo.alumno.me;
y la configuración de php (con la versión usada de php)
fastcgi_pass unix:/var/run/php/php8.2-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/todo /etc/nginx/sites-enabled/
Reiniciar el servidor web Nginx
nginx -t service nginx restart
Comprobación del funcionamiento del servidor virtual todo.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 ToDo <?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 todo.alumno.me
apt-get install certbot python3-certbot-nginx # certbot --nginx -d host.mydomain.com certbot --nginx -d todo.alumno.me
Acceso desde el navegador
Configuración de la base de datos
cat /root/.digitalocean_password root_mysql_pass="e21ba1a79f9b6c3b780c8af6b7d53aabe697266be4fd8f82" apt install mysql-server mysql_secure_installation (poner password de la base de datos) sudo mysql CREATE DATABASE db_laravel; CREATE USER 'userdb'@'localhost' IDENTIFIED BY 'Malaga2122*'; GRANT ALL PRIVILEGES ON * . * TO 'userdb'@'localhost'; FLUSH PRIVILEGES; exit
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.