我有公共 IP 89.103.xxx.yyy,然后是路由器和家庭网络192.168.1.zz 我的路由器设置为在运行 apache 的ip 地址192.168.1.5(我的 PC)上每8056端口转发一次。Apache 监听设置为:
Listen 127.0.0.1:80
Listen 192.168.1.5:8056
Run Code Online (Sandbox Code Playgroud)
当我尝试:
Listen 89.103.xxx.yyy:8056
Run Code Online (Sandbox Code Playgroud)
我收到消息“apache 意外结束”(我在 windows 上使用的是 easyphp)。
补充:当我尝试通过浏览器访问 89.103.xxx.yyy 时,它提示路由器请求授权以访问路由器网络设置。当我尝试 89.103.xxx.yyy:8056 时,浏览器说连接超时 =(
windows router apache-http-server home-networking port-forwarding
我已经通过这种方法设置了一个 Apache 2 虚拟主机。
在/etc/apache2/sites-available我创建了一个dummy_site_1.conf
<VirtualHost local.dummy_site_1:80>
ServerName local.dummy_site_1
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dummy_site_1
ErrorLog /var/log/apache2/dummy_site_1__error.log
TransferLog /var/log/apache2/dummy_site_1__access.log
<Directory /var/www/dummy_site_1>
AllowOverride Options Limit None
Options -Indexes FollowSymLinks
Order deny,allow
Allow from all
</Directory>
DirectoryIndex index.php
#DISABLE HTTP TRACE
#RewriteEngine On
#RewriteCond %{REQUEST_METHOD} ^TRACE
#RewriteRule .* - [F]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我还添加了这一行httpd.conf:
ServerName local.dummy_site_1
Run Code Online (Sandbox Code Playgroud)
现在一切都在使用这个设置,我输入local.dummy_site_1URL,我可以看到我的网站。
问题是当我尝试添加另一个站点配置dummy_site_2.conf并创建大约相同的设置时
<VirtualHost local.dummy_site_2:80>
ServerName local.dummy_site_2
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dummy_site_2
ErrorLog /var/log/apache2/dummy_site_2__error.log
TransferLog /var/log/apache2/dummy_site_2__access.log
<Directory /var/www/dummy_site_2>
AllowOverride Options Limit …Run Code Online (Sandbox Code Playgroud) AllowOverride 是否适用于所有子文件夹?
例如,如果我指定
<Directory />
AllowOverride None
</Directory>
Run Code Online (Sandbox Code Playgroud)
它适用于我的整个文件系统还是仅适用于主文件夹?
我正在尝试为目录设置符号链接,但遇到了最奇怪的错误。我在用:
mklink /d C:\www\site\inc C:\inc
C:\inc\script.php我需要运行的文件在哪里。这看起来很简单,并且在我第一次执行脚本时(通过访问http://localhost/inc/script.php)确实有效。然而,在那之后,我收到一个错误并且无法让脚本再次成功执行,直到我删除并重新创建符号链接(即使关闭 Apache 或重新启动 Windows 也没有效果)。
请注意,其他一切都正常运行,符号链接有效,Apache 确实有权访问C:\inc并启用了 FollowSymLinks。这是我得到的错误:
警告:未知:无法打开流:第 0 行的未知中没有此类文件或目录
致命错误:未知:在第 0 行的未知中打开所需的“C:/inc/script.php”(include_path='.;C:\php5\pear') 失败
有谁知道与第 0 行的 Unknown 有什么关系,为什么它会在出现此错误之前只执行一次?
如何监控 Apache 并获取有关连接到 Apache 的用户的信息?我的办公室有一台服务器。我想知道办公室有多少人使用我的 Web 应用程序连接到它,以及他们的 IP 是什么。
编辑:
我需要实时了解这些信息。
我在我的工作场所 LAN 上设置了一个反向代理,因此可以从我们的 LAN 外部访问多个站点。我已经包含了 mod-proxy-HTML,因此它处理返回的 HTML 中 URL 的重写。
但是 Firefox 和 Chromium 抱怨编码问题。
如果我编辑network.http.accept-encodingFirefox的选项并删除默认值gzip;deflate;然后该网站看起来不错。
我正在尝试在 Eclipse 中安装 eUML,但出现此错误:
OK
Cannot complete the install because one or more required items could not be found.
Software currently installed: eUML2 Free Edition 3.6.1.20110420 (com.soyatec.euml2.free.feature.group 3.6.1.20110420)
Missing requirement: Diagram tools Plugin 3.6.1.20110420 (com.soyatec.diagrams 3.6.1.20110420) requires 'bundle org.apache.batik.dom.svg 1.6.0' but it could not be found
Cannot satisfy dependency:
From: eUML2 Free Edition 3.6.1.20110420 (com.soyatec.euml2.free.feature.group 3.6.1.20110420)
To: com.soyatec.diagrams [3.6.1.20110420]
Run Code Online (Sandbox Code Playgroud)
似乎org.apache.batik.dom.svg丢失了,但我找不到包含它的更新站点。我该如何解决这个错误?(我在 OSX 10.6 上运行最新的 Helios)。
我有一台在 VMWare Player 上运行的 32 位 CentOS 5.5 虚拟 LAMP 机器。它托管在运行桥接网络连接的 Win 7 64 位计算机上。在来宾操作系统上一切正常,因为我可以导航到http://localhost并获取 CentOS Apache 2 测试页面。但是,我无法通过来宾操作系统的 IP 地址从主机操作系统上的浏览器访问 Web 服务器,这是首先进行设置的重点。我也可以成功地从主机 ping 到来宾(来宾操作系统上没有防火墙)。
CentOS 的映像文件是从这里下载的(仅使用了 2 的第 1 部分):
http://virtual-machine.org/vmware-image-centos-55-i386-download
那么这是Apache conf中的一些奇怪的东西还是我在VMWare Player中缺少的一些隐藏设置?
在 /etc/apache2/extra/httpd-vhosts.conf 中,我有:
NameVirtualHost *:80
<VirtualHost *.80>
ServerName localhost
DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>
<VirtualHost *:80>
ServerName site1.local
DocumentRoot "/Users/bob/Sites/site1.local"
<Directory /Users/bob/Sites/site1.local>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *.80>
ServerName site2.local
DocumentRoot "/Users/bob/Sites/site2.local"
<Directory /Users/bob/Sites/site2.local>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在 /etc/hosts 中,我有:
127.0.0.1 site1.local
127.0.0.1 site2.local
Run Code Online (Sandbox Code Playgroud)
浏览到http://site1.local 会产生正确的站点。但是,浏览到http://site2.local会显示 Site1 的内容。
我是否配置错误?
我已经在谷歌和这里搜索过,我试图让我的 apache2 服务器在我的 Windows 7 机器上运行,以供公共访问。
我有一个 bell 2wire 调制解调器/路由器并且在 NAT 后面,我已将 port80 转发到我的计算机。
但是,我无法从本地 ip 或我的公共 ip 地址访问服务器。当前唯一可以访问网络服务器的计算机是运行它的计算机,通过 127.0.0.1
我也99% 确定该端口上没有冲突。但是,我不确定如何验证这一点。
我知道我必须在这里遗漏一些东西,我无法想象这很难做到。
请原谅缺乏信息,我绝不是专业的 IT 人员。我有一群海外客户,我正在尝试演示一些代码,所以这不需要是一个安全或永久的解决方案。一旦我的应用程序准备好上线,我将投入时间设置一个合适的独立服务器(或者更有可能聘请某人为我们做这件事)。