Linux 主配置文件httpd.conf
- 格式:doc
- 大小:78.50 KB
- 文档页数:2
Linux Apache基本应用配置Apache web服务器,有许多种方式,用户可通过修改主配置文件httpd.conf,对Apache服务器进行配置。
另外,也可通过图形界面配置工具对Apache服务器进行配置。
下面就来学习,通过修改httpd.conf主配置文件,对Apache服务器进行配置。
1.修改http.conf文件用户可以在终端中,输入“vi /etc/httpd/conf/httpd.conf”命令,并按【回车】键,打开该文件,如图50所示。
图50 打开配置文件在该配置文件中,找到DocumentRoot配置选项,默认网页文档主目录的路径/var/www/html,如图51所示。
图51 设置网页文档存放路径在该配置文件中,找到DirectoryIndex配置选项,默认首页文档的类型,如图52所示。
图52 设置首页文档的类型在该配置文件中,找到Listen配置选项,默认设置Apache服务器监听80端口(Listen 80),如图53所示。
图53 设置监听端口号在该配置文件中,找到ServerRoot配置选项,默认设置Apache服务器相应的配置文件存放目录(ServerRoot “/etc/httpd”),如图54所示。
图54 设置服务器根目录在该配置文件中,找到ErrorLog logs配置选项,默认设置错误日志的路径为/error_log(ErrorLog logs/error_log),如图55所示。
图55 设置错误日志路径在该配置文件中,找到CustomLog logs配置选项,默认设置访问日志为/access_log,如图56所示。
图56 设置访问日志路径在该配置文件中,找到ServerAdmin配置选项,默认设置为root@localhost,(ServerAdmin root@localhost),如图57所示。
图57 设置网络管理员的E-mail地址在该配置文件中,找到ServerName配置选项,如果用户的Apache服务器没有主机名,也可设值为用户服务器的IP地址,并让其默认监听80端口,如图58所示。
Apache目录发布及相关问题1.Apache目录发布1.1Apache相关文件1.2Apache相关命令1.3启动Apcahe目录浏览功能在目录/etc/httpd下创建文件夹test,且文件夹test里可多个文件,如testAlias"/etc/httpd/test "是要显示文件列表的目录,即需要发布的目录"Options Indexes"表示启用目录浏览"Order allow,deny"表示允许所有访问,除去明确拒绝的"IndexOptions Charset=UTF-8"设置字符集,以消除中文乱码"NameWidth=50"指定目录列表可以显示最长为25字节的文件/目录名点击test可以查看文件内容如下:Ps:如果需要发布其他目录(非/etc/httpd目录下),如目录/media,那么可以做如下操作:◆执行命令/usr/sbin/setenforce 0,关闭Selinux(若省略该步骤,则访问网页时会报403错误)1.4配置个人主页编辑主配置文件(/etc/httpd/conf/httpd.conf)▪(354行)注释UserDir Disable,即#UserDir Disable▪(361行)启动个人主目录名称,去掉UserDirPublic_html前面注释#▪(369-380行)启动个人用户Web站点的访问权限,去掉下面语句前面注释#浏览器输入地址:http://IP/~user,如下Ps:注意需要关闭SELinux,否则会报403错误。
(详见4.2)1.5发布默认站点下目录的内容进入默认根文档目录cd /var/www/html新建目录redhatmkdirredhat新建目录redhat下生成文件和目录touch redhat/file1 (生成文件file)mkdirredhat/dir1 (生成目录dir1)编辑主配置文件vi /etc/httpd/conf/httpd.conf主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options Indexes</Directory>tail -3 /etc/httpd/conf/httpd.conf(查看主配置文件倒数三行,即查看添加配置内容)重启Apache服务serciehttpd restart测试网页浏览器输入地址:http://IP/redhat,访问页面如下1.6配置目录的访问控制访问控制指令order deny,allow拒绝优先,默认拒绝,拒绝所有的访问(除了明确允许的)order allow,deny允许优先,默认允许,允许所有的访问(除了明确拒绝的)allow from IP允许的IP范围allow from 域名允许的域名范围allow from All允许所有deny from All拒绝所有对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesOrder deny,allowDeny from AllAllow from 192.168.128.128</Directory>重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)修改配置中“Allow from 192.168.128.129”后重启Apache,输入相同地址后再次访问,访问页面如下1.7配置目录的认证和授权认证指令AuthName认证名字AuthType认证类型,有两种⏹Basic,基本认证类型,所有浏览器均支持⏹Digest,摘要认证类型,部分浏览器不支持AuthUserFile认证用户文件,存放认证用户的列表文件Require valid-user授权给通过认证的所有用户Require user 用户名授权给通过认证的指定用户对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesAuthName“hyxu”AuthType BasicAuthUserFile file1Require valid-user</Directory>chownapache.apache /etc/httpd/file1重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)输入用户名haiyan及其密码后确定,进入如下页面1.8访问控制与认证授权结合访问控制、认证授权综合命令Satisfy any满足访问控制的条件或满足认证授权的条件,就可以访问指定页面、目录Satisfy all必须同时满足访问控制和认证授权的条件,才可以访问指定页面、目录 对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesOrder deny,allowDeny from AllAllow from 192.168.128.129AuthName“hyxu”AuthType Digest #必须为Digest,否则认证失败AuthUserFile file1Require valid-userSatisfy all</Directory>生成认证授权文件,同时添加用户chownapache.apache /etc/httpd/file1重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)输入用户名haiyan及其密码后确定,进入如下页面1.9 Include、.htaccess实例分割指令Include目录/文件名.conf⏹apache启动时,同时加载Include指令指定的目录下的以.conf结尾的文件⏹可以减少apache的主配置文件的容量.htaccess目录下的隐藏文件⏹可以减少apache服务的启动1.9.1Include实例查看主配置文件中配置在指定目录下生成文件并发布目录serciehttpd restart测试网页浏览器输入地址:http://192.168.128.129/hyxu,访问页面如下1.9.2.htaccess实例主配置文件中发布目录,添加使用.htaccess的指令serciehttpd restart测试网页浏览器输入地址:http://192.168.128.129/haiyan,访问页面如下2.Q&A2.1窗口最小化在面板上未能找到在面板上右击,选择“添加到面板”,打开面板管理器,找到“窗口列表”,选择它然后点击“添加”按钮就可以解决窗口最小化后消失的问题了。
Apache 配置一、安装Apache下载地址:/1. 安装Apache# tar zxvf httpd-2.2.11.tar.gz# cd httpd-2.2.11# ./configure --prefix=/usr/local/apache --enable-so//编译时加上加载模块参数--enable-so# make# make install2. 配置系统启动时自动启动Apache服务。
# vi /etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。
二、配置Apache1. 修改httpd.conf文件# vi /usr/local/apache/conf/httpd.conf1)设置根目录的路径根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。
命令如下:2)设置监听IP地址及端口号默认侦听本机所有IP地址的TCP80端口,命令如下:Listen 80用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。
比如:Listen 192.168.99.9:80Linsten 172.16.0.20:80803)设置系统管理员E-m ail使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:4)设置服务器主机的名称参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:5)设置主目录的路径用户可以使用参数Document Root配置服务器主目录默认路径,比如,主目录路径为:6)设置默认文件Apache的默认文件名为index.ht ml,可以使用Directory Index参数来配置,比如,将ind ex.php设置为默认文件名:7)测试:打开浏览器,输入地址:http://192.168.99.9,可以打开站点了:2. 配置目录权限使用<Directory 目录路径>和</Directory>设置目录的权限。
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/。
1、由linux做服务器,windows做客户机,服务器向客户机分配IP地址。
在考生目录下已有一个dhcpd.conf文件,修改dhcp配置文件,要求:使网络内的计算机能自动从DHCP服务器上获取动态IP地址及相关网络配置,其地址范围为192.168.0.10~192.168.0.20,子网掩码是255.255.255.0,设置动态分配的IP租期为3天,最长为6天。
答案:打开主配置文件dhcpd.conf(修改部分用阴影表示出来)option subnet-mask 255.255.255.0;range dynamic-bootp 192.168.0.10 192.168.0.20;default-lease-time 259200;max-lease-time 518400;2、由linux做服务器,windows做客户机,服务器向客户机分配IP地址。
在考生目录下已有一个dhcpd.conf文件,修改dhcp配置文件,要求:使网络内的计算机能自动从DHCP服务器上获取动态IP地址及相关网络配置,其地址范围为192.168.0.2~192.168.0.10,对其中一台DHCP客户机(其网卡类型和MAC地址是:00:0C:76:5B:B4:78)采用网卡绑定,给它的IP必须是192.168.0.3。
答案:打开主配置文件dhcpd.conf(修改部分用阴影表示出来)range dynamic-bootp 192.168.0.2 192.168.0.10;hardware ethernet 00:0C:76:5B:B4:78;fixed-address 192.168.0.3;3、由linux做服务器,windows做客户机,服务器向客户机分配IP地址。
在考生目录下已有一个dhcpd.conf文件,修改dhcp配置文件,要求:使网络内的计算机能自动从DHCP服务器上获取动态IP地址及相关网络配置,其地址范围为192.168.0.120~192.168.0.130,要求网络所属的DNS域的域名为,动态分配的IP租期为2小时。
Apache主配置⽂件httpd.conf详解Apache的主配置⽂件:/etc/httpd/conf/httpd.conf默认站点主⽬录:/var/www/html/Apache服务器的配置信息全部存储在主配置⽂件/etc/httpd/conf/httpd.conf中,这个⽂件中的内容⾮常多,⽤wc命令统计⼀共有1009⾏,其中⼤部分是以#开头的注释⾏。
[root@justin ~]# wc -l /etc/httpd/conf/httpd.conf1009 /etc/httpd/conf/httpd.conf[root@justin ~]#配置⽂件包括三部分:[root@justin ~]# grep '\<Section\>' /etc/httpd/conf/httpd.conf -n33:### Section 1: Global Environment245:### Section 2: 'Main' server configuration973:### Section 3: Virtual Hosts[root@justin ~]#1)Global Environment---全局环境配置,决定Apache服务器的全局参数2)Main server configuration---主服务配置,相当于是Apache中的默认Web站点,如果我们的服务器中只有⼀个站点,那么就只需在这⾥配置就可以了。
3)Virtual Hosts---虚拟主机,虚拟主机不能与Main Server主服务器共存,当启⽤了虚拟主机之后,Main Server就不能使⽤了--------------------------------------------------------------------------------1)Global Environment44 ServerTokens OS在出现错误页的时候是否显⽰服务器操作系统的名称,ServerTokens Prod为不显⽰57 ServerRoot "/etc/httpd"⽤于指定Apache的运⾏⽬录,服务启动之后⾃动将⽬录改变为当前⽬录,在后⾯使⽤到的所有相对路径都是想对这个⽬录下65 PidFile run/httpd.pid记录httpd守护进程的pid号码,这是系统识别⼀个进程的⽅法,系统中httpd进程可以有多个,但这个PID对应的进程是其他的⽗进程70 Timeout 60服务器与客户端断开的时间76 KeepAlive Off是否持续连接(因为每次连接都得三次握⼿,如果是访问量不⼤,建议打开此项,如果⽹站访问量⽐较⼤关闭此项⽐较好),修改为:KeepAlive On 表⽰允许程序性联机83 MaxKeepAliveRequests 100表⽰⼀个连接的最⼤请求数89 KeepAliveTimeout 15断开连接前的时间102 <IfModule prefork.c>103 StartServers 8104 MinSpareServers 5105 MaxSpareServers 20106 ServerLimit 256107 MaxClients 256108 MaxRequestsPerChild 4000109 </IfModule>系统默认的模块,表⽰为每个访问启动⼀个进程(即当有多个连接公⽤⼀个进程的时候,在同⼀时刻只能有⼀个获得服务)。
Linux 主配置文件httpd.conf
httpd.conf是最核心的配置文件,位于/etc/httpd/目录下。
像大多数的服务一样,几乎绝大部分的设置都需要通过修改该配置文件来完成。
Apache的主配置文件的内容有900多行,不过不用担心,因为绝大部分的内容是注释信息,而且注释内容相当丰富,用户完全可以通过注释来了解Apache的功能、语法以及使用。
对Apache服务器的配置,主要方式就是对httpd.conf配置文件的修改。
该文件是Apache服务器主要配置文件,包含各种影响服务器运行的配置选项,只有对这些配置信息进行理解,才能真正的掌握Apache服务器的配置。
用户可以在终端中,输入vi /etc/httpd/conf/httpd.conf命令,并按,打开该配置文件,如图38所示。
图38 主配置文件注释内容
该主配置文件的注释内容,告诉用户一些基本信息,用户可以通过/docs/2.2/网站来查看该配置文件的更多细节。
该配置文件主要有3个基本的配置项:第一个是Global Environment(全局环境配置),第二个是Main server configuration(主服务配置),第三个是Virtual Hosts(虚拟主机配置)。
每部分都有相应的配置选项,该文件所有配置选项的语法为“配置选项名称参数值”的形式,配置选项可以放在文件中的任何地方,但为了增强文件的可读性,最好将配置语句放在相应的部分。
httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。
httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号,表示注释。
Global Environment(全局环境配置)该配置段中的各配置选项用于控制Apache服务器作为一个服务器作为一个整体来运行。
●Main server configuration(主服务配置)该配置段中的各配置选项用于定义主要或者
默认服务参数的,也为所有虚拟主机提供默认的设置参数。
●Virtual Hosts(虚拟主机配置)这部分内容是用来设置虚拟主机的,它们允许请求被
送往不同的IP主机名,并被同一个Apache服务器处理。