在apache中按域名划分多个虚拟主机的配置文件

合集下载

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置⽬录1 Apache的作⽤2 Apache的安装3 apache的启⽤4 apache的基本信息5 apache的访问控制5.1 基于客户端ip的访问控制5.2 基于⽤户认证的访问控制6 apache的虚拟主机7 apache的加密访问8 ⽹页重写9 正向代理10 反向代理11 apache ⽀持的语⾔1 Apache的作⽤解析⽹页语⾔,如html,php,jsp等接收web⽤户的请求,并给予⼀定的响应2 Apache的安装安装apche软件:dnf install httpd.x86_64 -y3 apache的启⽤开启apache服务并设置开机启动:systemctl enable --now httpd查看apache服务的状态:systemctl enable --now httpd查看⽕墙信息:firewall-cmd --list-all 在⽕墙中永久开启http服务:firewall-cmd --permanent --add-service=http在⽕墙中永久开启https服务: f irewall-cmd --permanent --add-service=https在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload4 apache的基本信息apche的基本信息服务名称:httpd主配置⽂件:/etc/httpd/conf/httpd.conf⼦配置⽂件:/etc/httpd/conf.d/*.conf默认发布⽬录:/var/www/html默认端⼝:80 (http),443(https)⽇志⽂件:/etc/httpd/logs开启apche服务后,输⼊ip查看默认发布页⾯:(1)更改apche服务的端⼝号查看httpd服务的默认端⼝号:netstat -antlupe |grep httpd编辑配置⽂件:/etc/httpd/conf/httpd.conf,修改端⼝号重启httpd服务:systemctl restart httpd查看httpd服务的端⼝号:netsat -antlupe | grep httpd更改端⼝号后,输⼊ip后⽆法正常连接,原因是8080端⼝未添加在⽕墙中在防⽕墙⾥添加888端⼝号:firewall-cmd --permanent --add-port=888/tcp在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload输⼊IP地址:端⼝号,可以正常访问(2)修改apche的默认发布⽂件默认⽬录:cd /var/www/html在⽂件默认发布⽬录下新建⼀个⽂件index.html输⼊:http://172.25.254.144查看默认发布⽂件就是访问apache时没有指定⽂件名,即默认访问的⽂件,此⽂件可以指定多个,但有访问顺序。

apache下配置详解

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_配置多个ip网站站点

apache_配置多个ip网站站点
避免这些问题的小技巧
附录:进一步的提示
一个简单示例
<VirtualHost www.abc.dom>
ServerAdmin webgirl@abc.dom
DocumentRoot /www/abc
</VirtualHost> webgirl@abc.dom
DocumentRoot /www/abc
本文档的涵义一言以蔽之就是:不要让Apache在解析配置文件的时候用到DNS。 如果Apache在解析配置文件时用到了DNS,您的服务器就会发生可靠性的问题(也可能根本无法启动), 或者遭致拒绝(偷窃)服务攻击(包括用户可以从其他用户那里偷窃点击)。
一个简单示例
拒绝服务
"main server"地址
基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS服务器将每个主机名映射(CNAMES)到正确的IP地址,然后配置Apache HTTP服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP地址(IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。
</VirtualHost> webmaster@
DocumentRoot /www/docs/
ServerName
ErrorLog logs/-error_log
TransferLog logs/-access_log
用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法以及优缺点。以便大家在具体的应用中能够选择最合适的实现方法。

自动化批量安装 Ubuntu

自动化批量安装 Ubuntu

图7检查RPM包
如果没有安装这些包则需要通过dpkg –i +包名安装或者配置好apt软件源 apt-get install +包名安装。 首先需要用mount –o loop /root/ubuntu-11.04-server-amd64.iso /mnt/cdrom (/mnt/cdrom必需存在)来将系统光盘挂载到/mnt/cdrom目录下。然后安装需要的 deb包。
1user xzli --fullname "xzli" --iscrypted --password $1$GAiqlaXW$odiKJr2IU1Ouhc7mtJyMv. #Reboot after installation reboot #Use text mode install text #Install OS instead of upgrade install #Use Web installation url --url http://192.168.0.1/ubuntu #System bootloader configuration bootloader --location=mbr #Clear the Master Boot Record zerombr yes #Partition clearing information clearpart --all --initlabel #Disk partitioning information part /boot --fstype=ext4 --size=200
图5 IP配置命令
(2)重启网卡,/etc/init.d/networking restart
图6 重启网卡及IP的配置情况
4.2 安装deb包 配置该服务器需要安装dnsmasp,apache2, system-config-kickstart,等包 tftpd-hap,tftp-had(可选装)。首先需要检查本机上是否已经安装了这些包, 输入dpkg –l *.deb查看 ,-I 安装,-r移除。

apache配置及模块指令速查

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虚拟主机VirtualHost配置

Apache虚拟主机VirtualHost配置

Apache 虚拟主机 VirtualHost 配置虚拟主机 (Virtual Host)是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的IP 和端口, 也可让多个网站拥有不同的域名.Apache 是世界上使用最广的 Web 服务器, 从版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站.主旨本文旨在让读者知道如何在同一台机器上搭建多个网站, 并附带一些使用技巧. 以操作为主, 不会过多谈及原理.目标本文是写给拥有一定的服务器配置和管理技能, 工作中需要同时维护多个网站的网站主, 网站开发者和网络管理员. 如果你是互联网公司的配管工程师, 对计算机服务器原理和操作十分熟悉, 请忽视本文, 你不会在上面找到太多有价值的东西.Redhat Enterprise LinuxRedhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.1. 打开文件 /etc/httpd/conf/, 搜索 VirtualHost example, 找到代码如下:## VirtualHost example:# Almost any Apache directive may go into a VirtualHost container.# The first VirtualHost section is used for requests without a known# server name.##<VirtualHost *:80># ServerAdmin# DocumentRoot /www/docs/ ServerName ErrorLog logs/ CustomLog logs/ common#</VirtualHost>2. 仿照例子, 添加一段代码来指定某一域名的网站.## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot /var/www/httpdocs/demo_aliluna_comServerName ErrorLog logs/ CustomLog logs/ common</VirtualHost>3. 重启 httpd 服务, 执行以下语句.service httpd restartUbuntu LinuxUbuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.1. 打开目录 /etc/apache2/sites-available/, 发现 default 和default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如:2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot /var/www/httpdocs/demo_aliluna_comServerName ErrorLog ${APACHE_LOG_DIR}/ CustomLog ${APACHE_LOG_DIR}/ combined</VirtualHost>3. 通过 a2ensite 激活虚拟主机配置sudo a2ensite 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销sudo a2dissite 重启 Apache 服务, 激活虚拟主机sudo/etc/apache2 restartWindowsWindows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其VirtualHost 配置方法与 Linux 上有些差异, 以下方式适合原生 Apache, XAMPP 和 WAMP 套件.1. 打开目录 {Apache2 安装目录}\conf\extra\, 找到文件.2. 仿照例子, 添加一段代码来指定某一域名的网站.## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot "D:/workspace/php/demo_aliluna_com"ServerName ErrorLog "logs/"CustomLog "logs/" common</VirtualHost>3. 打开文件, 添加如下语句.# Virtual hostsInclude conf/extra/4. 重启 Apache 服务.总结最近我在不同的几台服务器上搭建了一些网站服务, 这篇文章也算是我的个人笔记, 望日后可自用, 也希望对读者有用. 文中介绍了几个主流开发和部署环境上配置虚拟主机的方法, 其他 OS 大同小异.。

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:

tomcat 配置host的规则

在 Apache Tomcat 中,可以使用<Host>元素来配置虚拟主机。

虚拟主机允许在单个Tomcat 服务器上托管多个域名或主机名。

以下是关于 Tomcat 中配置虚拟主机的详细规则:
1.在 server.xml 中配置 Host 元素:
要配置虚拟主机,你需要编辑 Tomcat 的server.xml文件。

在该文件中,你可以添加多个<Host>元素,每个元素对应一个虚拟主机的配置。

例如:
2.Host 元素的属性:
–name属性指定虚拟主机的名称,通常是主机名或域名。

–appBase属性指定应用程序基础目录,它是该虚拟主机中部署的应用程序的根目录。

3.添加 Context 元素:
在<Host>元素中,你可以使用<Context>元素来配置特定的 Web 应用程序。

<Context>元素允许你指定上下文路径和应用程序的位置。

例如:
这将在虚拟主机中部署位于appBase目录下的当前应用程序。

4.配置多个虚拟主机:
你可以在server.xml文件中配置多个<Host>元素,每个元素对应一个虚拟主
机。

这允许你在同一 Tomcat 服务器上托管多个域名或主机名。

5.重启 Tomcat 服务器:
一旦你完成了server.xml文件的配置更改,你需要重新启动 Tomcat 服务器,以便让更改生效。

确保在配置虚拟主机时小心谨慎,避免出现冲突或错误配置。

配置完毕后,你可以使用不同的域名或主机名访问同一 Tomcat 服务器上的不同应用程序。

Apachehttpd.conf配置详解

Apachehttpd.conf配置详解常⽤配置指令说明1. ServerRoot:服务器的基础⽬录,⼀般来说它将包含conf/和logs/⼦⽬录,其它配置⽂件的相对路径即基于此⽬录。

默认为安装⽬录,不需更改。

语法:ServerRoot directory-path如: ServerRoot "/usr/local/apache-2.2.6"注意,此指令中的路径最后不要加 / 。

2. Listen:指定服务器监听的IP和端⼝。

默认情况下Apache会在所有IP地址上监听。

Listen是Apache2.0以后版本必须设置的指令,如果在配置⽂件中找不到这个指令,服务器将⽆法启动。

语法:Listen [IP-address:]portnumber [protocol]Listen指令指定服务器在那个端⼝或地址和端⼝的组合上监听接⼊请求。

如果只指定⼀个端⼝,服务器将在所有地址上监听该端⼝。

如果指定了地址和端⼝的组合,服务器将在指定地址的指定端⼝上监听。

可选的protocol参数在⼤多数情况下并不需要,若未指定该参数,则将为443端⼝使⽤默认的https 协议,为其它端⼝使⽤http协议。

使⽤多个Listen指令可以指定多个不同的监听端⼝和/或地址端⼝组合。

默认为:Listen 80如果让服务器接受80和8080端⼝上请求,可以这样设置:Listen 80Listen 8080如果让服务器在两个确定的地址端⼝组合上接受请求,可以这样设置:Listen 192.168.2.1:80Listen 192.168.2.2:8080如果使⽤IPV6地址,必须⽤⽅括号把IPV6地址括起来:Listen [2001:db8::a00:20ff:fea7:ccea]:803. LoadModule:加载特定的DSO模块。

Apache默认将已编译的DSO模块存放于4.1⽬录结构⼩节中所⽰的动态加载模块⽬录中。

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时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在apache中按域名划分多个虚拟主机的配
置文件
我们知道,Apache可以通过在httpd.conf里添加命令进行配置虚拟主机,但是,如果我们有N个域名,每个域名又有N个子域名,如果说每个根域名一个配置文件该多好啊,也许有人说是异想天开,但是,没有异想,就不会天开,来吧,让天开吧!
首先,我们进入Apache的安装目录,里面会有一个conf文件夹,打开,会有一个httpd.conf 的配置文件,拿文本打开,在其最底部加入这个(如果服务器是Win主机,把conf/vhosts/改为绝对路径,后面别忘了加/)
# 虚拟主机.以下两句不可少
NameVirtualHost *:80
Include conf/vhosts/[^.#]*
然后,再在conf文件夹里新建一个vhosts的文件夹,vhosts里可以放任意虚拟主机配置文件,放多少个也行,名称任意(最好不要用中文),扩展名任意,怎么样,粉方便吧,vhosts 里的一个配置文件也可设N个虚拟主机,至于虚拟主机的配置方法,这里给你们一个示例,有中文的注释,自己看吧!
<VirtualHost *:80>
# 主机名这个不用改动,如果是基于IP的虚拟主机,这里填你的IP#
ServerName localhost
# 主机别名多个主机别名用空格隔开#
ServerAlias
# 管理员邮件#
ServerAdmin lcx165@
#默认文档名,如果想要和httpd.conf一样,那就在前面加上#注释掉#
DirectoryIndex index.html index.htm index.php index.phtml default.html default.htm default.php
fgxz.htm
# 启动或禁止PHP 引擎on为开,off为关# php_admin_flag engine on
# 设置PHP扩展名#
AddType application/x-httpd-php .php
#PHP 路径限制如果用不到,#
php_admin_value open_basedir "/www/pxbs" # 文档目录只改前两行#
DocumentRoot /www/larkmoon
<Directory "/www/larkmoon">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# CGI 脚本目录#
ScriptAlias /cgi-bin "/usr/local/apache2/cgi-bin" <Directory "/usr/local/apache2/cgi-bin"> AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
# 允许执行的CGI 扩展名# AddHandler cgi-script .cgi .pl </VirtualHost>。

相关文档
最新文档