LAMP是一个缩写,它指一组常用于来搭建动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,PHP、Perl或者 Python编程语言(本文以php为例)。
下面就介绍一下如何基于rpm包的形式构建LAMP。
前提简介:本例是使用虚拟机完成的。虚拟机IP地址为:192.168.0.72。物理主机IP为192.168.0.237。
一、安装Apache网络服务
1、下载Apache软件包。它的包名为:httpd
2、安装软件包
#yum -y install httpd
3、关闭SELinux后,启动httpd服务
#service httpd start
4、在浏览器中测试。
只需在浏览器中输入http://192.168.0.72即可。服务启动后会自动搜索并运行网页文件中以ingdex.html命名的文件。如果没有配置相应的index.html文件,则会显示默认的欢迎页面。如下所示:
此时说明web服务安装成功。
5、配置文件
web服务的配置文件至关重要。我们所做的每一步都依赖于配置文件,如建立路径别名,CGI别名,虚拟主机等都需要在配置文件中进行说明。web的配置文件有两个:一个是在/etc/httpd/conf.d/路径下的所有以.conf结尾的文件;另一个是/etc/httpd/conf/httpd.conf。而且后者为主配置文件。下面就介绍一下主配置文件中比较重要的参数。
主配置文件主要分为三段:
### Section 1: Global Environment //全局配置段
### Section 2: 'Main' server configuration //主配置段
### Section 3: Virtual Hosts //虚拟主机段
A.在全局配置段中主要的参数有以下几个:
ServerRoot "/etc/httpd" //定义了httpd服务的工作路径,默认在/etc/httpd
Timeout 120 //设置超时时间
KeepAlive Off //定义是否开启长连接
KeepAliveTimeout 1 //长连接的超时时间
MaxKeepAliveRequests 100 //最大长连接请求数目
Listen 80 //监听的地址和端口
另外, 它还定义了MPM、如何加载Apache模块等。
B.主配置段
(1)DocumentRoot选项指定网页文件的所在位置,默认在/var/www/html目录下
(2)每目录的属性配置即<Directory "path"></Directory>。在这个目录中定义了path中文件的许多重要属性。httpd的默认网页文件path为/var/www/html。
Options选项后跟参数有:
Indexes : 当没有主页面时,是否允许显示其他页面
FollowSymLink :是否跟踪连接(最好关闭)
ExecCGI:是否允许在当前目录中执行CGI
MultiViews:最好关闭影响服务器性能
none:不设置
如若此项的设置为:Options indexes FollowSymLinks。查看/var/www/html目录下的文件:
此时可知/var/www/html目录中没有index.html文件,而且还有一个链接文件。在浏览中访问web服务。
此时显示了网页文件中的所有文件,这就是indexes的效果。但这是很不安全的,所以最好不要开启此项。再验证一下 FollowSymLink的效果。
当访问test链接时显示了aa.html的内容。这也是很不安全的选项。所以none参数就刚好可以派上用场了。把OPtions设置为none。再次查看效果。
这就是none的效果。其他几个参数不再做演示。下面接着说每目录中的指令。
Order allow deny选项定义了简单的访问控制。allow和deny是两个参数,两者位置可以调换。但位置靠后者为默认设置。
Allow from :后跟网段或主机,表示允许谁访问。其中all表示所有。
Deny from:同上
AllowOverride选项定义了是否允许覆盖。覆盖的就是上述列出的控制
none :不覆盖
AuthConfig :基于账号密码的方式访问。做认证时可以用到。
还可定义认证访问。
AllowOverride AuthConfig:说明输入账号密码才能登陆
AuthType Basic:任何的方式为Basic
AuthName "stuff only":认证名字
AuthUserFile /etc/httpd/conf/.htpasswd:用户账号密码的存放文件的位置
Require valid-user:可以访问的用户
每目录中可以定义选项基本如此。下面介绍主配置段的其他选项
(3)自定义定义日志格式
LogFormat
referer:记录访问入口,即访问的来源是哪里
CustomLog 访问日志,自定义日志
combined,common,agent:定义日志的格式
ErrorLog 错误日志
(4)定义可路径别名和CGI别名:Alias,ScriptAlias
此内容详见博文“如何建立路径别名”。
(5) HostnameLookups:是否允许名称解析
(6) DirectoryIndex:定义服务器识别的目录默认主页
默认为: DirectoryIndex index.html index.html.var,系统会自动搜索第一个网页,找不到后再找第二个。所以它们有先后次序。
(7)EnableSendfile On:是否允许Sendfile。其实就是当web请求文件时,内核直接把请求的内容提交给web,而不是再次转交给用户空间。此项大大提高了系统性能。建议开启。
还有很多选项,但是不常用,在此就不多做介绍。下面介绍虚拟主机段。
C、虚拟主机段
在创建虚拟主机时,需把DocumentRoot注释掉。详细描述在“轻松创建虚拟主机”博文中。
二、安装MYSQL
MYSQL的运行进程为mysqld,它监听在tcp协议的3306端口上。
1、下载MYSQL软件包。它分为客户端包和服务器端包。
2、安装软件包
#yum -y install mysql mysql-server
3、启动mysql服务。
#service mysqld start
此时查看系统网络状态便可发现mysqld进程。
4、使用mysql命令查看数据。首次使用mysql命令会产生许多配置信息。之后便会进入命令行界面:
此时便可使用管理数据库的相应命令进行管理。
5、MYSQL已安装成功。
三、安装php
1、下载php软件包。本例以php53.i386为例,另外还安装了两个扩展包php53-mbstring.i386和php53-mysql.i386。这两个包前者提供语言转换功能,后者则负责与MYSQL连接。
2、安装包
#yum -y install php53.i386 php53-mysql.i386 php53-mbstring.i386
3、安装完后,重启web服务。
4、在/var/www/html目录下创建一个index.php页面。在页面中输入下面的代码:
- <?php
- phpinfo();
- ?>
5、测试
这是php的信息页面。此时说明php也安装成功。
6、安装包时我们还安装了一个与MYSQL连接的包,那么现在演示php如何与mysql连接。
在此修改上述的index.html网页。修改它为:
- <?php
- $link=mysql_connect('localhost','root','123456');
- if ($link)
- echo "Success...";
- else
- echo "Failure";
- mysql_close();
- ?>
测试网页:
结果表明连接成功。
至此,LAMP已成功建立。此时便可以在LAMP平台上安装相应的软件,如数据库管理软件phpMyAmin,日志管理软件Awstats等等。博文中也对这两种软件的安装做了详细的讲解,希望可以起到很好的参考作用。