Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| python:django:how_to_deploy_on_apache_ubuntu [2025/11/22 03:03] – FIX apressato | python:django:how_to_deploy_on_apache_ubuntu [2025/11/22 04:13] (versione attuale) – FIX apressato | ||
|---|---|---|---|
| Linea 6: | Linea 6: | ||
| ===== 1. Configurare il backend Web ===== | ===== 1. Configurare il backend Web ===== | ||
| - | ==== 1.1. Configurazione | + | ==== 1.1. Configurazione |
| === 1.1.1. Installazione software per l' | === 1.1.1. Installazione software per l' | ||
| Loggarsi come utente <# | Loggarsi come utente <# | ||
| Linea 27: | Linea 27: | ||
| < | < | ||
| - | === 1.1.2. | + | === 1.1.2. |
| == Creazione virtual environment con UV == | == Creazione virtual environment con UV == | ||
| Linea 59: | Linea 59: | ||
| </ | </ | ||
| - | === Modifiche a '' | + | === 1.1.3. |
| Il file settings richiede alcune modifiche post deploy per il corretto funzionamento. | Il file settings richiede alcune modifiche post deploy per il corretto funzionamento. | ||
| < | < | ||
| Linea 155: | Linea 155: | ||
| </ | </ | ||
| - | === 1.1.3. Ultimi ritocchi al progetto === | + | === 1.1.4. Ultimi ritocchi al progetto === |
| Preparazione il DB | Preparazione il DB | ||
| <cli> | <cli> | ||
| Linea 168: | Linea 168: | ||
| < | < | ||
| + | ==== 2.1. Configurare Daphne con Systemd ==== | ||
| + | === 2.1.1. Creare il service file === | ||
| + | < | ||
| + | === 2.1.2. Contenuto del service file === | ||
| + | < | ||
| + | [Unit] | ||
| + | Description=Daphne ASGI Server per <# | ||
| + | After=network.target | ||
| + | |||
| + | [Service] | ||
| + | Type=simple | ||
| + | User=<# | ||
| + | Group=<# | ||
| + | WorkingDirectory=/ | ||
| + | Environment=" | ||
| + | Environment=" | ||
| + | |||
| + | ExecStart=/ | ||
| + | -b 127.0.0.1 \ | ||
| + | -p 8001 \ | ||
| + | --proxy-headers \ | ||
| + | --access-log - \ | ||
| + | <# | ||
| + | |||
| + | Restart=on-failure | ||
| + | RestartSec=5s | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | === 2.1.3 Avviare il servizio === | ||
| + | <cli> | ||
| + | sudo systemctl daemon-reload | ||
| + | sudo systemctl start daphne-<# | ||
| + | sudo systemctl enable daphne-<# | ||
| + | sudo systemctl status daphne-<# | ||
| + | </ | ||
| + | |||
| + | ==== 3.1 Configurare Apache ==== | ||
| + | === 3.1.1 Backup della configurazione esistente === | ||
| + | <cli> | ||
| + | sudo cp / | ||
| + | </ | ||
| + | |||
| + | === 3.1.2. Modificare 010-miosito.com.conf === | ||
| + | < | ||
| + | |||
| + | === 3.1.3. Configurazione da aggiungere === | ||
| + | < | ||
| + | # ===== CONFIGURAZIONE DJANGO - SOTTOCARTELLA ===== | ||
| + | |||
| + | # File statici Django | ||
| + | Alias /<# | ||
| + | < | ||
| + | Require all granted | ||
| + | Options -Indexes | ||
| + | </ | ||
| + | |||
| + | # File media Django | ||
| + | Alias /<# | ||
| + | < | ||
| + | Require all granted | ||
| + | Options -Indexes | ||
| + | </ | ||
| + | |||
| + | # Proxy per Django (sottocartella) | ||
| + | ProxyPreserveHost On | ||
| + | |||
| + | # Non fare proxy di static e media | ||
| + | ProxyPass /<# | ||
| + | ProxyPass /<# | ||
| + | |||
| + | # WebSocket per Django (se necessario) | ||
| + | RewriteEngine On | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteRule ^/<# | ||
| + | |||
| + | # Proxy HTTP per Django | ||
| + | ProxyPass /<# | ||
| + | ProxyPassReverse /<# | ||
| + | </ | ||
| + | |||
| + | ==== 4.1 Impostare i Permessi ==== | ||
| + | Dare ownership all' | ||
| + | <cli> | ||
| + | sudo chown -R <# | ||
| + | sudo chown -R <# | ||
| + | sudo chown -R <# | ||
| + | </ | ||
| + | |||
| + | Permessi corretti | ||
| + | <cli> | ||
| + | sudo chmod -R 755 / | ||
| + | sudo chmod -R 775 / | ||
| + | sudo chmod -R 775 / | ||
| + | sudo chmod 644 / | ||
| + | </ | ||
| + | |||
| + | Permettere ad Apache di leggere i file | ||
| + | <cli> | ||
| + | sudo chmod 755 / | ||
| + | sudo chmod 755 / | ||
| + | </ | ||
| + | |||
| + | Ricaricare la configurazione | ||
| + | < | ||
| + | |||
| + | ===== 2. Controlli ===== | ||
| + | ==== 2.1. Controlla il file di servizio ==== | ||
| + | <cli> | ||
| + | sudo systemctl cat daphne-<# | ||
| + | </ | ||
| + | |||
| + | ==== 2.2. Verifica lo status dettagliato ==== | ||
| + | <cli> | ||
| + | sudo systemctl status daphne-<# | ||
| + | </ | ||
| + | |||
| + | ==== 2.3. Controlla i log completi ==== | ||
| + | <cli> | ||
| + | sudo journalctl -u daphne-<# | ||
| + | </ | ||
| + | Per capire quale file settings.py viene caricato | ||
| + | li> | ||
| + | sudo journalctl -u daphne-<# | ||
| + | </ | ||
| + | |||
| + | ===== 3. Test ===== | ||
| + | ==== 3.1. Riavviare il servizio Dafne ==== | ||
| + | Il file settings.py viene caricato all' | ||
| + | Quindi prima di testare riavviare il servizio. | ||
| + | <cli> | ||
| + | sudo systemctl restart daphne-<# | ||
| + | </ | ||
| + | ==== 3.2. Test di Accesso ==== | ||
| + | Per testare aprire un bowser e puntare a **http:// | ||

