一、认识LAMP:
在LAMP平台的四个构成组件中,每个组件都承担着一部分关键应用。经过十几年的发展,各组件间的兼容性得到了不断的完善.协作能力和稳定性也不断增强,可以构建出非常优秀的Web应用系统。各组件的主要作用如下。
Linux操作系统:作为LAMP架构的基础.提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性.兼容性(AMP组件也支持Windows、UNIX等操作系统)。
Apache网站服务器:作为LAMP架构的前端,是一款功能强大.稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页.图片等文件内容。
MySQL数据库服务器:作为LAMP架构的后端.是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息.产品信息.客户资料、业务数据等都可以存储到MySQL 数据库.其他程序可以通过SQL语句来查询、更改这些信息。
PHP/PerI/Python网页编程语言:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供Web应用程序的开发和运行环境。其中,PHP是一种被广泛应用的开放源代码。
二、LAMP平台的应用优势:
2.1 成本低廉:构成组件都是开放源代码的软件.可以自由获得和免费使用,在技术上和许可证方面没有太严格的限制.大大降低了企业的实施成本。
2.2 可定制:拥有大量的额外组件和可扩展功能的模块.能够满足大部分企业应用的定制需求,甚至可以自行开发、添加新的功能。
2.3 易于开发:基于LAMP平台的动态网站中,页面代码简洁,与HTML标记语言的结合度非常好.即使是非专业的程序员也能够轻松读懂乃至修改网页代码。
2.4 方便易用:PHP、Perl等属于解释性语言,开发的各种 Web程序不需要编译,方便进行移植使用。整套的网站项目程序.通常只要复制到网站目录中,就可以直接访问。
2.5 安全和稳定:得益于开源的优势.大量的程序员在关注并持续改进LAMP平台的各个组件.发现的问题能够很快得到解决。
三、安装PHP软件包:
3.1 准备工作:
挂载:
[root@xiao ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
删除可能存在的包:
[root@xiao ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
安装依赖包:
[root@xiao ~]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm
[root@xiao ~]# rpm -ivh /mnt/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm
[root@xiao ~]# rpm -ivh /mnt/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
安装扩展工具库:
1.安装libmcrypt
[root@xiao ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/libmcrypt-2.5.8/
[root@xiao libmcrypt-2.5.8]# ./configure
[root@xiao libmcrypt-2.5.8]# make
[root@xiao libmcrypt-2.5.8]# make install
[root@xiao libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
2.安装mhash
[root@xiao ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/mhash-0.9.9.9/
[root@xiao mhash-0.9.9.9]# ./configure
[root@xiao mhash-0.9.9.9]# make
[root@xiao mhash-0.9.9.9]# make install
[root@xiao mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/
3.安装mcrypt
[root@xiao ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/mcrypt-2.6.8/
[root@xiao mcrypt-2.6.8]# ./configure
##解决报错问题##
[root@xiao mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
[root@xiao mcrypt-2.6.8]# make
[root@xiao mcrypt-2.6.8]# make install
3.2 编译安装PHP:
解包:
[root@xiao ~]# tar zxf php-5.5.38.tar.gz -C /usr/src
[root@xiao ~]# cd /usr/src/php-5.5.38/
配置:
在定制PIHP的配置选项时,最关键的是要指定httpd、mysqld的安装路径.以便添加相关支持设置.使LAMP各组件协同工作。除此之外,还可以指定安装路径,启用多字节支持、加密扩展支持等。
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring
编译及安装:
[root@xiao php-5.5.38]# make
[root@xiao php-5.5.38]# make install
四、设置LAMP组件环境 :
php.ini 的建立及基本设置
安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,但在源码目录下提供了两个
样例配置文件,分别对应于开发环境,生产环境。
通过修改php . ini 文件中的配置内容.可以控制PHP网页的执行特性,如是否允许用户上传文件.设置上传文件的大小限制、设置默认使用的字符集.加载额外的扩展模块等。如果没有特别要求.可以直接沿用默认配置,不做任何修改。
[root@xiao php-5.5.38]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@xiao php-5.5.38]# vi /usr/local/php5/php.ini
default_charset = "utf-8"
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
short_open_tag = On
extension=php_mysqli.dll
添加ZendGuardLoader 优化模块
为了进一步提高PHP程序的执行效率.优化页面加载速度,可以为PHP添加Zend 公司开发的ZendGuardLoader 优化模块。若需要加密PHP代码以限制未经授权的分发,还可以购买该公司的ZendGuard软件。
ZendGuardLoader 优化模块适用于PHP 5.3到 PHP5.6系列版本.该模块可以从Zend公司的官方站点http ; / / www .zend .com 下载。若使用PHP5.2系列版本.应改用较早的ZendOptimizer。为PHP安装及添加ZendGuardLoader模块支持的过程如下所述。
[root@xiao ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@xiao ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@xiao zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php
修改php . ini配置文件.添加加载及启用ZendGuardLoader , so 模块的配置语句。
[root@xiao ~]# vi /usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
httpd.conf配置调整:
要使httpd 服务器支持PIHP页面解析功能,需通过LoadlVodule配置项加载PHP程序的模块文件.并通过AddType配置项添加对“.php”类型网页文件的支持。除此之外,还应修改DirectoryIndex配置行.添加index.php配置项,以识别常见的PIP首页文件。由于前面章节做虚拟Web站点,开启了Include conf /extra/httpd---vhosts , conf配置项.所以本章中需要将其注释掉。
[root@xiao ~]# vi /usr/local/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
AddType application/x-httpd-php .php
#Include conf/extra/httpd-vhosts.conf ##注释这条信息##
[root@xiao ~]# /usr/local/httpd/bin/apachectl restart ##重启服务以更新配置##
五、测试LAMP协同工作:
编写一个“.ph”格式的测试网页文件,使用PHP内建的“phpinfo( )”函数显示服务器的 PHP环境信息,PHP代码应包括在“<pphp …?>”标记之间。将测试网页文件放置到网站根目录下.如/usr / local/httpd/htdocs/test1 . php.
[root@xiao ~]# vi /usr/local/httpd/htdocs/testl.php
<?php
phpinfo();
?>
结果查看:
测试PHP网页能否访问MySQL数据库
编写一个测试网页文件test2.php,添加简单的数据库操作命令,用于验证与MySQL服务器的连接、查询等操作。其中,"mysqli_comnect()”函数用于连接MySQL数据库,需要指定目标主机地址.以及授权访问的用户名、密码。
[root@xiao htdocs]# vi /usr/local/httpd/htdocs/test2.php
<?php
$link=mysqli_connect('localhost','root','');
if ($link) echo "鸡你太美!!数据库连接成功!";
mysqli_close($link);
?>
六、部署phpmyadmin系统
6.1 解包开复制到网站目求
对于大部分PHP应用系统,只需要解包后复制到网站目录下即可完成部署,之后再根据需要调整配置,或者访问安装页面以完成进一步的安装。例如,若要将phpMyAdmin套件部署到网站根目录下,以便通过站点http: / / www , bdqn , com/ phpMyAdmin进行访问,可以参考以下内容。
[root@xiao ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz
[root@xiao ~]# mv phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyAdmin
2.建立配置文件config.inc.php
将phpMyAdnin 套件复制到网站目录以后,还需要创建配置文件方可正常使用。默认提供的样例配置文件为config . sample , inc . php,需参照该文件内容建立configi . inc .php配置文件。查找配置文件中的blowfish_secret行,默认已经设置了--个短语密钥〈此密钥用于网页cookie认证,不需要用户记忆),可以根据需要自行修改。
[root@xiao ~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@xiao phpMyAdmin]# cp config.sample.inc.php config.inc.ph
结果展示: