将我的 Apache2 服务器公开

将我的 Apache2 服务器公开

我真的很困惑如何将我的 Apache2 网络服务器公开。我已经设置好了一切,当我输入时,localhost:80它会正确显示。但是,我需要非常清晰和详细的说明来说明如何将其公开!并且还要使用它的别名,我将其设置为 pcpcpc12.com

[编辑]

输出 /var/log/apache2/access.log

127.0.0.1 - - [16/Mar/2016:20:04:23 +0000] "GET / HTTP/1.1" 200 3594 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:04:23 +0000] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3688 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:04:24 +0000] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:04:24 +0000] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:10:34 +0000] "GET / HTTP/1.1" 200 661 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:10:34 +0000] "GET /icons/blank.gif HTTP/1.1" 200 430 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:10:34 +0000] "GET /icons/folder.gif HTTP/1.1" 200 507 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:10:40 +0000] "GET /pcpcpc12.com/ HTTP/1.1" 200 3594 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:11:31 +0000] "GET /pcpcpc12.com/ HTTP/1.1" 200 732 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:11:31 +0000] "GET /icons/back.gif HTTP/1.1" 200 498 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:11:31 +0000] "GET /icons/blank.gif HTTP/1.1" 304 178 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:11:31 +0000] "GET /icons/folder.gif HTTP/1.1" 304 178 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:11:42 +0000] "GET /pcpcpc12.com/public_html/ HTTP/1.1" 200 280 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:14:26 +0000] "GET /pcpcpc12.com/ HTTP/1.1" 200 734 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:14:26 +0000] "GET /icons/blank.gif HTTP/1.1" 304 178 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:14:26 +0000] "GET /icons/back.gif HTTP/1.1" 304 178 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:14:26 +0000] "GET /icons/folder.gif HTTP/1.1" 304 178 "http://localhost/pcpcpc12.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:14:44 +0000] "GET / HTTP/1.1" 200 280 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:51:41 +0000] "GET / HTTP/1.1" 200 548 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:51:42 +0000] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:51:42 +0000] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [16/Mar/2016:20:51:45 +0000] "GET /pcpcpc12.com/public_html/index_two.html HTTP/1.1" 200 505 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"

输出error.log

[Wed Mar 16 19:18:41.713986 2016] [mpm_event:notice] [pid 4282:tid 140223239657344] AH00489: Apache/2.4.7 (Ubuntu) configured -- resuming normal operations
[Wed Mar 16 19:18:41.714259 2016] [core:notice] [pid 4282:tid 140223239657344] AH00094: Command line: '/usr/sbin/apache2'
[Tue Jan 01 00:00:48.990306 2013] [mpm_event:notice] [pid 1316:tid 140375846848384] AH00489: Apache/2.4.7 (Ubuntu) configured -- resuming normal operations
[Tue Jan 01 00:00:49.019771 2013] [core:notice] [pid 1316:tid 140375846848384] AH00094: Command line: '/usr/sbin/apache2'

答案1

当您“将别名设置为 pcpcpc12.com”时,其他人将无法查看它,除非您创建公共 DNS 记录。这需要知道您的民众IP 地址。你可以直接谷歌搜索“我的公共 IP 是什么”

如果你拥有 pcpcpc12.com,通过 godaddy 或其他人注册,那么他们应该有一个界面供你创建 A 主机记录,使用你的民众IP 就是这个。

如果您不拥有该域名,那么其他人仍然可以通过输入您的民众例如,浏览器中的 IP 地址http://192.168.0.1/(您的公共 IP 不会以 192.168 开头)

由于您在评论中提到您正在使用 TalkTalk 家庭网关路由器,因此我假设您使用的是住宅互联网连接。具体取决于您的 ISP,例如 Cox(我的心爱ISP),他们可能会选择阻止你的公共 http 端口作为一种激励措施,让您升级到昂贵的商业互联网连接。

