• 欢迎访问LLYCLOUD information technical share center (ITSC),Linux 安全,Linux 系统,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入LLYCLOUD QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏LLYCLOUD ITSC吧

4.LAMP

Linux安全与高级应用 Akide_Liu 10个月前 (02-01) 112次浏览 0个评论

LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指PerlPython) 的第一个字母,一般用来建立web应用平台。

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.

LAMP的优势:

  • 成本低廉
  • 可定制、易于开发
  • 方便易用、安全和稳定

实验部分:

一、安装php,构建LAMP

1.yum卸载php以及其依赖包

[[email protected] 桌面]# yum -y remove php*

2.编译安装数据库扩展工具libmcrypt、mhash、mcrypt

[[email protected] chapter08]# tar -zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/

[[email protected] chapter08]# tar -zxvf mhash-0.9.9.9.tar.gz -C /usr/src/

[[email protected] chapter08]# tar -zxvf mcrypt-2.6.8.tar.gz -C /usr/src/

[[email protected] chapter08]# cd /usr/src/libmcrypt-2.5.8/

[[email protected] libmcrypt-2.5.8]# ./configure

[[email protected] libmcrypt-2.5.8]# make -j8 && make install

[[email protected] mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

[[email protected] libmcrypt-2.5.8]# cd ../mhash-0.9.9.9/

[[email protected] mhash-0.9.9.9]# ./configure

[[email protected] mhash-0.9.9.9]# make -j8 && make install

[[email protected] mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/

[[email protected] mhash-0.9.9.9]# cd ../mcrypt-2.6.8/

[[email protected] mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

[[email protected] mcrypt-2.6.8]# ./configure

[[email protected] mcrypt-2.6.8]# make -j8 && make install

3. 编译安装PHP

[[email protected] ~]# tar -zxvf php-5.3.28.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/php-5.3.28/

[[email protected] php-5.3.28]# ./configure \

–prefix=/usr/local/php5 \

–with-mcrypt \

–with-apxs2=/usr/local/httpd/bin/apxs \

–with-mysql=/usr/local/mysql \

–with-config-file-path=/usr/local/php5 \

–enable-mbstring

成功后提示:

…… ……

+——————————————————————–+

| License: |

| This software is subject to the PHP License, available in this |

| distribution in the file LICENSE. By continuing this installation |

| process, you are bound by the terms of this license agreement. |

| If you do not agree with the terms of this license, you must abort |

| the installation process at this point. |

+——————————————————————–+

Thank you for using PHP.

…. ….

[[email protected] php-5.3.28]# gmake -j 12 && gmake install

  • Php编译参数:

–prefix:指定PHP程序安装到哪个目录,如/usr/local/php5。

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

–with-apxs2:设置“Apache”提供的apxs模块文件位置,PHP需要修改该模块,以求Apache对PHP的支持。

–with-mysql:因为PHP需要访问数据库,所以需要知道mysql的位置。

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

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

  • 常见错误提示:

原因:

因为xml软件包没有安装,导致配置失败!!!!!

解决方案:

强烈建议yum安装(147个包,手装也行)

[[email protected] php-5.3.28]# yum -y install xml*

Verifying : xml-commons-apis-manual-1.3.04-3.6.el6.i686 114/147

Verifying : libselinux-devel-2.0.94-5.8.el6.i686 115/147

Verifying : libxml2-devel-2.7.6-17.el6_6.1.i686 116/147

Verifying : libgpg-error-devel-1.7-4.el6.i686 117/147

Verifying : jakarta-commons-io-1.4-3.el6.noarch 118/147

Verifying : xmlsec1-devel-1.2.20-4.el6.i686 119/147

4.配置php.ini

【复制配置文件】

[[email protected] php-5.3.28]# cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini

【修改php.ini】

[[email protected] php-5.3.28]# vim /usr/local/php5/php.ini

782 ; PHP’s default character set is set to empty.

783 ; http://php.net/default-charset

784 default_charset = “utf-8” 手动修改【默认编码】

785

……

880 ; Whether to allow HTTP file uploads.

881 ; http://php.net/file-uploads

882 file_uploads = On 默认开启【是否文件上传】

883

……

889 ; Maximum allowed size for uploaded files.

890 ; http://php.net/upload-max-filesize

891 upload_max_filesize = 2M 默认2M【允许上传文件最大值】

892

……

738 ; Maximum size of POST data that PHP will accept.

739 ; http://php.net/post-max-size

740 post_max_size = 8M 默认8M【允许POST的数据最大字节长度】

……

174 short_open_tag=On 默认注释,手动开启详细信息

175 ; Default Value: On

176 ; Development Value: Off

177 ; Production Value: Off

  • php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项

php.ini配置文件中的默认文件上传大小为2M, 默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。但是光设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于upload_max_filesize指令的值,我一般设定upload_max_filesize和post_max_size值相等。另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。

  • short_open_tag

决定是否允许使用代码开始标志的缩写形式(<? ?> )。如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用<?xml ?> 。否则还可以通过php来输出,例如:<?php echo ‘<?xml version=”1.0″‘; ?> 。如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?php ?> )。

注意:本指令也会影响到缩写形式 <?= ,它和 <? echo 等价。使用此缩写需要short_open_tag 的值为 On。

5.配置Zend模块

[[email protected] chapter08]# tar -zxvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/

[email protected] php-5.3.x]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/

[[email protected] php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/

[[email protected] php-5.3.x]# vim /usr/local/php5/php.ini

[PHP]

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1 【手动添加,任何位置】

6.修改主配置文件

[[email protected] php-5.3.x]# vim /usr/local/httpd/conf/httpd.conf

51 # Example:

52 # LoadModule foo_module modules/mod_foo.so

53 LoadModule php5_module modules/libphp5.so 【自动添加】

……

308 AddType application/x-compress .Z

309 AddType application/x-gzip .gz .tgz

310 AddType application/x-httpd-php .php 【添加php支持】

……

167 <IfModule dir_module>

168 DirectoryIndex index.php index.html 【设置默认主页】

169 </IfModule>

[[email protected] php-5.3.x]# /etc/init.d/httpd restart 【重启服务】

7.编写测试网页,查看LAMP平台搭建情况

[[email protected] php-5.3.x]# vim /usr/local/httpd/htdocs/test1.php

<?php

phpinfo( );

?>

[[email protected] php-5.3.x]# vim /usr/local/httpd/htdocs/test2.php

<?php

$link=mysql_connect(‘localhost’,’root’,’123456′);

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

mysql_close();

?>

4.LAMP

  • 常见问题:中文乱码

原因:Apache 没有设置默认字符集

解决方案:修改Apache主配置文件,修个默认字符编码

[[email protected] php-5.3.x]# vim /usr/local/httpd/conf/httpd.conf

116 <Directory />

117 Options FollowSymLinks

118 AllowOverride None

119 Order deny,allow

120 Deny from all

121 AddDefaultCharset utf-8 【在区域配置文件中,设置默认语言】

122 </Directory>

二、部署phpMyAdmin系统

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

实验部分:

1.解压源代码到网站根目录,并改名

[[email protected] chapter08]# tar -zxvf phpMyAdmin-3.3.10-all-languages.tar.gz -C /usr/local/httpd/htdocs/

[[email protected] chapter08]# cd /usr/local/httpd/htdocs/

[[email protected] htdocs]# mv phpMyAdmin-3.3.10-all-languages/ phpMyAdmin

2.测试登录

4.LAMP

3.使用其管理数据库

4.LAMP


Llycloud ITSC , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:4.LAMP
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址