我在服务器Apache2
上使用Ubuntu 12.04.5 LTS
。服务器是我公司的(工作)服务器,有一个公共 IP,此外,它托管了大约 5 个不同的页面,这些页面在全球范围内可用,我的意思是在互联网上,因此在家里我可以轻松访问它们。
最近,有人告诉我在该服务器上创建另一个网站(一个新网站),该网站也应该可以通过互联网访问。
这是我做的:
/home/mazix/test
在目录中创建页面chmod 755 /home/mazix/test
在中创建了一个新的
availble site
文件(名为testorg
)/etc/apache2/sites/available
:ServerName testsite.org ServerAlias www.testsite.org DocumentRoot /home/mazix/test WSGIScriptAlias / /home/mazix/test/wsgi.py <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/mazix/test> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /home/mazix/test/logs/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /home/mazix/test/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>
做了:
sudo a2ensite testorg
,然后sudo service apache2 reload
但是,当我尝试通过在浏览器中输入内容从家里的计算机访问该页面时,www.testsite.org
它会显示浏览器找不到服务器的消息。
我真的不知道发生了什么。我想可能是 DNS 问题?我检查了文件/etc/hosts
,但没有此服务器托管的其余页面的条目(但是,它们仍可在互联网上找到)。我不知道服务器是否运行 DNS(可能没有,但我有 root 访问权限,如果您告诉我如何检查,我会这样做)。
我的问题是:我是否应该做更多的事情来让网页在互联网上可用?我是否应该添加一些 DNS 条目?如果是,如何添加以及在哪里添加?
一些 Apache 信息:
Server version: Apache/2.2.22 (Ubuntu)
Server built: May 28 2015 23:53:47
Server's Module Magic Number: 20051115:30
Server loaded: APR 1.4.6, APR-Util 1.3.12
Compiled using: APR 1.4.6, APR-Util 1.3.12
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
的结果apache2 -S
:
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443 is a NameVirtualHost
default server 127.0.1.1 (/etc/apache2/sites-enabled/default-ssl:2)
port 443 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/default-ssl:2)
port 443 namevhost work.abc.org (/etc/apache2/sites-enabled/redmine:29)
*:80 is a NameVirtualHost
default server abc.org (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost abc.org (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost hewitt.se (/etc/apache2/sites-enabled/steve:1)
port 80 namevhost afg.uni.city.se (/etc/apache2/sites-enabled/afg:1)
port 80 namevhost wert.oop.net.se (/etc/apache2/sites-enabled/wert:1)
port 80 namevhost test.org (/etc/apache2/sites-enabled/test:1)
Syntax OK
答案1
- 您需要在公共 DNS 中有一个 DNS 记录 www.testsite.org,指向(直接或间接)您服务器的 IP 地址,以便可以通过名称 www.testsite.org 从 Internet 访问您的服务器。
- 您可以使用 Linux host(1) 命令检查这样的 DNS 记录是否存在并指向正确的服务器,例如“host www.testsite.org”。
- 如果 DNS 记录不存在,或者指向错误的服务器,则必须在其所属的 DNS 区域(即 testsite.org)中添加或更正。
- 为了实现这一点,请联系负责管理该 DNS 区域的人员并请她添加或更改条目,并向她提供您的服务器的 IP 地址。
- 如果您不知道谁负责该 DNS 区域,您可以使用 whois(1) 命令进行查找,例如“whois testsite.org”,但在这种情况下,您可能不应该使用该服务器名称。