LANP架构指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括linux操作系统、apache网站服务器、mysql数据库服务器、PHP(或PerlPython)网页编程语言。

在构建LAMP平台时,php环境的安装要放在最后,apachemysql的安装方法在其他两篇博客中有详细介绍,这里不再进行描述。

 

 

 

实验要求:

1.构建LAMP网站平台,支持PHP网页解析,并能够通过PHP网页使用MySQL数据库。

2.安装并配置phpMyAdmin系统,使用数据库账号elcadmin登录,全权维护elcdb库。





1.构建PHP运行环境

1)准备工作

wKiom1gpWdmxpLPjAAADITXCQQ4122.png

    为了避免发生程序冲突等现象,建议现将RPM方法安装的php及相关依赖包(如果已存在)卸载。另外,需要安装zlib-devellibxml2-devel包(系统光盘自带)。

 

在实际企业应用中,一部分基于PHP开发的web应用系统会需要额外的扩展工具,如数据加密工具libmcryptmhashmcrypt等(可以从站点http://sourceforge.net下载)。

安装php软件包之前,应先安装好这些扩展工具程序。

 

2)安装扩展工具库

安装libmcrypt

wKioL1gpWdqyHCs3AAAEsuBfZqQ836.png

wKioL1gpWdrhQPqkAAADJREgm-8746.png

/usr/lib 目录下存放用户程序的库文件,创建软链接,便于系统执行。

 

安装mhash

wKiom1gpWdqxTSS_AAAE7TeQMd4993.png

wKiom1gpWdqSyzvpAAAC7pbGUG4809.png


安装mcrypt

wKioL1gpWdqi-UxpAAACQuPyi9M544.png

wKioL1gpWdvxI-TbAAAacJmS_zw761.png


配置出现错误,需要配置变量:

wKiom1gpWdygAb0RAAAEKMoegOc573.png


wKiom1gpWdvTjIQsAAAC_Xba64A415.png

然后,再次进行配置、编译及安装。


(3)编译安装PHP

wKioL1gpWdzA7GlCAAALorLGVwg368.png

各配置选项的含义:

--prefix:指定PHP程序的安装目录。

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

--with-apxs2:设置apxs的位置(该模块由Apache HTTP Server提供)。

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

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

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

注意:一般情况mysql服务会构建成一台独立的服务器,所以在编译配置php时,配置选项--with-mysql=/usr/local/mysql要修改为--with-mysql=mysqlnd  --with-mysqli=mysqlnd  --with-pdo-mysql=mysqlnd


(4)php.ini配置调整

wKioL1gpWs3yE77fAAADXqQrcus434.png

注意:安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,在源代码目录下提供了两个样例配置文件,分别对应于开发环境、生产环境,所以将其中一个复制到PHP的配置文件目录/usr/local/php5下,并改名为php.ini

 

通过修改php.ini文件中的配置项,可以控制php网页的执行特性,常用的配置项如下:

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

fil_uploads = On            //允许通过PHP网页上传文件

upload_max_filesize = 2M    //允许上传的文件大小限制

max_file_uploads = 20       //每个HTTP最多允许请求上传的文件数

post_max_size = 8M         //每次通过表单post提交的数据量限制

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


(5)添加ZendGuardLoader优化模块

ZendGuardLoader优化模块用于提高PHP程序的执行效率,优化页面加载速度,该模块适用于PHP5.3系列版本,可以从Zend公司的官方站点http://www.zend.com下载。

wKiom1gpWs7CfVcoAAAE1pK0u4Y988.png

wKiom1gpWs7gNNApAAAHtMV-Lec393.png

解包,复制模块文件到PHP程序的模块文件夹。


wKioL1gpWs6QDcG0AAACvc3EeE8052.png

wKiom1gpWs6xc_eKAAAEFUn7P7o959.png

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


6httpd.conf调整配置

wKioL1gpWs6i9shGAAADE-elUrc125.png

wKioL1gpWs-jr2s6AAACRTHKbkY697.png

通过LoadModule配置项加载PHP程序的模块文件(该配置项在安装PHP的过程中自动添加)。


wKiom1gpWs_TICyxAAACMRqyjWM853.png

通过AddType配置项添加对.php类型网页文件的支持(需要手动添加)。


wKiom1gpWs-ShnlBAAAE97omRN4203.png

修改DirectoryIndex配置行,添加index.php配置项。


wKioL1gpWs_y9RQfAAACwnJGTvc712.png

重启httpd服务

 

7)测试LAMP协同工作

wKioL1gpW-2j5EA9AAAC3hayfpM194.png

wKioL1gpW_DC5f3cAAABrKCCOI0627.png

编写一个.php格式的测试网页文件(phpinfo()PHP内建函数,用于显示服务器的PHP环境信息)。


wKiom1gpW_LgvMMVAAB1Y5Myh48919.png

通过浏览器访问测试网页,出现该页面,表示web服务器已经能正常显示PHP网页。


wKiom1gpW_KhITAvAAAC639xAQU299.png

wKioL1gpW_LTTicHAAAdW2gN7MM162.png

编写一个测试网页文件(mysql_connect()函数用于连接MySQL数据库


wKiom1gpW_OzcYJ5AAAi0-yFW04338.png

通过浏览器访问,如果显示该页面,表示能够通过PHP网页访问MySQL数据库。

 

2.创建elcdb库,并授权用户elcadmin

wKioL1gpW_SCNMulAAACstai7eg088.png

wKiom1gpW_SByE9bAAABvCVLrwg307.png

wKioL1gpW_TwnpKxAAAEYAOzT5k773.png


3.安装并验证phpMyAdmin系统

phpMyAdmin是一个使用PHP语言编写,用来管理MySQL数据库的Web应用系统。源码包可以从官方网站http://www.phpmyadmin.net下载。

wKiom1gpW_TyURTIAAAC-FIoVXw360.png

wKiom1gpXIbhWOzcAAADRa2WPDQ510.png

解包并复制到网站目录


wKiom1gpXIaiKtc5AAACR1alnX8327.png

wKioL1gpXIezKpkRAAAByXCmAQA051.png

建立配置文件config.inc.php,可以参照样例文件,默认已经设置了一个短语密钥(在blowfish_secret行,用于网页cookie认证),可以根据需要自行修改。

注意:mysql服务器并没有和phpMyAdmin在同一台服务器上时,需要修改config.inc.php,来指定mysql服务器的IP地址。

wKioL1hFgy3CT3loAAAOUrH_CJc262.png

localhost修改为mysql服务器的IP地址


wKiom1gpXIny10DvAACLcx-Lj-Q526.png

访问phpMyAdminWeb管理界面,输入MySQL数据库的用户和密码。


wKioL1gpXI6SAvEeAAEZS2-I7P8863.png