LINUX--LAMP

一、实验环境

LAMP环境的搭建_技术文档

二、Apache

一、安装DNS

1、安装bind相关软件包

 rpm   -ivh   bind-9..   bind-chroot……

2DNS配置

1主配置文件

vim  /var/named/chroot/etc/named.conf

LAMP环境的搭建_技术文档_02

2)修改区域文件

vim  /var/named/chroot/var/named/benet.com.zone

LAMP环境的搭建_技术文档_03

3)区域数据文件 (反向)

vim   /var/named/chroot/var/named/192.168.1.zone

LAMP环境的搭建_技术文档_04

4)启动服务

service   named   start

三、安装httpd的服务

1、准备工作

为了避免发生端口冲突,程序冲突等现象,建议卸载使用RPM方式安装的httpd

LAMP环境的搭建_IT_05

2、源码编译及安装

1)解包

将下载获得的httpd源码包解压释放到/usr/src目录下,且切换到展开后的源码目录中。

LAMP环境的搭建_IT_062)配置

根据服务器实际应用需要,可以灵活的设置不同的定制选项,若要获知可用的各种配置选项及其含义,可执行./configure  --help”命令。

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

LAMP环境的搭建_IT_07

3)编译及安装

完成配置后,执行make命令进行编译,将源代码转换为可执行的程序;然后执行make install命令完成最后安装过程;将编译完的httpd程序及相关目录,文件复制到预设的安装目录(由配置时的“--prefix”选项指定)。其中“make”的过程可能会需要很长时间。

LAMP环境的搭建_IT_08

3、确认安装结果

由于指定的安装目录为/usr/local/httpd,因此httpd服务的各种程序,模块,帮助文件等都将复制到此目录下。

LAMP环境的搭建_技术文档_09

4、优化执行路径

通过源码编译安装的httpd服务,程序路经并不在默认的搜索路径中,为了使该服务在使用的时更加方便,可以为相关程序添加符号链接。

LAMP环境的搭建_IT_10

这样,再执行相关命令时就不用输入冗长的路径了。

例如:当执行httpd-v命令时(用于查程序版本)时,即相当于执行/usr/local/httpd/bin/httpd-v

命令。

LAMP环境的搭建_技术文档_11

5、添加httpd系统服务

     若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。

例如:可将apachectl脚本复制为/etc/init.d/httpd,并在文件开头添加 chkconfig识别配置,然后再将其添加为标准的Linux系统服务。

LAMP环境的搭建_IT_12

LAMP环境的搭建_IT_13

LAMP环境的搭建_技术文档_14

    成功执行上述操作后,linux系统每次进入运行级别35.时;Httpd服务会自动运行。在日常维护中,可直接使用apachetl工具来控制httpd服务,也可以使用/etc/init.d/httpd脚本。

例如:当执行/etc/init.d/httpd  start  命令时,等同于执行 /usr/local/httpd/bin/apachetl start

命令。它们都用来启动httpd服务器程序。

四、httpd的基本配置

1、配置并启动httpd服务

1)配置httpd服务

    编辑httpd服务的主配置文件httpd.conf ,查找配置项 serverName,在附近添加一行内容

ServerName www.benet.com,用于设置网站名称。关于httpd.conf 文件中的更多配置选项。

LAMP环境的搭建_技术文档_15

LAMP环境的搭建_技术文档_16

     修改httpd.conf 文件的配置内容后,建议使用带 -t  选项的apachectl 命令对配置内容进行语法检查(或使用httpd -t命令)。无错误显示:Syntax ok 的信息。否则根据错误信息来修正配置。

LAMP环境的搭建_IT_17

2)启动httpd服务

      使用脚本文件/usr/local/httpd/bin/apachectl 或者 /etc/init.d/httpd ,分别通过startstoprestart 选项进行控制,可用来启动,终止,重启httpd服务。正常启动httpd服务后,默认将监听TCP协议的80端口.

LAMP环境的搭建_技术文档_18

2、部署网页文档

对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs下。需要将web站点的网页文档复制或上传到此目录下。Httpd服务器默认已提供了一个名为index.html的测试网页(可现实字符串 it works !),作为访问网页时的默认首页。

LAMP环境的搭建_IT_19

3、客户机访问网页

登陆:www.benet.com 此时是用的客户端做测试www.benet.com表示httpd 服务已经运行。

LAMP环境的搭建_IT_20

三、MySQL数据库

一、MySQL服务器的基础

1、MySQL的编译安装

为了确保MySQL数据库的完整性、可定制性。采用源代码编译的方式安装MySQL数据库系统。

1)准备工作

