Apache2.4更改默认根目录并配置虚拟域名
软件环境:
1.virtualbox中安装Ubuntu 16.04-server
2.window7下安装Xshell5
以上安装好后,
1.设置virtualbox网络为桥接网卡,启动Ubuntu。
2.使用ifconfig 命令查看ip,为192.168.1.104
3.打开Xshell,新建连接。是可以正常连接到Ubuntu中。
4.然后sudo apt-cache search apache2 搜索是否有安装包,
5.sudo apt-get install apache2 安装
6.apache2 -v 查看版本为2.4.18, 运行a2enmod rewrite开启apache重写模块(a2dismod关闭重写模块) 。
7.使用 curl - I 127.0.0.1 响应一些头信息
8.在windows中打开浏览器,使用192.168.1.104访问,会打开apache2默认网站根目录/var/www/html里的index.html文件,简单介绍apache
9.进入/etc/apache2目录下,apache2.conf是主配置文件,其中include了后面的各文件和目录
10. sudo vim ports.conf , 可以修改apache监听端口,比如把80改为8080
11.同时把 sites-enabled/000-default.conf中的中的80改为8080
12. service apache2 restart 重启apache,在windows浏览器中访问192.168.1.104:8080,还是可以打开上面的index.html。
13.下来修改网站根目录。把上面修改的端口还原为80。在家目录下创建一个准备作为根目录的文件夹,例如:/home/jerry/php-test
14.进入sites-enabled目录,cp 000-default.conf php-test.conf,复制一份配置文件, 把000-default.conf中语句都注释。sudo vim php-test.conf, 。修改为:
15.保存php-test.conf并重启apache后,cp /var/www/html/index.html /home/jerry/php-test/ , 在windows浏览器中访问192.168.1.104可以打开index.html页面
16.开始设置虚拟域名,打开windows的hosts文件,增加一行192.168.1.104 www.test.cn 保存,访问www.test.cn 提示拒绝连接,在cmd中ping www.test.cn虽然可以解析192.168.1.104,但是连接超时。在Ubuntu中配置/etc/hosts , 增加一行127.0.0.1 www.test.cn , 保存后,使用curl -I www.test.cn 是可以访问的。但不知为何在windows用ip地址可以访问,使用虚拟域名却拒绝请求。
17. 在网上查并屡次尝试,后总结出:先关掉虚拟机,将virtualbox网络连接修改为NAT连接。打开虚拟机,ifconfig 发现ip地址变为10.0.2.15,此地址是虚拟机设置的,即使配置/etc/network/interfaces 为静态ip,/etc/init.d/networking restart重启网络也不能改变ip 。 并且xshell也无法连接Ubuntu。
18.需要使用virtualbox提供的端口转发功能,此功能只在NAT模式下使用。关闭虚拟机然后配置
19.修改windows的hosts, 将第16条设置的192.168.1.104改为127.0.0.1.保存后访问www.test.cn。可以正常打开index.html了。首先www.test.cn解析到127.0.0.1:80,virtualbox 再转发到虚拟机的80端口,即网站根目录。xshell连接地址变为127.0.0.1:2222
20.大功告成