LAMP linux+apache+mysql+php,被称为linux下的黄金组合。Php 是一种服务器端的嵌入html的脚本语言,通过apache整合php,组成了最流行的web动态语言
 
一、安装apache
# tar zxvf httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# ./configure --prefix=/usr/local/apache --enable-modules=so
#make
#make install
#/usr/local/apache/bin/apachectl start
解析:
① 指定apache安装目录时后面跟的参数--enable-modules=so。意思是让apache动态加载DSO模块,如*.so文件,就相当去windows下的dll文件
② 关于apache服务的启动、停止:源码包安装方式启动为/usr/local/apache/bin/apachctl start,文件apachecl是httpd的一个可执行文件控制脚本,一般用于控制apache的启动与停止
③ 让apache开机启动:服务器在某些情况下是需要重启的,当我们在装好apache 不做一定的设置服务器开启后apache是不能自动启动的,我们可以把/usr/local/apache/bin/apachectl start这句话加入到启动文件/etc/rc.local中
测试:首先我们可以使用netstat –ntl查看apache是否启动,apache用的是80端口
clip_p_w_picpath002
 
确定80端口启用后我们可以在浏览器中访问http服务,在浏览器中输入http;//localhost
clip_p_w_picpath004
 
二、安装mysql
本次安装的mysql为二进制源码包,使用源码包安装的好处就在于文件的统一,解压后所有的文件都放置到一个目录下。
tar zxvf mysql-5.1.35-linux-i686-glibc23.tar.gz //解压mysql压缩包
mv mysql-5.1.35-linux-i686-glibc23 /usr/local //我们将mysql安装到/usr/local下,所以将解压后的mysql安装二进制源码包移动到/usr/local下
cd /usr/local //进入/usr/local目录,为进行下一步安装做准备
ln -s mysql-5.1.35-linux-i686-glibc23 mysql //做新的连接,因为mysql文件夹的名字太长了
groupadd mysql //创建一个用户组
useradd -g mysql mysql //创建一个用户,名为mysql,并指定mysql用户属于mysql组
/usr/local/mysql/scripts/mysql_install_db //初始化数据库
chown -R root /usr/local/mysql //让root用户对 MySQL文件夹拥有管理权限
chown -R mysql /usr/local/mysql/data //让mysql用户拥有对数据库目录的读写权限
chgrp -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysqld_safe -user=mysql & //启动mysql,以用户mysql启动,启动命令后加&意思是放到后台进行
/usr/local/mysql/bin/mysqladmin -u root password 123456 //为了安全起见,建议设置登陆数据库时需要身份验证,此处的root用户为mysql管理员用户,并不是系统的管理员root用户
/usr/local/mysql/bin/mysql -u root –p //以mysql管理员root登录数据库,然后会要求输入密码,输入密码正确后便可进入数据库
clip_p_w_picpath006
Mysql默认情况下使用的是3306端口,可以使用命令netstat –ntl查看系统启用了哪些端口
clip_p_w_picpath008
让mysql开机自动启动:可以将命令/usr/local/mysql/bin/mysqld_safe -user=mysql & 加入到/etc/rc.local文件中
 
三、安装PHP
# tar -zxvf php-5.2.9.tar.gz
# cd php-5.2.9
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
#make
#make install
# cp php.ini-dist /usr/local/php/lib/php.ini

解析:在安装过程中,--prefix参数定义的是php 的安装目录。--with-apxs2:Apxs是apache提供的一个模块,是为了让php在运行时加载指定的模块到apache。--with-mysql:指定mysql数据库
 
实现apache+php的整合
修改apache配置文件,使其支持PHP,vi /usr/local/apache/conf/httpd.conf
1. 确认PHP模块已经添加?
LoadModule php5_module modules/libphp5.so
约在53行,如果我们在安装php时,在参数中跟加了apxs,那么apache的配置文件中已经存在了此项,如没添加则手工添加
2. 让apache识别*.php文件
在apache 配置文件中添加AddType application/x-httpd-php .php
310行左右
3、测试apache和php是否整合成功
下面我们测试apache和php是否整合成功,在apache文档跟目录下新建一个小小的php程序
# cd /usr/local/apache/htdocs/
# vi index.php
在index.php文件中写入下面三行
<?php
phpinfo();
?>
重启apache服务
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start
访问,在浏览器中输入http://localhost/index.php 出现一下界面则说明整合成功
clip_p_w_picpath010
小结:若想以index.php作为默认文档,也就是在访问时直接在浏览器中输入http://localhost,不加index.php,则可以修改apache配置文件中的DirectoryIndex 项,只需把index.php放到 index.html前面即可