В свое время пришлось повозиться с установкой и настройкой портала геопространственных данных 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