Ubuntu Apache 域名配置

时间:2024-02-29 14:24:04

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.confLAMP 配置篇讲到修改根目录时用到过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 配置篇。