Installazione Django · 4 min read · Dec 04, 2025

Come Installare Django Su Mandriva 2008.1 (Apache2/mod_python)

Come Installare Django Su Mandriva 2008.1 (Apache2/mod_python)

Versione 1.0
Autore: Falko Timme

Questo tutorial spiega come installare Django su un server Mandriva 2008.1. Django è un framework web che consente di sviluppare rapidamente applicazioni web Python con il massimo grado di automazione possibile. Lo utilizzerò con Apache2 e mod_python in questa guida.

Questo howto è inteso come una guida pratica; non copre gli aspetti teorici. Questi sono trattati in molti altri documenti sul web.

Questo documento viene fornito senza alcuna garanzia di alcun tipo! Voglio dire che questo non è l’unico modo per impostare un sistema del genere. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che seguo. Non rilascio alcuna garanzia che questo funzionerà per te!

1 Installare MySQL

Prima di installare qualsiasi pacchetto, dobbiamo abilitare i repository main, main_updates, contrib e contrib_updates. Vai su http://easyurpmi.zarb.org/ - dovrebbe darti i comandi che devi eseguire per abilitare questi repository. Nel mio caso, ho eseguito

urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.cz
urpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.cz
urpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.cz
urpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.cz

Django può utilizzare più backend di database, ad esempio PostgreSQL, MySQL, SQLite, ecc. Se desideri utilizzare MySQL, puoi installarlo come segue:

urpmi MySQL MySQL-client

Per impostazione predefinita, il networking non è abilitato nel pacchetto MySQL di Mandriva 2008.1. Possiamo modificare questo commentando la riga skip-networking in /etc/my.cnf:

vi /etc/my.cnf

| [...] # Non ascoltare affatto su una porta TCP/IP. Questo può essere un miglioramento della sicurezza, # se tutti i processi che devono connettersi a mysqld vengono eseguiti sullo stesso host. # Tutte le interazioni con mysqld devono essere effettuate tramite socket Unix o pipe nominate. # Nota che utilizzare questa opzione senza abilitare le pipe nominate su Windows # (tramite l'opzione "enable-named-pipe") renderà mysqld inutile! # #skip-networking [...] |

Dopo, creiamo i collegamenti di avvio del sistema per MySQL…

chkconfig mysqld on

… e avviamolo:

/etc/init.d/mysqld start

Ora controlla che il networking sia abilitato. Esegui

netstat -tap | grep mysql

L’output dovrebbe apparire così:

[root@server1 ~]# netstat -tap | grep mysql  
tcp        0      0 *:mysql-im                     *:*                     LISTEN      3746/mysqlmanager  
tcp        0      0 *:mysql                         *:*                     LISTEN      3754/mysqld  
[root@server1 ~]#

Esegui

mysqladmin -u root password yourrootsqlpassword  
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

per impostare una password per l’utente root (altrimenti chiunque può accedere al tuo database MySQL!).

2 Installare Apache E mod_python

Se Apache2 e mod_python non sono già installati sul tuo sistema, puoi installarli come segue:

urpmi apache-mod_python

(Questo installerà anche Apache2 se non è già installato.)

3 Installare Django

Per installare Django e i binding Python MySQL, eseguiamo:

urpmi python-django python-mysql

4 Configurare Apache

Prima di configurare Apache, dobbiamo creare un progetto Django (ad esempio chiamato mysite) (vedi http://www.djangoproject.com/documentation/tutorial01/). Per motivi di sicurezza creo quel progetto al di fuori della mia root documentale (sto usando la root documentale predefinita di Mandriva /var/www/html qui) (ad esempio in /home/mycode):

mkdir /home/mycode  
cd /home/mycode  
/usr/bin/django-admin.py startproject mysite

Questo creerà la directory /home/mycode/mysite con alcuni file Python al suo interno.

Ora, con il progetto mysite creato, possiamo configurare Apache. Creo una copia di backup del file originale /etc/httpd/modules.d/16_mod_python.conf e ne creo uno nuovo come segue:

cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig  
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf  
vi /etc/httpd/modules.d/16_mod_python.conf

| LoadModule python_module extramodules/mod_python.so SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonDebug On PythonPath "['/home/mycode'] + sys.path" |

(Questa configurazione è valida per il vhost predefinito di Mandriva in /var/www/html - se hai già definito altri vhosts dove desideri utilizzare Django, ti preghiamo di posizionare la sezione nella configurazione del vhost appropriato, ma lascia la riga LoadModule in /etc/httpd/modules.d/16_mod_python.conf.)

Il percorso nella prima riga ( ) si riferisce all’URL - il che significa che questa configurazione verrà utilizzata se utilizzi /mysite nell’URL (ad esempio http://www.example.com/mysite). Puoi modificarlo a tuo piacimento. Si prega di regolare gli altri valori ( SetEnv DJANGO_SETTINGS_MODULE mysite.settings e PythonPath “[‘/home/mycode’] + sys.path”) al nome del tuo progetto e al percorso in cui si trova.

Riavvia Apache successivamente:

/etc/init.d/httpd restart

Ora puoi accedere a http://www.example.com/mysite in un browser. Se tutto è andato bene, dovresti vedere qualcosa di simile:

Questo significa che Django è stato installato con successo e ora puoi usarlo per sviluppare le tue applicazioni web Python (ti preghiamo di fare riferimento a http://www.djangoproject.com/documentation/ per imparare a sviluppare applicazioni web con Django).

5 Connettersi A Un Database MySQL Da Un Progetto Django

Se desideri utilizzare un database MySQL nel tuo progetto Django, dovresti prima creare quel database (ad esempio mysite) e un utente del database (ad esempio mysiteadmin) per quel database:

mysql -u root -p
CREATE DATABASE mysite;  
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY 'mysiteadmin_password';  
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost.localdomain' IDENTIFIED BY 'mysiteadmin_password';  
FLUSH PRIVILEGES;  
quit;

Poi apri il file settings.py nella cartella del progetto (ad esempio /home/mycode/mysite) e modifica le impostazioni del database, ad esempio come segue:

vi /home/mycode/mysite/settings.py

| [...] DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' o 'ado_mssql'. DATABASE_NAME = 'mysite' # O percorso al file del database se si utilizza sqlite3. DATABASE_USER = 'mysiteadmin' # Non utilizzato con sqlite3. DATABASE_PASSWORD = 'mysiteadmin_password' # Non utilizzato con sqlite3. DATABASE_HOST = '' # Imposta su stringa vuota per localhost. Non utilizzato con sqlite3. DATABASE_PORT = '' # Imposta su stringa vuota per predefinito. Non utilizzato con sqlite3. [...] |

6 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.