LAMP网站服务搭建

LAMP网站服务搭建
LAMP网站服务搭建

Linux系列-Red Hat5平台下的LAMP网站服务搭建(一)

编译安装Apache服务器&httpd服务的基本配置

LAMP架构是目前最为成熟的一种企业网站应用模式,指的是协同工作的一整套系统和相关软件,能够提供动态Web 站点服务及其应用开民环境。LAMP这个词是一个缩写,具体包括:Linux操作系统,作为LAMP架构运行的基础;Apache 网站服务器作为LAMP架构的前端;MySQL数据库服务器作为LAMP架构的后端;PHP(或Perl、Python)编写语言,作为三种开发动态网页的编程语言。LAMP平台具有成本低廉、可定制、易于开发、方便使用、安全和稳定等优势。

从本次开始我将会和大家共同探讨Red Hat5平台下的LAMP网站服务搭建,其中包括编译安装Apache服务器、htt pd服务的基本配置、使用awstats分析Web日志、httpd服务的访问控制、MySQL数据库的安装和管理、构建PHP环境、常见论坛搭建等。因为涉及的内容较多,所以大家可能也看到标题上多了序号和子标题。

第一部分:安装httpd服务器

在配置Apache Web服务器之前,需要正确安装好httpd服务器软件。在RHEL5系统中,可以选择两种方式行安装,第一种方式是通过RHEL5系统光盘自带的RPM包安装,第二种方式就是下载最新版本的httpd源代码,释放后进行编译安装。前者简单、快速,但在功能上存在局限性,实际的生产环境中,编译安装的方式应用要更加广泛。本次我们主要介绍源码编译安装。

1. 获取软件包

获取软件包可发通过Apache服务软件的下载页面:https://www.360docs.net/doc/048469035.html,/download.cgi下载到各个版本的httpd软件包,或者使用wget工具下载httpd-2.2.9.tar.gz源码包文件

wget https://www.360docs.net/doc/048469035.html,/dist/httpd/httpd-2.2.9.tar.gz

2. 解压并释放源码包

说明:将httpd源码包解压并释放到/usr/src/目录中,执行cd命令切换到展开的源码目录。

3. 配置编译选项

在配置前可以先执行―./configure –help‖命令查看各种配置项的详细信息,以便实现更灵活,更丰富的功能定制配置。

说明:--prefix用于指定httpd服务程序将要安装到的系统目录,这里设置的是缺省目录―/usr/local/apache2‖;--enable-so用于能够使httpd服务动态加载模块的功能;--enable-rewrite用于能够使httpd服务具有rewrite网页地址重写功能。

4.编译服务器程序

说明:完成配置以后,需要执行―make‖命令进行编译,将源代码转换为可执行的程序。

5.安装已编译完成的程序

说明:执行―make install‖命令完成最后的安装过程,将已经编译完的httpd程序及相关目录、文件复制到预设的安装目录中。第二部分:httpd.conf配置文件解析

Httpd.conf文件是httpd服务的主配置文件,其中包含的配置项直接决定着Web服务器的各项运行参数及服务器性能。要做姨LAMP,我们必须了解httpd.conf中的常用配置项的功能及作用。

1. httpd.conf配置文件的结构

httpd.conf文件由注释行和设置行两部分组成,注释行以―#‖开始,包含了对配置行说明和解释的内容,并不是有效的配置项;设置行不以―#‖开始,是配置文件中真正有效的设置内容。配置文件中大量的注释行虽然对理解配置项的含义有所帮助,但是过多的注释行也会对配置文件的阅读造成一定的干扰,我们可以使用如下的命令去除掉注释行。

[root@www ~]# cd /usr/local/apache2/conf/

[root@www conf]# cp httpd.conf httpd.conf.bak

[root@www conf]# grep -v '#' httpd.conf.bak | grep -v '^$' > httpd.conf

2. httpd.conf中的全局配置、

httpd.conf配置文件中包括有相当数量的全局配置项,这些配置项不包括在任何区域中,决定了Apache服务器的全局参数。以下是httpd.conf文件中常用到的全局配置项内容及注解。

ServerRoot "/usr/local/apache2" //用于设置httpd服务器的根目录

Listen 80 //用于设置监听的端口号

User daemon //用于设置运行htttpd进程时的用户身份