A、为了避免发生端口的冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有以rpm方式安装的mysql-servermysql软件包,否则建议将其卸载。

LAMP环境的搭建_技术文档_21

由图可见,之前已安装rpm的包,现在我已经卸载。

安装光盘自带的ncurses-devel包:rpm -ivh  ncurses-devel-5.7.........x86_64

LAMP环境的搭建_IT_22

BMySQL 5.5 需要cmake编译安装,所以先安装cmake

LAMP环境的搭建_技术文档_23

由此可见cmake已经安装,无需安装。

2)源码编译及安装

A、创建运行用户

为了加强数据库的服务权限控制,建议使用专门的运行用户。

LAMP环境的搭建_IT_24

系统自带的。用户系统中已经存在无需创建。

LAMP环境的搭建_IT_25

B、解包

LAMP环境的搭建_IT_26

C、配置

在内容丰富,结构庞大的企业网络平台,可能会用到多种字符集的网页,相应的数据库系统也应该支持不同的字符集编码

LAMP环境的搭建_IT_27

D、编译并安装

LAMP环境的搭建_技术文档_28

 3)安装后其他调整

A、对数据库目录进行权限设置

LAMP环境的搭建_技术文档_29

B、建立配置文件

MySQL源码目录中的support-file文件夹下,提供了适合不才同负载数据库的样本配置文件。如果不确定数据库系统应用规模,一般选择my-medium.conf文件即可,该文件满足大多数企业中等应用需求。根据以下参考内容建立MySQL系统的/etc/my.cnf配置文件。

LAMP环境的搭建_IT_30

C、初始化数据库

为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等。

LAMP环境的搭建_IT_31

D、设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量

LAMP环境的搭建_IT_32

4)添加系统服务

若希望添加mysql系统服务,以便通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本。

LAMP环境的搭建_技术文档_33

这样,以后就可以使用service工具或直接执行/etc/init.d/mysql脚本来控制MySQL数据库服务。 

LAMP环境的搭建_技术文档_34

MySQL服务器默认为通过Tcp3306端口提供服务。通过编辑/etc/my.cnf配置文件中[mysqld]

配置段的port=3306”可以更改监听端口

2、访问MYSQL数据库

MySQL数据库是典型的C/S(客户端/服务端)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。

1)登录到MySQL服务器

经安装后的初始化过程。MySQL数据库的默认管理员用户名为“root”,密码为空。

LAMP环境的搭建_IT_35

-u用于指定认证用户

在有密码的情况下,还应使用-p”选项来进行密码校验。

LAMP环境的搭建_技术文档_36

2)执行MySQL操作语句

验证成功后将会进入提示符mysql>”的数据库操作环境,用户可以输入各种操作语句对数据库进行管理。每条MySQL操作语句以分号“;”表示结束,输入时可以不区分大小写,但习惯上将MySQL的关键字大写。

LAMP环境的搭建_技术文档_37

LAMP环境的搭建_IT_38

SHOW  MASTER   LOGS;:查看当前数据库服务的日志文件信息。

3)退出“mysql>”操作环境。

“mysql>”操作环境中,执行“exit”或者“quit”命令可退出mysql命令工具,返回原来的shell环境。

LAMP环境的搭建_IT_39 

LAMP环境的搭建_IT_40四、PHP

一、安装PHP软件包

PHPHypertext Preprocessor”(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言。

1、准备工作

为了避免冲突等现象,建议先将RPM方式安装的PHP以及相关的依赖包(如果已存在)卸载。

LAMP环境的搭建_技术文档_41

LAMP环境的搭建_技术文档_42

LAMP环境的搭建_IT_43

2、安装扩展工具库

安装扩展工具:例如:数据加密工具:libmcryptmcryptmhash等(可从站点http//sourceforge.net下载)。

安装PHP之前先装扩展工具。

1)安装libcrypt工具

LAMP环境的搭建_技术文档_44

LAMP环境的搭建_IT_45

LAMP环境的搭建_IT_462)安装mhash

LAMP环境的搭建_IT_47

LAMP环境的搭建_IT_483)安装mcrypt

LAMP环境的搭建_技术文档_49

LAMP环境的搭建_IT_50

LAMP环境的搭建_IT_51解决configure报错问题

LAMP环境的搭建_技术文档_523、编译安装PHP

1)解包

LAMP环境的搭建_技术文档_532)配置

在定制PHP选项时,最关键的是要指定httpdmysql的安装路径,以便添加相关支持设置,使lamp各组件协同工作。还可以指定安装路径,启用多字节支持,加密扩展支持等。

LAMP环境的搭建_IT_54