你可以通过离开家去其他网络的某个地方并运行网络地图来检查。安装该实用程序sudo apt-get install nmap,然后运行命令nmap -Pn -p 80 192.168.0.1并将 192.168.0.1 IP 更改为民众从第一步获取 IP。如果幸运的话,你会得到这样的开放扫描:

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-22 22:17 CDT
Nmap scan report for 192.168.0.1
Host is up (0.0028s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

否则,您将得到如下过滤扫描结果:

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-22 22:19 CDT
Nmap scan report for 192.168.0.1
Host is up.
PORT   STATE    SERVICE
80/tcp filtered http

Nmap done: 1 IP address (1 host up) scanned in 2.58 seconds

在这种情况下,其他人仍然可以通过非阻塞端口访问您。8080 是一个流行的选择。您需要调整路由器中的设置以将传入的外部端口 8080 映射到您的内部端口 80内部的服务器的 IP。您只有一个公共 IP,但网络上的每个设备都有不同的内部 IP。内部网络 IP 通常以 192.168 开头。或 10。您可以找到您的内部的通过运行终端命令获取 IPifconfig

正确设置后,全世界都可以访问您的网站http://192.168.0.1:8080,再次确保使用您的民众IP 而不是 192.168.

答案2

作为一名 Linux 新手,我也不知道如何在我的 VPS 上公开 Apache 网站。这里有一个关于如何公开 Apache 网站的完整教程,应该可以回答你的问题,也希望对未来的新手有所帮助。

先决条件

本教程假设您已具备以下内容:

  • 来自 Bluehost 或 AWS 等主机的 VPS(无论什么)
  • 公共域名的所有权

就我的情况而言,我有一个 OVH.com 的 Linux VPS,并且我拥有一个 name.com 的域名。请注意,这是 2 家不同的公司;因此是两台不同的服务器。

详细步骤

在 Apache2 上建立网站

首先在您的 VPS 上设置您的网站。

笔记:本教程的这一部分不涉及配置您的 Linux VPS。我假设您已准备好投入生产。

  1. 为您的网站创建目录

    打开终端并为您的网站创建一个目录。将domain.com以下所有步骤替换为您的网站名称:

    mkdir -p /var/www/domain.com/public_html
    
    # Make folder writable to avoid issues further down the road:
    chmod -R 755 /var/www
    
  2. 创建用于测试的索引页

    gedit /var/www/domain.com/public_html/index.html
    

    并添加类似的内容testing for domain.com

    笔记:如果您在打开时遇到连接问题gedit,请打开其他终端并以普通用户身份运行命令xhost +。之后,尝试gedit再次运行。有关此问题的更多信息,请参阅这里

  3. 将默认配置复制到新文件:

    cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
    
  4. 编辑新的配置文件

    gedit /etc/apache2/sites-available/domain.com.conf
    

    添加/编辑以下内容:

    <VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName domain.com
    ServerAlias www.domain.com
    DocumentRoot /var/www/domain.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    重要的:这ServerAlias是您希望人们用来在互联网上访问您的 Apache 网站的名称。

  5. 启用新的配置文件

    默认情况下,Apache 设置为读取000-default.conf文件。但是,在上一步中,我们创建了一个新的配置文件。因此,我们需要禁用默认设置并启用我们创建的新配置文件。

    a2dissite 000-default.conf
    a2ensite domain.com.conf
    

将网站公开

为了使您的 Apache 网站公开,我们需要配置 DNS 服务器。

  1. 登录您的 VPS

    登录您的 VPS 帐户。我使用 ovh.com 的 Linux VPS,但您的可能不同。登录您的帐户并记下通常在 IPv4 设置下找到的 IP 地址。复制到剪贴板。

  2. 登录您的 cpanel

    就我的情况而言,我向两家不同的公司付费。一家负责 VPS,另一家负责域名。这是因为我使用多年的 VPS 提供商不销售域名,只销售私人服务器。如果您的 VPS 和域名都来自同一家提供商,则可以跳过此步骤。

  3. 创建 DNS

    在您的域名所在的帐户中,单击“管理 DNS”或类似内容。单击“添加新记录”。这应该类似于下面的照片:

    在此处输入图片描述

    填写字段:

    主持人: 使用ServerAlias上面的设置。

    回答:输入或粘贴我们之前复制的 VPS IP。

  4. 保存记录

瞧!在线访问您的 Apache 网站,您应该会看到testing for domain.com或任何您编写的用于测试页面的内容。

下一步:Apache 的 SSL

此时,您的域名将为 HTTP。这将使您的 Apache 网站不安全,并在浏览器中引起警告。我们当然不想因此吓跑您的访客!

为了提供 SSL/TLS (HTTPS),我建议Certbot

我不会详细介绍如何操作,但请访问他们的网站。教程非常简单。

相关内容