⒈ 源码包安装httpd。
⑴、静态默认安装,命令如下:
完成后,先查询安装了那些模块命令如下:
再看模块是否激活,如下图:
可见模块没有被激活,若想添加模块了,可用如下命令加载:
接着可看到模块被加载激活了,如下:
⑵、动态安装且加载所有模块,命令如下:
完成后可以看到模块安装加载情况如下:
通过对比,推荐安装时采取动态完全安装。
⒉ apache配置文件参数详解。
这整个解释都是针对系统Cent OS 5.0安装时自带的apache所进行的。
⑴、先了解一下apache的相对结构。
/etc/httpd/conf/httpd.conf:主配置文件,其主要设定以它为主;
/etc/httpd/conf.d/*.conf:额外参数配置,如果你不想修改原始配置文件httpd.conf的话,可以将你自己的设置独立出来,如创建为/etc/httpd/conf.d/child.conf,apache启动时就被载入;
/usr/lib/httpd/modules/:apache支持很多模块,你所想要的模块都放在其中;
/var/www/html/:默认‘首页’所在目录,当你输入http://localhost时所显示资料所在目录;
/var/www/error/:配置错误或浏览器要求资料错误时,浏览器上出现的错误讯息以这个目录预设为主;
/var/www/icons/:它提供 Apache默认给予的一些小图示,你可以随意使用,当你输入http://localhost/icons/时所显示的资料所在;
/var/www/cgi-bin/:默认给一些可执行的CGI(网页程序)程序放置的目录;
/var/log/httpd/:默认的apache登录信息都放在这里,对流量较大的网站,这个目录要小心设置;
/usr/sbin/apachectl:apache的主要启动文件,其实是shell script;
/usr/sbin/httpd:apache的二进制启动文件。
⑵、主配置文件httpd.conf详解。
其基本设定格式如下,如例子对目录/var/www/html/的设定:
①、httpd.conf设置分三部分,首先针对全局环境参数(Global Environment):
ServerTokens OS告知用户端WWW服务器的版本与操作系统
ServerRoot "/etc/httpd"Apache安装路径
PidFile run/httpd.pid放置PID的目录,方便软件管理,是相对路径
Timeout 120持续连接如果等待超过120秒则连接断开
KeepAlive Off是否允许持续性的连接,预设为否
MaxKeepAliveRequests 100保持的连接的人数,改成0就是说没有人数的限制
KeepAliveTimeout 15在允许KeepAlive条件下,保持连接的超出时间
上面是两组与服务器连接资源有关的设置,分为worker与prefork,两组的设定都是相似的,httpd启动时只采用一组设定,/usr/sbin/httpd执行的是prefork组、/usr/sbin/httpd.worker执行的是worker组,预设为prefork组,可在/etc/sysconfig/httpd中查询使用那个组。
Listen 80监听的端口号
LoadModule access_module modules/mod_access.so
……(下面省略)显示载入的模块组
Include conf.d/*.conf使得目录/etc/httpd/conf.d/下的配置文件*.conf都会被读入
User apache
Group apache由谁启动Apache服务器
②、接着是针对“主”服务配置(’Main’ server configuration):
ServerAdmin root@localhost网页出错给谁发信通知
UseCanonicalName Off是否使用标准主机名称,预设为否
DocumentRoot "/var/www/html"网页存放的路径,文档的根目录
<Directory>是针对目录权限的设定。上面前一组是针对httpd的预设环境而来的,是“/”的设定,设置很严格;后一组是针对根目录/var/www/html的设定。几个设置的解释如下:
Options表示目录内能进行的动作,设置有None、All或Indexes、FollowSymLinks、ExecCGI、Includes、MultiViews选项的任意组合。None表示只能浏览;All则可以做任何事,但不包括MultiViews;Indexes表示在无首页档案时,显示整个目录下的档案名称;FollowSymLinks让此目录下的链接文件可链接出此目录外;ExecCGI让次目录具有执行CGI程序的权限;Includes让一些Server-Side Include程序可以执行;MultiViews与语系资料(language priority)有关。
AllowOverride表示是否允许额外配置文件.htaccess的权限启用,覆盖httpd.conf相关的设置,设置有ALL、AuthConfig、Indexes、Limits、None。ALL表示完全启用;AuthConfig仅有网页认证时启用;Indexes允许index方面的启用;Limits允许使用者利用Allow、Deny与Order管理可浏览的权限;None表示文件.htaccess失效。
Order决定是否可被浏览的权限设定,分deny,allow与allow, deny,deny,allow以deny优先处理,无写入规则时预设为allow;allow, deny则相反。Allow from all则开放所有浏览权限。
这是配置个人用户主目录的设定,预设关闭
把所有以.ht开头的文件做限制,阻止Web客户查看
TypeConfig conf/mime.types定义在哪里查询mime.types文件
DefaultType text/plain定义当不能确定MIME类型时服务器提供的默认MIME类型,当服务主要包含text或HTML文档,“text/plain”是一个好的选择,如果大多是二进制文档,诸如软件或图像,应使用 “application/octer-stream”
模块mod_mime_magic允许服务器从自己定义类型的文件中使用不同的线索(hints),这个MIMEMagicFile指令定义hints定义所在的文件
HostnameLookups Off指定记录用户端是名字还是IP地址,默认值为off,记录IP地址
ErrorLog logs/error_log记录错误的日志文件位置
LogLevel warn控制记录在错误日志文件中的日志信息数量,可能值有debug、info、notice、warn、error、crit、alert、emerg
定义日志格式
CustomLog logs/access_log common指定接入日志文件的定位和格式,如果没有在<VirtualHost>内定义这个指令,传输信息将记录在这里,若定义了这个指令,则记录在你指定的位置
ServerSignature On随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中
Alias /icons/ "/ var/www/icons/" 使用别名
设置目录/var/www/icons权限
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 本质上与Aliases一样,除了这里的文档在请求时做为程序处理处理以外
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable控制server-generated目录列表显示特征
AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示,只适用于FancyIndexed指令
DefaultIcon /icons/unknown.gif为那些没有显式定义图标的文件提供处理
ReadmeName README.html指定服务器默认查找的README文件的名字,并添加到目录列表中
HeaderName HEADER.html指定目录列表前缀文件的文件名
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t指定目录索引忽略的和不包含在列表中的文件名集合,支持shell类型的通配符
指定文档的语言
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW以优先次序递减的方式排列语言
ForceLanguagePriority Prefer Fallback在通讯的情况下或没有可接受的语言匹配的情况下提供一个结果页
AddDefaultCharset UTF-8为发送出的所有页指定默认的字符集
AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME,AddHandler允许你映射确定的文件扩展名到“handlers”,与文件类型无关的行为,这既能编译到服务器中也可以添加到Action指令中。
AddHandler type-map var这是默认的设定以允许Apache的“It Worked”页能多种语言分发
使得能在在服务器端分析包含(SSI)的.shtml文档
这是一个国际化的出错应答设置
更改标准的HTTP应答行为以处理己知的浏览器问题
③、虚拟机配置(Virtual Hosts):
这是一个虚拟机设置实例配置,没启用。
3、apache的应用。
⑴、apache的启动。
启动httpd有两种方式,如下图所示,可以查询日志看到是否成功启动:
启动后,在浏览器中输入本机地址显示如图:
这是一个apache的欢迎界面,因为根目录/var/www/html为空,当我在根目录里创建一个html文件后,如下图:
此时网页内容变了,如下:
⑵、配置个人用户主页。
先修改配置文件找到配置改为。
记得重启,如图:
接着创建个人用户目录,添加测试内容,注意权限修改(很重要),如图:
连接测试,发现打不开,如图:
原来SELinux没开启对httpd的支持,作如下改变:
此时测试成功,如图:
由于首页的Options内有FollowSymLinks参数,因此也可以直接使用链接文件连接到其他目录,如图所示:
测试如图:
⑶、启动某个目录的CGI程序执行权限。
Apache默认目录/var/www/cgi-bin放置要执行的CGI程序,其目录权限配置如下:
将其改为:,再找到#AddHandler cgi-script .cgi一行,修改为:AddHandler cgi-script .cgi .pl,配置完成,重启httpd。
接着创建测试CGI程序test.cgi且修改权限,如图:
输入地址成http://218.108.235.78/cgi-bin/test.cgi功测试如图:
⑷、.htaccess与网页认证设置。
Apache提供有认证功能,使得能轻松设定要保护的网页。
①、先创建要保护的目录及资料,如图:
②、修改配置文件,确保存在如下配置:
这是把所有以.ht开头的文件做限制,阻止Web客户查看,然后添加配置如下:
③、接着在受保护目录下建立.htaccess文件,如图:
这些红线参数解释为:AuthName显示提示字样;AuthType是认证类型,选择默认的‘Basic’;AuthUserFile确定所要使用的账号密码文件;require接可用的账号。
④、建立密码文件apache.passwd,如图:
注意文件名称要与.htaccess文件里的AuthUserFile一致。
⑤、测试,成功如图:
⑸、设置虚拟主机
这里的虚拟主机,指的是在一部主机上有多个‘主网页’存在,实际这些网址都指向同一个IP。
①、先创建所需要的目录,如图:
②、配置虚拟主机,直接在目录/etc/httpd/conf.d下建立单独的配置文件virtual.conf,如图:
注意,使用虚拟主机后,原本主机名称也要写入,图上红线标示的就是原本主机。记得重启apache。
③、测试,修改C:\WINDOWS\system32\drivers\etc\hosts文件,添加内容如下:,
使得域名能解析成IP地址。配置成功如下:
相关推荐
### 阿里云 CentOS 配置全过程详解 #### 一、远程连接阿里云服务器 在获取了阿里云服务器的IP地址与初始密码后,首先需要通过远程连接工具Putty来连接服务器。Putty是一款非常实用且免费的SSH和telnet客户端。连接...
Apache服务器配置全攻略 Apache HTTP Server(简称Apache)是世界上最流行的Web服务器软件,以其开源、稳定、高效的特点深受广大开发者和运维人员的喜爱。本指南将深入探讨Apache服务器的配置过程,帮助你掌握全面...
**CentOS 5.5安装全过程** CentOS是一款基于Linux的开源操作系统,它与Red Hat Enterprise Linux (RHEL)有着极高的兼容性。CentOS 5.5是该系列的一个重要版本,发布于2010年,为用户提供了一个稳定且可靠的服务器...
本文将详述如何在64位的CentOS 5.2操作系统上,为AMD 64架构配置Apache(HTTP服务器)、PHP(脚本语言)和MySQL(关系型数据库)的全过程,帮助你构建一个功能完备的LAMP(Linux、Apache、MySQL、PHP)服务器。...
首先,为了在 CentOS 上安装 Apache,我们需要确保系统已经配置了 `yum` 包管理器。`yum` 允许我们在命令行下方便地下载和安装软件包。在 CentOS 上安装 Apache 服务器,我们只需运行以下命令: ```bash [root@...
这个文档应该包含了从下载、安装到配置的全过程,帮助你顺利搭建CentOS 6.5上的LAMP环境。 通过以上步骤,你将能够成功地在CentOS 6.5上配置一个运行稳定的LAMP服务器,为网站或应用程序提供可靠的基础。记得在每个...
### CentOS7安装CDH5.14全过程解析 #### 一、概述 本文将详细介绍如何在CentOS7系统上安装Cloudera Distribution Including Apache Hadoop (CDH) 5.14版本。此过程适用于搭建大数据处理平台的需求,涵盖了安装前的...
语音全过程))【】02(在CentOS5.1上编译安装MySql)【】03(编译安装apache.httpd-2.2.8)【】04(安装支持ssl安全性比较高的apache.web服务器)【】05(编译安装GD库.和.ttf字体的支 资源太大,传百度网盘了,链接在附件中...
在CentOS 7上搭建Apache服务器是网站部署的第一步。Apache是世界上最流行的Web服务器软件,由Apache软件基金会维护。安装Apache相对简单,主要通过使用包管理器yum来进行。yum是专为Linux设计的包管理工具,可以处理...
以下是一个详细的指南,涵盖了从安装JDK到配置远程访问ActiveMQ的全过程。 ### 一、安装JDK **1.1 目的** 在运行ActiveMQ之前,必须先安装Java Development Kit(JDK),因为ActiveMQ依赖于Java环境来运行。 **...
本文将详细介绍在Linux环境下安装和配置Nagios的全过程,以及一些个人实践心得。 首先,确保你拥有以下软件包:httpd、imagepak-base、mysql、nagios、nagios-plugins、nrpe、perl、php、pnp4nagios和rrdtool。这些...
本文将详细介绍如何在CentOS 5.5系统上快速安装和配置这个组合。 1. **安装MySQL 5.0** - 使用`yum install mysql mysql-server`命令来安装MySQL数据库及其服务。 - 安装完成后,需要手动启用MySQL服务,通过`...
标题《Centos 6.x redmine安装过程全记录》和描述《在centos 6.3上逐步详细搭建redmine的过程,文中各软件版本是以搭建时为准,本文是搭建成功后整理到redmine后导出的。》中提供的知识点主要围绕在CentOS 6.x系统上...
虚拟机安装centos部署jsp网站一站式,个人三天部署成功,很详细包括 centos虚拟机安装,linux基础,mysql安装,apapche安装,tomcat安装等 问题注意事项都有,apache和tomcat整合
确保所有服务都已正确安装和配置,可以在Apache的默认目录`/var/www/html`下创建一个简单的PHP测试页面,如`info.php`,内容为`(); ?>`。访问服务器的公网IP或域名加上`/info.php`,如果能显示出PHP信息页面,说明...
在本教程中,我们将深入探讨如何在 CentOS 5.2 操作系统上配置一个基于 Postfix 的全功能邮件服务。这个过程将涉及多个组件的安装和配置,包括 Postfix 邮件服务器、Courier-Authlib 认证库、Maildrop 邮件分发器...
在本文中,我们将深入探讨如何在CentOS操作系统上搭建Subversion(SVN)服务器的全过程。Subversion是一款广泛使用的版本控制系统,它可以帮助团队协作管理代码和其他文件的版本历史。以下内容将按照步骤详细讲解,...