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

redhat5.4下lamp源码安装_redhad5.4

 

redhat5.4下lamp源码安装_lamp_02

可以通过 yum grouplist查看
 

redhat5.4下lamp源码安装_redhad5.4_03

 

redhat5.4下lamp源码安装_lamp_04

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

redhat5.4下lamp源码安装_phpmyadmin_05

解压
[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# 编译安装
 

redhat5.4下lamp源码安装_phpmyadmin_06

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

redhat5.4下lamp源码安装_lamp_07

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
 

redhat5.4下lamp源码安装_phpmyadmin_08

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)启动
 

redhat5.4下lamp源码安装_phpmyadmin_09

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

redhat5.4下lamp源码安装_redhad5.4_10

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/
2php的配置选项
--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
 

redhat5.4下lamp源码安装_redhad5.4_11

 

redhat5.4下lamp源码安装_redhad5.4_12

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

redhat5.4下lamp源码安装_redhad5.4_13

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
 

redhat5.4下lamp源码安装_redhad5.4_14

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

redhat5.4下lamp源码安装_lamp_15

[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
 

redhat5.4下lamp源码安装_redhad5.4_16

 

redhat5.4下lamp源码安装_lamp_17

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
访问
 

redhat5.4下lamp源码安装_redhad5.4_18

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

redhat5.4下lamp源码安装_phpmyadmin_19

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

redhat5.4下lamp源码安装_lamp_20

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

redhat5.4下lamp源码安装_lamp_21

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

redhat5.4下lamp源码安装_redhad5.4_22

再次访问
 

redhat5.4下lamp源码安装_lamp_23

可以看到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
 

redhat5.4下lamp源码安装_phpmyadmin_24

说明我们的脚本能正常工作
   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目录下
 

redhat5.4下lamp源码安装_lamp_25

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

redhat5.4下lamp源码安装_lamp_26

提示我:
配置文件现在需要一个短语密码。
缺少 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 
 

redhat5.4下lamp源码安装_phpmyadmin_27

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 ~]# 
提示我们缺少libmcryptlibmhash
在官网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 
 

redhat5.4下lamp源码安装_phpmyadmin_28

 

redhat5.4下lamp源码安装_redhad5.4_29

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

redhat5.4下lamp源码安装_redhad5.4_30

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

redhat5.4下lamp源码安装_phpmyadmin_31

添上--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
 

 

redhat5.4下lamp源码安装_lamp_32

 

redhat5.4下lamp源码安装_redhad5.4_33

编译成功
 

redhat5.4下lamp源码安装_redhad5.4_34

再次登录看看
 

redhat5.4下lamp源码安装_phpmyadmin_35

能够正常。