Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arturocarrillojimenez/practica-daw-1.2
Despliegue de una aplicación sencilla mediante un scripts de Linux en la pila LAMP, esto nos facilita mucho a la hora de realizar despliegues y nos agiliza el trabajo
https://github.com/arturocarrillojimenez/practica-daw-1.2
despliegue lamp
Last synced: 17 days ago
JSON representation
Despliegue de una aplicación sencilla mediante un scripts de Linux en la pila LAMP, esto nos facilita mucho a la hora de realizar despliegues y nos agiliza el trabajo
- Host: GitHub
- URL: https://github.com/arturocarrillojimenez/practica-daw-1.2
- Owner: ArturoCarrilloJimenez
- Created: 2024-10-15T12:20:01.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T17:33:58.000Z (3 months ago)
- Last Synced: 2024-11-07T17:34:48.833Z (2 months ago)
- Topics: despliegue, lamp
- Language: Shell
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Practica-daw-1.2
Este es una continuación de la practica 1.1, para opener toda la información te recomido que le eches primero un vistazo a la [documentación de este](https://github.com/ArturoCarrilloJimenez/Practica-daw-1.1)
## Despliega de una aplicación sencilla
En primer lugar crearemos en la carpeta ``scrips`` el archivo ``deploy.sh``
En este realizaremos el despliega de este, comenzaremos con la misma estructura que el ejercicio anterior
``` sh
#!/bin/bashset -ex
source .env
```Realizaremos el despliegue mediante GitHub, para esto es necesario eliminar en primer lugar si hay algún repositorio ya clonado, este se encuentra en la carpeta ``/tmp/iaw-practica-lamp``, esto lo realizaremos con el siguiente comando
``` sh
rm -rf /tmp/iaw-practica-lamp
```A continuación clonaremos un repositorio para realizar el despliega en la ruta donde anteriormente emos eliminado los repositorios anteriores
``` sh
git clone https://github.com/josejuansanchez/iaw-practica-lamp.git /tmp/iaw-practica-lamp
```Para poder mostrar el contenido de este en el navegador debemos llevar todo el contenido a la carpeta ``/var/www/html``
``` sh
mv /tmp/iaw-practica-lamp/src/* /var/www/html
```Una vez aquí crearemos una base de datos para esta aplicación con MySQL
``` sh
mysql -u root <<< "DROP DATABASE IF EXISTS $DB_NAME;"
mysql -u root <<< "CREATE DATABASE $DB_NAME;"
```Ademas debemos de añadir en nuestro archivo ``.env`` la variable de ``DB_NAME`` para poner el nombre de nuestra base de datos, en mi caso le llamare ``db_name``
Crearemos un usuario y lo asociaremos a esta base de datos para no asociar el usuario root a esta, asi en caso de robo de información solo cogerán las que estén asociadas a este usuario y no todas las que tengamos
``` sh
mysql -u root <<< "DROP USER IF EXISTS '$DB_USER'@'localhost';"
mysql -u root <<< "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';"
mysql -u root <<< "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
```Ademas añadiremos a el archivo ``.env`` los siguientes datos
``` sh
DB_USER=user
DB_PASSWORD=password
DB_NAME=db_name
```A continuación modificaremos la conexión a la base de datos de la aplicación en el config.php
``` sh
sed -i "s/database_name_here/$DB_NAME/" /var/www/html/config.php
sed -i "s/username_here/$DB_USER/" /var/www/html/config.php
sed -i "s/password_here/$DB_PASSWORD/" /var/www/html/config.php
```Modificaremos el script de creación de la base de datos
``` sh
sed -i "s/lamp_db/$DB_NAME/" /tmp/iaw-practica-lamp/db/database.sql
```Para finalizar ejecutaremos el script de creación de la base de datos
``` sh
mysql -u root $DB_NAME < /tmp/iaw-practica-lamp/db/database.sql
```Una vez hecho todo esto tendremos desplegada una aplicación básica que podremos consultar con la ip de nuestra instancia