安装
安装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