Esta información la he extraido del siguiente POST:
Digital Ocean - Set Up Django with Postgres on Debian 10
Aquí ya empezamos con la configuración e instalación de la primera de las apps que tendrá nuestro droplet. En este caso, se trata de este mismo blog. Una aplicacion web escrita dentro del stack Python/Django. En resumen:
- Instalando los paquetes necesarios: lo primero es instalar los paquetes necesarios de pip, postgre, etc.
trama@laestanciaazul:~$ sudo apt update trama@laestanciaazul:~$ sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl
- Configuramos postgreSQL: lo siguiente es crear la base de datos y configurar el usuario en postgreSQL:
trama@laestanciaazul:~$ sudo -u postgres psql trama@laestanciaazul:~$ CREATE DATABASE laestanciaazul; postgres=# CREATE USER myprojectuser WITH PASSWORD 'password'; postgres=# ALTER ROLE myprojectuser SET client_encoding TO 'utf8'; postgres=# ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed'; postgres=# ALTER ROLE myprojectuser SET timezone TO 'UTC'; postgres=# GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser; postgres=# \q
- Configuración del entorno virtual: antes de empezar a instalar ningún modulo de python, vamos a configurar un entorno virtual para evitar problemas de dependencias y escalabilidad a futuro:
trama@laestanciaazul:~$ sudo -H pip3 install --upgrade pip trama@laestanciaazul:~$ sudo -H pip3 install virtualenv trama@laestanciaazul:~$ virtualenv webenv trama@laestanciaazul:~$ source webenv/bin/activate (webenv) trama@laestanciaazul:~$
- Instalación de todos los modulos necesarios: aquí suponemos que tenemos un fichero requirements.txt que nos indica los módulos de la aplicación que queremos desplegar. En este caso podemos instalarlos todos mediante un único comando:
(webenv) trama@laestanciaazul:~$ pip install -r requirements.txt