Differences between revisions 4 and 21 (spanning 17 versions)
Revision 4 as of 2006-09-13 14:59:03
Size: 257
Editor: zhwang
Comment:
Revision 21 as of 2009-12-25 07:09:03
Size: 4773
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[TableOfContents]]
= 软件版本清单 =
<<TableOfContents>>
''' 作为一个Ubuntu和Python的爱好者,我希望这个描述如何在Ubuntu上搭建Django开发环境的页面能够帮助那些和我有相同需求的朋友们。 '''
= 软件清单 =
Line 7: Line 8:
 * SQLite 3.2.8
 * pysqlite 2
Line 8: Line 11:
= 软件安装 =
== Ubuntu ==
Ubuntu 6.06 LTS Alternate CD
== Python ==
Ubuntu 6.06 LTS默认安装Python 2.4.3
== Apache ==
apt-get install apache2
== mod_python ==
apt-get install libapache2-mod-python2.4
== SQLite ==
apt-get install sqlite3
== pysqlite ==
apt-get install python2.4-pysqlite2
== Django ==
参考[[http://www.djangoproject.com/download/|How to get Django]]
= 软件配置与测试 =
== Apache配置 ==
apache2的配置文件位于目录/etc/apache2/下,apache2默认的站点根目录为/var/www/。一般我们习惯在/var/www/下新建一个mysite目录来作为默认站点的目录,但是我们此时暂不建立此目录,而是留待建立Django的项目时再建立该目录。修改apache2的默认站点配置文件/etc/apache2/sites-available/default,修改其中的DocumentRoot和第二个Directory指示符由默认值/var/www/改为/var/www/mysite/:
{{{
NameVirtualHost *
        <VirtualHost *>
                ServerAdmin webmaster@localhost
                
                #DocumentRoot /var/www
                DocumentRoot /var/www/mysite
                <Directory />
                        Options FollowSymLinks
                        AllowOverride None
                </Directory>
                #<Directory /var/www/>
                <Directory /var/www/mysite/>
                        Options Indexes FollowSymLinks MultiViews
                        AllowOverride None
                        Order allow,deny
                        allow from all
                </Directory>
Line 9: Line 48:
= 软件安装与配置 =
== Ubuntu 6.06 LTS ==
                ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
                <Directory "/usr/lib/cgi-bin">
                        AllowOverride None
                        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                        Order allow,deny
                        Allow from all
                </Directory>
Line 12: Line 56:
== Python ==

== Apache ==

== mod_python ==

== Django ==
                ErrorLog /var/log/apache2/mysite_error.log
                LogLevel warn
                CustomLog /var/log/apache2/mysite_access.log combined
                ServerSignature On
         
        </VirtualHost>
}}}
配置完毕之后记得重新启动apache2:
{{{
apache2ctl -k restart
}}}
== mod_python配置 ==
对mod_python的配置需要修改的配置文件是/etc/apache2/httpd.conf,只需在文件中加入一个Location指示符即可,其内容如下:
{{{
<Location "/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonPath "['/var/www'] + sys.path"
    PythonDebug On
</Location>
}}}
需要注意的是PythonPath的设置,其中的/var/www是mysite目录的上一级目录。
== Django配置 ==
在/var/www/目录下使用django-admin.py工具建立一个名称为mysite的Django项目:
{{{
django-admin.py startproject mysite
}}}
该工具将建立一个名为mysite的目录,同时在该目录下将生成一系列的项目初始文件:
{{{
__init__.py
    表示这是一个 Python 的包
manage.py
    提供简单化的 django-admin.py 命令,特别是可以自动进行 DJANGO_SETTINGS_MODULES 和 PYTHONPATH 的处理,而没有这个命令,处理上面环境变量是件麻烦的事情
settings.py
    它是django的配置文件
uls.py
    url映射处理文件, Karrigell 没有这种机制,它通过目录/文件/方法来自动对应,而 Django 的url映射是url对于某个模块方法的映射,目前不能自动完成
}}}
== 不使用数据库的Django测试 ==
打开浏览器在地址栏中输入:
{{{
http://localhost/
}}}
并回车,一切正常的话将会看到Django的一个祝贺页面,大功告成。
== 使用SQLite数据库的Django配置与测试 ==
待续
== 使用MySQL数据库的Django配置与测试 ==
待续
= 参考链接 =
 * [[http://debian.linuxsir.org/doc/inthedebianway/Debian_Tools_apt.html|Debian维护工具之APT]]
 * [[http://debian.linuxsir.org/doc/inthedebianway/apache2/debian-apache2.html|apache2安装与配置]]
 * [[http://www.djangoproject.com/download/|How to get Django]]
 * [[http://www.djangoproject.com/documentation/install/|How to install Django]]
 * [[http://www.djangoproject.com/documentation/modpython/|How to use Django with mod_python]]
 * [[http://www.woodpecker.org.cn/obp/django/django-stepbystep/newtest/doc/|Django Step by Step]] by limodou

作为一个Ubuntu和Python的爱好者,我希望这个描述如何在Ubuntu上搭建Django开发环境的页面能够帮助那些和我有相同需求的朋友们。

软件清单

  • Ubuntu 6.06 LTS
  • Python 2.4.3
  • Apache 2.0.55
  • mod_python 3.1.4
  • SQLite 3.2.8
  • pysqlite 2
  • Django 0.95

软件安装

Ubuntu

Ubuntu 6.06 LTS Alternate CD

Python

Ubuntu 6.06 LTS默认安装Python 2.4.3

Apache

apt-get install apache2

mod_python

apt-get install libapache2-mod-python2.4

SQLite

apt-get install sqlite3

pysqlite

apt-get install python2.4-pysqlite2

Django

参考How to get Django

软件配置与测试

Apache配置

apache2的配置文件位于目录/etc/apache2/下,apache2默认的站点根目录为/var/www/。一般我们习惯在/var/www/下新建一个mysite目录来作为默认站点的目录,但是我们此时暂不建立此目录,而是留待建立Django的项目时再建立该目录。修改apache2的默认站点配置文件/etc/apache2/sites-available/default,修改其中的DocumentRoot和第二个Directory指示符由默认值/var/www/改为/var/www/mysite/:

NameVirtualHost *
        <VirtualHost *>
                ServerAdmin webmaster@localhost
                
                #DocumentRoot /var/www
                DocumentRoot /var/www/mysite
                <Directory />
                        Options FollowSymLinks
                        AllowOverride None
                </Directory>
                #<Directory /var/www/>
                <Directory /var/www/mysite/>
                        Options Indexes FollowSymLinks MultiViews
                        AllowOverride None
                        Order allow,deny
                        allow from all
                </Directory>

                ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
                <Directory "/usr/lib/cgi-bin">
                        AllowOverride None
                        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                        Order allow,deny
                        Allow from all
                </Directory>

                ErrorLog /var/log/apache2/mysite_error.log
                LogLevel warn
                CustomLog /var/log/apache2/mysite_access.log combined
                ServerSignature On
         
        </VirtualHost>

配置完毕之后记得重新启动apache2:

apache2ctl -k restart

mod_python配置

对mod_python的配置需要修改的配置文件是/etc/apache2/httpd.conf,只需在文件中加入一个Location指示符即可,其内容如下:

<Location "/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonPath "['/var/www'] + sys.path"
    PythonDebug On
</Location>

需要注意的是PythonPath的设置,其中的/var/www是mysite目录的上一级目录。

Django配置

在/var/www/目录下使用django-admin.py工具建立一个名称为mysite的Django项目:

django-admin.py startproject mysite

该工具将建立一个名为mysite的目录,同时在该目录下将生成一系列的项目初始文件:

__init__.py
    表示这是一个 Python 的包
manage.py
    提供简单化的 django-admin.py 命令,特别是可以自动进行 DJANGO_SETTINGS_MODULES 和 PYTHONPATH 的处理,而没有这个命令,处理上面环境变量是件麻烦的事情
settings.py
    它是django的配置文件
uls.py
    url映射处理文件, Karrigell 没有这种机制,它通过目录/文件/方法来自动对应,而 Django 的url映射是url对于某个模块方法的映射,目前不能自动完成

不使用数据库的Django测试

打开浏览器在地址栏中输入:

http://localhost/

并回车,一切正常的话将会看到Django的一个祝贺页面,大功告成。

使用SQLite数据库的Django配置与测试

待续

使用MySQL数据库的Django配置与测试

待续

参考链接

zhwang/UbuntuDjango (last edited 2009-12-25 07:09:03 by localhost)