Este post es un recordatorio para mí pero a su vez un tutorial. Se trata de cómo subir un proyecto de PHP que usa composer, a un VPS con Linux Ubuntu.
Esto también sirve para subir y montar una aplicación de Laravel o, como lo dije, cualquier aplicación que utilice composer.
Obviamente puedes saltar, mejorar o agregar los pasos.
Instalando LAMP
El servidor debe tener Apache, PHP y MySQL o MariaDB. Mira este tutorial para instalarlos en caso de que no estén instalados.
Subir proyecto e instalar dependencias
Copiar todos los archivos del proyecto al servidor, exceptuando la carpeta vendor
pues esa carpeta se va a generar a instalar las dependencias. No olvides incluir los archivos composer.json
y composer.lock
.
Se puede hacer con:
scp -r proyecto usuario@servidor.com:/home/usuario/
Con eso subimos el proyecto. Ahora iniciamos sesión en el VPS:
ssh usuario@servidor.com
Entramos a la carpeta del proyecto:
cd proyecto
Instalamos dependencias
composer install
Base de datos: opcional
Si es necesario, creamos el usuario y base de datos. Iniciamos la consola de mysql:
sudo mysql
Creamos base de datos:
create database mi_base_de_datos;
Creamos un usuario:
create user admin_proyecto@localhost identified by 'tu_contraseña';
Damos permisos:
grant all privileges on mi_base_de_datos.* to admin_proyecto@localhost;
Salimos con exit
y si es necesario importar un esquema, ejecutamos:
mysql -u admin_proyecto -p mi_base_de_datos < ubicación/esquema.sql
Ahora configuramos el archivo de entorno con las credenciales del usuario.
Moviendo proyecto a directorio público
Hasta ahora hemos instalado las dependencias y configurando el archivo de entorno desde /home/usuario
pero es momento de moverlo. Así que salimos de ese directorio con cd ..
y luego ejecutamos:
sudo mv proyecto /var/www/public_html
Con eso lo vamos a mover al directorio público ya con todo y dependencias. Ahora queda una cosa más, y es darle permisos a los archivos de PHP en caso de que lo requiera. Ejecutamos:
sudo chown -R www-data:www-data /var/www/public_html/proyecto
Y con eso debería ser suficiente. Ahora visita tusitio.com/proyecto
y todo debería funcionar.