Group daemon //用于设置运行htttpd进程时的组身份

ServerAdmin web@https://www.360docs.net/doc/048469035.html, //用于设置管理员的E-mail地址

ServerName https://www.360docs.net/doc/048469035.html, //用于设置FQDN

DocumentRoot "/usr/local/apache2/htdocs" //用于设置网页文档根目录

DirectoryIndex index.html index.php //用于设置网站的默认首

ErrorLog "logs/error_log" //用于设置错误日志文件的路径和文件名

LogLevel warn //用于设置记录的级别,默认为Warn(警告)

CustomLog logs/access_log common //用于设置访问日志文件的路径和格式类型

PidFile logs/httpd.pid //用于设置保存httpd服务器程序进和号(PID)文件

Timeout 300 //用于设置服务器与浏览器之间网络连接的超时时间

KeepAlive On //用于设置是否使用保持连接功能

MaxKeepAliveRequests 100 //用于设置客户端每次连接允许请求响应的最大文件

KeepAliveTimeout 15 //用于设置保持连接的超时秒数

Include conf/extra/httpd-vhosts.conf //用于包含另一个配置文件的内容

… …

3. httpd.conf中的区域设置

除了全局设置项外,htttpd.conf文件中的在多数配置都是包括在区域中的,区域设置使用一对组合标记,限定了配置项的作用范围,例如,配置文件中常用的目录区域的形式如下:

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

说明:在以上的区域定义中,使用定义区域的开始,使用定义该区域的结束,其间的设置内容只作用于区域内部,而不会在全局或其它区域中生效。目录区域设置主要用于为特定的目录,设置访问控制权限。除了目录区域外,经常会设置如―… …‖这样的虚拟主机等的区域。

第三部分:web站点的故障排错与性能测试

1.检查httpd.ocnf文件的语法设置

在对httpd.conf文件进行修改后,建议使用带―-t‖选项的apachetl命令对配置内容进行语法检查(也可发使用―httpd –t‖命令)。如果没有语法错误,将会显示―syntax OK‖的信息。否则,需要根据错误信息中的提示,将语法错误修正后再重新检查。用法如下图:

[root@www conf]# /usr/local/apache2/bin/apachectl –t

Syntax OK

[root@www conf]# /usr/local/apache2/bin/httpd –t

Syntax OK

[root@www conf]#

2.启动、终止及重启httpd服务

使用带―start‖选项的apachectl命令可发启动htttpd服务。

例如:使用apachectl脚本程序启动httpd服务,并观察httpd服务的监听状态。

[root@www ~]# /usr/local/apache2/bin/apachectl start

[root@www ~]# netstat -anpt | grep :80

tcp 0 0 :::80 :::* LISTEN 21669/httpd

[root@www ~]#

说明:将上述apachectl脚本命令的―start‖选项替换为―stop‖、―restart‖时,可分别用于终止、重启httpd服务。若希望在服务器开机后自动运行httpd服务,可以将对应的启动命令写入到―/etc/rc.d/local‖文件中。

3.排除httpd服务的个别启动状态

1>.无法确定Web服务器主机名的故障

当httpd服务识别的主机名与服务器实际的主机名不一致时,可能导致启动httpd服务的时侯反应非常缓慢,且出现如下命令提示信息。

[root@www ~]# /usr/local/apache2/bin/apachectl –t

httpd: apr_sockaddr_info_get() failed for https://www.360docs.net/doc/048469035.html,

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for Server Name

Syntax OK

[root@www ~]#

参考下列步骤可发解决这个问题。

编辑httpd.conf主配置文件,添加配置行―ServerName https://www.360docs.net/doc/048469035.html,‖,指定完整的主机名。若缺少―ServerName‖配置行,httpd服务器可能会将―127.0.0.1‖作为主机名。

编辑―/etc/sysconfig/network‖文件,修改主机名,例如―HOSTNAME=https://www.360docs.net/doc/048469035.html,‖。

编辑―/etc/hosts‖文件,添加服务器的主机名、IP地址记录,如―192.168.1.1 https://www.360docs.net/doc/048469035.html, ‖。

2>.TCP80端口已被占用的故障

