Ubuntu下怎样配置Apache的虚拟主机?

1个月前 (10-29 01:42)阅读8回复0
雕刻瞎
雕刻瞎
  • 管理员
  • 注册排名6
  • 经验值59770
  • 级别管理员
  • 主题11954
  • 回复0
楼主

  A根本设置装备摆设

我们都晓得,若是我们想在单台机器上设置多个域名或主机名时,我们就要用到基于名称的虚拟主机了。那么要若何停止设置呢?那就是本指南想处理的问题了。在 Ubuntu /etc/apache2/ 目次下有个 Apache2 的主设置装备摆设文件 apache2。

  conf。在该文件中我们能够看到有那么一行内容:

Include /etc/apache2/sites-enabled/[^。#]*

那行的意思表白该文件包罗了 /etc/apache2/sites-enabled/ 目次中文件名不含 "。

  " 或 "#" 那两个字符的所有文件。而当我们列出该目次的文件时,发现只要一个 000-default 的软链接文件,现实毗连的是 /etc/apache2/sites-available 目次中的 default 文件,不难看出该文件的文件名中其实不包罗 "。

  " 或 "#"。所以那个文件当然是要被设置装备摆设文件 apache2。conf 所包罗的了。翻开该文件,发现它其实是一个虚拟主机的设置装备摆设文件,不外因为该文件中的虚拟主机为 *,所以它现实上是一个通用设置装备摆设文件。若是我们要成立虚拟主机的话,那么就要把该文件改成如下所示:

NameVirtualHost 10。

  39。6。59

ServerName

ServerAdmin Ubuntu@gmail。com"Ubuntu@gmail。com

DocumentRoot /var/www/

Options FollowSymLinks

AllowOverride None

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

# This directive allows us to have apache2's default start page

# in /apache2-default/, but still have / go to the right place

# Commented out for Ubuntu

#RedirectMatch ^/$ /apache2-default/

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

ErrorLog /var/log/apache2/error。

  log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg。

LogLevel warn

CustomLog /var/log/apache2/access。

  log combined

ServerSignature On

Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127。

  0。0。0/255。0。0。0 ::1/128

下面我们来阐发一下上面那段设置中与虚拟主机有关的设置语句:

`NameVirtualHost 10。39。6。59`:暗示我们要做的是一个基于名称的虚拟主机,且其 IP 地址为10。39。6。

  59

` 和 `:暗示在此中的是一个虚拟主机的设置装备摆设

`ServerName `:设置虚拟主机的域名

`ServerAdmin Ubuntu@gmail。com`:设置该虚拟主机网管员的邮件

`DocumentRoot /var/www/`:设置该虚拟主机的主目次途径

`ErrorLog /var/log/apache2/error。

  log`:设置该虚拟主机的出错信息

`CustomLog /var/log/apache2/access。log combined`:设置该虚拟主机的拜候信息

如许我们就设置装备摆设了一个虚拟主机 。

  britepic。org 那个

缺省设置装备摆设所指向的 /var/。

  britepic。org 就会被对应该域名的目次中。

B进一步申明

为了申明清晰 我们再添加一个虚拟主机站点 edunuke。britepic。org,起首到/etc/apache2/sites-available/ 目次中成立一个文件 edunuke。

  当然那个文件名中是没有 "。"

或 "#" 那两个字符的了。然后编纂该文件:

ServerName edunuke。britepic。org

ServerAdmin Ubuntu@britepic。org

DocumentRoot "/var//"

ErrorLog "/var/log/apache2/edunuke_errors。

  log"

CustomLog "/var/log/apache2/edunuke_accesses。log" common

设置的详细含义同上面的类似,那是我就不再多说了。然后再运行号令:

sudo a2ensite edunuke

如许的话,虚拟主机站点 edunuke。

  britepic。org 就已经安拆好了。那时你也能够在

/etc/apache2/sites-enabled/ 目次中发现多了一个到 /etc/apache2/sites-available/edunuke的软链接。接下来就是将 Apache2 重启来使虚拟主机站点运行起来:

sudo /etc/init。

  d/apache2 restart

如许你在阅读器上输入 edunuke。britepic。org 的话,就会被指向 /var/ 站点停止维护时,我只要运行号令:

sudo a2dissite edunuke

sudo /etc/init。

  d/apache2 restart

即可,如许既能够维护 edunuke 那个站点,同时还不影响其他站点的一般运行。

C高级设置装备摆设

上面谈了一下简单的虚拟主机设置装备摆设办法。那个根本上能满足我们大部门的需要。但若是如果安拆Zope+Plone 的话,上面的那点设置是远远不敷的,因为 Zope+Plone 构造所接纳的端口并不是是80端口,所以我们还得做端口重定向。

  为了可以做那个,我们得激活 Rewrite 和 Proxy 两个模块。激活模块很简单,同站点设置装备摆设目次一样,在 Apache2 中也有两个模块设置装备摆设目次:mods-available和 mods-enabled。在 mods-available 目次中的是所有可用的模块,而在 mods-enabled 目次中的则是已被安拆到 Apache2 中的模块。

  因为在 mods-available 目次中已经有了 Rewrite 和Proxy 模块的设置装备摆设引导文件,所以只需要简单地将其安拆到 Apache2 中即可。利用号令:

sudo a2enmod rewrite

sudo a2enmod proxy

然后,添加虚拟主机站点 plone。

  britepic。org,同 edunuke 站点创建类似在/etc/apache2/sites-available/ 目次中成立一个文件 plone。显然那个文件名中是没有 "。"

或 "#" 那两个字符的了。然后编纂该文件:

ServerName plone。

  britepic。org

ServerAdmin Ubuntu@britepic。org

ErrorLog "/var/log/apache2/plone_errors。log"

CustomLog "/var/log/apache2/plone_accesses。

  log" common

RewriteEngine on

RewriteRule ^/(。*)

/$1 [L,P]

Order Deny,Allow

Deny from all

Allow from all

如许就安拆好了 plone。

  britepic。org 虚拟主机站点,能够在阅读器中地址栏中输入 站点去了。

0
回帖

Ubuntu下怎样配置Apache的虚拟主机? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息