Djang+apache+ mod_python 还是搞起来了!

终于是把这个Djang安装上了!

QUOTE:
原帖由 jejwe 于 2006-6-19 22:25 发表
我看邮件列表里有人回答 mod_python  现在还不支持apache2.2.2,用2.0X试试

我测试了在apache 2.2.2 上按默认的是装不上,如果想装上的话按提示错误在mod_python 的安装目录里面改两个判断就可以安装上,这个我已经装上了!
我总结了一下发现启动django  需要几个条件
1 你需要安装上一个新点版本的Python我的是python-2.4.3.tgz。
2 就是需要安装mod_python  我装的是mod_python-3.2.8.tgz
3 你还需要安装MySQL-python我装的是MySQL-python-1.2.0.tar.gz
mod_python 配合apache使用建议不要用httpd-2.2.2.tar.gz  从网上查了解到2.2.2版本的改了很多东西,如果要把mod_python 装上有点麻烦就是你看到什么错误,去源码里面找到对应的判断注释掉就可以用了!
我总结了一下安装MySQL-python-1.2.0.tar.gz的过程。

[Copy to clipboard] [ - ]
CODE:
首先需要mysql的原码包我用的是mysql-x.x.x
解压开MySQL-python-1.2.0.tar.gz
cd MySQL-python-1.2.0
vi _mysql.c
修改include
#include "structmember.h"
#include "/root/mysql-x.x.xx/include/mysql.h"
#include "/root/mysql-x.x.x/include/mysqld_error.h"
#include "/root/mysql-x.x.x/include/errmsg.h"
然后修改setup.py
mysqlclient = os.getenv('mysqlclient', 'mysqlclient')

export mysqlversion="5.0.22"
export mysqlclient="mysqlclient_r"
export mysqloptlibs="ssl crypto"
export mysqlclient="mysqlclient"

setup.py 会调用mysql_conf
cp /usr/local/mysql/bin/mysql_config  /bin/
cp /usr/local/mysql/bin/mysql  /bin/

python setup.py build
python setup.py install
安装完成以后的放在
/usr/local/lib/python2.4/site-packages/MySQLdb/constants

不用安装apache  和mysql    Djang 本身自己也可以启动起来!

[Copy to clipboard] [ - ]
CODE:
cd /usr/local/lib/python2.4/site-packages/Django-0.91-py2.4.egg/
chmod +x django-admin.py
cp -rf django-admin.py /bin/
django-admin.py  startproject newtest
# newtest 目录名
cd newtest/
chmod +x manage.py
vi settings.py
#修改一行 DATABASE_ENGINE = 'mysql' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
./manage.py runserver 172.16.103.99:7000

我终于看到传说中的这个提示了!

[Copy to clipboard] [ - ]
CODE:
Validating models...
0 errors found.

Starting server on port 7000 with settings module 'newtest.settings'.
Go to http://172.16.103.99:7000/ for Django.
Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).

#加上ip和端口这样在网络的其他机器就都可以访问了,如果你按说明Django Step by Step
#说明的只运行./manage.py runserver 那就只能在本级看了,我用的是linux 没有X只能在局域网访问!
#172.16.103.99 为linux在局域网的ip



QUOTE:
原帖由 limodou 于 2006-6-19 16:56 发表
可能是数据库没有配对,如不是mysql, sqlite3。还有一种可能是相关的模块没有安装。django不自带这些数据库的对应的包,需要自行下载并安装。再有就是导入相关的模块出错。

一步一步查吧。

是mysql-python 没装的原因还是找到了!谢谢!
django支持2.3的,不需要2.4。

django支持多种数据库,因此mysql-python不一定安装。最简单的方式是安装pysqlite2。

先可以不管mod_python,使用它的开发服务器就好。