Ubuntu 14.04 LTS系统中配置Apache2虚拟主机[通俗易懂]

Ubuntu 14.04 LTS系统中配置Apache2虚拟主机[通俗易懂]在Ubuntu14.04LTS系统中设置Apache虚拟主机1.安装用下面命令来安装apache网络服务器:$sudoapt-getinstallapache22.检查是否安装成功安装apache服务器之后,让我们通过这个URLhttp://你的服务器的IP地址/来测试网站服务器是否正常工作如果出现“ItWorked!”的示例页,说明apache服务器已经开始工作了3.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Ubuntu 14.04 LTS系统中配置Apache2虚拟主机


1.安装

用下面命令来安装apache网络服务器:

  $  sudo apt-get install apache2

2.检查是否安装成功

安装apache服务器之后,让我们通过这个URL http://你的服务器的IP地址/ 来测试网站服务器是否正常工作
如果出现“It Worked!”的示例页,说明apache服务器已经开始工作了

3.查找根目录

安装完Apache后的最重要的一件事就是要知道Web文档根目录在什么地方,对于Ubuntu而言,默认的是/var/www.
让我们确定根目录吧,按下面步骤:

3.1终端下打开apache2.conf,输入如下命令:

$ sudo vi /etc/apache2/apache2.conf

可以看到,下面的代码:查看根目录

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>   # 根目录就是这个啦,默认端口监听的时候会来到这里,你也可以修改为你喜欢的路径目录,
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

4.找到根目录后,就可以进行下一步了

4.1创建虚拟目录

创建一个公用的文件夹来存放虚拟主机的数据,就是说为你的站点创建一个目录,拿我的项目为例子:为yuyuyu.local这个站点创建一个目录

$ sudo mkdir -p /var/www/yuyuyu.local/public_html

4.2. 设置所有者和权限

上面目录现在只有root拥有权限。我们需要修改这2个目录的拥有权给普通用户,而不仅仅是root用户。

$ sudo chown -R $USER:$USER /var/www/yuyuyu.local/public_html/

“$USER”变量指向了当前的登录用户。

4.3设置读写权限给apache网页根目录(/var/www)及其子目录,这样每个人都可以从目录中读取文件。

$ sudo chmod -R 755 /var/www/

( 递归修改一个目录中所有文件的权限方法:进入目录输入命令 chmod 777 -R *(其中 -R 表示递归处理,*代表所有文件)或 chmod 777 -R /home/abc/dirctoryname,此命令不用进入目录,/home/abc/dirctoryname是目录路径。)

这样,我们就创建好了一些文件夹来保存网络相关数据并分配必要的权限和所属用户。

5.为虚拟主机创建示例页

现在,我们给网站增加示例页。第一步,让我们给虚拟主机yuyuyu.local创建一个示例页。
###5.1给yuyuyu.local虚拟主机创建一个示例页——index.html示例页

$ sudo vi /var/www/yuyuyu.local/public_html/index.html

添加以下内容,保存关闭

  <html>
    <head>
    <title>www.yuyuyu.local</title>
    </head>
    <body>
    <h1>Welcome To yuyuyu.local website</h1>
    </body>
  </html>

这样示例页index.html就写好了

6.创建虚拟主机配置文件

6.1默认情况下,apache有一个默认的虚拟主机文件叫000-default.conf。我们将会复制000-default.conf文件内容到我们新的虚拟主机配置文件中,注意名字的拓展名一定.conf

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/yuyuyu.local.conf

6.2修改yuyuyu.local.conf文件以符合需求。

打开复制的那个.conf文件

   $ sudo vi /etc/apache2/sites-available/yuyuyu.local.conf
  1. 文件显示内容的相关解释:
    VirtualHost *:80> # 数据的开头有个端口,这个端口80是默认的,就是说这个站点的访问是通过这个端口的来直接跟踪到下面 ,’**’代表通配符号。
    DocumentRoot /var/www/yuyuyu.local/public_html 这个示例页,80端口是默认的,端口可以自己定义。


    ServerAdmin webmaster@yuyuyu.local # 服务器的管理者,联系方式
    ServerName yuyuyu.local #网页上搜索的网址域名,要与/etc/apache2/hosts文件里的名字对应,即需要把这个名字写到hosts里,后面会细说。
    ServerAlias www.yuyuyu.local www.yu.local # 网址的别名,可以通过添加,如果你想多个网站名称都取得相同的网站,可以设置多个别名,别名之间用空格隔开
    DocumentRoot /var/www/yuyuyu.local/public_html #要显示的网页所在的路径,即上面端口监听的目录,他会监听到这个路径下的全部文件

  2. 配置文件
    理解了相关语句功能后,就进行配置工作吧
    有#的是被注释掉的

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com  # 在ServerName后加上你的网站名称
    # 在ServerAdmin后加上网站管理员的电邮地址,方便别人有问题时可以联络网站管理员。
    ServerAdmin webmaster@xxx.local
    ServerName xxxx.local
    ServerAlias www.xxxx.local
    DocumentRoot /var/www/yuyuyu.local/public_html 
    # 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录),其他都没什么,最主要的是这个路径一定要正确
     
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn
     
    ErrorLog ${APACHE_LOG_DIR}/error.log   ##该行指定了自定义的 Apache 错误日志文件的位置
    CustomLog ${APACHE_LOG_DIR}/access.log combined
     
    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
    </VirtualHost>

