如何在CentOS 6上设置Apachemac 设置虚拟主机机

当前位置:&>&&>&
CentOS 6.5系统下配置Apache的https证书
发布时间:
来源:服务器之家
这里简单演示一下Apache下基于加密的认证访问D-https加密方式访问。
1.DNS解析这里不再赘述了哈,相见本次演示的dns解析情况:
[root@localhost&html]#&nslookup&
Server:&&&&&&&&&192.168.2.115
Address:&&&&&&&&192.168.2.115#53
Address:&192.168.2.115
2.安装Apache SSL支持模块:# yum install -y mod_ssl
(默认yum安装httpd是没有安装该模块的,安装后自动生产/etc/httpd/conf.d/ssl.conf文件)并生成证书。
[root@localhost&certs]#&pwd
/etc/pki/tls/certs
[root@localhost&certs]#&ls
ca-bundle.crt&&&&&&&&index.html&&
&&&localhost.crt&&&&Makefile
ca-bundle.trust.crt&&localhost1.crt
&make-dummy-cert
[root@localhost&certs]#&openssl&req&-utf8&-new&-key
../private/localhost.key&-x509&-days&3650&-out
abc_com.crt
You&are&about&to&be&asked&to&enter&information&that&will&be
incorporated
into&your&certificate&request.
What&you&are&about&to&enter&is&what&is&called&a&Distinguished
Name&or&a&DN.
There&are&quite&a&few&fields&but&you&can&leave&some&blank
For&some&fields&there&will&be&a&default&value,
If&you&enter&‘.’,&the&field&will&be&left&blank.
Country&Name&(2&letter&code)&[XX]:CN
State&or&Province&Name&(full&name)&[]:510510
Locality&Name&(eg,&city)&[Default&City]:GZ
Organization&Name&(eg,&company)&[Default&Company
Organizational&Unit&Name&(eg,&section)&[]:Mr.Zhang
Common&Name&(eg,&your&name&or&your&server’s&hostname)
Email&Address&[]:
[root@localhost&certs]#
3.配置Apache,基本配置这里不多说了,下面是配置站点http访问的情况。
[root@localhost&html]#&tail&-n&8&/etc/httpd/conf/httpd.conf
NameVirtualhost&192.168.2.115:80
&VirtualHost&:80&
&&&ServerAdmin&webmaster@dummy-
DocumentRoot&/var/www/html
&&&ServerName&
&&&ErrorLog&logs/dummy--error_log
&&&CustomLog&logs/dummy--access_log
&/VirtualHost&
[root@localhost&html]#&tail&/var/www/html/index.html
[root@localhost&html]#
4.配置Apache支持https访问站点,编辑 vim
/etc/httpd/conf.d/ssl.conf
文件,制定站点https访问时的相关信息。添加下面配置。
&VirtualHost&:443&
DocumentRoot&“/var/www/html/www.kuteatest.net”&&
&#//为了显示效果,这里的站点目录不一样,一般情况一个域名应该指向同一目录的。
ServerName&:443
ErrorLog&logs/ssl_error_log
TransferLog&logs/ssl_access_log
LogLevel&warn
SSLEngine&on
SSLProtocol&all&-SSLv2
SSLCipherSuite
ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile
/etc/pki/tls/certs/abc_com.crt
SSLCertificateKeyFile&/etc/pki/tls/private/localhost.key
&Files&~&“.(cgi|shtml|phtml|php3?)$”&
&&&SSLOptions&+StdEnvVars
&Directory&“/var/www/cgi-bin”&
&&&SSLOptions&+StdEnvVars
&/Directory&
SetEnvIf&User-Agent&“.*MSIE.*”&
&&&&&&&&nokeepalive&ssl-unclean-shutdown
&&&&&&&&downgrade-1.0&force-response-1.0
CustomLog&logs/ssl_request_log&
&&&&&&&&&“%t&%h&%{SSL_PROTOCOL}x
%{SSL_CIPHER}x&”%r”&%b”
&/VirtualHost&
4.重启Apache服务,测试访问。
测试http访问的结果
测试https访问的结果
查看证书信息和自建crt信息一致
https访问的最终结果
Copyright © . 版权所有10:07 提问
CentOS 7 怎样配置apache虚拟主机?
跟ubuntu有点不同,没有看到类似的sites-enable文件夹
按赞数排序
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
其他相关推荐1.打开虚拟机开启centos 6.4系统后进入root用户下,打开终端,输入#yum -y install httpd,安装apache服务器。
  输入命令后到安装完成前有几次需要暂停确认,输入y按enter键即可,直到安装显示complete。
2.为服务器设定本机IP地址。利用这个IP地址创建基于IP地址的虚拟主机
  在/var/www/html目录下创建h1文件夹,在文件夹下创建index.html文件(文件内写可在屏幕输出的html代码,以作测试):
  查看本机ip地址,然后把服务器的eth0端口设置为本机ip地址
3.在apache配置文件中添加以下代码,设置虚拟主机
  编辑/etc/httpd/conf/httpd.conf文件,在末尾添加以下代码(ip地址填写主机ip地址)
4.关闭防火墙
  在终端中运行此行代码,重启系统后生效:chkconfig iptables off
5.关闭selinux
  编辑/etc/sysconfig/selinux,关闭selinux,即是selinux值为disabled,如图所示:
6.将文件、文件夹权限全部设置为755
  在终端中输入:
  #chmod 755 /var/www/html/h1
  #cd /var/www/html/h1
  #chmod 755 index.html
7.重启linux系统
8.打开终端,输入#service httpd start,打开httpd服务,开启l浏览器,输入本机ip地址,测试是否能打开index.html网页。
  若能打开,利用连入内网的机器浏览器测试是否能打开网页。
  若都能打开,则执行下一步,内网穿透。
9.内网穿透
  打开注册一个新账号,具体操作参考
  本地端口填本机ip地址+:80,因为虚拟主机端口设置为80。
10.在centos中打开httpd服务,启动内网穿透映射服务,在浏览器中输入域名,测试是否能打开网页。
阅读(...) 评论()apache虚拟主机的配置指南
投稿:hebedich
字体:[ ] 类型:转载 时间:
本文介绍了apache虚拟主机的配置的方法,要配置apache的虚拟主机,我们需要分以下几步进行:检查apache虚拟主机模块,开启apache虚拟主机功能,httpd-vhosts.conf文件详解,根据IP配置虚拟主机,根据端口配置虚拟主机,根据域名配置虚拟主机,有需要的小伙伴参考下
一、检查apache虚拟主机模块
apache要配置虚拟主机,就需要先查看apache是否编译vhost_alias_module模块。当然apache默认是已经编译该模块的,我们可以通过以下命令查看是否已经编译模块,如下:
/usr/local/apache2/bin/apachectl -M
二、开启apache虚拟主机功能
要开启apache虚拟主机功能,我们需要修改apache配置文件http.conf。打开apache的安装目录,找到httpd.conf文件,去掉Include conf/extra/httpd-vhosts.conf前的#。如下:
vi httpd.conf
该行的作用是,把conf/extra/目录下的httpd-vhosts.conf文件导入虚拟主机配置中。
下面我们所有有关虚拟主机的配置都在httpd-vhosts.conf文件中进行。如下:
apache虚拟主机配置主要分为三种,分别是根据IP地址、根据端口、根据域名。
这三种虚拟主机,我们主要讲解基于域名的虚拟主机。基于IP与基于端口在生产环境中使用的比较少,我们在此只大致讲解其配置。
注意在此之前,我们还要修改httpd.conf文件把有关目录访问权限的配置选项去掉。否则在访问虚拟主机时,会报403错误。如下:
httpd.conf文件去掉Order deny,allow和Deny from all行,修改如下:
&Directory /&
Options FollowSymLinks
AllowOverride None
&/Directory&
值得注意的是,当我们为apache启用虚拟主机之后,那么所有的用户请求都会交由对应的虚拟主机来处理。如果apache找不到对应的虚拟主机,则会把该请求交给配置文件中排在最前面的虚拟主机来处理。
同时如果配置基于域名的虚拟主机,我们必须要启用NameVirtualHost *:80行。如下:
三、httpd-vhosts.conf文件详解
httpd-vhosts.conf文件内容大致如下:
NameVirtualHost *:80
&VirtualHost *:80&
ServerAdmin webmaster@dummy-
DocumentRoot "@@ServerRoot@@/docs/dummy-"
ServerName dummy-
ServerAlias www.dummy-
ErrorLog "logs/dummy--error_log"
CustomLog "logs/dummy--access_log" common
&/VirtualHost&
NameVirtualHost指定虚拟主机所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost可以定义多个。所有符合NameVirtualHost或&VirtualHost&标签定义的请求,都会被作为虚拟主机处理,而主服务器将不理会。NameVirtualHost定义了而&VirtualHost&标签没有定义的的请求,服务器会找不到相应的虚拟主机而将无法处理。所以每个NameVirtualHost定义的参数至少要有一个&VirtualHost&相匹配。
如果设置NameVirtualHost或&VirtualHost&为*:80的话,所有针对80端口的请求,都会被虚拟主机处理,请求会根据域名指向某个虚拟主机。如果有来自80端口的请求,而所请求的域名没有被配置为虚拟主机,那将指向第一个虚拟主机。这样主服务器将无法收到来自80端口的任何请求。为此也要为主服务器配置一个虚拟主机。
想要配置基于域名的虚拟主机,则必须使用NameVirtualHost指令,该指令用于指定对于当前服务器的哪些IP地址和端口可以接受虚拟主机的相关访问请求,而且这些IP地址和端口必须包含在服务器监听的地址和端口之中。
如果你希望用到服务器上所有的IP地址,你可以使用指令:NameVirtualHost *。
如果apache监听了多个端口(例如:常规的80端口和SSL的443端口),那么必须在NameVirtualHost指令中指定一个端口,例如:NameVirtualHost *:80。
我们可以使用VirtualHost配置段来添加一个虚拟主机,如果有多个虚拟主机,我们可以添加多个这样的配置段。
在VirtualHost配置段中,我们可以使用配置指令来对该虚拟主机进行设置,除了诸如创建进程等少数特殊的指令外,几乎所有的指令都可以出现在VirtualHost配置段中。如果没有设置某些指令,则该虚拟主机将采用主服务器范围内相同的全局指令作为默认设置。当然,VirtualHost配置段至少应该包含ServerName和DocumentRoot这两个配置指令,用以指定虚拟主机的域名和站点文档目录的路径。如下:
&VirtualHost *:80&
DocumentRoot "/www/"
ServerName
&/VirtualHost&
ServerAdmin管理员邮箱。
DocumentRoot网站目录(注意:如果网站目录中的路径有空格,请在路径两端加上双引号)。
ServerName要绑定的域名(必填)。
ServerAlias要绑定的虚拟主机的别名。(可选,如果多个域名,中间以空格分隔,如果没有,则去掉该行)。支持*,?两种通配符,比如*.,表示任意一个的二级域名都可访问。
CustomLog用户日志文件(可选,如果不需要,则去掉该行)。
ErrorLog 错误日志(可选,如果不需要,则去掉该行)。
四、根据IP配置虚拟主机
apache基于IP虚拟主机在实际的生产环境中使用比较少,主要是使用在单网卡多IP的情况下。
我们要测试此功能,需要给服务器的网卡增加一个IP。首先查看服务器的IP地址,如下:
ifconfig eth0|grep "inet addr"|awk '{print $2}'|cut -d: -f2
ifconfig eth2|grep "inet addr"|awk '{print $2}'|sed 's/addr://g'
可以看到目前服务器的IP是192.168.1.213,再增加一个IP地址为192.168.1.215。eth0网卡增加IP地址,可以通过网卡配置文件实现。如下:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
/etc/init.d/network restart
ping 192.168.1.215
IP地址增加完毕后,我们现在来修改虚拟主机的配置文件httpd-vhosts.conf。如下:
cat httpd-vhosts.conf|grep -v ^$|grep -v ^#
httpd-vhosts.conf修改完毕后,我们需要检查该虚拟主机配置是否正确,使用-S命令。如下:
/etc/init.d/httpd –S
通过上图可以看到该虚拟主机的配置是正确。
为虚拟主机192.168.1.215创建主页文件,如下:
mkdir /www/192.168.1.215
echo "this is web-server 192.168.1.215"&/www/192.168.1.215/index.html
cat /www/192.168.1.215/index.html
访问192.168.1.215虚拟主机。如下:
或者通过elinks进行测试,如下:
elinks -dump http://192.168.1.215
可以看到虚拟主机192.168.1.215,已经可以正常访问了。
现在访问192.168.1.213,看看实际效果。如下:
五、根据端口配置虚拟主机
apache默认是监听80端口,这个可以通过apache配置文件httpd.conf进行查看。如下:
cat /usr/local/apache2/conf/httpd.conf|grep 80
apache基于端口虚拟主机在实际生产环境中也不多见,一般是为公司内部人员提供访问的,如页面的后台、CMS发布、phpmyadmin等。
现在我们开始配置基于端口的虚拟主机,在此之前我们需要修改两个文件一是apache的配置文件httpd.conf,二是apache虚拟主机配置文件httpd-vhosts.conf。
现在我们使用8088这个端口来设置虚拟主机。修改httpd.conf。如下:
vim /usr/local/apache2/conf/httpd.conf
此文件修改完毕后,我们再来修改httpd-vhosts.conf。如下:
cat httpd-vhosts.conf|grep -v ^$|grep -v ^#
为虚拟主机192.168.1.215:8088创建主页文件,如下:
mkdir 192.168.1.215:8088
echo "his is web-server 192.168.1.215:8088"&index.php
cat index.php
现在访问虚拟主机192.168.1.215:8088,如下:
或者使用elinks,如下:
elinks -dump http://192.168.1.215:8088
六、根据域名配置虚拟主机
apache基于域名的虚拟主机是我们经常使用的,也是在生产环境中最常见的。
配置基于域名的虚拟主机,我们还是要编辑httpd-vhosts.conf文件。如下:
vim httpd-vhosts.conf
:45,48s/192.168.1.215:8088//g
以上修改完毕后,我们来创建虚拟主机默认主页。如下:
mkdir /www/
echo "&?php phpinfo();?&"&/www//index.php
cat /www//index.php
以上配置完毕后,重新加载apache的配置文件,即优雅重启apache。如下:
/etc/init.d/httpd graceful
访问虚拟主机,如下:
或者使用elinks,如下:
elinks -dump
通过上图,可以看到目前虚拟主机,已经可以正常访问了。
七、混合配置虚拟主机
以上我们介绍了apache基于IP、基于端口和基于域名的虚拟主机配置。下面我们给出apache混合虚拟主机配置,配置文件如下:
&VirtualHost :8088&
ServerAdmin webmaster@dummy-
DocumentRoot "/www/:8088"
ServerName :8088
ErrorLog "logs/:8088-error_log"
CustomLog "logs/:8088-access_log" common
&/VirtualHost&
虚拟主机混用时的问题:
1、虚拟主机混用可以这样理解:一行NameVirtualHost指令定义的所有虚拟主机为一组;该组与一个基于IP的虚拟主机平级。即把一行NameVirtualHost定义的整个组看作是一个基于IP的虚拟主机。
2、虚拟主机指定的端口必须是Listen定义的。如果虚拟主机没有指定端口,则认为是80端口。如果NameVirtualHost * 这样定义,是指所有地址的所有已定义端口。
3、更具体的地址定义优先。比如NameVirtualHost指令定义了*:80,而某个基于IP的虚拟主机定义为192.168.0.1:80,那么此时如有对192.168.0.1:80的请求,那请求会被优先指向192.168.0.1:80定义的虚拟主机。所以为了避免混乱,不要定义相互有交叉或包含的地址区间。
4、一个虚拟主机,可以同时为基于域名和基于IP的。如上一例中最后一个虚拟主机。这样符合两种定义的请求都会被指同一个虚拟主机。有时要区别内外网对虚拟主机的访问时可以这样,因为来自内网的请求可能和来自外网的请求可能不一样,但是它们需要指向同一个虚拟主机。
使用"_default_"虚拟主机,这个虚拟主机可以理解成基于IP的虚拟主机。如下:
&VirtualHost _default_:*&
DocumentRoot /www/default
&/VirtualHost&
这个虚拟主机将接管与其它虚拟主机IP和端口不匹配的请求。不过如此一来,主服务器将不会处理任何请求。因此把主服务器配置成一个虚拟主机是必要的。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具CentOS 6.8下Apache服务器安装和配置详解_服务器应用_Linux公社-Linux系统门户网站
你好,游客
CentOS 6.8下Apache服务器安装和配置详解
来源:Linux社区&
作者:lzs66
一、基础配置实验环境: 6.8
Apache版本:2.2.15
一、基本配置1、安装httpdyum install -y httpd
2、编辑配置文件/etc/httpd/conf/httpd.confvim /etc/httpd/conf/httpd.conf & ServerTokens OS& & & &
# 服务器相应主机头信息时,显示apache版本和操作系统名称 ServerRoot "/etc/httpd"& & & &
#指定服务器主配置文件和日志文件的位置 Timeout 60& & & #在指定时间内没有收到或发出任何数据则断开连接,单位为秒 KeepAlive On&
#是否启用长连接 MaxKeepAliveRequests 100& & & & #当启用长连接时,一次连接最多能相应的请求数量 KeepAliveTimeout 15& &
#启用长连接时,指定一次连接中相邻两个请求的最大时间间隔,超过这个时间则会断开连接 & &IfModule prefork.c&& & #使用prefork工作模型 StartServers& & &
8& & #刚开启时启动的守护进程数量 MinSpareServers& & 5& & #设置最少空闲进程,当空闲进程少于规定时会创建新的进程 MaxSpareServers&
20& & #设置最多空闲进程,当空闲进程多于规定时会删除一些 ServerLimit& & & 256& & #设置服务器允许最大的同时连接数 MaxClients& & &
256& & #设置同一时间允许的最大客户端连接数 MaxRequestsPerChild& 4000& & &
#设置每个子进程能处理的最大连接数量 &/IfModule& & DirectoryIndex index.html index.html.var& & & & #设置网站默认文档 Include conf.d/*.conf&
#将指定文件包含进来 User apache& &
#设置运行apache服务的用户 Group apache& & #设置运行apache服务的组 ServerAdmin root@localhost& & & #设置管理员的邮箱,当apache服务有问题时会发邮件通知管理员 DocumentRoot "/var/www/html"& & #设置存放网页的根目录位置 & #设置特定目录的属性 &Directory "/var/www/html"& & & Options FollowSymLinks& & & #FllowSymLinks:允许访问符号链接的文件,即能访问不在本目录内的文件 & & & & & & & & & & & & & & & &
indexes:& & & 在目录中找不到DirectoryIndex中指定的文件时会生成当前目录的文件列表 & & & & & & & & & & & & & & & &
MultiViews:&
如果客户端请求的路径可能对应多种类型的文件,那么服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。例如,在服务器站点的file文件夹下中存在名为hello.jpg和hello.html的两个文件,此时用户输入tttp://localhost/file/hello,如果在file文件夹下并没有hello子目录,那么服务器将会尝试在file文件夹下查找形如hello.*的文件,然后根据用户请求的具体情况返回最匹配要求的hello.jpg或者hello.html。 & & AllowOverride None& & & & & #不去读取.htaccess配置文件的内容& & & & & & & & & & & & & & & Order allow,deny& & & & & & #先执行allow访问控制规则,再执行deny & & Allow from all& & & & & & & #放行所有 &/Directory& & HostnameLookups Off& &
#设置服务器记录客户端的IP地址还是主机名,当off时记录IP,为On时记录主机名 ErrorLog logs/error_log& & & &
#设置错误日志保存位置
3、启动httpd服务service httpd start
二、实现用户认证和授权1、创建认证口令文件,并添加用户linuxidc,密码为123456和用户zsgg,密码为zsgg,密码用md5加密htpasswd -cm /var/www/html/passwd/test linuxidc 123456 htpasswd -m /var/www/html/passwd/test zsgg zsgg
&2、修改认证口令文件的所有者为apache1 chown apache.apache /var/www/html/passwd/test
3、编辑/etc/httpd/conf/httpd.conf&&Directory "/var/www/html"& & & AllowOverride AuthConfig& & #启用认证 & & AuthType basic& & & & & & & #设置认证方式 & & AuthName & 请输入用户名密码&& & #设置提示信息 & & AuthUserFile /var/www/passwd/test& & #指定认证口令文件 & & require valid-user& & & & & & #设置认证口令文件中的所有用户都能访问 &/Directory&
三、虚拟目录编辑/etc/httpd/conf/httpd.confAlias /linuxidc &/var/www/linuxidc/&
在客户端输入http://x.x.x.x/linuxidc即可访问到服务器/var/www/linuxidc目录
四、虚拟主机前提:配置虚拟主机时需将DocumentRoot &/var/www/html& 注释掉& & 4.1、基于IP地址的虚拟主机
&VirtualHost 192.168.0.1:80& & & ServerAdmin
& & DocumentRoot /www/html/ & & ServerName
& & ErrorLog logs/-error_log & & CustomLog logs/-access_log common &/VirtualHost& &VirtualHost 192.168.0.2:80& & & ServerAdmin
& & DocumentRoot /www/html/ & & ServerName
& & ErrorLog logs/-error_log & & CustomLog logs/-access_log common &/VirtualHost&
& & 4.2、基于端口的虚拟主机
&VirtualHost 192.168.0.1:80& & & ServerAdmin
& & DocumentRoot /www/html/ & & ServerName
& & ErrorLog logs/-error_log & & CustomLog logs/-access_log common &/VirtualHost& &VirtualHost 192.168.0.1:8080& & & ServerAdmin
& & DocumentRoot /www/html/ & & ServerName
& & ErrorLog logs/-error_log & & CustomLog logs/-access_log common &/VirtualHost&
& & 4.3、基于域名的虚拟主机
& & & & 1、配置好DNS服务器,使多个域名能解析到同个ip地址上
& & & & 2、编辑/etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.0.1:80& & #启用基于域名的虚拟主机 &VirtualHost 192.168.0.1:80& & & ServerAdmin
& & DocumentRoot /www/html/ & & ServerName
& & ErrorLog logs/-error_log & & CustomLog logs/-access_log common &/VirtualHost& &VirtualHost 192.168.0.1:80& & & ServerAdmin
& & DocumentRoot /www/html/ & & ServerName
& & ErrorLog logs/-error_log & & CustomLog logs/-access_log common &/VirtualHost&
Linux下安装配置PHP环境(Apache2)&
Linux下 Apache服务器配置&
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置
CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)
5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind
Linux下Apache虚拟主机的配置&
Apache 的详细介绍:Apache 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (07月11日)
& (05月09日)
& (08月31日)
& (05月18日)
& (02月19日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 mac 设置虚拟主机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信