源码安装apache2+mysql5+php5+gd2+zend

用源码安装的好处在于便于管理,不管是apache还是php,需要任何组件,只需要重新再编译一次就可以了


这几个软件都需要下载源码

http://www.apache.org

http://www.php.net

http://www.php.net

http://www.mysql.com

http://www.zend.com

下面是这是安装GD时所需要的软件

http://www.ijg.org/files/jpegsrc.v6b.tar.gz

http://www.zlib.net/zlib-1.2.3.tar.gz

http://prdownloads.sourceforge.n ... fig.tar.gz?download

http://easynews.dl.sourceforge.n ... etype-2.1.3.tar.bz2

我用的新手指南里的更新源 先安装make gcc g++

sudo apt-get install build-essential

接下来开始安装 1.apache2

tar -zxvf httpd-2.2.0.tar.gz

cd httpd-2.2.0

./configure --prefix=/usr/local/apache --enable-module=so

make

make install

2.freetype

*

tar -xvjf freetype-2.1.3.tar.bz2

cd freetype-2.1.3 *

/configure make

make

install

3.jpeg

*

tar -xvzf jpegsrc.v6b.tar.gz

cd jpeg-6b/

./configure --enable-shared --enable-static

make

mkdir /usr/local/man(有可能已经存在这个目录了)

mkdir /usr/local/man/man1

make install

4.zlib

tar zxvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure

make

make install

5.libpng

tar zxvf libpng-1.2.8-config.tar.gz

cd zlib-1.2.8

./configure

make

make test

make install

6.gd2

tar -zxvf gd-2.0.27.tar.gz

cd gd-2.0.27/

./configure --prefix=/usr/local/gd2

make

make install

7.mysql

安装mysql的时候,系统默认缺少一个组件libncurses5-dev,先安装

sudo apt-get libncurses5-dev

groupadd mysql

useradd -g mysql mysql

tar zxvf mysql-5.0.19.tar.gz

cd mysql-5.0.19

./configure --prefix=/usr/local/mysql

make

make install

scripts/mysql_install_db

chown -R root /usr/local/mysql

chown -R mysql /usr/local/mysql/var

chgrp -R mysql /usr/local/mysql

cp support-files/my-medium.cnf /etc/my.cnf

/usr/local/mysql/bin/mysqld_safe &

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'

进入mysql之后,最要紧的就是要设置Mysql中的root用户密码了,否则,Mysql服务无安全可言了。


mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";注意,我这儿用的是123456做为root用户的密码,但是该密码是不安全的,请大家最好使用大小写字母与数字混合的密码,且不少于8位。
这样的话,就设置好了MySQL中的root用户密码了,然后就用root用户建立你所需要的数据库。我这里就以xoops为例:


mysql>CREATE DATABASE xoops;mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
这样就建立了一个xoops_roots的用户,它对数据库xoops有着全部权限。以后就用xoops_root来对xoops数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在xoops数据库中。
如果你想进行远程访问或控制,那么你要做两件事:
其一:


mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";允许xoops_root用户可以从任意机器上登入MySQL。
其二:


$sudo gedit /etc/mysql/my.cnf老的版本中>skip-networking => # skip-networking新的版本中>bind-address=127.0.0.1 => bind-address= 你机器的IP这样就可以允许其他机器访问MySQL了。
8.php

安装php的时候,系统默认缺少两个组件,先安装

sudo apt-get install FLEX(不知道这个组件是做什么用的)

sudo apt-get install libxml2 libxml2-dev

tar zxvf php-5.1.2.tar.gz

cd php-5.1.2

./configure --with-gd=/usr/local/gd2 --with-apxs2=/usr/local/apache/bin/apxs --with-xml --with-mysql=/usr/local/mysql

make

make install

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

9.config apche

记得备份httpd.conf

sudo cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak

vi /usr/local/apache/conf/httpd.conf

添加这两行

AddType application/x-httpd-php .php .phtml

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

apache里还有一些参数需要修改

ServerName 如果不修改这项,启动apache的时候,会报错

DocumentRoot 改成你希望指定的主目录

找到这一项:IfModule dir_module 在这里加上你希望作为默认首页的文件,我加了index.htm index.php,中间打个空格就可以了

如果你想启动apache支持shtml格式,可以这样操作 找到下面这样一段文字

This should be changed to whatever you set DocumentRoot to.

把<Directory "/usr/local/apache/htdocs">改成你的主目录 然后在这里加入Includes,注意区分大小写,因为我不希望有人能看到我的目录结构,所以把Index去掉了 Options FollowSymLinks Includes

完成这步以后,查找这两行,把前面的#去掉

AddType text/html .shtml AddOutputFilter

AddOutputFilter INCLUDES .shtml

10.php config

vi /usr/local/lib/php.ini

register-golbals = On(修改为一项的参数为On)

11.ZendOptimizer

tar zxvf ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz

cd ZendOptimizer-2.6.2-linux-glibc21-i386

./install 如果不出意外,一路按回车键就可以了

这样安装的好处是文件比较统一,全部都安装在/usr/local目录里,很容易备份,也很容易扩展 这些功能我基本够用了,大家如果需要用就试着安装一下吧