如果你的服务器有多个IP,而不同的IP又有着不一样的虚拟用户的话,可以修改成:

<VirtualHost IP地址[:端口]>
...
</VirtualHost>

7.启动虚拟主机

修改虚拟主机文件后,禁用默认的虚拟主机配置(000.default.conf),然后启用新的虚拟主机配置,如下所示。

   $ sudo a2dissite 000-default.conf 
    # 禁用默认的虚拟主机配置(000.default.conf),不禁用也没关系
   $ sudo a2ensite yuyuyu.local.conf  
    # 这句语句会在sites-enabled创建和/sites-available/yuyuyu.local.conf一样的文件

8.添加监听端口

还记得上面说到的端口吗?
最后一个要说的是ports.conf,这里面设置了Apache使用的端口。如果需要调整默认的端口设置,建议编辑这个文件
如果修改了默认的端口VirtualHost *:80>,例如80改为8080后,则需要修改/etc/apache2/ports.conf,添加监听Listen 8080,才能够监听到这个网站,添加的就是/etc/apache2/sites-available/yuyuyu.local.conf里 VirtualHost *:端口>设置的监听端口。自定义的端口会监听到DocumentRoot这里的目录

$ sudo vi /etc/apache2/ports.conf

显示下面的内容,添加进去自定义的端口,Listen xxx

Listen 80
Listen 8000
Listen 8001
Listen 8080
<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

9.最后,重启apache服务器。

 $ sudo service apache2 restart

就是这样。现在,我们成功地配置了apache虚拟主机在我们的Ubuntu服务器上

10.测试虚拟主机,编辑/etc/hosts文件

$ sudo vi /etc/hosts

出来如下代码:

127.0.0.1       localhost
127.0.1.1       XXX

192.XXX.XXX.XXX    yuyuyu.local
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

在文件末尾添加如下所示的虚拟域名。

192.xxx.xxx.xxx yuyuyu.local(ip和对应的名字可以随便起)
保存并关闭文件。不用在此restart即可

—注意是虚拟,也就是说可以随便写,只要在你自己的本机上的浏览器上输入即可看到结果.这时出来的界面是根目录的界面,再加上端口即可到达你想要的index的界面

此时yuyuyu.local即可代替ip,网址可以通过这个名字直接找到网址
效果就是浏览器上输入yuyuyu.local就直接会去找IP 192.168.1.33 服务器收到请求,查看有没有符合的虚拟主机域名,有的话就把相应目录下的WEB文件呈现给请求用户

打开你的浏览器并访问http://yuyuyu.local。你将会看到我们之前创建的示例页。

需要注意的问题

  1. 域名访问的时候要用ip,只有用ip的时候才可以被别的电脑访问,并且访问的时候加上端口,如:80或者8000
  2. 在apache的虚拟主机中,如果书写了。ServerAlias www.cq.com www.gd.com这样的语句,就可以给虚拟主机增加多个域名,而且这些域名都访问同一个站点。
  3. 如果在网站的目录下添加新的文件,复制进去等之类的,在服务器上访问时显示不出来,可能是由于权限的问题,因为复制过来的文件,权限没有改变,修改权限即可显示。
  4. 远程访问问题,当时测试的时候,用wifi的ip远程访问,却不能成功,插上网线后,不管用网线的ip还是wifi的ip都可以成功访问。

参考链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192275.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm 安装 python 包「建议收藏」

    pycharm 安装 python 包「建议收藏」1、file-setting-project2、搜索安装包进行安装点击有变的绿色”+”,选择包安装。

    2022年10月24日
  • minist 简介

    在机器学习入门的领域里,我们会用MNIST数据集来实验各种模型。MNIST里包含各种手写数字图片。也包含每张图片对应的标签,告诉我们这个数字几。(MNIST数据集来自美国国家标准与技术研究所,NationalInstituteofStandardsandTechnology(NIST)。训练集(trainingset)由来自250个不同人手写的数字构成,…

  • STM32中重定向printf到SWO口[通俗易懂]

    STM32中重定向printf到SWO口[通俗易懂]Keil中调试:用SWO功能替代printf引用网址:http://blog.csdn.net/xiaolei05/article/details/8526021嵌入式软件开发中的一个基本需求就是能通过终端来输出调试信息,一般可通过2种方式实现:一种是使用串口线连接板上的UART和PC上的COM口,通过PC上的超级终端来查看调试信息;另一种则是采用半主机机制,但有可能不被

  • Android scaleType属性

    Android scaleType属性转自:https://blog.csdn.net/lirui0822/article/details/384234231、android:scaleType=”center”(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居中显示,不缩放,用ImageView的大小截取图片的居中部分。(2)当图片小于ImageView的…

  • 使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示

    使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示各种炒股软件上可以显示各种技术指标,可以帮助投资者进行技术分析。这些股市中的这些指标都是怎么计算出来的呢?这里使用python的pandas库来进行计算。后期可能使用一些专门金融分析的库,比如talib库等进行分析。一、获取数据这里需要获取的数据是股票的日线行情,这里使用tushare进行获取,以…

    2022年10月26日
  • datagrip 2022.01.13 激活码【2022最新】2022.03.10

    (datagrip 2022.01.13 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1M…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号