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.czurpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.czurpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.czurpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.czDjango può utilizzare più backend di database, ad esempio PostgreSQL, MySQL, SQLite, ecc. Se desideri utilizzare MySQL, puoi installarlo come segue:
urpmi MySQL MySQL-clientPer 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 startOra controlla che il networking sia abilitato. Esegui
netstat -tap | grep mysqlL’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 yourrootsqlpasswordper 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-mysql4 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 mysiteQuesto 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 |
(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
Il percorso nella prima riga (
Riavvia Apache successivamente:
/etc/init.d/httpd restartOra 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 -pCREATE 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
- Django: http://www.djangoproject.com
- Python: http://www.python.org
- Mandriva: http://www.mandriva.com
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.