Jee*_*gre 0 amazon-web-services ubuntu-12.04 apache-bloodhound
我试图在apache2 web服务器上运行apache bloodhound跟踪器.我正在使用0.7版本的血猎犬.我关注了网站https://issues.apache.org/bloodhound/wiki/BloodhoundInstall
血猎犬正在8000口上运行.但问题是我无法在80号口上运行血猎犬,所以如果我击中bloodhound.mydomain.com,我应该得到猎犬.我已经提到了我在网站/ etc/apache2/sites-available/bloodhound中指定的apache2 webserver设置文件
<VirtualHost *:8080>
WSGIDaemonProcess bh_tracker user=ubuntu python-path=/home/ubuntu/bloodhound-0.7/installer/bloodhound/lib/python2.7/site-packages
WSGIScriptAlias /bloodhound /home/ubuntu/bloodhound-0.7/installer/bloodhound/site/cgi-bin/trac.wsgi
<Directory /home/ubuntu/bloodhound-0.7/installer/bloodhound/site/cgi-bin>
WSGIProcessGroup bh_tracker
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
<LocationMatch "/bloodhound/[^/]+/login">
AuthType Digest
AuthName "ubuntu"
AuthDigestDomain /bloodhound
AuthUserFile /home/ubuntu/bloodhound-0.7/installer/bloodhound/environments/main/bloodhound.htdigest
Require valid-user
</LocationMatch>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
添加上述文件后,它还没有在端口8000和8080上运行.
我如何让它运行.请帮助我.顺便说一句,我使用的是ubuntu ec2实例.
我觉得我已经弄明白了!我已经被困在你自己的Bloodhound端口配置的地方好几天了.
n3storm是正确的:设置mod_wsgi的全部魔力是你不再需要手动启动猎犬了
tracd port=8080 /ridiculously/long/path/to/bloodhound/installer/bloodhound/environments/main
Run Code Online (Sandbox Code Playgroud)
命令.相反,mod_wsgi会在您的Web浏览器请求http://[host]:8080/bloodhound
时为您运行所有python ,这意味着您的Bloodhound服务器已准备好在其打开时提供服务.
痛苦在于涉及多少联锁配置文件,以及有多少小事可以打破整个过程.我真的不懂python,我只是几乎不了解Apache,而且我有70%的自信我不小心打开了一些我不理解的安全漏洞,但这是我对mod_wsgi + Apache + Bloodhound多米诺链的理解.路径适用于我在Ubuntu 14.04.1 LTS上的Apache 2.4安装:
http://[host]:8080/bloodhound
为此,我需要编辑/etc/apache2/ports.conf,以便Apache实际上正在侦听端口8080.所以添加行
Listen 8080
Run Code Online (Sandbox Code Playgroud)
到/etc/apache2/ports.conf
现在访问http://[host]:8080/bloodhound
至少应该向您展示来自Apache的东西.对我来说,这是一个HTTP错误403:禁止页面,接下来是我的错误403蓝调的家庭补救措施!
从技术上讲,Apache正在查找/ etc/apache2/sites- enabled /以获得匹配的VirtualHost规则,但是您可以通过在/ sites-availability /中创建/编辑.conf文件来设置它,然后使用Apache命令激活它们
a2ensite [sitename].conf
Run Code Online (Sandbox Code Playgroud)
所以.显然,Apache 2.4 改变了.conf文件的访问控制语法.因此,为了停止错误403ing,我改变了
Order deny,allow
Allow from all
Run Code Online (Sandbox Code Playgroud)
在/etc/apache2/sites-available/bloodhound.conf中
Require all granted
Run Code Online (Sandbox Code Playgroud)
然后你应该再次启动Apache
sudo apachectl graceful
Run Code Online (Sandbox Code Playgroud)
要么
sudo /etc/init.d/apache2 graceful
Run Code Online (Sandbox Code Playgroud)
或者可能
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
我不确定,它们似乎都是平等的,但我认为优雅的那些是好的,因为它们不会关闭你的服务器或类似的东西.
在搞清楚了其他的事情后,我意识到,最后,Bloodhound生成的默认脚本对我来说很好:
import os
def application(environ, start_request):
if not 'trac.env_parent_dir' in environ:
environ.setdefault('trac.env_path', '/usr/local/bloodhound/installer/bloodhound/environments/main')
if 'PYTHON_EGG_CACHE' in environ:
os.environ['PYTHON_EGG_CACHE'] = environ['PYTHON_EGG_CACHE']
elif 'trac.env_path' in environ:
os.environ['PYTHON_EGG_CACHE'] = \
os.path.join(environ['trac.env_path'], '.egg-cache')
elif 'trac.env_parent_dir' in environ:
os.environ['PYTHON_EGG_CACHE'] = \
os.path.join(environ['trac.env_parent_dir'], '.egg-cache')
from trac.web.main import dispatch_request
return dispatch_request(environ, start_request)
Run Code Online (Sandbox Code Playgroud)
互联网不是很神奇吗?
归档时间: |
|
查看次数: |
1259 次 |
最近记录: |