Apache http配置指南
如何在Linux上安装和配置Apache服务器
如何在Linux上安装和配置Apache服务器Apache是一个流行的开源Web服务器软件,被广泛用于搭建和管理网站。
在Linux系统上安装和配置Apache服务器是一项基本的技能。
本文将介绍如何在Linux操作系统下安装和配置Apache服务器。
一、安装Apache服务器首先,打开终端窗口,并使用以下命令来更新软件包列表:sudo apt update接下来,使用以下命令来安装Apache服务器:sudo apt install apache2安装过程中,您需要输入管理员密码进行确认。
安装完成后,Apache服务器将自动启动。
二、配置Apache服务器1. 配置文件路径Apache的配置文件位于/etc/apache2目录下。
在终端中使用cd命令进入该目录:cd /etc/apache22. 主配置文件编辑主配置文件apache2.conf,使用以下命令打开该文件:sudo nano apache2.conf在打开的文件中,可以找到一些常用的配置选项,您可以根据需要进行修改。
例如,您可以更改服务器名称、监听端口等。
3. 虚拟主机配置虚拟主机配置允许您在同一台服务器上运行多个网站。
默认情况下,Apache服务器已经为您配置了一个默认的虚拟主机。
如果您想添加更多的虚拟主机,您可以在/etc/apache2/sites-available目录下创建配置文件。
使用以下命令进入该目录:cd /etc/apache2/sites-available使用以下命令创建一个新的虚拟主机配置文件,例如mywebsite.conf:sudo nano mywebsite.conf在此配置文件中,您可以设置您的网站的域名、目录路径和其他相关设置。
保存并关闭文件。
接下来,使用以下命令启用新的虚拟主机配置文件:sudo a2ensite mywebsite.conf最后,重新加载Apache服务器以应用配置更改:sudo service apache2 reload您的新虚拟主机现在应该已经生效了。
apache下配置详解
Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。
主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。
2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。
3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。
这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。
Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。
如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。
关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。
假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。
APACHE安装配置说明
APACHE安装配置说明⼀、软件下载⼆、环境检查# rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5如果需要依赖包,安装其对应的devel包即可,此处仅⽤到zlib和ssl。
另,如果有httpd包,要先卸载掉或停⽌其服务。
三、编译安装1、针对安装⽬的的说明(来⾃INSTALL⽂件)如果是开发者则使⽤此选项,--with-included-apr利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产⽣的不匹配;如果从⼦版本编译apache,要先运⾏buildconf(需要Python,GNU autoconf和libtool),然后运⾏configure。
发⾏包不⽤。
如果要在FreeBSD5.4之前编译时包含apache的threaded MPM,需要使⽤--enable-threads和--with-mpm 参数在Mac上编译⼦版本,要使⽤GNU Libtool 1.4.2及以上版本2、关于SSL加密和正则表达式(来⾃⽂件README)Apache2.0及以上版本在⽬录modules/ssl/下包含了mod_ssl模块⽤于配置和监听ssl⽹络接⼝的连接。
(另外,⼀些apr-util版本在⽬录srclib/apr-util/ssl/下提供了ssl⽹络接⼝)带有单词crypto的包的名字,可能包含openssl加密库的⽬标代码。
如果apache的加密功能不理想或者要排除再重分配,则可以使⽤包的名字包含nossl的发布包。
Apache使⽤PCRE包包含的正则表达式。
3、对configure参数的说明配置帮助表:-h, --help显⽰帮助信息display this help and exit--help=short ⽤short参数将只显⽰正在运⾏的当前脚本的选项,⽽不能列出适⽤于Apache配置脚本所运⾏的外部配置脚本的选项display optionsspecific to thispackage--help=recursive 使⽤recursive参数将显⽰所有程序包的简短描述display the shorthelp of all theincluded packages-V, --version显⽰版本display version information and exit-q, --quiet, --silent不显⽰checking……信息do notprint`checking...' messages--cache-file=FILE在指定⽂件中存储测试结果cache test results in FILE [disabled]-C, --config-cache 在⽂件config.cache中存储测试结果alias for `--cachefile=config.cache'-n, --no-create configure脚本运⾏结束后不输出结果⽂件,常⽤于正式编译前的测试。
apache配置及模块指令速查
Apache常用模块和参数1Apache服务配置指令1.1基本配置命令AccessFileName语法AccessFileName filename默认值AccessFileName .htaccess作用域server config, virtual host此命令是针对目录的访问控制文件的名称;AddDefaultCharset语法AddDefaultCharset On|Off|charset默认值AddDefaultCharset Off作用域server config, virtual host, directory, .htaccess用于指定默认的字符集,在HTTP的回应信息中,若在HTTP头中未包含任何关于内容字符集类型的参数时,此指令指定的字符集添加到HTTP头中,此时将覆盖网页文件中通过META 标记符所指定的字符集.默认字符集为: AddDefaultCharset UTF-8 若显示中文时出现乱码,解决方法是将字符集设置为GB2312,即: AddDefaultCharset GB2312DefaultType语法DefaultType MIME-type默认值DefaultType text/plain作用域server config, virtual host, directory, .htaccess服务器不知道文件类型时,用缺省值通知客户端;DocumentRoot设置Apache提供文件服务的目录;ErrorDocument设置当有问题发生时,Apache所做的反应;ForceType此指令强制所有匹配的文件被当作在MIME-type中指定的Content-Type来伺服。
比如说,如果您有一个包含大量GIF文件的目录,可您又不想全都为它们加上".gif"扩展名的话,您可以这样做:型的扩展名。
你可以通过使用"None"覆盖任何ForceType设置:<IfModule>使用不包含在Apache安装中的模块的命令Include包含其它的配置文件Listen默认值:80Listen命令告诉服务器接受来自指定端口或者指定地址的某端口的请求,如果listen仅指定了端口,则服务器会监听本机的所有地址;如果指定了地址和端口,则服务器只监听来自该地址和端口的请求Options控制某个特定目录所能使用的服务器功能;其值有:None:表示只能浏览,FollowSymLinks:允许页面连接到别处,ExecCGI:允许执行CGI,MultiViews:允许看动画或是听音乐之类的操作,Indexes:允许服务器返回目录的格式化列表,Includes:允许使用SSI。
Apache HTTP Server 安装及升级指引
致谢| 译者声明| 本篇译者:金步国| 本页最后更新:2006年1月4日| 获取最新版本本文仅阐述Apache在Unix和类Unix系统中的编译和安装,在Windows中的编译和安装可以参考在Microsoft Windows中使用Apache。
其他平台可以参见针对特定平台的说明文档。
像其它许多开源项目一样,Apache使用libtool和autoconf建立编译环境。
如果你只进行很小的版本升级(比如2.2.54→2.2.55),请直接跳转到下面的升级部分。
针对心急者的概述其中NN必须用当前的副版本号替代;PREFIX是服务器被安装到文件系统中的路径名,如果没有指定PREFIX,默认会装到/usr/local/apache2下面从编译和安装Apache httpd的要求开始详细阐述编译和安装的每个步骤。
要求编译Apache的要求如下:磁盘空间必须保证有50MB以上的自由临时磁盘空间。
Apache安装完毕后会占据10MB左右的空间,实际的磁盘空间需求会因编译设置和是否安装第三方模块而有所不同。
ANSI-C编译器及编译环境必须装有ANSI-C编译器,推荐使用自由软件基金会(FSF)的GCC。
如果没有GCC,那么要确保使用的编译器符合ANSI标准,而且PATH中必须包含指向基本编译工具比如make的路径。
确保准确的时间由于HTTP协议的元素都会用到时间,有必要了解一下你的系统所使用的时间同步机制。
在基于网络时间协议(NTP)的系统中,一般是用ntpdate或xntpd来同步时间。
有关NTP软件的资料请参见NTP主页。
Perl 5 [可选]有些用Perl写的支持脚本,如apxs或dbmmanage,需要Perl5解释器(5.003或以上的版本就足够了)。
如果系统中存在多个Perl解释器,比如有系统提供的Perl 4,还有你自己安装的Perl 5,推荐你使用--with-perl选项来确保configure脚本使用正确的版本。
Apache服务器配置
IN CNAME
IN CNAME
在上面的配置中,在提交的DNS正向配置文件以及反向配置文件中, 已经具有如下的A记录和PTR记录,分别为
www
利用httpd.conf我们可以对Apache服务器进行全局 配置、管理或预设服务器的参数定义、虚拟主机的设 置等。httpd.conf是一个文本文件,我们可以用vi编辑 工具进行修改。 httpd.conf文件主要分为三个部分: Section 1: Global Environment (全局变量) Section 2: 'Main' server configuration(主服务器配置) Section 3: Virtual Hosts(虚拟主机配置)
2.配置基于IP的虚拟主机 (1)基于IP虚拟主机的DNS配置 如果用户想要创建两个基于IP的虚拟主机和
这两个虚拟主机站点的共同域名是 。用户可以按照如下所示在DNS正向配置文 件中进行配置:
lth IN
A 192.168.15.212
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一ቤተ መጻሕፍቲ ባይዱ不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
7.MaxKeepAliveRequests 当使用保持连接(persistent connection)功能时,可以使用本参数决定
每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。 建议尽可能使用较高的数值,以充分发挥Apache的高性能,本例设置每次 连接所能发出的要求数目上限为100:
apache用法
apache用法Apache是一款流行的web服务器软件,它能够提供网页浏览、动态内容创建、数据库服务等多种功能。
在本文中,我们将介绍Apache 的安装、配置、管理、安全性和优化等方面的知识。
一、安装Apache安装Apache非常简单,您可以从官方网站下载适合您操作系统的安装包。
在安装过程中,您需要选择安装路径、配置文件位置等选项,并设置一些基本参数。
安装完成后,您可以通过浏览器或命令行来测试Apache是否正常运行。
二、配置ApacheApache的配置文件位于`/etc/httpd/conf`目录下,该文件包含了Apache服务器的各种设置。
配置文件使用了较为简洁的语法,方便修改和调整。
您可以使用文本编辑器打开配置文件,根据您的需求进行修改。
在配置文件中,您可以设置虚拟主机、监听地址和端口、启用或禁用某些模块等功能。
同时,您还可以配置SSL证书,以实现安全传输。
配置完成后,需要重新启动Apache服务器,使配置生效。
三、管理ApacheApache提供了多种管理工具,方便您监控和调整服务器状态。
您可以使用命令行工具`apachectl`来查看服务器状态、启动和停止服务、重新加载配置等操作。
此外,您还可以使用Web管理工具,如Apache自带的Web管理界面或第三方工具,通过浏览器进行管理操作。
四、安全性Apache具有较高的安全性,但仍然需要注意一些安全问题。
首先,确保您的配置文件没有安全漏洞,如弱密码、不正确的权限设置等。
其次,及时更新Apache软件和配置文件,以修复潜在的安全漏洞。
最后,限制对配置文件的访问,以防止未经授权的修改。
五、优化Apache优化Apache可以提高服务器的性能和稳定性。
首先,优化虚拟主机配置,根据实际需求设置合适的资源分配和访问控制。
其次,使用缓存技术,如反向代理和缓存服务器,减少对数据库的访问次数。
此外,合理配置服务器硬件资源,如内存、硬盘和CPU,以充分利用服务器性能。
apache配置详解(很详细)
下面简单介绍一下这4个参数的用法。
1> Allow
该参数是控制哪些主机才可以访问目标。
示例:
Allow from 192.64.182.53
Allow from 192.64.182.1 192.64.182.3
表示IP地址为192.64.182.1或192.64.182.3或192.64.182.53才可以访问目标。
directory-path参数必须与被访问文件所在文件系统的路径保持一致。如果有多个非正则表达式,<Directory>配置段符合并包含某文档的目录(或其父目录),那么会以短目录优先的规则进行应用。<Directory />的默认访问权限为"Allow from All",这意味着Apache没有进行访问控制,通过设置Order,Deny,Allow,AllowOverride这个几个参数可以对访问进行控制。
l ServerAdmin
服务器返回给客户端的错误信息中所包含的管理员邮件地址。
【说明】
该参数是在所有返回给客户端的错误信息中给出管理员的邮件地址。但也可以是一个URL地址,如果httpd不能将该参数的值识别为URL,它就会假定它是一个email-address ,并在超连接中用在mailto后面。这里推荐配置一个Email地址,如果配置的是URL一定要保证指向一个受控制的服务器,否则用户将无法确保和管理员取得联系。
使用多个Listen参数可以指定多个不同的监听端口和/或地址端口组合。
例如,想要服务器接受80和8080端口上的请求,可以这样设置:
Listen 80
Listen 8080
为了让服务器在两个确定的地址端口组合上接受请求,可以这样设置:
Apache配置详解
Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
ServerAdmin admin@ #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。
Apache http server for windows 配置详解
此文档阐述了如何在Microsoft Windows平台上安装、配置和运行Apache 2.2 。
如果你发现了bug,或者希望以其他方式作出贡献,请使用我们的bug报告页面。
本文档的大多数内容假定你是从一个二进制发布版安装Apache到Windows上。
如果你想自己编译Apache(可能有助于开发和跟踪bugs),参看编译Windows下的Apache。
基于当前的Windows版本状况,本文档使用到的缩写及其意义解释包括:∙Windows NT:指所有基于NT核心的Microsoft Windows操作系统的版本,包括Windows NT, Windows 2000, Windows XP, Server 2003及后续版本。
∙Windows 9x:指所有定位于家庭使用的Microsoft Windows操作系统的版本,包括 Windows 95 , Windows 98, Windows ME 。
对操作系统的要求Apache 2.2被设计为在Windows NT上运行。
它的二进制安装程序只能在x86处理器上运行,比如Intel和AMD的芯片。
Apache可能也能够运行在Windows 9x 上,但是并没有经过测试,也不建议在实际工作的系统上这样使用。
任何情况下都必须确保TCP/IP网络协议已经安装。
如果在Windows 95上运行,必须安装"Winsock2"升级补丁。
"Winsock2" for Windows 95可以在这里下载。
如果在NT 4.0上运行,建议安装Service Pack 6 ,因为Service Pack 4有众所周知的TCP/IP和Winsock完整性的问题,在以后的Service Pack中解决了这些问题。
下载 Apache for Windows关于Apache最新版本的有关信息可以在/download.cgi上找到。
那里会列出当前发行版本、所有最近的alpha和beta测试版本以及镜像web站点和匿名ftp服务器的信息。
ApachehttpServer2.4安装与配置
ApachehttpServer2.4安装与配置前⾔Apache官⽹从2.2之后,不再提供windows的msi或exe安装版本,现在Apache http Server有两个分⽀2.2及2.4注意事项如果之前有安装2.2的版本,请先卸载Apache2.4下载2、选择2.4的版本,点击 (windows安装版本)3、选择前三个⽹站中的任意⼀下进⼊下载,(推荐Apache Lounge镜像站点快)4、以为例,选择需要的x86或x64进⾏下载注意事项不同的VC对应不同的vc++(简单理解为Visual Studio)版本,我的电脑上安装了VS2015所以选择VC14,如果是vs2012请选择VC11我的环境我的电脑安装了VS2015,WIN10 X64位操作系统⽂件分析解压⽂件1、下载完成后,解压出⽬录如下:2、详细的安装配置步骤可以参考图⼀中的ReadMe.txt主要的⽂件和⽬录创建服务:bin\httpd.exe管理⾯板:bin\ApacheMonitor.exe主要的配置⽂件:conf\httpd.conf⽹站根⽬录:\htdocs配置⽅法下⾯说⼀下我的简单配置步骤1、默认的安装⽬录是在C:/Apache24,找到⾃⼰的实际⽬录⽐如我的D:/Apache242、打开conf\httpd.conf把⽂件中的所有 ”c:/Apache24″替换为⾃⼰的安装⽬录,如” d:/Apache24″找到 218⾏(版本不同,可能有区别)的 ServerName ,把前⾯的 # 去掉找到 DocumentRoot ,修改⽹站的根⽬录,⽐如是 “d:/Apache24/htdocs”DocumentRoot 下⽅⼀⾏的 Directory也做相应修改修改端⼝号——“Listen:80”改为80803、以管理员⾝份运⾏CMD,进⼊Apache24\bin ⽬录(httpd.exe所在⽬录)4、输⼊ httpd.exe -k install -n "Apache24" 安装服务(注:Apache24为安装服务名称)安装完成5、⾄此,安装基本完成。
apache的配置及小经验总结
///insert into table values(1)
if($i=0;$i<$nums;$i++){
也可以通过ini_set()函数去设置配置文件的值:@ini_set('display_errors',1);
E:extension=php_zip.dll 调用压缩包
F:查找error_reporting = E_ALL & ~E_NOTICE,将其前边的分号去掉(显示所用的错误和警告,除了notice)
$sql="insert into table values('$array[$i]')";
$rec=mysql_query($sql);
}
///批量插入第二种方法
$array=$_POST['checkbox'];
$nums=count($_POST['checkbox']);
21.javascript中在处理<select multiple="multiple">标签时,join()函数和implode()函数是一样的, arr.join(",") 将数组元素以逗号连接在一起
22.1.alert(document.form1.elements.length);
D:查找DirectoryIndex 看到后面只有index.html 在它后面加上index.php (index.sht,大概在241行ml)。
F:查找 Include conf/extra/http-mpm.conf ,将此行前边的#去掉。
Apache使用教程(安装与配置)
Apache是一个历史悠久并且功能十分强大的WEB服务器,但其丰富的功能对于一个新手来说往往不知道从何下手。
我个人感觉Apache的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用模块都可以通过配置文件的简单修改进行积木式的灵活配置。
安装的过程可以从简单的静态html服务开始,一个模块一个模块的学习使用。
从单纯的HTML静态服务(core),到复杂的动态页面服务(core + php, core + resin, core + php + mod_gzip, core + resin + mod_expire)。
本文主要从简化安装==>性能调优==>维护方便的角度,介绍了WEB服务的规划、HTTPD安装/应用模块配置、升级/维护等过程。
让Apache和PHP,Resin等应用模块的独立升级,完全互不影响。
1.WEB应用容量规划:根据硬件配置和WEB应用的特点进行WEB服务的规划及一些简单的估算公式;2.Apache安装过程:apache的通用的简化安装选项,方便以后的应用的模块化配置;修改 HARD_SERVER_LIMIT:vi /path/to/apache_src/src/include/httpd.h#define HARD_SERVER_LIMIT 2560 <===将原来的 HARD_SERVER_LIMIT 256 后面加个“0”apache编译:./configure --prefix=/home/apache --enable-shared=max --enable-module=most3.可选应用模块/工具的安装:php resin mod_gzip mod_expire及各个模块之间的配合;mod_php安装:./configure --with-apxs=/home/apache/bin/apxs --enable-track-vars --with-mysqlmod_resin安装:./configure --with-apxs=/home/apache/bin/apxsmod_gzip安装:修改Makefile中的 apxs路径:然后make make install工具:日志轮循工具cronolog安装:4.升级/维护:看看通用和模块化的安装过程如何简化了日常的升级/维护工作;按照以上的方法:系统管理员和应用管理员的职责可以清楚的分开,互相独立。
httpd.conf配置完美详解
httpd.conf配置完美详解Linux下httpd.conf 配置详解1. 关于本文本文将以Apache 2.2为例,以rhel5为平台,讲述Apache服务器的安装和设置。
2. 关于ApacheApache 是一款功能强大、稳定、可支撑关键任务的Web服务器Apache具有如下特性:1) 几乎可以运行在所有的计算机平台上.2) 支持最新的HTTP/1.1协议3) 简单而且强有力的基于文件的配置(HTTPD.CONF).4) 支持通用网关接口(CGI)5) 支持虚拟主机.6) 支持HTTP认证.7) 集成PERL.8) 集成的代理服务器9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.10) 支持服务器端包含命令(SSI).11) 支持安全SOCKET层(SSL).12) 具有用户会话过程的跟踪能力.13) 支持FASTCGI14) 支持JAVA SERVLETS.……更多信息请参阅Apache网站:/doc/327020310.html,3. Apache的安装Apache的安装无外两种方式:源码包安装和二进制包安装。
这两种方式各有特色,二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便,源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化、选择你所用的模块,安装定制更灵活。
下面分别介绍这两种安装方式。
3.1 以源码包方式安装3.1.1 下载最新版本的apache软件访问apahce网站/doc/327020310.html,/download.cgi下载最新版本的Apache源码包。
本文使用的是2.2.6版本,在linux系统下用下面的命令下载:wget /doc/327020310.html,/httpd/httpd-2.2.6.tar.gz3.1.2 解压缩下载的源码包首先建立一个工作目录( 笔者建议的目录为/usr/local/src/apache ) :mkdir -p /usr/local/src/apache 将下载的源码包移至工作目录:mv httpd-2.2.6.tar.gz /usr/local/src/apache进入工作目录并用tar命令解压源码包:cd /usr/local/src/apachetar zxvf httpd-2.2.6.tar.gz命令执行结束后,当前工作目录下将生成一个新的子目录httpd-2.2.6,此目录下即为Apache的源码文件。
linux apache 配置 http和https 访问
linux apache 配置http和https 访问1、安装openssl:#tar zxvf openssl-0.9.81.tar.gz#cd openssl-0.9.81#./config#make#make install2、安装apache:#tar zxvf httpd-2.0.63.tar.gz#cd httpd-2.0.63#./configure --prefix=/usr/local/apache/httpd --enable-ssl=static --with-ssl=/usr/local/ssl#make#make install此步骤在/apache/httpd目录中安装httpd服务(通过参数--prefix指定),同时使用--with-ssl指定刚才所安装OpenSSL的路径,用于将mod_ssl静态的编译到httpd服务中。
修改3、生成证书:openssl genrsa 1024 > server.keyopenssl req -new -key server.key > server.csr填写相关信息:Country Name (2 letter code) [GB]:CNState or Province Name (full name) [Berkshire]:BEIJINGLocality Name (eg, city) [Newbury]:BEIIJINGOrganization Name (eg, company) [My Company Ltd]:TESTOrganizational Unit Name (eg, section) []:TESTCommon Name (eg, your name or your server's hostname) []:TESTEmail Address []:TEST@openssl req -x509 -days 365 -key server.key -in server.csr > server.crt4、配置ssl:修改conf/httpd.conf文件将httpd.conf 中的Include conf/extra/httpd-ssl.conf 打开修改conf/extra/httpd-ssl.conf文件找到SSLCertificateFile 和SSLCertificateKeyFile 项将上面生成的测试证书路径填写完整5、配置域名:修改conf/httpd.conf文件将httpd.conf 中的Include conf/extra/httpd-vhost.conf 打开修改conf/extra/httpd-vhost.conf 文件配置需要访问的域名注:由于证书为我们自己测试创建,如有需要应到指定公司去认证。
Apache服务器配置与管理
Apache服务器配置与管理一、Apache服务器的安装与启动1、查询系统是否安装了Apacherpm -qa | grep httpd2、运行如下命令进行安装rpm -ivh /media/RH*/Server/httpd-2.2.3-11.e15_1.3.i386.rpm3、启动Apache服务器service httpd restart 或者etc/init.d/httpd restart4、检测配置文件的语法service httpd configtest5、测试Apache服务器注意:防火墙的配置二、Apache服务器默认的配置文件信息1、主配置文件:/etc/httpd/conf/httpd.conf2、服务器的根目录(ServerRoot):/etc/httpd3、根文档目录(DocumentRoot):/var/www/html4、访问日志文件:/etc/httpd/logs/access_log5、错误日志文件:/etc/httpd/logs/error_log6、模块存放路径:/etc/httpd/modules(一)httpd.conf文件的格式1、httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成2、配置语句的语法格式:配置参数名称参数值3、检查httpd.conf的语法是否正确apachectl configtest 或者service httpd configtest(二)Web服务的基本配置1、主目录的路径(DocumentRoot)默认位置:/var/www/html可以将需要发布的网页放在这个目录下2、默认文档在浏览器中,输入Web站点的IP地址或域名即显示出来的Web页面DirectoryIndex index.html index.htm index.php index.html.var3、配置Apache监听的IP地址和端口号Listen 80(在本机所有可用IP地址上监听TCP 80端口)只监听IP地址为192.168.16.177的80端口和192.168.18.178的8080端口Listen 192.168.16.177 80Listen 192.168.18.178 80804、设置相对根目录路径相对根目录通常是Apache存放配置文件、日志文件、模块文件等的地方。
httpd基本配置及应用
httpd基本配置和应用任务要求:1.设置服务端口:8081;2.设置默认目录位置:\etc\web1;3.新建两个账户admin01,admin02;4.在web1下设置school,home两个目录;5.仅admin01拥有school目录的所有权限;6.仅admin02拥有home目录的所有权限;7.在web1下面新建index.htm,访问该页面时自动指向school下面的index.htm;8.在web1下面新建index.html,访问该页面时自动指向home下面的index.htm。
任务实现:安装httpd(Apache)请自行百度。
关于httpd的配置目录如下:图 1 httpd的主要配置文件测试httpd是否打开且正常运行,在浏览器中输入http://127.0.0.1,能够打开Apache默认页面说明安装成功:图 2 测试httpd服务是否启动成功 设置服务端口图 3 设置监听端口8081图 4 改变默认端口后不可访问图 5 使用修改后的端口8081 设置默认目录位置图 6 用vi打开httpd配置文件图 7 编辑默认目录位置新建账户图 8 按要求新建账户 在web1下设置school,home两个目录图 9 新建题述文件夹⏹仅admin01拥有school目录的所有权限,admin02拥有home目录的所有权限图 10 修改目录权限⏹建立所需文件并编写跳转源码图 11 建立所需*.htm*文件图 12 用vi编辑跳转源码图 13 用浏览器测试图 14 因权限限制不可访问图 15 修改相关权限使可访问目标文件图 16 再次测试已跳转到shool/index.htm访/etc/web1/index.html跳至/home/index.htm 的方法同上,请自行修改相关源码及权限。
Apache服务器配置文件
• 全局环境配置 • 主服务器配置 • 虚拟主机配置
配置指令的作用域
• 配置指令作用范围可以是全局或只能在容器 • server config、virtual host、directory、 .htaccess
查看指令的 作用域
• Apache 手册中指令的作用域(Context)项 • # httpd -L 或 apachectl -L
配置文件的基本语法
3
每一行包含一个指令,在行尾使用反斜杠”\”可以表示续行
配置文件中的指令不区分大小写,但是指令的参数 (argument) 通 常区分大小写
以 ”#” 开头的行被视为注解并在读取时被忽略。注解不能出现在 指令的后边
空白行和指令前的空白字符将在读取时被忽略,因此可以采用缩进 以保持配置层次的清晰
• # httpd -L 或 apachectl -L
Apache的服务器配置文件标识指令
8
ServerName
• 服务器用于辨识自己的主机名和端口号
ServerAdmin
• 服务器返回给客户端的错误信息中包含的管理员邮件地址
ServerSignature
• 配置服务器生成页面的页脚的信息
ServerTokens
DocumentRoot
组成网络上可见的主文档树的根目录
ErrorLog
存放错误日志的位置
CustomLog
访问日志文件的位置
LockFile
Apache 使用的锁文件的位置
PidFile
设置服务器用于记录父进程(监控进程) PID 的文件
Apache Profork MPM 的相关指令
10
StartServers:启动时服务器启动的进程数
详解为新版Apache服务器开启HTTP2支持的方法
详解为新版Apache服务器开启HTTP2⽀持的⽅法IETF会让所有互联⽹通路默认选择的⽅式来引⼊加密,互联⽹专家们将新⼀代加密协议称为“HTTP 2.0”。
协议⽬标:异步连接多路复⽤;头部压缩;请求/响应管线化;保持与HTTP 1.1语义的向后兼容性也是该版本的⼀个关键⽬标。
SPDY是⼀种HTTP兼容协议,由Google发起,Chrome、Opera、Firefox以及Amazon Silk等浏览器均已提供⽀持。
HTTP实现的瓶颈之⼀是其并发要依赖于多重连接。
HTTP管线化技术可以缓解这个问题,但也只能做到部分多路复⽤。
此外,已经证实,由于存在中间⼲扰,浏览器⽆法采⽤管线化技术。
SPDY在单个连接之上增加了⼀个帧层,⽤以多路复⽤多个并发流。
帧层针对HTTP类的请求响应流进⾏了优化,因此运⾏在HTTP之上的应⽤,对应⽤开发者⽽⾔只要很⼩的修改甚⾄⽆需修改就可以运⾏在SPDY之上。
SPDY对当前的HTTP协议有4个改进:多路复⽤请求;对请求划分优先级;压缩HTTP头;服务器推送流(即Server Push技术);SPDY试图保留HTTP的现有语义,所以cookies、ETags等特性都是可⽤的。
[3]如何在 Apache 中启⽤ HTTP/2刚发布的 Apache httpd 2.4.17 终于⽀持 HTTP/2 了。
这个页⾯给出了⼀些如何构建/部署/配置的建议。
⽬的是为了⼤家发现 bugs 时能升级它,或者给⼀些能更好⼯作的建议。
最后,这会归并回到官⽅ Apache ⽂档,这⾥只会留下⼀个到那⾥的链接。
暂时我们还没做到。
编译⽀持 HTTP/2在你编译版本之前,你要进⾏⼀些配置。
这⾥有成千上万的选项。
和 HTTP/2 相关的是:--enable-http2启⽤在 Apache 服务器内部实现该协议的 ‘http2' 模块。
--with-nghttp2=<dir>指定 http2 模块需要的 libnghttp2 模块的⾮默认位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web Server虚拟主机配置1.DNS虚拟域添加●DNS服务器上添加两个域,比如和,将、、、都指向WEB SERVER的IP地址。
2.WEB虚拟主机配置●修改/etc/httpd/conf/httpd.conf,加入下面的内容:NameVirtualHost *:80<VirtualHost *:80>ServerAdmin webmaster@DocumentRoot /var/ServerName ServerAlias ErrorLog logs/-error_logCustomLog logs/-access_log common</VirtualHost><VirtualHost *:80>ServerAdmin webmaster@DocumentRoot /var/ServerName ServerAlias ErrorLog logs/-error_logCustomLog logs/-access_log common</VirtualHost>3.添加目录和管理员后重新启动服务器。
# mkdir /var/{yahoo,163}.com# useradd –d /var/ 163# useradd –d /var/ yahoo# passwd 163# passwd yahoo# chown 163 /var/# chown yahoo /var/# service httpd restart4.配置vsftpd服务器,开放163和yahoo的登录5.设计好两个不同的网页后,首页保存为index.html,通过FTP客户端传到163和yahoo各自的网页空间中。
6.配置好客户端DNS指向后,访问和看到两个网站不一样的页面就可以了。
7.若要配置用户加密,可以在需要加密的主机内部添加目录访问控制语句,如下:<VirtualHost *:80>ServerAdmin webmaster@DocumentRoot /var/ServerName ServerAlias ErrorLog logs/-error_logCustomLog logs/-access_log common<Directory /var/>AllowOverride AuthConfig</Directory></VirtualHost>7.添加访问WEB空间的用户帐号# htpasswd –c /etc/httpd/passwd tom# htpasswd /etc/httpd/passwd jack8.编辑加密目录的访问控制文件,比如/var//.htaccessAuthT ype BasicAuthName "secret file"AuthUserFile /etc/httpd/passwdRequire user tom9.若需要配置https协议的证书加密,可以配置一台伪签名/自签名证书服务器●安装SSL数字证书模块支持包mod_ssl# yum install mod_ssl●重新启动服务器后测试https://XX.XX.XX.XX# service httpd restart# wget https://localhost●若需要激活虚拟主机的https支持,可以把前面配置的虚拟机主机部分添加如下内容NameVirtualHost *:443<VirtualHost *:443>ServerAdmin webmaster@DocumentRoot /var/ServerName ServerAlias ErrorLog logs/-error_logCustomLog logs/-access_log common<Directory /var/>AllowOverride AuthConfig</Directory></VirtualHost><VirtualHost *:443>ServerAdmin webmaster@DocumentRoot /var/ServerName ServerAlias ErrorLog logs/-error_logCustomLog logs/-access_log common</VirtualHost>●若需要重新生成证书,需要执行下面的命令,创建证书私钥一体的pem文件。
# cd /etc/pki/tls/certs# make 163.pem●配置/etc/httpd/conf.d/ssl.conf,修改证书文件路径SSLCertificateFile /etc/p ki/tls/certs/163.pemSSLCertificateKeyFile /etc/p ki/tls/certs/163.pem重新启动服务器就能从客户端看到证书已经更新# service httpd restart/etc/httpd/httpd.conf文件参数解析:ServerType standalone | inetdServerType用于定义apache服务器的运行模式,默认值standalone为独立运行的服务器,如设置为inetd则由xinetd服务器负责apache服务器的启动。
ServerRoot "/etc/httpd "ServerRoot用于指定apache服务器的配置文件及日志文件存放的根目录,默认为目录"/etc/httpd " 。
PidFile /var/run/httpd.pidPidFile用于指定记录httpd进程号(PID)的文件位置,默认值为“/var/run/httpd.pid”。
Timeout 300指定站点响应的秒数。
若超过这段时间仍未收到或送出数据,就断开连接。
KeepAlive On|Off启用此项,表示允许保持连接,让每次连接能提出多个请求。
避免每请求一个文件就跟服务器建立一次连接。
MaxKeepAliveRequests 100每次连接可提出请求的数量,设置为0表示数量不限,默认值为100。
KeepAliveTimeout 15连续两个请求之间的时间如果超过15秒还未到达,则视为连接中断。
MinSpareServers 5MaxSpareServers 20提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。
若闲置的进程数少于5个(默认值),则表示闲置进程太少,需要将其增加到5个;若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。
StartServers 8当apache服务器启动时,httpd进程的数目,默认值为8。
MaxClients 150同时接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为150。
Listen 12.34.56.78:80Listen 80用于设置apache服务器监听指定IP和(或)端口上的连接请求。
Port 80指定apache服务器监听的端口号。
User apacheGroup apache设置httpd用哪个用户帐号和组来启动,默认使用apache用户和组。
ServerAdmin root@localhost服务器管理员的邮件地址,当服务器运行出错时将向此邮件地址发信。
ServerName localhost设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。
默认值是localhost,行首加#号,关闭此功能。
DocumentRoot "/var/www/html“指定Apache服务器存放网页的文档根目录。
DirectoryIndex指令用于指定目录中默认的索引文件名称,可同时指定多个文件名称,两两之间用空格分割。
默认值为index.html。
实例:DirectoryIndex index.html index.htm index.shtml index.phpUserDir public_htmlUserDir用于设定用户个人主页存放的目录,默认为“public_html”目录,即/home/anyuser/public_html。
Alias用于设置路径别名Alias /doc/ /usr/share/doc/给“/usr/share/doc/”设置路径别名为“/doc/”Options属性Options FollowSymLinks Indexes MultiViewsOptions可以组合设置下列选项:All:用户可以在此目录中作任何事情。
ExecCGI:允许在此目录中执行CGI程序。
FollowSymLinks:服务器可使用符号链接指向的文件或目录。
Indexes:服务器可生成此目录的文件列表。
None:不允许访问此目录。
AllowOverride NoneAllowOverride会根据设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限。
All:读取.htaccess文件的内容,修改原来的访问权限。
None:不读取.htaccess文件为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为:AllowOverride None。
AccessFileName filenameAccessFileName指令用于指定保护目录设定文件的文件名称,默认值为“.htaccess”。
AccessFileName .aclAllow设定允许访问Apache服务器的主机Allow from all允许所有主机的访问Allow from 202.96.0.97 202.96.0.98允许来自指定IP地址主机的访问Deny设定拒绝访问Apache服务器的主机Deny from all拒绝来自所有主机的访问Deny from 202.96.0.99 202.96.0.88拒绝指定IP地址主机的访问Order设定拒绝访问Apache服务器的主机Deny from all拒绝来自所有主机的访问Deny from 202.96.0.99 202.96.0.88拒绝指定IP地址主机的访问<Location>… </Location><Location>容器包含只应用于特定URL的指令。
实例:<Location /server-status>SetHandler server-statusorder deny,allowallow from 127.0.0.1deny from all</Location>--------------------------------------------------------------------------------------------------------为每个用户配置个人主页例:为用户user1建立个人主页cd /home/user1mkdir public_htmlchown er1 public_htmlcd ..chmod 711 user1在/home/user1/public_html中建立index.html使用浏览器浏览http://localhost/~user1/个人主页、访问控制和用户认证?68.linux apache目录添加密码实现步骤:实例一:允许一个用户访问一个目录1.使用htpasswd建立用户文件:#htpasswd -c /data/httpd/secr/.htpasswd user5此程序会询问用户“user1”的口令,你输入“passwd”,两次生效。