LAMP  目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python) ,它们免费开源。
 
 
 
下面我们来看一下他们的安装。
 
 
Lamp ×××的环境必须有 
Development Libraries    #开发库
Development Tools #开发工具
X Software Development #X软件开发
Legacy Software Development #传统软件开发
这四个组件。
我们可以通过yum来查看,所以要配置yum
 

 

可以通过  yum grouplist 查看
 

 

我的都装过了,如果你的没装,可以通过
yum groupadd  安装(如  yum groupadd "Legacy Software Development"
1、 我们来安装apache
  
(1)可以在 http://httpd.apache.org/ 官网上下载最新的 apache,如 httpd-2.4.4.tar.bz2
2 )环境需要 apr apr-util  支持:
apr   apache的可移植的运行库
apr-util   apache的可运行工具
 

解压
[root@zlj ~]# tar -zxvf apr-1.4.5.tar.gz -C /usr/local/src/
[root@zlj ~]# tar -zxvf apr-util-1.3.12.tar.gz -C /usr/local/src/
[root@zlj ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/
可以通过
[root@zlj apr-1.4.5]# ./configure --help |less  查看可以跟哪些参数
[root@zlj apr-1.4.5]# ./configure --prefix=/usr/local/apr  #将其安装在 /usr/local/apr 目录下
[root@zlj apr-1.4.5]# make && make install   #编译安装
3 )可以通过
[root@zlj apr-util-1.3.12]# ./configure --help |less 查看可以跟哪些参数
  --with-apr=PATH         prefix for installed APR or the full path to
apr-config  指定 apr-config的目录
[root@zlj  apr-util-1.3.12]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config 
[root@zlj apr-util-1.3.12]# make && make install
可以通过
[root@zlj httpd-2.4.4]# ./configure --help |less  查看可以跟哪些参数
./configure常用的选项有如下
--prefix=/usr/local/apache    #安装目录(填写这个有助对apache单独管理)
--sysconfdir=/etc/httpd       #apache的配置脚本所在的目录
--enable=so  # 启用以dso模式加载模块 动态共享对象
--enable-ssl  # Secure Sockets Layer  (对网络传输数据加密)
--with-ssl=/usr/local/ssl 
--enable-rewrite  支持URL重写
--with-z  使用zlib 压缩工具
--enable-mods-shared=most 
--enable-suexec
--with-suexec-caller=daemon(用户名)
生成配置文件
[root@zlj httpd-2.4.4]# ./configure  --prefix=/usr/local/apache --sysconfdir=/etc/httpd  --enable-so  --enable-ssl --enable-rewrite  --with-apr=/usr/local/apr/bin/apr-1-config  --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre  -with-z  --enable-mpms-shared=all
[root@zlj httpd-2.4.4]# make && make install # 编译安装
 

4 )添加 man手册
[root@zlj ~]# vim /etc/man.config 
 

5 )因为 apache头文件总是被使用,所以 创建头文件连接
[root@zlj ~]# ln -s /usr/local/apache/include/ /usr/include/apache
6 )启用 apache
[root@zlj ~]# /usr/local/apache/bin/httpd -k start
2、 安装mysql
(1)  我们可以在 http://www.mysql.com 官网上下载
查看安装手册
[root@zlj mysql-5.6.10]# vim INSTALL-SOURCE 
根据配置文件,需要执行
cmake .
Make
make install
(2)环境需要用到CMAKE
将其拆包
[root@zlj ~]# tar -zxvf cmake-2.8.10.2-Linux-i386.tar.gz -C /usr/local/src/
由于它是二进制文件,就不需要安装了,我们将它写入环境变量
[root@zlj tmp]# vim /etc/profile
 