当启动httpd服务的时侯出现―… …could not bind to adderss [::]:80‖的提示信息时,则表示使用的端口(默认为80)已经被其它进程占用。这时只需要执行―netstat –anpt | grep :80‖命令,找出占用80端口的进程并关闭掉即可。很多时侯是系统原有RPM方式安装的httpd服务进程造成的,只要停用原有的httpd服务,并将自启动状态设置为关闭即可。如下图所示是此类故障的效果及解决办法。

[root@www ~]# /usr/local/apache2/bin/apachectl start

(98)Address already in use: make_sock: could not bind to address [::]:80

(98) Address already in use: make_sock:could not bind to address 0.0.0.0:80

no listening sockets available,shutting down

Unable to open logs

[root@www ~]# netstat -anpt | grep :80

tcp 0 0 :::80 :::* LISTEN 21669/httpd

[root@www ~]# killall -9 httpd

[root@www ~]# chkconfig --level 35 httpd off

[root@www ~]# /usr/local/apache2/bin/apachectl start

4.测试httpd服务器的性能

Httpd服务自带了一个压力测试工具AB(Apache Benchmark,Apache基准测试工具),用于检测Web站点的性能表现,如并发平均响应时间、速度以及并发连接处理能力等。AB命令工具位于安装目录中的―bin/‖文件夹下,使用该命令的简单格式如下:

