查看原文请访问:http://codewenda.com/ubuntu16-04%E9%85%8D%E7%BD%AEapache%E6%94%AF%E6%8C%81%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9/

 

怎样在一个Ubuntu的机器上(虚拟机)配置Apache支持多个网站呢?

比如你有一台独立的Ubuntu虚拟机,配有一个外网的IP(45.46.47.48),并且注册了两个域名AAA.com和BBB.com,将这两个域名DNS解析到你虚机的IP地址。假设你已经安装好了Apache,一切都是默认的设置。
我们需要在这一个server上面,同时host AAA.com,BBB.com

第一步:修改hosts文件

在Ubuntu系统中,hosts文件目录为/etc/hosts,可以用vi编辑
sudo vi /etc/hosts
添加一下两行内容:
127.0.0.1 AAA.com
127.0.0.1 BBB.com

第二步:创建站点目录

默认一个站点,我们的站点目录为/var/www/html,这里我们分别为两个站点创建两个目录:
创建目录/var/www/html/AAA/, 并创建一个index.html文件,添加内容”Hello, site AAA”
然后,
创建目录/var/www/html/BBB/, 并创建一个index.html文件,添加内容”Hello, site BBB”

第三步:修改apache config文件

进入目录 /etc/apache2/sites-available/
可以看到有一个默认文件000-default.conf,我们可以直接将其作为A站点的config文件,它的内容如下:

  1. <VirtualHost*:80>
  2. ServerName AAA.com
  3. ServerAlias www.AAA.com
  4. <Directory/var/www/html/AAA/>
  5. AllowOverride All
  6. </Directory>
  7. ServerAdmin webmaster@localhost
  8. DocumentRoot /var/www/html/AAA
  9. ErrorLog ${APACHE_LOG_DIR}/error.log
  10. CustomLog ${APACHE_LOG_DIR}/access.log combined
  11. </VirtualHost>
 

运行命令为BBB.com创建配置文件:
sudo cp 000-default.conf 001-default.conf
修改其内容如下:

  1. <VirtualHost*:80>
  2. ServerName BBB.com
  3. ServerAlias www.BBB.com
  4. <Directory/var/www/html/BBB/>
  5. AllowOverride All
  6. </Directory>
  7. ServerAdmin webmaster@localhost
  8. DocumentRoot /var/www/html/BBB
  9. ErrorLog ${APACHE_LOG_DIR}/error.log
  10. CustomLog ${APACHE_LOG_DIR}/access.log combined
  11. </VirtualHost>
 

第四步:启动站点

运行命令:
sudo a2ensite 000-default.conf
sudo a2ensite 000-default.conf
如果提示需要运行apache load,你可以按照提示运行命令。

第五步:重启Apache service

运行命令:
sudo service apache2 restart

第六步:验证

你可以在浏览器中分别输入AAA.com和BBB.com查看是否和index里面的内容一致。如果和预期一致,那么就完成了Apache多站点的配置了。

是不是很简单?有问题欢迎直接留言。

在一个Ubuntu系统上配置Apache支持多个站点的更多相关文章

  1. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  2. Ubuntu14.04配置Apache支持多个站点

    怎样在一个Ubuntu的机器上(虚拟机)配置Apache支持多个网站呢? 比如你有一台独立的Ubuntu虚拟机,配有一个外网的IP(45.46.47.48),并且注册了两个域名AAA.com和BBB. ...

  3. ubuntu系统下配置php支持SQLServer数据库

    最近在做一个项目,该项目的数据库是微软公司的的SQLserver ,数据库安装在另一台windows服务器上,而项目却部署在ubuntu server上.那么这样就会涉及到项目在linux上如何链接S ...

  4. Ubuntu系统下配置PHP支持SQLServer 2005

    最近在做一个项目,该项目的数据库是微软公司的的SQLserver ,数据库安装在另一台windows服务器上,而项目却部署在ubuntu server上.那么这样就会涉及到项目在linux上如何链接S ...

  5. 在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

    官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网 ...

  6. Ubuntu系统下允许Apache的mod_rewrite功能

    首先,使能apache的rewirte模块,在shell里输入下边的命令: sudo a2enmod rewrite 然后重启一下webserver使更改生效 sudo service apache2 ...

  7. Nginx: ubuntu系统上如何判断是否安装了Nginx?

    问题描述:ubuntu系统上,如何查看是否安装了Nginx? 解决方法:输入命令行:ps -ef | grep nginx master process后面就是Nginx的安装目录. 延伸:1. 如何 ...

  8. ubuntu系统自动配置开机启动脚本

    以前一直搞的centos配置开机启动脚本,但是相同方法用在ubuntu系统上就不管用了,非常伤脑筋. 非常感谢  https://www.linuxidc.com/Linux/2017-09/1471 ...

  9. Windows Server 2016 上配置 APACHE+SSL+PHP+perl

    Windows Server 2016 上配置 APACHE+SSL+PHP+perl 安装环境 谷歌云实例 Windows Server 2016 Apache Apache/2.4.25 (win ...

随机推荐

  1. Android <Android应用开发实战> 资源类型<二>

    1.菜单资源菜单不仅可以在onCreateContextMenu或onCreateOptionsMenu方法中通过代码创建,还可以在res/menu目录中建立相应的菜单资源文件,并在上面两个方法中加载 ...

  2. BZOJ4597:[SHOI2016]随机序列——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4597 你的面前有N个数排成一行.分别为A1, A2, … , An.你打算在每相邻的两个 Ai和 ...

  3. bzoj1690:[Usaco2007 Dec]奶牛的旅行(分数规划+spfa判负环)

    PS:此题数组名皆引用:戳我 题目大意:有n个点m条有向边的图,边上有花费,点上有收益,点可以多次经过,但是收益不叠加,边也可以多次经过,但是费用叠加.求一个环使得收益和/花费和最大,输出这个比值. ...

  4. foo.prototype作为新对象的原型来使用

    最近在研究js,疑惑也比较多.主要是被原型这个东西给弄迷糊了.疑惑出自于: function foo { this.name = 'foo'; } alert(foo.prototype === Fu ...

  5. centos ldap client 设定

    centos 6.4 ldap server 位于ubuntu 12.04 Server上 1.安装 yum -y install openldap-clients nss-pam-ldapd 一个完 ...

  6. vector.clear()的内存泄露问题

    在使用vector的过程中,经常会遇到以下场景 vector<int> vec; ) { vec.push_back(); vec.push_back(); vec.push_back() ...

  7. 手脱ASProtect v1.23 RC1(有Stolen Code)

    1.载入PEID ASProtect v1.23 RC1 常见ASprotect版本壳: ASProtect 1.23 RC4 按shift+f9键26次后来到典型异常 ASProtect 1.31 ...

  8. Python os.walk文件遍历

    os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filena ...

  9. CMDB资产管理系统开发【day26】:CMDB上节回顾

    一.上节知识点回顾 服务器设计了一个表结构 开发了一个客户端 二.后台创建缓存区表 客户端连接服务器,在服务器的下面看报错信息 因为URL都没有写,所以我找不到呀 1.在MadKing\url.py ...

  10. 2017 济南综合班 Day 1

    送分题(songfen) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK喜欢干一些有挑战的事,比如说求区间最大子段和.它知道这个题目有O(n)的做法.于 ...