TCA Instalacion Corregido
TCA Instalacion Corregido
TCA Instalacion Corregido
html
Introducción
Con la presente guia se asume que la o las persona/s encargada/s de realizar la
instalacion posee conocimientos al menos minimos de comandos de shell,
configuración e instalación de paquete.
Requisitos basicos
Requisitos minimos para poder instalar el servidor
Configuracion inicial
Crear usuario para gestionar el servidor
Generalmente se nos proporcionara un usuario root para gestionar el servidor pero
por cuestiones de seguridad es preferible hacerlo
atraves de otro usuario:
Agregar usuario
adduser webapp
1 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
Configurar Firewall
Usaremos ufw
ufw enable
ahora podemos probar si podemos acceder con el usuario que acabamos de crear
ssh webapp@IP_SERVIDOR
2 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
configuramos utf8
\q
3 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=40000
pasv_max_port=50000
$ mkdir /home/webapp/ftp
$ sudo chown nobody:nogroup /home/webapp/ftp
$ sudo chmod a-w /home/webapp/ftp
$ sudo ls -la /home/webapp/ftp #verificar permiso
4 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
Reiniciar el servicio
Probamos con
ftp -p IP_DEL_SERVIDOR
Con esto ya tenemos habilitado el FTP solo nos hace falta subir el proyecto
Configurar virtualenv
Configuraremos un virtualenv e instalaremos los paquetes python necesarios para el
proyecto
mkdir ~/tca-app
cd ./tca-app
crear el virtualenv
virtualenv env
cp -r ~/ftp/minera-tca-backend ~/tca-app/
5 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
source env/bin/activate
cd ./minera-tca-backend
pip install -r requirements.txt
Configurar Gunicorn
Gunicorn se instalo junto con el resto de los paquetes via pip en un paso anterior,
probamos que este corriendo
luego corremos:
cd ~/minera-tca-backend
gunicorn --bind 0.0.0.0:8000 backend.wsgi
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn.sock
[Install]
WantedBy=sockets.target
6 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=webapp
Group=www-data
WorkingDirectory=/home/webapp/tca-app/minera-tca-backend
ExecStart=/home/webapp/tca-app/env/bin/gunicorn \
--access-logfile - \
--workers 2 \
--bind unix:/run/gunicorn.sock \
--timeout 300 \
backend.wsgi:application
[Install]
WantedBy=multi-user.target
Configurar Nginx
7 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
Una ves configurado Gunicorn debemos armar un proxy nginx para servir todo
agregar
server {
listen 80;
server_name YOR_APP_NAME;
location /static/ {
root /home/webapp/tca-app/backend-minera-tca;
}
location /assets/ {
autoindex on;
alias /home/webapp/tca-app/backend-minera-tca/static/dist/assets/;
}
location /media/ {
autoindex on;
alias /home/webapp/tca-app/backend-minera-tca/media_archivos_locales/;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
sudo nginx -t
reiniciamos ngnix
8 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
Por ultimo cerraremos el puerto 8000 que teniamos para pruebas y abriremos los de
Nginx
cd ~/tca-app
source env/bin/activate
pip install -r requirements.txt
[Unit]
Description=Django-RQ Worker
After=network.target
[Service]
WorkingDirectory=/home/webapp/tca-app/minera-tca-backend
ExecStart=/home/webapp/tca-app/env/bin/python \
manage.py \
rqworker high default low
[Install]
WantedBy=multi-user.target
9 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
Habilitar el servicio
Reiniciar Servicios
Reiniciar Gunicorn :
Reiniciar Ngnix :
Reiniciar RQ
Backup de Datos
El backup es unicamente de datos, no incluye configuración ni imagenes.
sudo su postgres
pg_dump -F c tca > "tca_backup_`date +'%Y%m%d_%Hhs%Mmin'`.dump"
Enlaces externos
Tutorial configurar VSFTP - https://www.digitalocean.com/community/tutorials
10 de 11 26/11/19 11:58
Made with Remarkable! file:///home/ricardo/Documentos/aa.html
/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-18-04
Usar Postgresql con Django https://www.digitalocean.com/community/tutorials
/how-to-use-postgresql-with-your-django-application-on-ubuntu-16-04
Instalar Postgresql en Ubuntu https://www.digitalocean.com/community/tutorials
/how-to-install-and-use-postgresql-on-ubuntu-18-04
Configurar Django + gunicorn + ngnix https://www.digitalocean.com/community
/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04
Configurar Redis Digital Ocean - https://www.digitalocean.com/community
/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04
Python RQ - https://python-rq.org/patterns/systemd/
Django-RQ - https://github.com/rq/django-rq
11 de 11 26/11/19 11:58