1.安装Apache

1)准备工作

rpm -e httpd --nodeps

                  //卸载使用RPM方式安装的httpd

2)源码编译及安装

a.解包

tar -zxvf /root/httpd-2.2.17.tar.gz -C
/usr/src/
cd /usr/src/httpd-2.2.17/

b.配置

./configure --prefix=/usr/local/httpd
--enable-so --enable-rewrite --enable-charset-lite --enable-cgi

c.编译及安装

make && make install

3)优化执行路径(添加到搜索路径中,方便用户使用)

echo
"PATH=$PATH:/usr/local/httpd/bin" >>/etc/profile &&
source /etc/profile

//添加到PATH搜索路径中,用户不需完整命令路径即可使用

4)添加httpd为系统服务(可通过chkconfig工具控制开机自启)

cp /usr/local/httpd/bin/apachectl
/etc/init.d/httpd

//拷贝默认脚本文件到系统控制目录

vim /etc/init.d/httpd
# chkconfig:35 82 21

      /服务识别参数,指定3、5级别顺序启动标识号

# description:Startup script for the
Apache HTTP Server

//文件开头添加chkconfig识别配置,不添加chkconfig添加服务时报错

chkconfig --add httpd

//将httpd添加为系统服务

chkconfig --list httpd

//查看httpd服务的自启动状态

5)配置并启动httpd服务

a.配置httpd服务

vim /usr/local/httpd/conf/httpd.conf

/编辑httpd主配置文件

...

ServerName www.xueluo.com:80

...

//寻找该行(97行) ,设置网站名称

apachectl -t

//检测httpd.conf文件是否有语法错误;“Syntax OK”则无误

b.启动httpd服务

/etc/init.d/httpd start
netstat -utpln | grep httpd

2.安装MySQL

1)准备工作

rpm -e mysql-server mysql                        
rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo

   //卸载使用RPM方式安装MySQL软件包


[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
mount /dev/cdrom /mnt
yum -y install ncurses-devel cmake

    //安装依赖软件包

2)源码编译及安装

a.创建运行用户

useradd -M -s /sbin/nologin mysql

    //新建程序用户并不允许登陆系统

b.解包

cd
tar -zxvf mysql-5.5.22.tar.gz -C /usr/src/
cd /usr/src/mysql-5.5.22/

c.配置

cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc

-DCMAKE_INSTALL_PREFIX:指定MySQL安装位置

-DDEFAULT_CHARSET:指定默认字符集编码

-DDEFAULT_COLLATION:指定默认使用字符集校对规则

-DWITH-EXTRA-CHARSETS:指定额外支持的其他字符集编码

-DSYSCONFDIR:配置文件存储位置

d.编译并安装

make && make install

3)安装后的其它调整

a.对数据库目录进行权限设置

chown -R mysql:mysql /usr/local/mysql/

b.建立配置文件

rm -rf /etc/my.cnf

                     //删除默认存在my

/usr/local/mysql/scripts/mysql_install_db
--user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

//执行初始化脚本

  --user:指定运行用户

  --basedir:指定MySQL数据库位置

  --datadir:指定MySQL数据存储位置

d.设置环境变量

echo
"PATH=$PATH:/usr/local/mysql/bin">>/etc/profile

//添加MySQL到搜索路径,方便执行命令

source 
/etc/profile

                      //立即让profile文件内容生效

4)添加系统服务

cp /usr/src/mysql-5.5.22/support-files/mysql.server
/etc/init.d/mysqld

//拷贝服务脚本文件到/etc/init.d位置

chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on
/etc/init.d/mysqld start

三、构建PHP运行环境

PHP即“Hypertext Preprocessor”(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言。PHP的语法混合了C、JAVA、Perl及部分自创的新语法,拥有更好的网页执行速度,更重要的是PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持UNIX、Windows、Linux等多种操作系统

1.安装PHP软件包

PHP项目最初由Rasums Lerdorf在1994年创建,1995年发布第一个版本PHP1.0

1)准备工作

rpm -e php php-cli php-ldap php-common
php-mysql --nodeps

//卸载使用RPM等方式安装的PHP相关软件包

yum -y install zlib-devel libxml2-devel
libtool-ltdl-devel

        //安装依赖包

2)安装扩展工具库

实际企业应用中,一部分基于PHP开发的Web应用系统会需要额外的扩展工具,如数据加密工具libmcrypt、mhash、mcrypt等

a.安装libmcrypt

tar -zxvf libmcrypt-2.5.8.tar.gz -C
/usr/src/
cd /usr/src/libmcrypt-2.5.8/
./configure && make &&
make install
ln -s /usr/local/lib/libmcrypt.* /usr/lib/

b.安装mhash

cd
tar -zxvf mhash-0.9.9.9.tar.gz -C
/usr/src/
cd /usr/src/mhash-0.9.9.9/
./configure && make &&
make install
ln -s /usr/local/lib/libmhash.* /usr/lib/

