Я пытаюсь установить istSOS следующий эти инструкции с веб-сайта:
Установить PostgreSQL
$ sudo apt-get install postgresql postgresql-client postgresql-contrib pgadmin3
Установить PostGIS
$ 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
Скачать istSOS и распаковать в /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
Настроить Apache и WSGI
открыто /etc/apache2/sites-enabled/000-default.conf
и добавьте следующие строки непосредственно перед тегом </VirtualHost>
WSGIScriptAlias /istsos /usr/local/istsos/application.py
Alias /istsos/admin /usr/local/istsos/interface
Начать сначала apache2 сервер
$ sudo /etc/init.d/apache2 restart
Проверьте успешность установки в браузере, загружающем страницу
http://localhost/istsos/admin
Однако веб-сервер возвращает 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 / Port на другой вопрос и получил полезный ответ. Затем я настроил сервер на прослушивание порта 80 и перезапустил сервер. Когда я получаю доступ http://localhost/istsos/admin
Я получаю следующее сообщение:
Запрещено
У вас нет разрешения на доступ к / istsos / admin на этом сервере.
Сервер Apache / 2.4.6 (Ubuntu) на порту 80 localhost
Настройки владельца для папок устанавливаются в соответствии с инструкциями. я нашел альтернативные инструкции по установке istSOS что мне еще предстоит понять, но я уже хочу поделиться с вами.
Любая причина, по которой вы хотите получить доступ 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
Наконец, я запустил сервер после публикации проблемы в список рассылки 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
Попробуйте добавить след / в конце интерфейса. 8080 на самом деле является приложением wsgi (application.py), а 80 - интерфейсом в apache для него.