更新

更新

我正在尝试安装紧急求救下列的这些来自网站的说明


安装

安装PostgreSQL

$ sudo apt-get install postgresql postgresql-client postgresql-contrib pgadmin3

安装后地理信息系统

$ sudo apt-get install postgresql-9.1-postgis

配置PostgreSQL密码

$ sudo -u postgres psql
> alter user postgres password 'postgres';

安装Apache2

$ sudo apt-get install apache2

安装mod_wsgi

$ sudo apt-get install libapache2-mod-wsgi

安装psycopg2

$ sudo apt-get install python-psycopg2

下载紧急求救并将其解压/usr/local/istsos

$ wget http://istsos.googlecode.com/files/istSOS-2.0.tar.gz

下载位置实际上已更改为SourceForge

$ sudo tar -zxvf istSOS-2.0.tar.gz  -C /usr/local/

设置文件夹的执行权限和所有者services,并logs

$ sudo chmod 755 -R /usr/local/istsos
$ sudo chown -R www-data:www-data /usr/local/istsos/services
$ sudo chown -R www-data:www-data /usr/local/istsos/logs

配置阿帕奇WSGI

  • 打开/etc/apache2/sites-enabled/000-default.conf并在标签前添加以下几行</VirtualHost>

    WSGIScriptAlias /istsos /usr/local/istsos/application.py
    Alias /istsos/admin /usr/local/istsos/interface
    

重新开始阿帕奇2服务器

$ sudo /etc/init.d/apache2 restart

在浏览器加载页面检查安装是否成功

http://localhost/istsos/admin

问题

但是,Web 服务器返回Unable to connect
当我尝试时,http://localhost:8080/istsos/admin我收到:

Not Found
The requested URL /istsos/admin was not found on this server.

寻找答案

作为由 krisfr 建议我尝试找出为什么服务器在端口 8080 而不是端口 80 上响应。

$ apache2ctl -t -D DUMP_VHOSTS
VirtualHost configuration:
*:80                is a NameVirtualHost
      default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)
      port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
      port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)

好像没有这个配置?!


更新

我提取了Apache/端口问题进入另一个问题并得到了一个有用的答案。然后我配置服务器监听端口 80 并重新启动服务器。当我访问时,http://localhost/istsos/admin我收到以下消息:

禁止

您无权访问此服务器上的 /istsos/admin。Apache/2.4.6
(Ubuntu) 服务器位于 localhost 端口 80

文件夹的所有者设置按照说明进行设置。我发现istSOS 的替代安装说明我仍然需要理解这一点,但我已经想与你们分享了。


教程已移动!

有一个教程的新页面

答案1

您想istsos通过端口访问管理页面的原因是什么8080?在您提供的文档中,我找不到对此端口的任何引用。

在文档中他们说要修改文件/etc/apache2/sites-enabled/000-default.conf。此文件是 Apache 的默认虚拟主机配置。它在端口上配置80

从现在开始,您似乎已经有一个虚拟主机设置来监听端口8080。因此,打开此虚拟主机的配置文件并执行与默认虚拟主机相同的操作:

在标签前添加以下内容</VirtualHost>

WSGIScriptAlias /istsos /usr/local/istsos/application.py
Alias /istsos/admin /usr/local/istsos/interface

答案2

尝试在界面末尾添加尾标 /。8080 实际上是 wsgi 应用程序(application.py),而 80 是 apache 中的前端。

答案3

最后,我将问题发布到istSOS 邮件列表。这是米兰的回答

此版本的 Ubuntu [13.10] 附带了较新版本的 Apache。就我而言,我通过以下方式解决了配置 Apache 和 WSGI 的问题:

/etc/apache2/sites-enabled/000-default.conf我把整个配置文件贴出来,这样更容易理解。下面是我机器上的内容:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    WSGIScriptAlias /istsos /usr/local/istsos/application.py
    Alias /istsos/admin /usr/local/istsos/interface
    <LocationMatch /istsos>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride all
        Require all granted
    </LocationMatch>
</VirtualHost>

请记住在配置更改后重新启动 Apache:

$ sudo service apache2 restart

相关内容