Ab [-q] –c 并发请求数–n 总的请求数[http://] 域名[:端口]/路径

说明:使用-q选项时,将不显示测试进度信息,当测试的目标是Web站点的根路径时,注意最后的―/‖符号不能省略。指定的并发请求数不能大于总的请求数。下面我们来举例说明ab命令的使用方法。

1>.使用ulimit命令修改最大文件数限制

在RHEL5系统中,默认允许打开的最大文件数为1024.由于使用AB测试工具时可能需要同时打开更多的文件,因此需要使用ulimit命令突破这个限制。Ulimt是一个Bash内部的命令,可以用于对Shell进程使用的系统资源进行限制。

说明:使用ulimit命令将允许打开的最大文件数修改为10000

注意:如果不更改最大文件数限制,在使用AB工具时可能会出现―socket:Too many open files(24)‖的错误提示信息,导致测试无法进行。

2>.使用AB命令进行压力测试

执行AB测试命令后,通过命令输出的结果判断Web服务器的响应情况及性能表现

[root@www ~]# /usr/local/apache2/bin/ab -q -c 2000 -n 4000 https://www.360docs.net/doc/048469035.html,/

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, https://www.360docs.net/doc/048469035.html,/

Licensed to The Apache Software Foundation, https://www.360docs.net/doc/048469035.html,/

Benchmarking https://www.360docs.net/doc/048469035.html, (be patient).....done

Server Software: Apache/2.2.9

Server Hostname: https://www.360docs.net/doc/048469035.html,

Server Port: 80

Document Path: /

Document Length: 44 bytes

Concurrency Level: 2000 //用于并发连接测试的请求数

Time taken for tests: 3.309 seconds //测试过程消耗的时间

Complete requests: 4000 //测试过程中总共完成的请求数

Failed requests: 0 //失败的请求数量

Write errors: 0

Total transferred: 1190484 bytes //测试过程中的网络传输量

HTML transferred: 179388 bytes //测试过程中的HTML内容传输量

Requests per second: 1208.97 [#/sec] (mean) //服务器平均每秒响应的请求数

Time per request: 1654.301 [ms] (mean) //服务器平均每请求的响应时间

Time per request: 0.827 [ms] (mean, across all concurrent requests)

Transfer rate: 351.38 [Kbytes/sec] received

Connection Times (ms) //连接时间统计信息

min mean[+/-sd] median max

Connect: 0 212 690.9 39 3131

Processing: 1 158 33.3 163 292

Waiting: 0 88 38.8 101 205

Total: 84 370 685.6 204 3200

Percentage of the requests served within a certain time (ms)

50% 204

66% 211

75% 230

80% 244

90% 292

95% 3152

98% 3180

99% 3188

100% 3200 (longest request)

第四部分:Web站点的典型应用

一.构建虚拟Web主机

虚拟Web主机指的是在同一台服务器中运行多个Web站点的应用,其中的每一个站点并不独立占用一台真正的计算机。例如,当用户访问两个不同的网站https://www.360docs.net/doc/048469035.html,、https://www.360docs.net/doc/048469035.html,时,所看到的网页内容也不相同,而如果这两个网站实际上是在同一台服务器中运行的,那么就可以称为是―虚拟的‖Web主机,一般简称―虚拟主机‖。

1. 构建基于域名的虚拟主机

本实验以实现两个虚拟Web主机https://www.360docs.net/doc/048469035.html,和https://www.360docs.net/doc/048469035.html,为例,其对应的服务器IP地址为192.168.1.1。构建过程参考如下:

1>.确定服务器的主机名、IP地址等参数。

向域名注册机构申请Web站点的域名,使得所有的用户在访问域名https://www.360docs.net/doc/048469035.html,、https://www.360docs.net/doc/048469035.html,时,指向的IP地址对应为192.168.1.1.

2>.分别准备两个虚拟站点的网页文件

说明:此处我们为了稍后的测试分别建立了―/usr/local/apache2/htdocs/zoucom/index.html‖和―/usr/local/apache2/h tdocs/pancom/index.html‖两个虚拟站点的默认首页

3>.修改httpd.conf文件,添加虚拟主机配置

编辑httpd.conf文件,使用―Name VirtualHost‖配置项指定运行虚拟主机的服务器IP地址,并为每一个虚拟站点增加一段―… …‖区域设置,其中至少包括虚拟主机的域名、网页文档根目录的配置行,其他的设置内容可发参考httpd.conf文件中的全局配置。如果虚拟主机数较多,建议为每一个虚拟主机使用独立的访问日志和错误日志文件。

4>.重新启动httpd服务

5>在客户机浏览器中访问虚拟Web站点

首先要确保客户机能够正确解析这两个虚拟主机的域名,并能够连接到该服务器,如果在实验中没有搭建可用的DNS 服务器,也可通过修该客户机的hosts文件来完成域名解析——如果是Linux客户机,则修改―/etc/hosts‖文件;如果是wi ndows客户机,则修改―C:\WINDOWS\system32\drivers\hosts‖文件,添加相应域名到IP地址的映射记录即可。

在客户端浏览器中分别访问两个虚拟主机站点https://www.360docs.net/doc/048469035.html,、https://www.360docs.net/doc/048469035.html,,将会看到不同的网页内容

浏览网站https://www.360docs.net/doc/048469035.html,所看到的效果:

浏览网站https://www.360docs.net/doc/048469035.html,所看到的效果:

2. 构建基于IP地址的虚拟主机

构建基于IP地址的虚拟主机服务器时,与构建基于域名虚拟主机的过程基本类似。只不过中httpd.conf文件中的配置稍微有些区别:不再需要指明―NameVirtualHost‖配置行,每个虚拟主机的―… …‖区域设置中,也要改为各自域名对应的IP地址。

下面以域名https://www.360docs.net/doc/048469035.html,对应的IP地址为1.1.1.1,https://www.360docs.net/doc/048469035.html,对应的IP地址为2.2.2.2为例,在httpd.conf文件中的设置形式如下图:

3. 构建基于端口的虚拟主机

构建基于端口的虚拟主机服务器时,httpd服务监听的IP地址、端口号需要与各虚拟主机使用的IP地址、端口号相对应,一般也无需指定―NameVirtualHost‖配置行。

下面以访问80端口时对应站点https://www.360docs.net/doc/048469035.html,,访问8080端口时对应站点https://www.360docs.net/doc/048469035.html,为例,在httpd.conf 文件中的设置形式如下:

二.建立系统用户的个人主页

Httpd服务自带的个为主页功能,可以非常方便地为Linux系统用户提供Web站点服务。服务器吕启用该功能参后,每个系统用户只需在宿主目录中的相应位置(默认为public_html子目录)建立网页文件,就可以在浏览器中访问自己的个人主页了。

下面我们以为Linux系统用户zpp建立个人主页为例,讲解在httpd服务器中实现个人主页服务的过程

1. 修改httpd文件,启用个人主页功能

添加―UserDir public_html‖配置行,并添加―… …‖目录区域设置,以便允许客户机访问系统用户的个人网页目录。

2. 建立个人主页测试文件

切换为目标用户zpp,在宿主目录中建立public_html文件夹,并添加测试网页文件。

由于Linux系统对用户宿主目录默认设置了较严格的访问权限,因此还需要为其他用户增加执行权限,以便运行Web 服务的程序用户有权限访问用户宿主目录中的public_html子目录。

3. 重启httpd服务

4. 在客户机浏览器中访问个人主页

OK!通过本次对编译安装Apache服务器和httpd服务的基本配置,我们已经对这个神秘的东西有所了解,但这还远远不够,我们的目的是让整个LAMP网站服务平台,健康稳定的运行下去,接下来更精彩!拭目以待吧!

Linux系列-Red Hat5平台下的LAMP网站服务搭建(二)

使用awstats分析Web日志&httpd服务的访问控制

上次我们看到了apache服务器的源码编译安装以及httpd服务的基本配置,本次接上

回我们来看一下如何利用日志分析工具awstats分析Apache服务器的访问日志以及http

d服务的访问控制。

第一部分:使用awstats分析Web日志

Awstats是一个开源的日志分析工具,它使用Perl语言开发,不仅可用于分析Apach

e服务器的访问日志,还可以用于分析Samba、Tomcat、Squid乃至Windows系统中

的IIS等网络服务的日志信息。

Awstats的软件包可发从―https://www.360docs.net/doc/048469035.html,‖网站中下载,本次我们将

以目前版本较新的6.9版本为例,介绍为上次我们搭建的虚拟网站https://www.360docs.net/doc/048469035.html,添加a

wstats日志分析页面的过程。

检查awstats的安装目录、httpd服务的配置文件路径、日志记录格式等工作环境,需要

仔细阅读提示信息并进行相关设置

. . . . . . (此处省略14行显示信息)

1>.下面选择“y”,将httpd服务的日志记录格式改为“combined”,以便记录更多详细信息(注:以下红色字体是我们要键入或确认的信息)

-----> Check and complete web server config file '/usr/local/apache2/conf/httpd.conf' Warning: You Apache config file contains directives to write 'common' log files

This means that some features can't work (os, browsers and keywords detection).

Do you want me to setup Apache to write 'combined' log files [y/N] ? y

. . . . . . (此处省略6行显示信息)

2>.下面选择“y”创建新的配置文件。

-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'

File awstats.model.conf updated.

-----> Need to create a new config file ?

Do you want me to build a new AWStats config/profile

file (required if first install) [y/N] ? y

3>.定义日志分析的目标网站名称(https://www.360docs.net/doc/048469035.html,).

-----> Define config file name to create

What is the name of your web site or profile analysis ?

Example: https://www.360docs.net/doc/048469035.html,

Example: demo

Your web site, virtual server or profile name:

> https://www.360docs.net/doc/048469035.html,

4>.定义awstats配置文件的存放目录(默认为“/etc/awstats”)。

-----> Define config file path

In which directory do you plan to store your config file(s) ?

Default: /etc/awstats

Directory path to store config file(s) (Enter for default):

>

-----> Create config file '/etc/awstats/https://www.360docs.net/doc/048469035.html,.conf'

Config file /etc/awstats/https://www.360docs.net/doc/048469035.html,.conf created.

-----> Restart Web server with '/sbin/service httpd restart'

httpd: unrecognized service

5>.添加cron计划任务(安装脚本无法自动添加,提示用户需手动添加,按回车键继续)。-----> Add update process inside a scheduler

Sorry, configure.pl does not support automatic add to cron yet.

You can do it manually by adding the following command to your cron:

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=https://www.360docs.net/doc/048469035.html,

Or if you have several config files and prefer having only one command:

/usr/local/awstats/tools/awstats_updateall.pl now

Press ENTER to continue...

6>.按回车键退出安装脚本

A SIMPLE config file has been created: /etc/awstats/https://www.360docs.net/doc/048469035.html,.conf

You should have a look inside to check and change manually main parameters.

You can then manually update your statistics for 'https://www.360docs.net/doc/048469035.html,' with command:

> perl awstats.pl -update -config=https://www.360docs.net/doc/048469035.html,

You can also read your statistics for 'https://www.360docs.net/doc/048469035.html,' with URL:

> http://localhost/awstats/awstats.pl?config=https://www.360docs.net/doc/048469035.html,

Press ENTER to finish...

由于虚拟主机https://www.360docs.net/doc/048469035.html,的访问日志做了单独设置,因此需要在awstats的配置

Awstats通过awstats.pl脚本对日志进行分析,每次运行会自动将日志信息中新增的

访问网址https://www.360docs.net/doc/048469035.html,/awstats/awstats.pl?config=https://www.360docs.net/doc/048469035.html,,即可进入awstats的日志分析报告界面,按小时、日、星期、月查看网站的访问人次、网页数、文件数、字节等信息。如下图所示,够详细的吧!

使用上面的地址访问awstats页面时,我们会发现,由于需要输入的URL信息较长,

com/awstats/awstats.pl?config=https://www.360docs.net/doc/048469035.html,页面上,如图:

第二部分:Httpd服务的访问控制

为了更好地控制客户端对Web资源的访问,Apache提供了两种基本的访问控制方式:基于用户和基于客户端地址(主机名或IP地址)。

1.基于用户的访问控制

基于用户的访问控制包含认证和授权两个过程,认证(Authentication)是指识别用户身份的过程,授权(Authorization)是允许特定用户访问特定区域信息的过程。对服务器中特定的目录区域设定了认证之后,将只有通过认证的用户才被允许访问资源。

Apache可以使用基本认证(Basic)和摘要认证(Digest)两种方式。使用摘要认证需要在编译httpd的过程中预先配置―--enable-auth-digest‖项,但并不是所有的浏览器都支持摘要认证;而基本认证是Apache的基本功能,不需要预先配置特别的选项,下面将以基本认证方式为例,对awstats日志分析页面添加用户认证。

AuthType:设置认证的类型,Basic为基本认证

AuthUserFile:设置用于保存用户帐号、密码的认证文件路径。

Require valid-user:授权给认证文件中的所有有效用户。

选项表示新建(Create)认证文件,当向已有的认证文件中添加帐号时可以省略―-c‖选项。

现在我们可以看到再次访问页面时,需要输入用户名和密码。

2.基于客户端地址的访问控制

基于客户端地址的访问控制主要应用于目录区域―… …‖,使用配置项―Order‖、―Deny from‖、―Allow from‖,根据客户机的主机名或IP地址决定是否允许访问。

???????? 配置项―Order‖用于定义―允许‖、―拒绝‖策略的处理顺序,包括两种形式。

???????? Order allow,deny:先允许后拒绝,默认拒绝所有没有被明确允许的客户端地址

???????? Order deny,allow:先拒绝后允许,默认允许或拒绝所有被明确拒绝的客户端地址。 ???????? 配置项―Allow‖和―Deny‖用于设置允许或拒绝的客户机地址,

下面给出应用的例子

本次我们就介绍到这里了,下次我们将会看到Linux系列-Red Hat5平台下的LAMP网站服务搭建(三)——安装MySQL数据库&构建PHP环境。

Linux系列-Red Hat5平台下的LAMP网站服务搭建(三)

MySQL数据库的安装、启动&构建PHP环境

上次咱们看到了LAMP网站服务(二)使用awstats分析Web日志&httpd服务的访问控制,其实都是在为后面的应用打基础。今天咱们将会进入到最后的准备环节,我将会为大家介绍MySQL数据库的安装和PHP环境的构建。

第一部分:MySQL数据库的安装和启动控制

首先,介绍一下MySQL.MySQL是一个真正的多线程、多用户的SQL数据库服务器,基于客户端/服务器结构实现,具有功能强大、使用简单、管理方便、查询速度快、安全可靠等优点。而且MySQL是一个开源的数据库服务器软件,可发从Internet免费下载和使用。在RHEL5系统中,使用RPM包的方式也可发安装MySQL数据库,但是往往会缺失一些―不常用‖的功能,而且MySQL被拆分成许多相互关联,依赖的RPM包,可能会让人对应该安装哪些包感到迷惑,为了确保可提供功能的完整性,方便管理员灵活定制,保持在整个LAMP架构中的可协调性。建议使用源码编译的安装方式。

下面是具体的安装过程:

1.安装MySQL

首先访问MySQL官方的下载页面https://www.360docs.net/doc/048469035.html,/downloads/,查找并下载MySQL软件的源码包,这时将使用mysql-5.0.56.tar.gz为例,介绍MySQL的编译安装过程。

2>.解压并释放源码包,并切换至展开的源码包目录。

置文件,分别适用于不同负载的数据库服务器,一般选择https://www.360docs.net/doc/048469035.html,f文件即可,该配置文件适用于中等负载的数据库,可以满足大多数企业的应有需求。

修改相关目录的所有权,以便mysql用户可以读写数据库。

local/mysql/lib/mysql‖加入到系统的库文件搜索路径中,以便在用到时能够自动搜索到。增加库文件搜索路径可以通过修改―/etc/ld.so.conf‖文件实现。

2.MySQL启动控制

1>.使用mysqld_safe脚本安全启动服务。

在―/usr/local/mysql/bin/‖目录中,存放着管理MySQL服务器的脚本和程序。其中脚本文件mysqld_safe可用来安全启动MySQL服务器,结合命令选项―—user‖可指定运

修改―[mysql]‖配置段中的―port‖行,例如改为―port=12345‖.

2>.将mysql添加为系统服务。

在展开的mysql源码包目录中的support-files文件夹下,―mysql.server‖文件可用来作为mysqld服务的启动脚本。将其复制到―/etc/init.d‖目录,并注意添加执行权限、使

闭、重启mysqld服务了。

3>.设置MySQL程序的执行路径。

为了在执行―mysql‖等命令和脚本工具时输入更方便,可以修改PATH环境变量,添加

PHP是PHP Hypertext Preprocessor(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言,最初由Rasums Lerdorf在1994年创建。PHP和语法混合了C、Java、Perl发及PHP自创的新语法,它能比CGI或者Perl更快地执行动态网页,更重要的是PHP几乎支持所有流行的数据库,在数据库层面的操作功能也十分强大。PHP 能够支持多种操作系统平台,可在UNIX、Windows、Linux系统中配置使用。

一.安装PHP软件包

PHP的源代码可以从官方站点https://www.360docs.net/doc/048469035.html,/downloads/中下载。今天我们将使用在前面已安装的Apache和刚刚装好的MySQL作为基础,以目前较为流行的5.2.

6版本的源码包为例,介绍在RHEL5系统中部署PHP环境的过程。

1.解压并释放下载的PHP源码包到“/usr/src/”目录中,并切换进入展开的源码文件

--prefix:设置PHP程序的安装路径

--enable-mbstring:设置PHP支持多字节字符串

--with-apxs2:设置Apache服务器提供的apxs模块支持程序的文件位置。

--with-mysql:设置MySQL服务器程序的安装位置

--with-config-file-path:设置PHP程序的配置文件所在的位置

符号分隔,写到一行中。

说明:PHP安装程序通常不会复制配置文件,因此还需要复制源码目录中的PHP配置模板文件php.ini-dist,将其复制为PHP配置目录中的php.ini文件即可。

二.设置httpd.conf文件

PHP程序需要和Web服务器协同工作,才便于发挥其强大的作用。因此在编译安装好PHP程序以后,还要编辑httpd服务器的主配置文件httpd.conf,添加支持PHP环境的相关配置。要让httpd服务器支持PHP页面解析功能,可以使用―LoadModule‖配置项加载P HP程序对应的模块,在httpd.conf文件中查找,确认存在配置行―LoadModule php5_ module modules/libphp5.so‖,如果没有则手动添加。还需要使用―AddType‖配置项添加对.php类型的网页文件的识别。在httpd.conf文件中查找―AddType‖关键字,参考相

若还需要将Web站点目录中的首页文件改为使用index.php,则还需要在httpd.con f文件中修改―DirectoryIndex‖配置行,添加―index.php‖项,以便httpd服务器能够正确

要想测试PHP环境是否能够正常工作,需要建立一个使用PHP语言编写的网页文件,并通过httpd服务器发布,在浏览器中进行访问。

1.测试PHP与Apache的协同工作

hp进行测试了,如果PHP解析功能正常,将会在浏览器页面中看到服务器中PHP程序的版本信息。如下图所示:

说明:咱们还是用的上次Apache服务器和MySQL的环境,主机名名是https://www.360docs.net/doc/048469035.html, 2.测试PHP与MySQL数据库的协同工作

刚刚我们测试了PHP与Apache的协同工作,现在我们再次编写一个PHP测试网页文

试成功!

相关主题
相关文档
最新文档