首先把linux上的相关的服务器软件先卸载 (这个很重要不然会引起冲突)
主要软件包
apache2.2.3:httpd-2.2.3.tar.gz
下载:http://mirror.vmmatrix.net/apache/httpd/httpd-2.2.3.tar.gz
mysql:mysql-max-5.1.11-linux-i686.tar.gz
下载:http://mysql.sd2.mirrors.redwire.net/Downloads/MySQL-5.1/mysql-5.1.11-beta-linux-i686-glibc23.tar.gz
php:php-5.1.2.tar.bz2
下载:http://cn.php.net/get/php-5.1.6.tar.bz2/from/this/mirror 已经更新到5.16了 找不到5.12的包了~~应该差别不大吧
安装php所需的软件包
其中libxml2是安装php5必须的,
libxml2-2.6.19.tar.gz
libxslt-1.1.15.tar.gz
相关下载
http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.19.tar.gz
http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/libxslt-1.1.15.tar.gz
下载上面4个文件,放到/usr/src中,下面都以root执行.
1, 编译安装 Apache 2.2
cd /usr/src
tar -xvfz httpd-2.2.3.tar.gz
cd httpd-2.2.3
./configure --prefix=/usr/local/apache2 --enable-so --enable-auth-digest
--enable-rewrite --enable-setenvif --enable-mime --enable-headers
make
make install
ln -s /usr/local/apache2/bin/apachectl /usr/local/bin
ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf
mv /usr/local/apache2/htdocs /var/www
<----下面修改httpd.conf的部分和实际的操作有一点点出入,此时可以略过,装过PHP后还要修改这个文
件,本文最后有个完整httpd.conf的档案,当然这里的修改也可以对照着文末的httpd.conf来修改---->
修改 /usr/local/apache2/conf/httpd.conf
# 修改文档根目录到 /var/www
DocumentRoot "/var/www"
# 配置 /var/www 目录的权限
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
# 默认首页添加 index.htm index.php
DirectoryIndex index.html index.htm index.php
测试
shell> apachectl start
打开浏览器,输入http(s)://SERVERIP/,都能看到 It works! 说明 Apache 安装成功..
2. 安装 MySQL 5
cd /usr/src
tar -xzvf mysql-max-5.1.11-linux-i686.tar.gz
mv mysql-max-5.1.11-linux-i686 /usr/local/mysql
cd /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
ln -s /usr/local/mysql/bin/mysqld_safe /usr/local/bin
ln -s /usr/local/mysql/bin/mysql /usr/local/bin
测试:
shell> mysqld_safe --user=mysql &
shell> mysql
屏幕出现 mysql> 提示,说明MySQL安装成功
3. 编译安装 PHP 5
a.安装libxml2
cd /usr/src
tar -zxf libxml2-2.6.19.tar.gz
cd libxml2-2.6.19
./configure --prefix=/usr/local/libxml2
make
make install
b.安装 libxslt(可选安装,你可以不安装)
cd /usr/src
tar -zxf libxslt-1.1.15.tar.gz
cd libxslt-1.1.15
./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
make
make install
c.安装php5
cd /usr/src
bzip2 -d php-5.1.2.tar.bz2
tar -xvf php-5.1.2.tar
cd php-5.1.2
注意下面
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql/
--with-curl=/usr/local/curl --enable-ftp
--with-libxml-dir=/usr/local/libxml2
--with-expat-dir=/usr/lib --enable-soap
--with-xsl=/usr/local/libxslt --enable-xslt
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-zlib-dir=/usr/local/lib/
--with-png=/usr/local/lib/
--with-freetype-dir=/usr/local/freetype/
其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的选项 (我 只装了 这4个)
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png=/usr/local/lib
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项 (我们这里没有装也不用 )
--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持
--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉
make
make install
cp php.ini-dist /usr/local/apache2/conf/php.ini
ln -s /usr/local/apache2/conf/php.ini /etc/php.ini
配置
打开
/usr/local/apache2/conf/httpd.conf ,
在
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
后加入
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
注意前两行:
.php前有个空格,.phps前也有个空格,这是APACHE的格式要求
这是让APACHE将.php扩展名的文件解析成php文件.
将 .phps 扩展名的文件设置成显示高亮的 PHP 源文件
4
测试,配置Apache和MySQL自动启动.经过漫长的等待,激动人心的一刻终于来了。
先让APACHE运行起来,确信将httpd.conf修改好之后,运行
/usr/local/apache2/bin/apachectl start
# 创建一个php文件
shell> echo '<?php phpinfo()?>' > /var/www/index.php
打开浏览器,输入 http://127.0.0.1/index.php
就可以看到浏览器提供的关于MagicLinux,Apache,Mysql,Php的信息,下面附上图片.

还要注意几点:
a, 当把自己写的主页放到/var/www/htdocs中时,将主页的扩展名改成.php(如index.php),这样放在
主页文件(如index.php)里面的php代码就能正常显示出应有的效果了,不然php代码会被忽略掉。
b, 如果发现页面文件在流览器上不能显示,可以去看看你的那个页面文件的属性,它的属性应该设成其
它用户可以读.这样WEB浏览器才可以访问的到.
5.
最后,用vi编辑 /etc/rc.local 文件,让Apache和MySQL在系统启动的时候自动启动
/usr/local/apache2/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe --user=mysql &