How To Install Django On Debian Lenny (Apache2/mod_python)
How To Install Django On Debian Lenny (Apache2/mod_python)Version 1.0 This tutorial explains how to install Django on a Debian Lenny server. Django is a web framework that allows to develop Python web applications quickly with as much automation as possible. I will use it with Apache2 and mod_python in this guide. This howto is meant as a practical guide; it does not cover the theoretical backgrounds. They are treated in a lot of other documents in the web. This document comes without warranty of any kind! I want to say that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!
1 Install MySQLDjango can use multiple database backends, e.g. PostgreSQL, MySQL, SQLite, etc. If you want to use MySQL, you can install it as follows: aptitude install mysql-server mysql-client You will be asked to create a MySQL root password: New password for the MySQL "root" user: <-- yourrootsqlpassword We want MySQL to listen on all interfaces, not just localhost, therefore we edit /etc/mysql/my.cnf and comment out the line bind-address = 127.0.0.1: vi /etc/mysql/my.cnf
Then we restart MySQL: /etc/init.d/mysql restart Now check that networking is enabled. Run netstat -tap | grep mysql The output should look like this: server1:~# netstat -tap | grep mysql 2 Install Apache And mod_pythonIf Apache2 and mod_python aren't already installed on your system, you can install them as follows: aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-python
3 Install DjangoIn order to install Django and the Python MySQL bindings, we run: aptitude install python-django python-mysqldb
4 Configure ApacheI will use /var/www here as the document root of my virtual host and /etc/apache2/sites-available/default as the file containing the configuration of my virtual host. Adjust this to your circumstances. Before we configure Apache, we must create a Django project (e.g. called mysite) (see http://www.djangoproject.com/documentation/tutorial01/). For security reasons I create that project outside my document root /var/www (e.g. in /home/mycode): mkdir /home/mycode This will create the directory /home/mycode/mysite with some Python files in it. Now with the project mysite created, we can configure Apache. I open my vhost configuration in /etc/apache2/sites-available/default and place the following lines between the <VirtualHost ... >...</VirtualHost> container: vi /etc/apache2/sites-available/default
The path in the first line (<Location "/mysite">) refers to the URL - meaning this configuration will be used if you use /mysite in the URL (e.g. http://www.example.com/mysite). You can change this to your likings. Please adjust the other values (SetEnv DJANGO_SETTINGS_MODULE mysite.settings and PythonPath "['/home/mycode'] + sys.path") to the name of your project and the path where it is located. Restart Apache afterwards: /etc/init.d/apache2 restart Now you can access http://www.example.com/mysite in a browser. If everything went well, you should see something like this: This means Django has been successfully installed, and you can now use it to develop your Python web applications (please refer to http://www.djangoproject.com/documentation/ to learn how to develop web applications with Django).
5 Connect To A MySQL Database From A Django ProjectIf you want to use a MySQL database in your Django project, you should first create that database (e.g. mysite) and a database user (e.g. mysiteadmin) for that database: mysql -u root -p CREATE DATABASE mysite; Then open the settings.py file in the project folder (e.g. /home/mycode/mysite) and modify the database settings, e.g. as follows: vi /home/mycode/mysite/settings.py
6 Links
|
www.seamlessenterprise.com
One number. One voicemail. Seize the lead. Sprint Mobile Integration.
www.seamlessenterprise.com
One Number. One Voicemail.
Make it easier for clients to reach you. Turn your desk phone and mobile phone into one with Sprint Mobile Integration.
www.seamlessenterprise.com
One number. One voicemail. Sprint Mobile Integration.
www.seamlessenterprise.com
AT&T Synaptic Compute as a Service. Boost your power on demand.
Trial: IBM Cognos Express Reporting, Analysis & Planning
Learn benefits of Simpana software.
View the Gartner Video









Recent comments
16 hours 59 min ago
19 hours 43 min ago
1 day 1 hour ago
1 day 3 hours ago
1 day 4 hours ago
1 day 5 hours ago
1 day 7 hours ago
1 day 12 hours ago
1 day 13 hours ago
1 day 17 hours ago