LAMP+django手工编译安装文档

安装环境描述

系统环境:RHEL5.3,默认python为2.4,如果不需要安装python2.6或者使用KVM模板安装的系统,则可以省略python2.6的安装

软件版本:(软件包下载:http://208.asktao.com/cairong/init/LAMP_Python_Django.tgz)  

Apache:

httpd-2.2.14.tar.gz

MySQL:

mysql-5.1.45.tar.gz

PHP:

php-5.2.5.tar.gz

libgcrypt-1.2.4-1.el5.i386.rpm

libgcrypt-devel-1.2.4-1.el5.i386.rpm

libjpeg-6b-37.i386.rpm

libjpeg-devel-6b-37.i386.rpm

libpng-1.2.10-7.1.el5_0.1.i386.rpm

libpng-devel-1.2.10-7.1.el5_0.1.i386.rpm

libxslt-1.1.17-2.el5_2.2.i386.rpm

libxslt-devel-1.1.17-2.el5_2.2.i386.rpm

freetype-2.2.1-20.el5_2.i386.rpm

freetype-devel-2.2.1-20.el5_2.i386.rpm

php_screw-1.5.tar.gz

gd-2.0.33.tar.tar

freetds-stable0.64.tgz

 

Django:

Django-1.2.5.tar.gz

mod_wsgi-3.3.tar.gz

 

这里主要是LAMP和Django的安装,Python2.6等的安装可以李材荣写的原始参考文档:http://192.168.4.250/wiki/project/article.php?action=browse&aid=234

安装过程

MySQL安装:

MySQL安装到/usr/local/mysql5目录下,数据目录编译时指定为安装目录下的data目录。

1、建立mysql组和用户:

# groupadd mysql

# useradd -g mysql mysql

2、解压软件包:

# tar zxvf mysql-5.1.45.tar.gz

# cd mysql-5.1.45

3、编译选项:

# ./configure --prefix=/usr/local/mysql5 --localstatedir=/usr/local/mysql5/data --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile  --enable-assembler --with-big-tables --with-plugins=innobase,federated

注:编译时开启innodb和federated引擎

4、编译安装:

# make && make install

5、安装完成后初始化mysql权限库:

# /usr/local/mysql5/bin/mysql_install_db --user=mysql

# cd /usr/local/mysql5/

# chgrp -R mysql .

6、  在安装目录建立etc目录,将MySQL的配置文件放在此目录下,如果要启动多个MySQL应用,也将多个对应的配置文件放在此目录,在启动服务时指定相应的配置文件;

7、  使用以下命令启动mysql:

# /usr/local/mysql5/bin/mysqld_safe --user=mysql &

8、  执行mysql客户端程序连接mysql,删除用户名和密码为空的用户,并建立一个dba@’%’用户,权限与root相同,用于远程管理数据库:

# /usr/local/mysql5/bin/msyql

mysql> delete from mysql.user where user!='root' or host!='localhost';

mysql> set password for root@'localhost' = password('xxxxx');

mysql> flush privileges;

mysql>GRANT ALL PRIVILEGES ON *.* TO 'dba'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

9、关闭mysql服务,复制data目录至/home/mysql目录,将启动语句写入/etc/rc.local文件:

# /usr/local/mysql5/bin/mysqladmin shutdown

# cp –a /usr/local/mysql5/data /home/mysql

# echo "/usr/local/mysql5/bin/mysqld_safe --defaults-file=/usr/local/mysql5/etc/my.cnf --datadir=/home/mysql/data --user=mysql &" >> /etc/rc.local

Apache安装:

         Apache安装到/usr/local/apache目录,编译时开启rewrite,开启动态模块加载。

1、添加htdocs组和用户,apache服务将以htdocs用户组来启动:

# groupadd htdocs

# useradd -g htdocs htdocs

2、解压软件包:

# tar zxvf httpd-2.2.14.tar.gz

# cd httpd-2.2.14

3、编译选项:

# ./configure --prefix=/usr/local/apache --enable-dav --enable-dav-fs --enable-so --enable-modules=most --enable-mods-shared=all --enable-info --enable-rewrite --enable-deflate --enable-ssl

4、编译安装:

# make && make install

5、编辑http.conf文件,修改用户和组:

# sed -i 's/User daemon/User htdocs/' /usr/local/apache/conf/httpd.conf

# sed -i 's/Group daemon/Group htdocs/' /usr/local/apache/conf/httpd.conf

6、启动apache服务:

# /usr/local/apache/bin/apachectl start

7、在浏览器中打开http://ip,看到“It works!”表示apache安装成功。

 

Php安装:

1、为了让php服务支持网站常用的一些项目,安装php之前需要先安装如下依赖的软件包,这里采用rpm包进行安装,也可以通过搭建yum软件仓库进行安装,其中大部分软件包已经安装:

rpm –ivh libgcrypt-1.2.4-1.el5.i386.rpm

rpm –ivh libgcrypt-devel-1.2.4-1.el5.i386.rpm

rpm –ivh libjpeg-6b-37.i386.rpm

rpm –ivh libjpeg-devel-6b-37.i386.rpm

rpm –ivh libpng-1.2.10-7.1.el5_0.1.i386.rpm

rpm –ivh libpng-devel-1.2.10-7.1.el5_0.1.i386.rpm

rpm –ivh libxslt-1.1.17-2.el5_2.2.i386.rpm

rpm –ivh libxslt-devel-1.1.17-2.el5_2.2.i386.rpm

rpm –ivh freetype-2.2.1-20.el5_2.i386.rpm

rpm –ivh freetype-devel-2.2.1-20.el5_2.i386.rpm

2、安装gd 2.0:

# tar zxvf gd-2.0.33.tar.tar

# cd gd-2.0.33

# ./configure

# make && make install

3、安装freetds,用于连接数据库:

# tar zxvf freetds-stable0.64.tgz

# cd freetds-0.64

# ./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=8.0 --enable-dbmfix --with-gnu-ld --enable-shared --enable-static

# make && make install

4、安装php:

# tar zxvf php-5.2.5.tar.gz

# cd php-5.2.5

5、编译选项:

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql5/ --with-curl --with-libxml-dir --with-libexpat-dir --enable-soap --with-xsl --with-gd --with-jpeg-dir --with-zlib --with-png-dir --with-freetype-dir --enable-sockets --enable-pcntl --with-mssql=/usr/local/freetds --enable-mbstring

6、编译安装:

# make && make install

7、复制配置文件:

# cp php.ini-dist /usr/local/php/lib/php.ini

8、修改apache配置文件,增加以下两行:

# sed -i '/AddType application\/x-gzip .gz .tgz/a \

    AddType application/x-httpd-php .php\

    AddType application/x-httpd-php-source .phps\

' /usr/local/apache/conf/httpd.conf

9、在/usr/local/apache/htdocs目录下建立test.php文件:

# echo –e “” > /usr/local/apache/htdocs/test.php

重启apache服务,在浏览器打开http://ip/test.php,如相关参数正常则php安装成功。

 

php_screw安装:

         php_screw是一个开源的php代码加密工具。

1、解压缩软件包:

# tar zxvf php_screw-1.5.tar.gz

# cd php_screw-1.5

2、执行phpize加挂php模块:

# /usr/local/php/bin/phpize

3、编译选项,指出php安装路径:

# ./configure --with-php-config=/usr/local/php/bin/php-config

4、编辑my_screw.h文件,这是密码文件,可以自己设置加密的密码,增加数组长度即可:

# sed -i 's/62/6287687438273/' my_screw.h

5、执行make生成php_screw.so文件,这个文件是php用来解释加密的php文件的,生成的文件在./modules目录下:

# make

6、复制php_screw.so文件到php所在路径,并修改php.ini文件,重启apache服务:

# cp ./modules/php_screw.so /usr/local/php/lib/php

# echo "extension = php_screw.so" >> /usr/local/php/lib/php.ini

# sed -i 's/extension_dir = "\.\/"/extension_dir = "\/usr\/local\/php\/lib\/php\/"/' /usr/local/php/lib/php.ini

# /usr/local/apache/bin/apachectl restart

7、执行make生成screw 这个可执行文件,它用来加密php文件,生成加密后的.php文件:

# cd tools

# make

# cp screw /root

 

Django安装:

1、解压缩软件包:

# tar zxvf Django-1.2.5.tar.gz

# cd Django-1.2.5

2、安装软件:

# python setup.py install

3、验证django是否安装成功:

# python

>>>import django

>>>

加载django模块,如果无错误提示说明安装成功。

4、创建项目例子:

项目名称:Hector

# django-admin.py startproject Hector

之后再当前目录下就会出来一个新的文件夹Hector

里面有4个文件:

__init__.py会把项目目录变成一个python的 package(相关的python模块的集合),让我们可以用"."来指定项目中的某个部分。例如Hector.urls。

manage.py是一个同这个Django项目一起工作的工具,可执行。

settings.py包含了项目的默认设置。包括数据库信息、调试标记以及其他的一些重要变量。

urls.py在Django里叫URLconf,它是一个将URL模式映射到应用程序上的配置文件。

 

本地测试:

Hector>manage.py runserver

出现以下信息

Validating models...

0 errors found

Django version 1.2, using settings 'Hector.settings'

Development server is running at http://127.0.0.1:8000/

Quit the server with CTRL-BREAK.

然后在命令行里执行curl http://127.0.0.1:8000/ 就可以看到结果了。

mod_wsgi安装:

         为了让Apache支持Django,需要安装mod_wsgi。

1、解压缩软件包:

# tar zxvf mod_wsgi-3.3.tar.gz

# cd mod_wsgi-3.3

2、编译选项,指定apache和python的安装路径

# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/local/bin/python

3、编译安装:

# make && make install

4、修改apache配置文件:

# sed -i '/libphp5.so/a LoadModule wsgi_module modules\/mod_wsgi.so' /usr/local/apache/conf/httpd.conf

5、检查安装是否成功:

在apache配置文件中加入以下一段:

WSGIScriptAlias /python "/usr/local/apache/htdocs/test/test.wsgi"

 

     Order Deny,Allow

     Allow from all

 

在/usr/local/apache/htdocs/test目录中创建test.wsgi,内容如下:

def application(environ, start_response):

    status='200 OK'

    output='Hello World!'

    response_headers=[('Content-type','text/plain'), ('Content-Length',str(len(output)))]

    start_response(status, response_headers)

    return[output]

重新启动apache服务

访问http://ip/python,看到“Hello World!”说明安装成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值