c.安装mcrypt

         环境准备,安装Apache和MySQL_mysql

export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH

//解决configure配置报错

./configure
make && make install

3)编译安装PHP

a.解包

cd
tar -zxvf php-5.3.28.tar.gz -C /usr/src/
cd /usr/src/php-5.3.28/

b.配置

定制PHP的配置选项时,最关键的是要指定httpd、mysqld的安装路径,以便添加相应支持设置,使LAMP各组件协同工作。除此之外,还可以指定安装路径、启动多字节支持、加密扩展支持等

./configure --prefix=/usr/local/php
--with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs
--with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php
--enable-mbstring

--prefix:指定PHP安装目录

--with-mcrypt:加载数据加密等扩展工具支持

--with-apxs2:设置Apache HTTP Server提供的apxs模块支持程序的文件位置

--with-mysql:设置MySQL数据库服务程序的安装位置

--with-config-file-path:设置PHP的配置文件php.ini将要存放的位置

--enable-mbstring:启动多字节字符串功能,以便支持中文等代码

c.编译及安装

make && make install

2.设置LAMP组件环境

设置LAMP组件环境,主要包括对PHP的配置文件php.ini、Apache的配置文件httpd.conf的调整。前者用来确定PHP的运行参数,后者用来加载libphp5.so,以便支持PHP网页

1)php.ini配置调整

a.php.ini的建立及基本设置

安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,但在源码目录下提供两个样例配置文件,分别对应于开发环境、生产环境

/usr/src/php-5.3.28/php.ini-development

//开发版样例文件,用于学习、测试

/usr/src/php-5.3.28/php.ini-production

//生产版样例文件,用于实际运营

选择其中一个样例文件,并复制到PHP配置文件目录/usr/local/php下,并改名为php.ini。在php.ini配置文件中,以分号开头的内容表示注释信息

cp /usr/src/php-5.3.28/php.ini-development
/usr/local/php/php.ini

通过修改php.ini文件中的配置内容,可以控制PHP网页的执行特性,如是否允许用户上传文件、设置上传文件的大小限制、设置默认使用的字符集、加载额外的扩展模块等。如果没有特殊要求,可以沿用默认配置,不做任何修改

vim /usr/local/php/php.ini
784  default_charset =
"utf-8"

             //设置默认字符集为utf-8

226  short_open_tag = On

                     //允许识别PHP短语法标记,即<?...?>

b.添加ZendGuardLoader优化模块

为了提高PHP程序的执行效率,优化页面加载速度,可以为PHP添加Zend公司开发的ZendGuardLoader优化模块。若需要加密PHP代码以限制未经授权的开发,开可以购买该公司的ZendGuard软件

ZendGuardLoader优化模块适用于PHP 5.3系列版本

cd
tar -zxvf zendguardloader-php-5.3-linux-glibc23-i386.tar.gz
-C /usr/src/
cp cp
/usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so
/usr/local/php/lib/php/G

修改php.ini配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句

vim /usr/local/php/php.ini
zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so
zend_loader.enable=1

2)httpd.conf配置调整

要使httpd服务器支持PHP页面解析功能,需通过LoadModule配置项加载PHP程序的模块文件,并通过AddType配置项添加对“.php”类型网页文件的支持。除此还应修改Directory配置行,添加index.php配置项,以识别常见的PHP首页文件

vim /usr/local/httpd/conf/httpd.conf
AddType
application/x-httpd-php .php
DirectoryIndex
index.html index.php

         环境准备,安装Apache和MySQL_mysql_02

         环境准备,安装Apache和MySQL_php_03

         环境准备,安装Apache和MySQL_mysql_04

上述配置中,LoadModule行在安装PHP过程自动添加,其中的“php5_module”表示模块名称;“modules/libphp5.so”表示模块文件位置。而AddType行需要手动添加,DirectoryIndex行原有基础上对其进行修改即可

3.测试LAMP协同工作

1)测试PHP网页能否正确显示

编写“.php”格式的测试网页文件,使用PHP内建的“phpinfo()”函数显示服务器的PHP环境信息,PHP代码应包括在“<?php ...?>”标记字之间。将测试网页文件放置到网站根目录下

vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo();
?>

/etc/init.d/httpd stop&& /etc/init.d/httpd start

         环境准备,安装Apache和MySQL_php_05

2)测试PHP网页能否访问MySQL数据库

编写一个测试网页文件test2.php,添加简单的数据库操作命令,用于验证与MySQL服务器的连接、查询等操作。其中“mysql_connect()”函数用于连接MySQL数据库,需要指定目标主机地址,以及授权访问的用户名、密码

vim /usr/local/httpd/htdocs/test2.php

<?php

$link=mysql_connect('localhost','root','');

if($link) echo "恭喜你,数据库连接成功啦!";

mysql_close();

         环境准备,安装Apache和MySQL_PHP_06