2018.4.12
Ubuntu Apache 域名配置
承 Ubuntu Apache 配置篇
参考 电子工业出版社, Ubuntu完美应用, 第3版, 及各种大神网上的帖子, 谢谢!
一. 序言
一台Web 服务器利用虚拟技术, 把Apache 服务器分成许多 “虚拟” 的主机。 实现网站共享硬件资源, 网络资源, 降低了Web 服务的运营成本。
Apache 主要支持3 种虚拟主机技术, 基于域名, IP地址, 端口。 Ubuntu 中默认基于域名虚拟主机技术。
服务器只需一个IP 地址, 就可以创建多台虚拟主机。 利用HTTP 协议访问请求中包含DNS 域名的信息的实现, 根据不同的域名访问相应的网站。
Tip: 我们在一台机子上, 利用Apache 配置, 给每个目录下的代码项目配上一个自定义的名字, 也就是域名, 然后访问此域名, 就可以访问到这个项目。 域名得需要购买, 若自己配置的没有购买的域名, 只能本地电脑访问。
二. 配置
. 需要的文件或文件夹, /etc/hosts, /etc/apache2/apache2.conf, /etc/apache2/sites-available, /etc/apache2/sites-enabled, 你的域名指向的根目录。
1) 注册你想要的域名在你本地的IP 上
sudo vim /etc/hosts
打开主机文件hosts, 你的本地机 127.0.0.1 指向localhost, 按键i 开始写入, 把你自己想要的域名另起一行, 以同样的格式写上。
按键Esc 输入:wq, 保存退出, 按域名注册成功, 你的IP 就会为你的域名服务。
2) 打开apache2.conf 检查
sudo vim /etc/apache2/apache2.conf
打开apache 配置文件翻到最下面的几行, 查看有无此句话, IncludeOptional sites-enabled/*.conf, 引入虚拟主机配置文件。
Tip: 这句话就是让你之后的虚拟主机配置生效的关键。 一般是有的, 检查一下。
3) /etc/apache2/sites-available 文件夹, /etc/apache2/sites-enabled 文件夹
. 修改这两个文件夹的权限, 因为一会要创建文件。
sudo chmod 777 /etc/apache2/sites-available
sudo chmod 777 /etc/apache2/sites-enabled
. 在sites-available 文件夹下创建一个文件
再次文件夹下有原本的两个文件, 000-default.conf 和 default-ssl.conf, LAMP 配置篇讲到修改根目录时用到过000-default.conf, 但不是在此文件夹下编辑的, 因为仅此是不管用的。
创建一个新的文件, 名字随你, 可以复制000-default.conf 文件后改名字, 再对里面的配置作修改即可。
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/newvh.conf
Tip: 复制到相同文件夹下, 并重命名。
. 修改文件配置
sudo vim /etc/apache2/sites-available/newvh.conf
这是我已经配置好的。
<VirtualHost *:80> # 所有域名, 80 端口
DocumentRoot /home/loseself/loseself # 此域名指向的根目录
ServerName rainstorm.im # 域名名称
ServerAlias # 域名别名, 用空格隔开
ServerAdmin lose@loseself.com # 管理员邮箱, 随便填
<Directory "/home/loseself/loseself"> # 对根目录的设置
Options Indexes FollowSymLinks ExecCGI # ExecCGI, 公共网关接口, 在该目录下准许使用CGI。
AllowOverride All
Order allow,deny
# 这句是重点, 可以让其主机访问, 若需要改变访问的对象, 可以搜索一下, 没有这句话你配置的域名都会指向最初的根目录。
Allow from all # 允许所有主机访问
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log # 错误日志路径
# 访问日志
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
. Esc, :wq, 保存修改。
. 把此文件链接到sites-enabled 文件夹下
sudo ln -s ../etc/apache2/sites-available/newvh.conf /etc/apache2/sites-enabled/newvh.conf
Tip: 一定要加../, 其他的文件就是这么写的。 相对路径
4) 在根目录下创建些东西
我在根目录下放了一个index.php 文件, 文件里写了:
<?php
phpinfo();
?>
当读到此目录时可以自动打开此文件。 因为Apache配置里面配置。
5) 开启或重启Apache 服务
sudo systemctl start apache2
sudo systemctl restart apache2
6) 打开浏览器
在地址栏输入你的域名加上斜线。 我的是rainstorm.im/
这就是最后了。 看到你想要的效果说明成功了, 但显示的效果一定要和你的默认根目录有区别, 以便辨认。
Tips: 愿用我个人的时间节约你们更多的时间。
启sublime 配置篇。