Linux——LAMP平台部署及应用

一、安装PHP软件包

1、准备工作

        为了避免发生程序冲突等现象.建议先将RPM方式安装的php及相关依赖包〈如果已存在)卸载。例如,根据实际安装情况可卸载php、php-cli、php一ldap、 php-comman、php一mysql等。另外.需要安装zlib一devel和libxml2-devel包。

[root@lucky ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
[root@lucky ~]# mount /dev/cdrom /mnt/

[root@lucky ~]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm 
[root@lucky ~]# rpm -ivh /mnt/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm 
[root@lucky ~]# rpm -ivh /mnt/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm 

2、安装扩展工具库,在实际企业应用中,一部分基于PHP开发的Web应用系统会需要额外的扩展工具,如数据加密工具 libmcrypt、mhash、mcrypt等(从ftp)。安装PHP软件包之前,应先安装好这些扩展工具程序。

(1)安装libmcrypt

[root@lucky libmcrypt-2.5.8]# tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@lucky libmcrypt-2.5.8]# cd /usr/src/libmcrypt-2.5.8/
[root@lucky libmcrypt-2.5.8]# ./configure 
[root@lucky libmcrypt-2.5.8]# make
[root@lucky libmcrypt-2.5.8]# make install
//创建一个软链接
[root@lucky libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

(2)安装mhash

[root@lucky mhash-0.9.9.9]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@lucky mhash-0.9.9.9]# cd /usr/src/mhash-0.9.9.9/
[root@lucky mhash-0.9.9.9]# ./configure 
[root@lucky mhash-0.9.9.9]# make
[root@lucky mhash-0.9.9.9]# make install
[root@lucky mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib

(3)安装mcrypt 

[root@lucky mcrypt-2.6.8]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@lucky mcrypt-2.6.8]# cd /usr/src/mcrypt-2.6.8/
[root@lucky mcrypt-2.6.8]# ./configure 
[root@lucky mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib    //解决configure报错
[root@lucky mcrypt-2.6.8]# ./configure 
[root@lucky mcrypt-2.6.8]# make 
[root@lucky mcrypt-2.6.8]# make  install

 3、编译安装PHP,将下载获得的PHP源码包解压并释放到/usr /src目录下.切换到展开后的源码目录。

[root@lucky mcrypt-2.6.8]# tar zxf php-5.5.38.tar.gz -C /usr/src/
[root@lucky mcrypt-2.6.8]# cd /usr/src/php-5.5.38/
[root@lucky php-5.5.38]# ./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@lucky php-5.5.38]# make
[root@lucky php-5.5.38]# make install

——prefix:指定将P+HP程序安装到哪个目录下,如/usr / local / php5。

——with-mcrypt:加载数据加密等扩展工具支持。
——with-apxs2:设置Apache HTTP Server 提供的apxs模块支持程序的文件位置。

——with-mysql:设置MySOL 数据库服务程序的安装位置。
——with-mysqli:添加mysqli扩展支持。
——with-config-file-path:设置PHP的配置文件php . ini将要存放的位置。

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

二、设置LAMP组件环境

1、php.ini的建立及基本设置

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

[root@lucky ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php.ini
[root@lucky ~]# grep -v "^;" /usr/local/php.ini | grep -v "^$"

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

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

 (2)添加ZendGuardLoader优化模块,为了进一步提高H程序的执行效率,优化页面加载速度,可以为PHP添加Zend 公司开发的ZendGuardLoader优化模块。若需要加密PHP代码以限制未经授权的分发,还可以购买该公司的ZendGuard软件。将下载的ZendGuardLoader包解压缩,并将源码目录下的模块文件复制到PHP程序的模块文件夹。

[root@lucky ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@lucky ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@lucky ~]# cp ZendGuardLoader.so /usr/local/php5/lib/php

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

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

 2、httpd.conf配置调整

         要使httpd服务器支持PH页面解析功能,需通过LoadVodule配置项加载PHP程序的模块文件,并通过AddType配置项添加对“.php”类型网页文件的支持。除此之外,还应修改Directorylndex配置行.添加index. php 配置项,以识别常见的PHP首页文件。由于前面章节做虚拟Web站点,开启了Include conf / extra/httpd--vhosts , conf 配置项.所以本章中需要将其注释掉。

 

//重启服务以更新配置
[root@lucky ~]# /usr/local/httpd/bin/apachectl restart

 二、测试LAMP协同工作

 1、测试PHP网页能否正确显示
        编写一个“.php”格式的测试网页文件,使用PP内建的“phpinfo( )”函数显示服务器的PHP环境信息,PHP代码应包括在“<?php …?>”标记之间。将测试网页文件放置到网站根目录下,如/usr / local/httpd/htdocs/test1 .php。

[root@lucky ~]# vim /usr/local/httpd/htdocs/test1.php 
<?php
phpinfo();
?>

         通过浏览器访问测试网页,如http: / /www .bdqn.com/test1 .php。若能够看到PHP程序的版本号.配置命令、运行变量等相关信息,如图5.1所示,则表示此Web服务器已经能正常显示PHP网页﹔若还能看到Zend引擎相关信息.则表示ZendGuardLoader 模块也已成功启用。

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

[root@lucky ~]# vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysqli_connect('localhost','root','123123');
if($link) echo "数据库连接成功,go work go work!!";
mysql_close($link);
?>

        通过浏览器访问测试网页,如 http:/ / /test2.php。若能看到成功连接的提示信息,如图5.2所示.则表示能够通过PHP网页访问MySQL数据库。当使用了错误的用户名.密码.或者因“mysqli-connect( )”函数未运行而导致连接失败时,执行时将会报错。


三、部署phpMyadmin

1.解包并复制到网站目录,对于大部分PHP应用系统.只需要解包后复制到网站自录下即可完成部署.之后再根据需要调整配置.或者访问安装页面以完成进一步的安装。例如.若要将phpMyAdmin套件部署到网站根目录下,以便通过站点http; / / www , bdqn . com/phpMyAcmin进行访问,可以参考以下内容。

[root@lucky php]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz 
[root@lucky php]# 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@lucky php]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@lucky phpMyAdmin]# cp config.sample.inc.php config.inc.php 

3、在浏览器中访问http :IP地址 /phpMyAdmin,如果能够看到 phpMyAdmin系统的登录界面,如图5.3所示,则表示部暑成功。使用MySQL 数据库的用户〈不能是密码为空的用户)登录后,即可在授权范围内对数据库进行管理。


 

 

相关推荐

  1. LAMP部署应用

    2023-12-16 05:58:04       6 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 05:58:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 05:58:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 05:58:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 05:58:04       18 阅读

热门阅读

  1. 抓取网页姓和名,生成假数据

    2023-12-16 05:58:04       43 阅读
  2. Elasticsearch磁盘占用大于95%时将所有索引置为只读

    2023-12-16 05:58:04       42 阅读
  3. go-zero开发入门之gateway深入研究1

    2023-12-16 05:58:04       34 阅读
  4. lua安装

    lua安装

    2023-12-16 05:58:04      44 阅读
  5. Vue中实现分布式动态路由的基本实现步骤介绍

    2023-12-16 05:58:04       36 阅读
  6. RabbitMQ 命令

    2023-12-16 05:58:04       44 阅读
  7. Python录制和绘制音频

    2023-12-16 05:58:04       45 阅读
  8. 10129 - Play on Words (UVA)

    2023-12-16 05:58:04       44 阅读
  9. word如何快速制作简易代码块

    2023-12-16 05:58:04       38 阅读