3 [root@zlj mysql-5.6.10]# cmake .
4 [root@zlj mysql-5.6.10]# make && make install
5 )创建用户和用户组
[root@zlj mysql]# groupadd mysql  #创建用户
[root@zlj mysql]# useradd -r -g mysql mysql  #创建系统用户
[root@zlj mysql]# 
6 )改变文件的所有者和所属组
[root@zlj mysql]# chown -R mysql .
[root@zlj mysql]# chgrp -R mysql .
7 )执行脚本
[root@zlj mysql]# scripts/mysql_install_db --user=mysql
8 )修订所有者所属组
[root@zlj mysql]# chown -R root .
[root@zlj mysql]# chown -R mysql data
(9)创建配置文件
[root@zlj mysql]# cp support-files/my-default.cnf /etc/my.cnf
10 )创建管理脚本
[root@zlj mysql]# cp support-files/mysql.server /etc/init.d/mysqld
11 )修改权限,给它执行权
[root@zlj mysql]# chmod a+x /etc/init.d/mysqld 
12 )启动
 

13 )添加环境变量
PATH=$PATH:/usr/local/src/cmake-2.8.10.2-Linux-i386/bin:/usr/local/mysql/bin/
[root@zlj tmp]# vim /etc/profile
 

14 )为了让它能够加载 mysql的动态链接库,我们就编辑配置文件
[root@zlj ~]# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib/
[root@zlj ~]# ldconfig
15 )让它加载
让它的头文件能够被系统引用,创建软连接
[root@zlj ~]# ln -s /usr/local/mysql/include/ /usr/include/mysql
3、安装php 
(1)我们可以在 http://www.php.net/ 官网上下载最新的 php-5.4.14.tar.bz2
解压
[root@zlj ~]# tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/
2 php的配置选项
--prefix=/usr/local/php  #指定安装目录
--with-apxs2=/usr/local/apache/bin/apxs  #是一个程序,告诉apache php装在哪(同时加入模块)
--with-mysql=/usr/local/mysql   # 指明mysql的安装位置
--with-mysqli=/usr/local/mysql/bin/mysql_config # 调用myql接口
-enable-mbstring=all  #画图工具
--with-xml   #文件存储
--with-png   #图片
--with-jpeg   #图片
--with-zlib   #压缩
--with-gd
--with-freetype
执行
[root@zlj php-5.4.14]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-mbstring   --enable-xml   --with-png-dir  --with-jpeg-dir  --with-zlib --enable-mbstring   --with-freetype-dir
 

 

生成配置文件成功
3 root@zlj php-5.4.14]# make $$ make install
 

warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.4)
warning: pear/PEAR requires package "pear/XML_Util" (recommended version 1.2.1)
[PEAR] PEAR           - installed: 1.9.4
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util       - installed: 1.2.1
/usr/local/src/php-5.4.14/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
Installing PDO headers:          /usr/local/php/include/php/ext/pdo/
它提示两条警告,不用管它
4 )让 php加入到环境变量中
/etc/profile 中添加 /usr/local/php/bin/
[root@zlj php-5.4.14]# vim /etc/profile
 

5 )配置库文件,能够被系统调用
[root@zlj php-5.4.14]# vim /etc/ld.so.conf.d/php.conf
/usr/local/php/lib
 

[root@zlj php-5.4.14]# ldconfig   #刷新环境变量
6 [root@zlj php-5.4.14]# ln -s include /usr/include/php   #创建头文件的链接
(7)让apache 能够加载php页面,编辑httpd.conf
 

 

4、 测试
 (1)启用apache 、mysql
[root@zlj php-5.4.14]# /usr/local/apache/bin/httpd -k start
[root@zlj php-5.4.14]# service mysqld start
访问
 

能够访问,说明 apache正常
(2)看看php能否正常工作
[root@zlj htdocs]# mv index.html index.php
[root@zlj htdocs]# vim index.php 
<?php
phpinfo();
?>
 

访问,看到下面的页面说明 php 正常
 

3 )查看数据库连接是否正常
创建管理员密码
[root@zlj htdocs]# mysqladmin --u root -p password '123'   
 

由于新安装的,没有密码直接回车
编辑网页文件
[root@zlj htdocs]# vim index.php 
<?php
$link=mysql_connect('127.0.0.1','root','123');
if($link)
echo "ok";
else
echo "not";
?>
 

再次访问
 

可以看到 php与mysql连接正常
5、 优化
     a.我们可以写脚本让server 能够管理我们的apache
  
