【声明】:本文是参考changefuture原文写的,修改了原文一些错误并应用于本机,主要为apache2针对Debian体系的修改
个人机器配置说明:
Ubuntu | Python | mysql | Apache2 | Django | |
版本 | 14.04LTS | 2.7.6 | Ver 14.14 | 2.4 | 1.4.13 |
1.install Python
最新的Ubuntu操作系统是含有Python的,可以通过 Python -V 查看的:
kevin@kevin-Aspire:~$ python -V
Python 2.7.6
2.install MySQL
使用最简单的方法:sudo apt-get install mysql-server mysql-client
3.install Apache
继续使用命令:sudo apt-get install apache2
4.install MySQLdb
sudo apt-get install python-mysqldb
5.install mod_python
sudo apt-get install libapache2-mod-python
6.install Django
到网站上下载: www.djangoproject.org Django-x.x.x.tar.gz
解压:tar xzvf Django-1.2.1.tar.gz
安装:sudo python setup.py install
7.测试Django 和 MySQLdb是否成功
在命令行:python
>>>import django
>>>import MySQLdb
如果没有错误提示,则安装成功!
>>>exit()
8.运行一个简单程序不是用apache
cd /var/www
sudo python /usr/local/bin/django-admin.py startproject server
cd server
ls
可以看到在server 中多了几个文件,不管他
python manage.py runserver
出现如下提示:
0 errors found
Django version 1.4.13, using settings 'server.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
证明一切OK!
打开浏览器:http://127.0.0.1:8000/server 出现如下画面:
It worked!
Congratulations on your first Django-powered page.
django是个小的服务器,现在换没有运行在apache2上了
9.配置apache2
cd /etc/apache2
ls
这里应该可以看到有apache2.conf ports.conf 以及三个*-enabled和三个*-available文件夹 (还有两个暂时与我们无关的)
其实我主要是想说这里没有了httpd.conf文件,这是apache在Debain下很大的不同,更多信息请看文章最后的**注释**
首先查看一下你的mods-enabled文件夹下有没有python.load文件,如果有的话可以跳过*1*
*1* cd /etc/apache2/mods-available
sudo vi python.load
添加: LoadModule python_module /usr/local/lib/apache2/modules/mod_python.so
保存退出
cd /etc/apache2
ln -s mods-available/python.load mods-enabled/python.load
*2* cd /etc/apache2/mods-available
sudo vi python.conf
添加: <Location "/">
SetHandler python-program
PythonPath "['/var/www/server'] + sys.path" //此处需要到server目录,我们的文件在server/server下
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE server.settings //server为上面django的工程名
PythonOption django.root /server
PythonDebug on
</Location>
保存退出
cd /etc/apache2
ln -s mods-available/python.conf mods-enabled/python.conf
*3* cd /etc/apache2
sudo vi ports.conf
添加 Listen 8000 //Django默认监听8000端口,而apache2默认为80
保存退出
*4* sudo service apache2 restart //重启apache2
*5* 打开浏览器:http://127.0.0.1:8000
出现:
It worked!
Congratulations on your first Django-powered page.
证明apache以配置完成
现在这个工程没有任何程序
大家继续加油吧
**注释**
Debian体系下的Apache2安装倾向于以尽量灵活的方式添加移除模块、虚拟主机还有额外的配置目录,
这样可以使得自动管理、改变服务器尽可能地简单。注意这里的体系层次(指Apache2)与标准的Apache配置有很大的不同。
apache2.conf为主要配置文件,但我们不需要直接配置它。
available文件夹中是所有的配置文件,我们可以通过将对应文件的软连接加入到相应的enabled文件夹来实现对所需模块的引用,
相关端口配置在ports.conf中
更多的说明参考/etc/apache2/apache2.conf的开头注释
以及/usr/share/doc/apache2/README.Debian