Apache服务器配置技巧
- 格式:doc
- 大小:31.00 KB
- 文档页数:5
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 也是合法行的。
项目6-Apache服务器配置与管理项目情景:在多数网络公司中,都以Linux上的Apache作为页面服务器。
这样做的理由有三:第一,Windows上的IIS服务器效能较差,特别是在访问人数较多的时候;第二,NUIX价格高,专门作为网页服务器成本过高;第三,Linux上的Apache可以装在一般的个人计算机上,不需要额外的开支。
事实上重要的一点就是Apache的效能确实相当优异,这点从目前市面上的网页服务器占有率就可以得知。
项目说明:Apache服务器安装便捷,架设简单,本项目首先介绍安装和控制Apache服务器,然后通过架设简单的静态网页服务器,web虚拟目录,以及基于PHP的动态网络服务器来介绍如何架设Linux的网页服务器。
Apache只是单纯的页面服务器,若要整合程序的后台管理与数据库,就必须搭配其他程序或服务器,例如PHP、MYSQl、PERL等。
能力目标:1、掌握Apache的安装及其开启、关闭方法2、掌握Apahce服务器的静态网页服务3、掌握Apahce的虚拟目录服务4、掌握Apache的动态站点服务任务1 www服务及Apache服务器见解【任务目标】通过Apache服务器的安装、调试、运行等操作掌握Apache服务器的基本功能及其特色,了解Apache服务器的特点及其发展历史。
【任务说明】本任务主要为学者介绍Apache服务器的功能,以及安装Apache,开启、关闭Apache 服务的几种方法,大多属于概念性内容,操作性内容也较简单。
【相关知识】所谓Run Level是指Linux操作系统为了适应不同的需求,在启动的时候规定了不同的执行模式,大部分的类Unix都根据System V对于init的定义,将Run Level分为表中的7种模式:一般最常用的Run Level为3或5,可以修改/etc/inittab文件内容来重新指定开机时的执行模式,但应避免设为Run Level 0或6 因为这两个启动模式会在开机后直接执行关机或重新启动的命令。
实训十四架设Apache服务器一、实验目的1.掌握利用图形化配置工具配置Apache服务器的方法。
2.掌握配置用户个人站点的方法。
3.掌握配置目录访问控制与用户认证的方法。
4.掌握其于域名的虚拟主机的架设方法。
二、实验相关知识1.访问控制的配置指令(1)Deny:定义拒绝访问列表。
(2)Allow:定义允许访问列表。
(3)Order:指定执行允许访问列表和拒绝访问列表的先后顺序。
(4)访问列表使用以下形式:All:表示所有客户。
域名:表示域内的所有客户,如。
IP:指定完整的IP或部分IP。
(5)Order参数有两种形式:Order allow,deny:表示在执行拒绝访问列表前先执行充许访问列表,默认情况下拒绝所有没有明确被允许的客户。
Order deny,allow:表示在执行允许访问列表前先执行拒绝访问列表,默认情况下允许所有没有明确被拒绝的客户。
2.认证(1)两种认证类型:(2)基本认证(Basic)(3)摘要认证(Digest)安全,但浏览器支持不好(4)认证的配置指令:AuthName 领域名称:指定认证领域的名称。
AuthType Basic|Digest:设定认证方式。
AuthUserFile 文件名:指定认证用户文件名和路径。
AuthGroupFile 文件名:指定认证组群文件名和路径。
3.授权(1)配置了认证后,需使用Require 参数进行授权,指定哪些认证用户或认证组群有权访问指定的目录。
(2)Require user 用户名 [用户名]:授权指定用户(3)Require group 组名 [组名]:授权指定组(4)Require valid-user:授权认证用户文件中所有的用户4.认证用户文件(1)使用htpasswd命令创建认证用户文件,并设置认证用户。
(2)创建新的认证用户文件#htpasswd –c 认证用户文件名用户名#htpasswd -c /var/www/userpass chen(3)修改认证用户文件,添加新认证用户#htpasswd 认证用户文件名用户名#htpasswd /var/www/userpass user2(4)修改认证用户文件,删除指定的认证用户#htpasswd –D 认证用户文件名用户名#htpasswd –D /var/www/userpass user2三、实验内容1.启动Apache服务器。
在Linux下配置Apache服务器——江湖、孙中霞、李琴一、实验目的完成本次实训,将能够:●配置基本的Apache服务器●配置个人用户Web站点。
●配置虚拟目录别名功能。
●配置主机访问控制。
●配置用户身份验证功能.。
●配置基于IP地址的虚拟主机.二、实验环境1、RedHat Linux4AS.2、Apache 2.0三、实验内容1.配置基本的Apache服务器2.配置个人用户Web站点。
3.配置虚拟目录别名功能。
4.配置主机访问控制。
5.配置用户身份验证功能.。
6.配置基于IP地址的虚拟主机。
四、实验要求在Linux操作系统下配置Apache服务器。
五、注意事项1.在修配置文件下注意区分大小写、空格。
2.在每次重新开机后都必须启动Apachec服务器。
3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会导致配置无效,最终导致实验失败。
六、实验步骤1、检测是否安装了Apache软件包:A、首先为服务器网卡添加一个固定的IP地址。
B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache已安装并已启动。
另一种方法是使用如下命令查看系统是否已经安装了Apache软件包:[root@rhe14~]# rpm –aq | grep httpdHttpd-suexec-2.0.52-9.entHttpd-manual-2.0.52-9.entSystem-config-httpd-1.3.1-1Httpd-devel-2.0.52-9.ent出现以上内容表明了系统已安装Apache软件包。
2、安装Apache软件包超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。
《组网技术》 第06课1.教学目的:使学生熟练掌握Linux环境常规与高级WEB服务和配置、验证方法。
使学生了解Linux环境LAMP及HTTPS相关知识2.教学内容:⑴Apache 常规服务器的配置⑵站点配置后的一般检测步骤和方法⑶Apache 高级服务器的配置⑷LAMP模型⑸实现HTTPS3.内容难点:配置Apache 虚拟主机Apache访问控制与安全网站4.学习要求:理解Web服务器的概念,正确建立和配置WEB 服务器。
在客户端检验WEB 服务器。
5.教学纲要㈠ Apache服务器非图形工具配置方法从上一讲中Apache服务器图形工具配置方法中可以知道,Apache服务器的核心配置文件是/etc/httpd.conf/conf/httpd.conf。
httpd.conf是Apache服务器中最核心的配置文件,大部分的设置都是通过该文件来完成的。
httpd.conf文件的内容非常多,其中包含很多的注释与说明,用来告诉读者可以提供哪些功能以及用法等。
从下图中Apache服务器图形工具配置的界面可以领略到httpd.conf文件的内容。
还有一些隐性的设置不能从中解读到。
主要的几种配置参数①Apache服务器根目录设置字段ServerRoot本字段用来设置Apache服务器的配置文件、错误文件和日志文件的存放目录。
默认情况下为:ServerRoot "/etc/httpd"可以根据需要进行修改。
②Apache服务器客户端连接数限制字段MaxClients<IfModule prefork.c>StartServers 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256MaxRequestsPerChild 4000</IfModule>③设置主机名称字段ServerNameServerName字段定义服务器名称和端口号,用以标明自己的身份。
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服务器的架设一.实训目的与要求要求掌握架设Apache服务器的操作方法。
二.实训内容与步骤(一)实训内容1.每个同学为自己建立个人主页空间2.建立基于域名的虚拟主机: 在你的Linux主机上架设Apache服务器,中间设置两个虚拟主机,它们所使用的IP地址为Linux主机IP地址。
,其网站主目录为/home/wha,其网站主目录为/home/whb(二)实训步骤1、为自己建立个人主页空间步骤1:在WEB服务器上检查并安装必要软件查看:# rpm –qa | grep httpd如果没有就进行安装(在实验室中已默认安装好了):#mount /dev/cdrom /mnt/cdrom/#cd /mnt/cdrom/Fedora/RPMS/#rpm –Uvh httpd-2.0.47.i386.rpm#cd;eject步骤2:在Linux主机上添加用户,用户名为自己的名字。
(以下假设你的名字为chenbin)# useradd chenbin# passwd chenbin步骤3:修改自己个人主目录的属性。
# chmod 711 /home/chenbin步骤4:创建自己个人主页的主目录。
# cd /home/chenbin# mkdir www步骤5:创建自己个人主页的首页。
# echo “this is chenbin(注:你的姓名拼音)’s webpage”> /home/chenbin/www/index.html步骤6:编辑Apache服务器的配置文件#vi /etc/httpd/conf/httpd.confUserDir www保存退出。
步骤7:重启httpd服务# service httpd restart步骤8:在Windows中进行测试在客户机上打开浏览器,在地址栏输入http://Linux主机IP地址/~chenbin/,应该能打开你的www目录下的网页文件。
Linux——搭建Apache(httpd)服务器⼀、基本概念Apache(或httpd)是Internet上使⽤最多的Web服务器技术之⼀,使⽤的传输协议是http超⽂本传输协议(⼀个基于超⽂本的协议),⽤于通过⽹络连接来发送和接受对象。
有两个版本:http:超⽂本传输协议,通过线路以明⽂形式发送,默认情况下使⽤80/TCP(也可以使⽤其他端⼝)https:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP⼆、了解Apache的配置⽂件1、配置⽂件的分类在Linux系统中配置服务,其实就是修改服务的配置⽂件,httpd服务程序的主要配置⽂件及存放位置如下:配置⽂件的名称存放位置服务⽬录/etc/httpd主配置⽂件/etc/httpd/conf/httpd.conf虚拟主机配置⽂件/etc/httpd/conf.d⽇志⽂件/etc/httpd/logs⽹站数据⽬录/var/www/html2、主配置⽂件的重要参数主配置⽂件/etc/httpd/conf/httpd.conf参数⽤途ServerRoot服务⽬录ServerAdmin管理员邮箱User运⾏服务的⽤户Group运⾏服务的⽤户组ServerName⽹站服务器的域名DocumentRoot⽂档根⽬录(⽹站数据⽬录)Directory⽹站数据⽬录的权限Listen监听的IP地址与端⼝号DirectoryIndex默认的索引页页⾯ErrorLog错误⽇志⽂件CustomLog访问⽇志⽂件Timeout⽹页超时时间,默认为300秒3、Directory标签<Directory "/var/www/html">AllowOverride None #设置.htaccess⽂件中的指令类型,None表⽰禁⽌使⽤.htaccess,该参数⼀般不改Require all granted #设置权限,默认开启所有客户机访问权限</Directory>三、如何配置Apache服务器⾸先准备:主机名、⽹络、yum源1、更改主机名:[root@localhost ~]# hostnamectl set-hostname $主机名[root@localhost ~]# bash #环境变量重载2、配置⽹络(1)虚拟交换机、⽹络适配器选择仅主机模式,并且配置为192.168.100.0⽹段;(2)编辑⽹络配置⽂件:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33修改: BOOTPROTO=static #改为静态IP地址ONBOOT=yes #改为开机⾃启IPADDR=192.168.100.10PREFIX=24 或者 NETMASK=255.255.255.0(3)重启⽹络服务:[root@localhost ~]# systemctl restart network3、配置yum源(1)先在VMware⾥⾯把系统镜像⽂件连接到虚拟机的光驱上;(2)挂载光驱⾥的镜像:[root@localhost ~]# mount /dev/cdrom /media(3)修改yum源配置⽂件:[root@localhost ~]# vim /etc/yum.repos.d/local.repo[rhel]name=rhelbaseurl=file:///mediaenabled=1gpgcheck=0(4)清空yum源缓存信息:[root@localhost ~]# yum clean all(5)检索当前yum源信息:[root@localhost ~]# yum repolist任务⼀:配置简单的httpd服务1、安装httpd服务[root@server ~]# yum -y install httpd2、启动httpd服务[root@server ~]# systemctl restart httpd[root@server ~]# systemctl enable httpd3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、客户端测试[root@client ~]# firefox http://IP地址或者 curl http://IP地址任务⼆:配置基于⽤户的个⼈⽹站注意:该⽤户必须在Linux系统中存在1、新建⼀个⽤户(⽹站基于该⽤户)[root@server ~]# useradd user0[root@server ~]# passwd user02、修改⽤户的家⽬录权限,使其他⽤户具有读取和执⾏的权限[root@server ~]# chmod -R 705 /home/user03、创建存放⽤户个⼈主页空间的⽬录,写user0的⽹页⽂件[root@server ~]# mkdir /home/user0/public_html[root@server ~]# cd /home/user0/public_html[root@server ~]# echo "this is user0's web">>index.html4、修改基于⽤户的httpd配置⽂件[root@server ~]# vim /etc/httpd/conf.d/userdir.conf修改: UserDir enabled #开启,表⽰让httpd服务程序开启个⼈⽤户主页功能UserDir public_html #去注释,UserDir参数表⽰⽹站数据在⽤户家⽬录中的保存⽬录名称5、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload6、修改selinux权限[root@server ~]# getsebool -a|grep home[root@server ~]# setsebool httpd_enable_homedirs on7、重启服务[root@server ~]# systemctl restart httpd8、客户端测试[root@client ~]# firefox http://IP地址/~username 或者curl http://IP地址/~username任务三:配置基于域名访问的虚拟主机1、新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/one /www/two[root@server ~]# cd /www/one[root@server ~]# echo "this is a web for virtual host one">>index.html[root@server ~]# cd /www/two[root@server ~]# echo "this is a web for virtual host two">>index.html[root@server ~]# chmod o+x /www2、配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/one> #设置⽹站⽬录权限Require all granted #开启所有客户机访问权限</Directory><VirtualHost 192.168.100.10> #虚拟主机ServerName #定义服务器名称DocumentRoot /www/one/ #⽹站数据⽬录</VirtualHost><Directory /www/two>Require all granted</Directory><VirtualHost 192.168.100.11>ServerName DocumentRoot /www/two/</VirtualHost>3、做域名解析⽂件server/client[root@server ~]# vim /etc/hosts192.168.100.10 192.168.100.11 4、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload5、修改虚拟主机⽹页⽂件的selinux上下⽂类型[root@server ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'[root@server ~]# restorecon -RFv /www6、重启服务[root@server ~]# systemctl restart httpd任务四:配置基于端⼝访问的虚拟主机1——新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/8088[root@server ~]# echo "this is a web for port 8088 ">>index.html[root@server ~]# mkdir /www/8089[root@server ~]# echo "this is a web for port 8089 ">>index.html2——配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/8088/>Require all granted</Directory><virtualHost 192.168.100.10:8088>DocumentRoot /www/8088/</virtualHost><Directory /www/8089/>Require all granted</Directory><virtualHost 192.168.100.10:8089>DocumentRoot /www/8089/</virtualHost>3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8089/tcp[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8088/tcp[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、重启服务[root@server ~]# systemctl restart httpd6、使⽤浏览器访问任务五:配置基于TLS加密的虚拟主机注意:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP 1、安装TLS加密软件,⽹站内容不⽤明⽂传输[root@server ~]# yum -y install mod_ssl2、⽣成密钥[root@server ~]# openssl genrsa >tlsweb.key3、⽣成证书请求⽂件[root@server ~]# openssl req -new -key tlsweb.key > tlsweb.csr4、⽣成证书⽂件[root@server ~]# openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr >tlsweb.crt5、修改ssl.conf配置⽂件[root@server ~]# vim /etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/pki/tls/certs/tlsweb.crtSSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key6、把证书⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.crt /etc/pki/tls/certs/7、把秘钥⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.key /etc/pki/tls/private/。
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配置完美详解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的源码文件。
apache2服务器的搭建和配置步骤详解前⾔这篇⽂章主要给⼤家介绍了在linux下apache2服务器的搭建和配置的相关资料,具有⼀定的参考价值,下⾯来⼀起学习学习吧。
步骤如下⾸先当然是下载包包:myths@myths-X450LD:~$ sudo apt-get install apache2装完后就可以⽤了,在地址栏输⼊本地回送地址127.0.0.1或者localhost就可以进⼊到默认的界⾯了。
默认的界⾯当然就是apache2的说明界⾯了。
其实很多情况下并不需要在⽹上寻找帮助⽂档,⼏乎所有的软件都会⾃带使⽤说明,只是略长,我们⼀般都懒得看。
但是其实很多重要的东西就在这当中,⽐如apache2的默认界⾯⾥:Ubuntu Logo Apache2 Ubuntu Default PageIt works!This is the default welcome page used to test the correct operation of the Apache2 server after installation on Ubuntu systems. It is based on the equivalent page on Debian, from which the Ubuntu Apache packaging is derived. If you can read this page, it mea If you are a normal user of this web site and don't know what this page is about, this probably means that the site is currently unavailable due to maintenance. If the problem persists, please contact the site's administrator.Configuration OverviewUbuntu's Apache2 default configuration is different from the upstream default configuration, and split into several files optimized for interaction with Ubuntu tools. The configuration system is fully documented in /usr/share/doc/apache2/README.Debian.gz. Refe The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:/etc/apache2/|-- apache2.conf| `-- ports.conf|-- mods-enabled| |-- *.load| `-- *.conf|-- conf-enabled| `-- *.conf|-- sites-enabled| `-- *.confapache2.conf is the main configuration file. It puts the pieces together by including all remaining configuration files when starting up the web server.ports.conf is always included from the main configuration file. It is used to determine the listening ports for incoming connections, and this file can be customized anytime.Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ directories contain particular configuration snippets which manage modules, global configuration fragments, or virtual host configurations, respectively.They are activated by symlinking available configuration files from their respective *-available/ counterparts. These should be managed by using our helpers a2enmod, a2dismod, a2ensite, a2dissite, and a2enconf, a2disconf . See their respective man pages for The binary is called apache2\. Due to the use of environment variables, in the default configuration, apache2 needs to be started/stopped with /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not work with the default configuration. Document RootsBy default, Ubuntu does not allow access through the web browser to any file apart of those located in /var/www, public_html directories (when enabled) and /usr/share (for web applications). If your site is using a web document root located elsewhere (such as i The default Ubuntu document root is /var/www/html. You can make your own virtual hosts under /var/www. This is different to previous releases which provides better security out of the box.Reporting ProblemsPlease use the ubuntu-bug tool to report bugs in the Apache2 package with Ubuntu. However, check existing bug reports before reporting a new bug.Please report bugs specific to modules (such as PHP and others) to respective packages, not to the web server itself.Valid XHTML 1.0 Transitional仅仅从这个⽂件中,我们就可以⾄少得到以下的重要信息:当访问本机的时候,默认进⼊的页⾯是/var/www/html/index.html。
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存放配置文件、日志文件、模块文件等的地方。
1、如何设置请求等待时间在httpd.conf里面设置:TimeOut n其中n为整数,单位是秒。
设置这个TimeOut适用于三种情况:2、如何接收一个get请求的总时间接收一个post和put请求的TCP包之间的时间TCP包传输中的响应(ack)时间间隔3、如何使得apache监听在特定的端口修改httpd.conf里面关于Listen的选项,例如:Listen 8000是使apache监听在8000端口而如果要同时指定监听端口和监听地址,可以使用:Listen 192.170.2.1:80Listen 192.170.2.5:8000这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。
当然也可以在httpd.conf里面设置:Port 80这样来实现类似的效果。
4、如何设置apache的最大空闲进程数修改httpd.conf,在里面设置:MaxSpareServers n其中n是一个整数。
这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。
如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
同时也可以设置:MinSpareServers n来限制最少空闲进程数目来加快反应速度。
5、apache如何设置启动时的子服务进程个数在httpd.conf里面设置:StartServers 5这样启动apache后就有5个空闲子进程等待接受请求。
也可以参考MinSpareServers和MaxSpareServers设置。
6、如何在apache中设置每个连接的最大请求数在httpd.conf里面设置:MaxKeepAliveRequests 100这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。
但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。
7、如何在apache中设置session的持续时间在apache1.2以上的版本中,可以在httpd.conf里面设置:KeepAlive onKeepAliveTimeout 15这样就能限制每个session的保持时间是15秒。
session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。
8、如何使得apache对客户端进行域名验证可以在httpd.conf里面设置:HostnameLookups on|off|double如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
如果为了安全,建议使用double;为了加快访问速度,建议使用off。
9、如何使得apache只监听在特定的ip修改httpd.conf,在里面使用BindAddress 192.168.0.1这样就能使得apache只监听外界对192.168.0.1的http请求。
如果使用:BindAddress *就表明apache监听所有网络接口上的http请求。
当然用防火墙也可以实现。
10、apache中如何限制http请求的消息主体的大小在httpd.conf里面设置:LimitRequestBody nn是整数,单位是byte。
cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi 的时候很有用。
比如使用cgi来上传文件,如果有设置:LimitRequestBody 102400那么上传文件超过100k的时候就会报错。
11、如何修改apache的文档根目录修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:DocumentRoot /www/htdocs这样http://localhost/index.html就是对应/www/htdocs/index.html12、如何修改apache的最大连接数在httpd.conf中设置:MaxClients nn是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。
13、如何使每个用户有独立的cgi-bin目录有两种可选择的方法:(1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home//cgi-bin/(2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:Options ExecCGISetHandler cgi-script14、如何调整Apache的最大进程数Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting forreply….然后等到下一个可用进程的出现。
这个最大数,是Apache的程序决定的–它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:#ifndef HARD_SERVER_LIMIT#ifdef WIN32#define HARD_SERVER_LIMIT 1024#else#define HARD_SERVER_LIMIT 256#endif#endif你可以把它调到1024,然后再编译你的系统。
15、如何屏蔽来自某个Internet地址的用户访问Apache服务器可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:order deny,allowdeny from 202.202.202.0/2416、如何在日志里面记录apache浏览器和引用信息你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%i""%i""17、如何修改Apache返回的头部信息问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:Server: Apache/1.3.26 (Unix) mod_perl/1.26解决:你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:ServerTokens Prod注意:这样设置以后Apache还会返回一定的服务器信息,比如:Server: Apache但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。
你如果想把服务器返回的相关信息变成:Server: It iS a nOnE-aPaCHe Server那么你就要去修改源码了。
本文简要介绍了十几个Apache 的配置技巧:1、如何设置请求等待时间在httpd.conf里面设置:TimeOut n其中n为整数,单位是秒。
设置这个TimeOut适用于三种情况:2、如何接收一个get请求的总时间接收一个post和put请求的TCP包之间的时间TCP包传输中的响应(ack)时间间隔3、如何使得apache监听在特定的端口修改httpd.conf里面关于Listen的选项,例如:Listen 8000是使apache监听在8000端口而如果要同时指定监听端口和监听地址,可以使用:Listen 192.170.2.1:80Listen 192.170.2.5:8000这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。
当然也可以在httpd.conf里面设置:Port 80这样来实现类似的效果。
4、如何设置apache的最大空闲进程数修改httpd.conf,在里面设置:MaxSpareServers n其中n是一个整数。
这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。
如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
同时也可以设置:MinSpareServers n来限制最少空闲进程数目来加快反应速度。
5、apache如何设置启动时的子服务进程个数在httpd.conf里面设置:StartServers 5这样启动apache后就有5个空闲子进程等待接受请求。
也可以参考MinSpareServers和MaxSpareServers设置。
6、如何在apache中设置每个连接的最大请求数在httpd.conf里面设置:MaxKeepAliveRequests 100这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。
但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。
7、如何在apache中设置session的持续时间在apache1.2以上的版本中,可以在httpd.conf里面设置:KeepAlive onKeepAliveTimeout 15这样就能限制每个session的保持时间是15秒。
session的使用可以使得很多请求都可以通过同一个tcp 连接来发送,节约了网络资源和系统资源。
8、如何使得apache对客户端进行域名验证可以在httpd.conf里面设置:HostnameLookups on|off|double如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
如果为了安全,建议使用double;为了加快访问速度,建议使用off。
9、如何使得apache只监听在特定的ip修改httpd.conf,在里面使用BindAddress 192.168.0.1这样就能使得apache只监听外界对192.168.0.1的http请求。
如果使用:BindAddress *就表明apache监听所有网络接口上的http请求。
当然用防火墙也可以实现。