JavaScript PHP Python CSS HTML PLpgSQL ApacheConf
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
api
compiler
install_www
other
search
wikipedia/commons
www
.gitignore
.project
LICENSE
README.md
Vendorfile

README.md

Это проект создания OpenStreetMap с русским лицом

Обсуждение:

Обратная связь без регистрации http://osmru.reformal.ru/

Каталог объектов (сейчас только POI) https://github.com/ErshKUS/osmCatalog

Про добавление пои и/или корректировку списка пишите, или сюда https://github.com/ErshKUS/osmCatalog/issues , или сюда http://forum.openstreetmap.org/viewtopic.php?pid=294559

Протокол валидаторов: http://wiki.openstreetmap.org/wiki/RU:Validator_protocol

Development

Этот раздел описывает способ настроить локальный вариант сайта.

Ставим зависимости:

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-curl

Дальше необходимо поднять локальный веб-сервер. Один из способов это сделать --- использовать утилиту phpup. Скачиваем phpup:

wget https://raw.github.com/lox/phpup/master/phpup
chmod +x phpup

Чтобы не поднимать локальную базу данных и поиск, можно настроить перенаправление запросов на главный сервер openstreetmap.ru:

mkdir www/api
echo "Redirect /api/ http://openstreetmap.ru/api/" > www/api/.htaccess

Запускаем веб-сервер:

./phpup -p 8000 www

Теперь сайт доступен по адресу

localhost:8000

Deployment

Этот раздел описывает способ развертывания сайта на удаленном сервере.

www

Ставим следующие зависимости

apache2 php5 libapache2-mod-php5 php5-curl

Создаем конфиг апача примерно следующего содержания, где /path/to/repo/osmru --- это путь до скачанного репозитория.

#Listen 8011
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName osmru

	DocumentRoot /path/to/repo/osmru/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /path/to/repo/osmru/www>
		Options Indexes FollowSymLinks -MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /api/ /path/to/repo/osmru/api/
	<Directory "/path/to/repo/osmru/api">
		AllowOverride All
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/osm.ru-error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/osm.ru-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes -MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

Кладем этот конфиг по адресу /etc/apache2/sites-available/osmru

Включаем сайт osmru

sudo a2ensite osmru

Включаем mod_rewrite

sudo a2enmod rewrite

Добавляем в /etc/hosts строчку

127.0.0.1 	osmru

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

sudo /etc/init.d/apache2 restart

Вэлкам

http://osmru/

Меню страниц

Специально чтобы можно было тестировать не поднимая БД сделан fallback на отсутствие pg_connect: https://github.com/ErshKUS/OpenStreetMap.ru/blob/master/www/include/config.php#L20 Однако можно и поднять БД. Для этого следует выполнить 3 первых шага из п. db & search + установить пакет php5-pgsql. Перезагрузить apache. В файл /www/include/passwd.php прописать нужные параметры подключения: пользователя, пароль и БД. Чтобы этот файл не коммитился в репозитарий (мы разработчики или кто!?) выполняем

git update-index --assume-unchanged www/include/passwd.php

нет, .gitignore лучше пользовать

git commit -a

db & search

Ставим следующие пакеты

postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4 postgresql-doc-8.4 postgresql-8.4-postgis postgis

Создаем пользователя postgres в OS (вернее с установкой пакета он уже должен появиться. Проверяем это

groups postgres

)..., а затем и базы данных. Эта и последующие команды должны исполняться от имени postgres

createuser

Создаем базу данных с именем, например, postgistemplate. Прикручиваем PostGIS к PostgreSQL

createdb postgistemplate
createlang plpgsql postgistemplate

psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-2.0/postgis.sql	
psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-2.0/spatial_ref_sys.sql
psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis_comments.sql

Заливаем данные в базу (Готового скрипта пока нет: обращаться к ErshKUS)

Ставим сфинкса отсюда http://sphinxsearch.com/downloads/release/.

Берем конфиг сфинкса отсюда и кладем по адресу /etc/sphinxsearch/sphinx.conf.

Создаем папку /var/cache/sphinx.

Запускаем индексацию

indexer --all

Запускаем демона сфинкса

searchd

C помощью easy_install ставим питоновский пакет psycopg2 // TODO: добавить ссылку на описание easy_install