[root@zlj ~]# vim httpd
#/bin/bash
# chkconfig: 2345 90 60
# description: A very good web server
function start(){
echo -n "httpd is start ."
sleep 1
echo -n " ."
sleep 1
if [ -e /var/lock/subsys/httpd ];then
sleep 1
echo -e "\033[31m [faile]\033[0m"
else
/usr/local/apache/bin/httpd -k start
sleep 1
echo -e "\033[32m [ok]\033[0m"
touch /var/lock/subsys/httpd
fi
}
function stop(){
echo -n "httpd is stoping ..."
if [ -e /var/lock/subsys/httpd ];then
/usr/local/apache/bin/httpd -k stop
sleep 1
echo -e "\033[32m [ok]\033[0m"
rm -f /var/lock/subsys/httpd
else
sleep 1
echo -e "\033[31m [faile]\033[0m"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop;start
;;
*)
echo "Usage {start|stop|restart}"
;;
esac
将其移动到 /etc/init.d/目录下
[root@zlj ~]# mv httpd /etc/init.d/
[root@zlj ~]# chmod a+x /etc/init.d/httpd  #给它执行权
让它开机自动启动
[root@zlj ~]# chkconfig --add httpd
 

说明我们的脚本能正常工作
   b、为了方便管理数据库,我们安装phpmyadmin
在这个官网上 http://sourceforge.net/projects/phpmyadmin/ 下载最新的
我的是 phpMyAdmin-3.5.8-all-languages.zip
解压
[root@zlj ~]# unzip phpMyAdmin-3.5.8-all-languages.zip 
[root@zlj phpMyAdmin-3.5.8-all-languages]# mkdir /usr/local/apache/htdocs/phpmyadmin   #创建目录
[root@zlj phpMyAdmin-3.5.8-all-languages]# cp -r * /usr/local/apache/htdocs/phpmyadmin/  #将其拷到apache目录下
 

填写 mysql的用户名和密码 ,执行后
 

提示我:
配置文件现在需要一个短语密码。
缺少  mcrypt  扩展。请检查 PHP 配置。
1、 原因是 cookie 缺少值
 打开 /usr/local/apache/htdocs/phpmyadmin/libraries/config.default.php 
$cfg['blowfish_secret'] = '这里就是需要的短语密码';(短语密码请随意填写)
[root@zlj phpMyAdmin-3.5.8-all-languages]# vim /usr/local/apache/htdocs/phpmyadmin/libraries/config.default.php 
 

2、缺少 mcrypt
安装 mcrypt
在官网 http://www.rpmfind.net上下载
[root@zlj ~]# rpm -ivh mcrypt-2.6.4-3.el5.remi.i386.rpm 
warning: mcrypt-2.6.4-3.el5.remi.i386.rpm: Header V3 DSA signature: NOKEY, key ID 00f97f56
error: Failed dependencies:
libmcrypt.so.4 is needed by mcrypt-2.6.4-3.el5.remi.i386
libmhash.so.2 is needed by mcrypt-2.6.4-3.el5.remi.i386
[root@zlj ~]# 
提示我们缺少 libmcrypt libmhash
在官网 http://www.rpmfind.net上下载
下载安装
[root@zlj ~]# rpm -ivh libmcrypt-2.5.7-3.el5.remi.i386.rpm 
[root@zlj ~]# rpm -ivh libmcrypt-devel-2.5.7-3.el5.remi.i386.rpm  #同样将 libmcrypt 的开发库装上
[root@zlj ~]# rpm -ivh mhash-0.9.9-1.el5.rf.i386.rpm 
 

 

[root@zlj ~]# rpm -ivh mcrypt-2.6.4-3.el5.remi.i386.rpm 
 

然后,重新编译安装 php
清除配置文件
[root@zlj php-5.4.14]# make clean
 

添上 --with-mcrypt  再编译
[root@zlj php-5.4.14]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-mbstring   --enable-xml   --with-png-dir  --with-jpeg-dir  --with-zlib --enable-mbstring   --with-freetype-dir  --with-mcrypt
 

 

 

编译成功
 

再次登录看看
 

能够正常。