Установка Geonode на Debian

В свое время пришлось повозиться с установкой и настройкой портала геопространственных данных Geonode. Установка довольно таки тривиальная все ставится без запинок согласно документации, тем не менее написал небольшое руководство по установке. Если кому пригодится буду рад.

Инструкция актуальна на 01.10.2014 года.

Установка GEONODE на DEBIAN

Установка производится на Debian-Server 7.0.

1) Первым делом следует установить СУБД postgresql.

sudo aptitude install postgresql-9.1-postgis

Файлы конфигурации postgresql лежат в каталоге /etc/postgresql/9.1/main/

pg_hba.conf — настройки соединения подключений к серверу БД
postgresql.conf — настройки сервера.
В файле postgresql.conf раскомментируем строчку

listen_addresses = ‘*’
В файле pg_hba.conf правим

host all all 192.168.50.224/32 md5

local all all md5
Создадим пользователя для подключения из pgadmin3

sudo -u postgres createuser -P geonode

После всего этого перезапускаем сервер

sudo service postgresql restart

2) Установка Geonode непосредственно .

Первым делом устраним все зависимости, для этого установим следующие пакеты

sudo apt-get install python python-support python-dev python-virtualenv openjdk-6-jre tomcat7 gcc patch zip python-imaging gdal-bin libgeos-dev python-urlgrabber python-pastescript gettext libpq-dev unzip libjpeg-dev libpng-dev python-gdal libproj-dev python-psycopg2 apache2 libapache2-mod-wsgi git-core gettext libxml2-dev libxslt-dev

3) Загрузим и установим Geonode

git clone https://github.com/GeoNode/geonode.git # download code from github
 cd geonode # change into the folder called geonde
 sudo pip install -e . # this installs django etc.
 sudo paver setup

Запуск и остановка сервера django осуществляется командами.

sudo paver start # starts everything with default configs! NOT for production!
sudo paver stop

4) Если установка пакетов прошла успешно приступаем к настройке.

Создадим пользователя postgresql.

sudo -u postgres createuser -P geonode

Создадим две базы данных geonode и geonode-imports

sudo -u postgres createdb -O geonode geonode
sudo -u postgres createdb -O geonode geonode-imports
sudo su postgres
psql -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql geonode-imports
psql -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql geonode-imports
psql -d geonode-imports -c 'GRANT ALL ON geometry_columns TO PUBLIC;'
psql -d geonode-imports -c 'GRANT ALL ON spatial_ref_sys TO PUBLIC;'
exit

5) Сменим параметры аутенфикации на сервере:

#TYPE DATABASE USER METHOD
local all all md5
host geonode geonode 127.0.0.1/32 md5
6) Установка локальных параметров приложения на Django.

cd geonode
sudo mv geonode/local_settings.py.sample geonode/local_settings.py

Правим файл local_settings.py. Раскомментируем строчку 10

‘ENGINE’: ‘django.contrib.gis.db.backends.postgis’,
‘NAME’: ‘geonode-imports’,

.. note:: If you do not use *geonode* as password for your database, then you have to edit the local_settings.py and change your password in this part of the file
Также добавим директиву в конец файла

ALLOWED_HOST = [‘domain or IP’]
Синхронизируем базы данных Django командой

python manage.py syncdb --noinput --all

7) Конфигурируем Django.

Создаем пользователя для django

python manage.py createsuperuser

Создаем локальные статические файлы

python manage.py collectstatic

Создаем каталог загрузки

sudo mkdir -p /home/user/geonode/geonode/uploaded

Даем апачу права на созданный каталог

sudo chown www-data -R /home/user/geonode/geonode/uploaded

8) Настройка Веб-Сервера

Включаем прокси

sudo a2enmod proxy_http

Создаем конфигурационный файл geonode для apache.

cd /etc/apache2/sites-available
sudo gedit geonode

И вписываем в него следующие строки

WSGIDaemonProcess geonode python-path=/home/user/geonode:/home/user/.venvs/geonode/lib/python2.7/site-packages user=www-data threads=15 processes=2

<VirtualHost *:80>
ServerName http://localhost
ServerAdmin webmaster@localhost
DocumentRoot /home/user/geonode/geonode

ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined

WSGIProcessGroup geonode
WSGIPassAuthorization On
WSGIScriptAlias / /home/user/geonode/geonode/wsgi.py

<Directory «/home/user/geonode/geonode/»>
Order allow,deny
Options Indexes FollowSymLinks
Allow from all
IndexOptions FancyIndexing
</Directory>

Alias /static/ /home/user/geonode/geonode/static/
Alias /uploaded/ /home/user/geonode/geonode/uploaded/

<Proxy *>
Order allow,deny
Allow from all
</Proxy>

ProxyPreserveHost On
ProxyPass /geoserver http://localhost:8080/geoserver
ProxyPassReverse /geoserver http://localhost:8080/geoserver
</VirtualHost>
Включаем сайт

sudo a2ensite geonode

перезагружаем apache

sudo service apache2 reload

Меняем

Alias /static/ /home/user/geonode/geonode/static/
на

Alias /static/ /home/user/geonode/geonode/static_root/
9) Установливаем права на папки

sudo chown www-data:www-data /home/user/geonode/geonode/static/
sudo chown www-data:www-data /home/user/geonode/geonode/uploaded/
sudo chown www-data:www-data /home/user/geonode/geonode/static_root/
sudo service apache2 reload

10) Настройка сервера приложений

sudo /etc/init.d/tomcat7 stop
sudo mv geonode/downloaded/geoserver.war /var/lib/tomcat7/webapps/
sudo /etc/init.d/tomcat7 start

Добавить комментарий

Ваш e-mail не будет опубликован.