# Aplicación de prueba Asegúrate de contar con los [Requisitos](https://gitlab.com/pasosdeJesus/msip/blob/main/doc/requisitos.md) ## 1. Base de datos ### 1.1 Como superusuario crea un usuario en la base de datos Como administrador de PostgreSQL (en adJ suele ser la cuenta `_postgresql` crea un usuario para la base de datos (digamos `msipdes` que es usado en los ejemplos y archivos de configuración de manera predeterminada): ``` $ doas su - _postgresql $ createuser -Upostgres -h /var/www/var/run/postgresql/ -s msipdes $ psql -Upostgres -h /var/www/var/run/postgresql/ psql (12.5) Type "help" for help. postgres=# ALTER USER msipdes WITH PASSWORD 'nuevaclave'; postgres=# \q $ exit ``` En el ejmplo anterior remplaza `nuevaclave` por la clave que le pondrás. ### 1.2 Como desarrollador crea base de datos Desde tu cuenta de desarrollador en el sistema operativo, puedes facilitar la interacción con las bases de datos del usuario `msipdes` (o el que tengas) y que no solicite clave para operar, agregando el usuario y su clave al archivo `~/.pgpass`: ``` echo "*:*:*:msipdes:nuevaclave" >> ~/.pgpass ``` Crea la base de datos para el modo de desarrollo que se llama `msipdes_des` de manera predeterminada, o el nombre que prefieras (sugerimos que lo hagas con las herramientas de PostgreSQL pues en ocasiones esta operación no se logra completar solo con `rails`): ```sh createdb -h /var/www/var/run/postgresql -U msipdes msipdes_des ``` ## 2. Gemas Asegura que puedes instalar las gemas requeridas por la aplicación, no sólo configurando bundler para instalar gemas en un directorio de la forma `/var/www/bundler-miusuario`, tanto de forma general (como se indica en el documento de [Requisitos](https://gitlab.com/pasosdeJesus/msip/blob/main/doc/requisitos.md) como de manera particular en el directorio del motor (digamos que sea `$HOME/comp/rails/msip`) con: ``` cd $HOME/comp/rails/msip mkdir .bundle cat > .bundle/config <), puedes ingresar con el usuario `msip` y la clave `msip` Si prefieres o necesitas SSL, empleando un certificado del cual dejas las llaves pública y privada en `tmp/llave-publica.crt` y `tmp/llave-privada.key`, configura `IPDES` y `PUERTODES` en `.env` con algo como: ``` PUERTODES= ``` y ``` IPDES="ssl://192.168.10.1:3000?key=tmp/llave-privada.key&cert=tmp/llave-publica.crt" ```