分类: LINUX
2009-06-01 15:32:39
1、在 linux 下使用源码包安装 一、安装 apache 2.2.4 1、下载 请到 下载最新的 httpd 服务器,只要版本跟 2.2.4 相差不大,就可以参考本文进行配置安装。 2、解压 # tar xvfz httpd-2.2.4.tar.gz 上面命令会在当前目录得到 httpd-2.2.4 目录,这个目录就是 apache 2.2.4 的源码目录。 对于解压命令的详细介绍,请看我的这篇文章: Linux 文件压缩解压详解
编译安装源代码的过程一般都是 configure/make/make install 三步曲,apache 也遵循这个规则。 进入 httpd-2.2.4 目录: # cd httpd-2.2.4 执行如下命令查看 configure 的帮助信息 # ./configure --help 安装的全部细节都是由 configure 以及它的参数进行控制的。 如果你刚开始尝试从源代码包安装软件,请尽快习惯 configure 之后冗长复杂的参数! 下面是我推荐的 configure 参数,它会将 apache 安装到 /opt/apache 下面,并且带所有常用的 apache Modules: # ./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf --enable-modules=all --enable-mods-shared=all --enable-file-cache --enable-disk-cache --enable-cache --enable-mem-cache --enable-dumpio --enable-logio --enable-mime-magic --enable-headers --enable-usertrack --enable-version --enable-ssl --enable-http --enable-rewrite --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ftp --enable-proxy-ajp --enable-proxy-balancer --enable-so 当然,安装所有扩展模块意味着将 apache 功能扩展到极限,但如果你不会配置这些模块,或者置之不理,他们很可能会给你带来不必要的麻烦或者安全隐患。 4、make / make install 真正漫长的步骤开始了(我指时间上),下面命令开始编译过程: # make 等待编译完成之后,执行: # make install 会将 apache 安装到第三步配置的 /opt/apache 目录中。 5、配置 apache 配置 apache 的 httpd.conf 文件是一项大工程,互联网上有很多高人的文章指导你进行正确必要的配置,我在这里就不赘述了。 如何将 apache 加入到系统服务中,请看我的这篇文章: 将 apache 加入 linux 系统服务 6、已知问题及解决方法 如果你遇到类似下面的 .so 权限错误: httpd: Syntax error on line 63 of /opt/apache/conf/httpd.conf: Cannot load /opt/apache/modules/mod_python.so into server: /opt/apache/modules/mod_python.so: cannot restore segment prot after reloc: Permission denied 说明是你的 .so 文件权限不够,很可能是你的 SELinux(如果你有装)的权限检查没有通过导致的。 使用下面命令可以将 .so 文件定义为共享类库文件,就可以通过权限检查: # chcon -t texrel_shlib_t /opt/apache/modules/*.so 注意:千万别将 *.so 权限改为 777,具体原因请看我的这篇文章: 解决 SELinux 带来的 PHP 权限问题
二、安装 python 2.5.1 1、编译安装 到 下载最新的 python 源码包,解压得到目录,进入该目录,执行:
# make # make install 使用下面命令将 python 添加到 /usr/bin 中,并且区别其他版本的 python 执行文件,使它们可以共存 # ln /opt/python/2.5.1/bin/python /usr/bin/python2.5.1 以后可以将新版本的 python 编译到 /opt/python/[版本]中,使用上面命令生成对应版本的链接。 2、设置运行命令 这里需要注意一下执行程序,现在的 python 2.5.1 的执行程序是 python2.5.1, 如果想进入 python 2.5.1 的 shell,需要键入 python2.5.1, 如果想系统使用 python 2.5.1 执行 .py 脚本,需要在脚本第一行将 python 运行命令修改为: #!/usr/bin/python2.5.1 如果你觉得以后默认使用 python 2.5.1 就好,那么可以: # rm -f /usr/bin/python # ln /opt/python/2.5.1/bin/python /usr/bin/python 这样执行 python 进入的就是 2.5.1 了。 在命令行下输入python,出现python解释器即表示已经正确安装。
三、安装 mod_python 1、到 下载源码包,解压得到目录,进入该目录,执行: # ./configure --with-apxs=/opt/apache/bin/apxs --with-python=/usr/bin/python2.5.1
# make install 完毕之后,mod_python 会在 /opt/apache/modules 中添加 mod_python.so 库文件,并且在 /opt/python/2.5.1/lib/python2.5/site-packages 中添加 mod_python 包。 如果编译程序没有检测到 apache 和 python,会报错退出。 2、配置 httpd.conf 找到 /opt/apache/conf/httpd.conf 配置文件,在适当位置添加: LoadModule python_module modules/mod_python.so 记住,modules/mod_python.so 必须有可以通过 SELinux 检查的权限,参看本文第一章第6节的内容! 四、安装 django 这次我们采用 django 的 SVN Head Version(最新开发版本)。 采用这个版本的好处是,官方的任何更新,你只需要运行 svn 进行更新就会得到最新的版本,并且更新即可用。 1、如果系统没有 Subversion,找到装上()。 2、得到最新版本的 working copy 这里有两个版本可以选择,择其一运行命令: 一是 django 全部源码(文件相当多): # svn co /source/svn/django 二是 django 的当前最新版本 trunk: # svn co /source/svn/django_trunk 3、将 django 源码链接到 python 的 site-packages 公共代码目录中 全部源码版本:
最新版本 trunk: # ln -s /source/svn/django/django /opt/python/2.5.1/lib/python2.5/site-packages/django 注意一定要带上参数 -s,否则后面调用会出错!
# cd /source/svn/django # svn cleanup(如果提示locked,执行这一句) # svn update 4、拷贝 django 管理文件 运行下面命令将管理文件拷贝到 /usr/bin 中,以便随处可以执行该文件: #cp /source/svn/django/trunk/django/bin/django-admin.py /usr/bin/ 或者 #cp /source/svn/django/django/bin/django-admin.py /usr/bin/ 如果运行 django-admin.py 得到如下错误信息: ImportError: No module named django.core 说明 django-admin.py 运行在了另一个版本的 python 中! 记 住,我们的 django 是安装在 python 2.5.1 中的(/opt/python/2.5.1),如果你的 python 2.5.1 执行命令为 python2.5.1(参考第二章第2节),需要将 /usr/bin/django-admin.py 第一行修改为: #!/usr/bin/python2.5.1 或者是已经安装 django 的 python 的执行命令。 4、参考文章 官方的安装指南,请参考: http://www.djangoproject.com/documentation/install/ 如何使用 django,请参考官方指南这一部分: http://www.djangoproject.com/documentation/modpython/ 推荐使用 .htaccess 文件,而不是直接修改 httpd.conf 配置文件,因为 .htaccess 更加灵活。 记得将 httpd.conf 配置文件中 AllowOverride 配置项作相应配置(比如 AllowOverride = All)
五、总结 如果完全按照上面的安装步骤进行安装,我们会得到如下内容: apache 2.2.4 目录: /opt/apache python 2.5.1 目录:
mod_python.so 位置: /opt/apache/modules/mod_python.so django 源码包目录: /source/svn/django
/opt/apache/conf/httpd.conf 如果想更新 django: # cd /source/svn/django # svn update 自此,全部安装完毕,你已经可以使用 django 创建你的 Python Web Application 了! |