--prefix:指定将PHP程序安装的路径。

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

--with-apxs2:设置apache http server提供的apxs模块支持程序的文件位置。

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

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

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

3)编译及安装

LAMP环境的搭建_IT_55二、设置LAMP组件环境

主要对PHP的配置文件PHP.IniApache的配置文件httpd.conf的调整。

1、PHP.ini配置调整

1)PHP.ini的建立及基本设置

安装好的PHP软件包以后,服务器并不会自动创建PHP.ini配置文件,但在源码目录下提供了两个样例配置文件。

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

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

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

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

选中其中一个样例文件,并复制到PHP的配置文件目录/usr/local/php5/下,并取名为PHP.ini

PHP.ini配置文件中,以分号开头的表示注释。

LAMP环境的搭建_技术文档_56LAMP环境的搭建_技术文档_57

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

vim /usr/local/php5/php.ini

LAMP环境的搭建_IT_58LAMP环境的搭建_技术文档_592)添加ZendGuardloader优化模块。

为了提高PHP程序的执行效率,优化页面加载速度。

首先将下载的zendguradloader包释放并将其中的PHP-5.3.x目录下的模块文件复制到PHP程序的模块文件夹。

LAMP环境的搭建_技术文档_60

LAMP环境的搭建_技术文档_61

LAMP环境的搭建_IT_62然后修改PHP.ini配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句

LAMP环境的搭建_技术文档_63

LAMP环境的搭建_技术文档_642httpd.conf的调整

要是httpd服务器支持PHP页面解析功能,通过loadmodule配置项加载PHP程序的模块文件,并通过addtype配置项添加对‘.php’类型网页文件的支持。除此之外,还可以修改directoryindex配置行,添加index.php配置项,以识别常见的php首页文件。

LAMP环境的搭建_IT_65

LAMP环境的搭建_技术文档_66

LAMP环境的搭建_技术文档_67

在上述配置中,LoadModule行会在安装php的过程中自动添加,其中‘php5_module’表示模块名称;“module/libphp5.so”表示模块文件位置,而addtype行需要手动添加,Directoryindex行在原有的模块进行修改即可。

LAMP环境的搭建_IT_68重启服务以更新配置

三、测试LAMP协同工作

1、测试php网页能否正确显示

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

LAMP环境的搭建_IT_69

LAMP环境的搭建_技术文档_70然后通过浏览器访问http//www.benet.com/test1.php.

若能看到php程序的版本号、配置命令、运行变量等相关信息,则表示web服务器已经能正常显示php网页,若还能看到Zend的相关信息,则表示ZendGuardLoader模块也已经启用。

LAMP环境的搭建_IT_71

2、测试php网页能否访问mysql数据库

再编写一个测试网页文件test2.php,添加简单的数据库操作命令。用于验证与mysql服务的连接、查询等操作。其中mysql_connect()函数用于连接数据库,需要指定目标地址。

Vim /usr/local/htt[d/htdocs/test2.php

LAMP环境的搭建_技术文档_72

Msyql_close 关闭数据库连接

If$linkecho        ; :连接成功反馈信息

$link=mysql_connect(localhost, root,123456);  连接数据库

然后通过浏览器http//www.benet.com/test2.php

LAMP环境的搭建_IT_73四、部署phpMyAdmin系统

1、解包并复制到网站目录

只需要解包复制到网站目录下即可完成部署,之后再根据需要调整配置,或者访问安装页面以完成进一步安装。

LAMP环境的搭建_IT_74

LAMP环境的搭建_技术文档_752、建立配置文件config.ini.php

phpMyadmin套件复制到网站目录下以后,还需要创建配置文件方可正常使用。默认提供的样例配置文件为config.sample.php,需参照该文件内容建立config.ini.php配置文件。查找配置文件中的“blowfish_secret”行,默认已经设置了一个短语秘钥(此秘钥用于网页的cookie认证,不需要记忆),可根据需要自行设置。

LAMP环境的搭建_IT_763、访问phpMyAdmin的web管理界面

http//www.benet.com/phpmyadmin

LAMP环境的搭建_技术文档_77表示登录成功,(密码不能为空的用户)登录后,即可在授权范围内对数据库进行管理。

 4、使用phpMyAdmin系统

使用MyAdmin系统,应先通过授权的数据库用户。

LAMP环境的搭建_技术文档_781、创建新的库,新的表

LAMP环境的搭建_IT_79

LAMP环境的搭建_技术文档_802、表及数据的管理

 LAMP环境的搭建_技术文档_81

3、直接执行MySQL语句

LAMP环境的搭建_技术文档_82

LAMP环境介绍到此!!!