Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
software:linux_server:tile_map_server_22.04.4 [2024/08/04 19:25] – [Конфигурация таблицы стилей] vladpolskiy | software:linux_server:tile_map_server_22.04.4 [2025/02/01 09:47] (текущий) – внешнее изменение 127.0.0.1 |
---|
* **[[hardware:ddr4_ecc_reg_64gb|256GB DDR4 3200MHz DIMM ECC Reg Micron]]** | * **[[hardware:ddr4_ecc_reg_64gb|256GB DDR4 3200MHz DIMM ECC Reg Micron]]** |
* **[[software:linux_server:ubuntu_server|ОС Ubuntu Server 24.04 LTS]]** | * **[[software:linux_server:ubuntu_server|ОС Ubuntu Server 24.04 LTS]]** |
<color #7092be>**Все ниже написанное относиться к Ubuntu Server 24.04 (Noble Numbat) и протестированы в августе 2024 года.**</color> | <fc #7092be>**Все ниже написанное относиться к Ubuntu Server 24.04 (Noble Numbat) и протестированы в августе 2024 года.**</fc> |
| |
=====Общая теория===== | =====Общая теория===== |
<color #7092be>**Tile Server OSM**</color> представляет собой набор программ и библиотек, которые работают вместе для создания тайлового (плиточного) сервера. Он состоит из 5 основных компонентов: | <fc #7092be>**Tile Server OSM**</fc> представляет собой набор программ и библиотек, которые работают вместе для создания тайлового (плиточного) сервера. Он состоит из 5 основных компонентов: |
* **mod_tile** | * **mod_tile** |
* **renderd** | * **renderd** |
* **postgresql/postgis** | * **postgresql/postgis** |
Postgresql/postgis - базы данных. Mod_tile — это модуль apache, который обслуживает кэшированные тайлы и решает, какие тайлы нуждаются в повторном рендеринге — либо потому, что они еще не кэшированы, либо потому, что они устарели. Mapnik — это программная библиотека, которая осуществляет реальный рендеринг с использованием открытого рендеринга.\\ | Postgresql/postgis - базы данных. Mod_tile — это модуль apache, который обслуживает кэшированные тайлы и решает, какие тайлы нуждаются в повторном рендеринге — либо потому, что они еще не кэшированы, либо потому, что они устарели. Mapnik — это программная библиотека, которая осуществляет реальный рендеринг с использованием открытого рендеринга.\\ |
<color #7092be>**Предполагается, что вы запускаете все от пользователя без регистрации root через «sudo». Имя пользователя без root, повторяемое по умолчанию, — «alisa». Если вы указываете иного пользователя, то вам необходимо будет заменить во всех командах на свое имя и добавить его в группу пользователей, которые могут использовать sudo для получения root-прав. Из вашей обычной учетной записи пользователя без регистрации root.**</color> | <fc #7092be>**Предполагается, что вы запускаете все от пользователя без регистрации root через «sudo». Имя пользователя без root, повторяемое по умолчанию, — «alisa». Если вы указываете иного пользователя, то вам необходимо будет заменить во всех командах на свое имя и добавить его в группу пользователей, которые могут использовать sudo для получения root-прав. Из вашей обычной учетной записи пользователя без регистрации root.**</fc> |
=====Обновление программного обеспечения===== | =====Обновление программного обеспечения===== |
Устанавливаем и обновляем Ubuntu | Устанавливаем и обновляем Ubuntu |
</code> | </code> |
{{:software:linux_server:tile_map_server_24.04._29.png?|}} | {{:software:linux_server:tile_map_server_24.04._29.png?|}} |
\\ | * перейдем в эту папку |
и перейдем в эту папку | |
<code> | <code> |
cd ~/src | cd ~/src |
</code> | </code> |
{{:software:linux_server:tile_map_server_24.04._29.png?|}} | {{:software:linux_server:tile_map_server_24.04._30.png?|}} |
| * Обновим установленные пакеты |
<code> | <code> |
git clone -b switch2osm https://github.com/SomeoneElseOSM/mod_tile.git | sudo apt update && sudo apt --yes upgrade |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_32.png?|}} | {{:software:linux_server:tile_map_server_24.04._71.png?|}} |
| * Установим зависимости сборки (libmemcached-dev и librados-dev не являются обязательными) |
<code> | <code> |
cd mod_tile | sudo apt --no-install-recommends --yes install \ |
| apache2 \ |
| apache2-dev \ |
| cmake \ |
| curl \ |
| g++ \ |
| gcc \ |
| git \ |
| libcairo2-dev \ |
| libcurl4-openssl-dev \ |
| libglib2.0-dev \ |
| libiniparser-dev \ |
| libmapnik-dev \ |
| libmemcached-dev \ |
| librados-dev |
</code> | </code> |
перейдя в каталог mod_tile | {{:software:linux_server:tile_map_server_24.04._72.png?|}} |
\\ | * Загрузим, создадим, протестируем и установим `mod_tile` |
{{:software:linux_server:tile_map_server_22.04.4_33.png?|}} | |
\\ | |
Запустим скрипт autogen.sh | |
<code> | <code> |
./autogen.sh | export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) |
| rm -rf /tmp/mod_tile_src /tmp/mod_tile_build |
| mkdir /tmp/mod_tile_src /tmp/mod_tile_build |
| cd /tmp/mod_tile_src |
| git clone --depth 1 https://github.com/openstreetmap/mod_tile.git . |
| cd /tmp/mod_tile_build |
| cmake -B . -S /tmp/mod_tile_src \ |
| -DCMAKE_BUILD_TYPE:STRING=Release \ |
| -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/var \ |
| -DCMAKE_INSTALL_PREFIX:PATH=/usr \ |
| -DCMAKE_INSTALL_RUNSTATEDIR:PATH=/run \ |
| -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \ |
| -DENABLE_TESTS:BOOL=ON |
| cmake --build . |
| ctest |
| sudo cmake --install . --strip |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_34.png?|}} | {{:software:linux_server:tile_map_server_24.04._73.png?|}} |
\\ | * Должно ответить 100% тестом |
(это должно закончится “autoreconf: Leaving directory ‘.’”.) | {{:software:linux_server:tile_map_server_24.04._74.png?|}} |
\\ | * Включить конфигурацию модуля пакета a2enmod |
{{:software:linux_server:tile_map_server_22.04.4_35.png?|}} | |
\\ | |
(в предыдущих установках мне приходилось проделывать это 2 раза для создания папки mod_tile в директории src) | |
\\ | |
{{:software:nas:osm_420_30.png|}} | |
<code> | <code> |
./configure | a2enmod tile |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_36.png?|}} | {{:software:linux_server:tile_map_server_24.04._75.png?|}} |
\\ | * Запустим сервис |
(это должно закончится “config.status: executing libtool commands”) | |
\\ | |
{{:software:linux_server:tile_map_server_22.04.4_37.png?|}} | |
<code> | <code> |
make | sudo apache2ctl start |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_38.png?|}} | {{:software:linux_server:tile_map_server_24.04._76.png?|}} |
\\ | * Перезапустим сервис веб-сервера apache2 |
Обратите внимание, что здесь некоторые «тревожные» сообщения будут прокручиваться вверх по экрану. Однако это должно заканчиваться на «make[1]: Leaving directory '/home/alisa/src/mod_tile'» | |
\\ | |
{{:software:linux_server:tile_map_server_22.04.4_38_1.png?|}} | |
<code> | <code> |
sudo make install | sudo service apache2 reload |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_38_2.png?|}} | {{:software:linux_server:tile_map_server_24.04._77.png?|}} |
\\ | * Проверим статус сервиса веб-сервера apache2 |
(это должно закончиться «make[1]: выход из каталога должно быть '/home/alisa/src/mod_tile'») | |
\\ | |
{{:software:linux_server:tile_map_server_22.04.4_38_3.png?|}} | |
<code> | <code> |
sudo make install-mod_tile | sudo systemctl status apache2 |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_38_4.png?|}} | {{:software:linux_server:tile_map_server_24.04._78.png?|}} |
\\ | |
(это должно закончиться «chmod 644 /usr/lib/apache2/modules/mod_tile.so») | |
\\ | |
{{:software:linux_server:tile_map_server_22.04.4_38_5.png?|}} | |
| |
<code> | |
sudo ldconfig | |
</code> | |
{{:software:linux_server:tile_map_server_22.04.4_38_6.png?|}} | |
\\ | |
(без ответа) | |
\\ | |
{{:software:linux_server:tile_map_server_22.04.4_38_7.png?|}} | |
{{:software:linux_server:tile_map_server_22.04.4_40.png?|}} | |
{{:software:linux_server:tile_map_server_22.04.4_41.png?|}} | |
{{:software:linux_server:tile_map_server_22.04.4_42.png?|}} | |
{{:software:linux_server:tile_map_server_22.04.4_43.png?|}} | |
=====Конфигурация таблицы стилей===== | =====Конфигурация таблицы стилей===== |
* Теперь, когда все необходимое программное обеспечение установлено, вам нужно загрузить и настроить таблицу стилей. | * Теперь, когда все необходимое программное обеспечение установлено, вам нужно загрузить и настроить таблицу стилей. |
mkdir ~/data | mkdir ~/data |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_60.png?|}} | {{:software:linux_server:tile_map_server_24.04._42.png?|}} |
\\ | \\ |
и переходим в эту папку | и переходим в эту папку |
cd ~/data | cd ~/data |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_61.png?|}} | {{:software:linux_server:tile_map_server_24.04._43.png?|}} |
\\ | \\ |
на странице загрузки http://download.geofabrik.de/ выбираем нужную нам карту для и копируем с кнопки ее ссылку | на странице загрузки http://download.geofabrik.de/ выбираем нужную нам карту для и копируем с кнопки ее ссылку, процесс не быстрый, идем гулять пол часика с собачкой... |
<code> | |
wget http://download.geofabrik.de/russia-latest.osm.pbf | |
</code> | |
{{:software:linux_server:tile_map_server_22.04.4_62.png?|}} | |
\\ | |
* карта России размером 3,2Gb, процесс не быстрый, идем гулять пол часика с собачкой... | |
* [[:software:linux_server:osmconvert|Слияние карт pbf]] | |
\\ | |
{{:software:linux_server:tile_map_server_22.04.4_63.png?|}} | |
\\ | \\ |
У кого собачки нет, том может для примера загрузить карту Азербайджана размером 32Mb... | У кого собачки нет, том может для примера загрузить карту Азербайджана размером 32Mb... |
wget https://download.geofabrik.de/asia/azerbaijan-latest.osm.pbf | wget https://download.geofabrik.de/asia/azerbaijan-latest.osm.pbf |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_63_2.png?|}} | {{:software:linux_server:tile_map_server_24.04._44.png?|}} |
Следующая команда вставит загруженные ранее данные OpenStreetMap в базу данных. Этот шаг очень интенсивно использует дисковый ввод-вывод; импорт всей планеты может занять много часов, дней или недель в зависимости от аппаратного обеспечения. | Следующая команда вставит загруженные ранее данные OpenStreetMap в базу данных. Этот шаг очень интенсивно использует дисковый ввод-вывод; импорт всей планеты может занять много часов, дней или недель в зависимости от аппаратного обеспечения. |
<code> | <code> |
cd ~/data | cd ~/data |
osm2pgsql -d gis --create --slim -G --hstore --tag-transform-script ~/src/openstreetmap-carto/openstreetmap-carto.lua -C 4000 --number-processes 2 -S ~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/russia-latest.osm.pbf | osm2pgsql -d gis --create --slim -G --hstore --tag-transform-script ~/src/openstreetmap-carto/openstreetmap-carto.lua -C 4000 --number-processes 2 -S ~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/azerbaijan-latest.osm.pbf |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_64.png?|}} | {{:software:linux_server:tile_map_server_24.04._45.png?|}} |
**Обратите внимание на параметр -c (--create) при импорте через osm2pgsql. | **Обратите внимание на параметр -c (--create) при импорте через osm2pgsql. |
С этим параметром удалится вся существующая информация с таблиц.** | С этим параметром удалится вся существующая информация с таблиц.** |
\\ | \\ |
Командные опции: | Командные опции: |
* <color #22b14c>-d gis</color> | * <fc #22b14c>-d gis</fc> |
* База данных, с которой нужно работать (раньше gis была по умолчанию, теперь нужно указать). | * База данных, с которой нужно работать (раньше gis была по умолчанию, теперь нужно указать). |
* <color #22b14c>--create</color> | * <fc #22b14c>--create</fc> |
* Загружает данные в пустую базу данных, а не пытается добавить их в существующую (иначе --append). | * Загружает данные в пустую базу данных, а не пытается добавить их в существующую (иначе --append). |
* <color #22b14c>--slim</color> | * <fc #22b14c>--slim</fc> |
* osm2pgsql может использовать разные макеты таблиц; «тонкие» таблицы работают для рендеринга. | * osm2pgsql может использовать разные макеты таблиц; «тонкие» таблицы работают для рендеринга. |
* <color #22b14c>-G</color> | * <fc #22b14c>-G</fc> |
* Определяет, как обрабатываются мультиполигоны. | * Определяет, как обрабатываются мультиполигоны. |
* <color #22b14c>--hstore</color> | * <fc #22b14c>--hstore</fc> |
* Позволяет тегам, для которых нет явных столбцов базы данных, использоваться для рендеринга. | * Позволяет тегам, для которых нет явных столбцов базы данных, использоваться для рендеринга. |
* <color #22b14c>--tag-transform-script</color> | * <fc #22b14c>--tag-transform-script</fc> |
* Определяет сценарий lua, используемый для обработки тегов. Это простой способ обработки тегов OSM до того, как их обработает сам стиль, что значительно упрощает логику стиля. | * Определяет сценарий lua, используемый для обработки тегов. Это простой способ обработки тегов OSM до того, как их обработает сам стиль, что значительно упрощает логику стиля. |
* <color #22b14c>-C 4000</color> | * <fc #22b14c>-C 4000</fc> |
* Выделено 4,0 Гб памяти osm2pgsql для процесса импорта. Если у вас меньше памяти, вы можете попробовать меньшее число, а если процесс импорта завершится из-за нехватки памяти, вам нужно будет попробовать меньшее число или меньший размер карты OSM. | * Выделено 4,0 Гб памяти osm2pgsql для процесса импорта. Если у вас меньше памяти, вы можете попробовать меньшее число, а если процесс импорта завершится из-за нехватки памяти, вам нужно будет попробовать меньшее число или меньший размер карты OSM. |
* <color #22b14c>--number-processes 2</color> | * <fc #22b14c>--number-processes 2</fc> |
* Используйте 2 ЦП. Если у вас есть больше доступных ядер, вы можете использовать больше. | * Используйте 2 ЦП. Если у вас есть больше доступных ядер, вы можете использовать больше. |
* <color #22b14c>-S</color> | * <fc #22b14c>-S</fc> |
* Создайте столбцы базы данных в этом файле (на самом деле они не изменились по сравнению с «openstreetmap-carto») | * Создайте столбцы базы данных в этом файле (на самом деле они не изменились по сравнению с «openstreetmap-carto») |
* <color #22b14c>~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/russia-latest.osm.pbf</color> | * <fc #22b14c>~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/russia-latest.osm.pbf</fc> |
* Место сохранения и файл данных для загрузки. | * Место сохранения и файл данных для загрузки. |
Примерный вывод на экран | |
\\ | \\ |
{{:software:linux_server:tile_map_server_22.04.4_65.png?|}} | Команда загрузки должна завершится чем-то вроде «Osm2pgsql в целом занял 34583 секунд». |
\\ | {{:software:linux_server:tile_map_server_24.04._46.png?|}} |
* Команда загрузки должна завершится чем-то вроде «Osm2pgsql в целом занял 34583 секунд». | |
{{:software:nas:osm_420_75.png|}} | |
* Пока идет загрузка карты размером 3,2gb (которая по факту заняла 07 часов 23 минуты), перейдем к разделу Шрифты, открыв второе окно подключения к серверу. | |
| |
| |
=====Создание индексов===== | =====Создание индексов===== |
* Начиная с версии v5.3.0 некоторые дополнительные индексы теперь необходимо применять вручную . | * Начиная с версии v5.3.0 некоторые дополнительные индексы теперь необходимо применять вручную . |
* переходим в папку openstreetmap-carto | переходим в папку openstreetmap-carto |
<code> | <code> |
cd ~/src/openstreetmap-carto/ | cd ~/src/openstreetmap-carto/ |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_70.png?|}} | {{:software:linux_server:tile_map_server_24.04._47.png?|}} |
* запускаем команду создание индексов | * запускаем команду создание индексов |
<code> | <code> |
psql -d gis -f indexes.sql | psql -d gis -f indexes.sql |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_71.png?|}} | {{:software:linux_server:tile_map_server_24.04._48.png?|}} |
* (ответ: «CREATE INDEX» 15 раз.) | * (ответ: «CREATE INDEX» 15 раз.) |
{{:software:linux_server:tile_map_server_22.04.4_72.png?|}} | {{:software:linux_server:tile_map_server_24.04._49.png?|}} |
* заняло примерно 29 минут с ожидаемой нагрузкой | * заняло примерно несколько минут |
| |
| |
cd ~/src/openstreetmap-carto/ | cd ~/src/openstreetmap-carto/ |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_80.png?|}} | {{:software:linux_server:tile_map_server_24.04._50.png?|}} |
| |
<code> | <code> |
scripts/get-external-data.py | scripts/get-external-data.py |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_81.png?|}} | {{:software:linux_server:tile_map_server_24.04._51.png?|}} |
| |
* Этот процесс включает в себя загрузку и требует некоторого времени — во время работы на экране мало что освещает. На самом деле он загружает таблица водных полигонов и прочее и заполняет каталог «data» ниже «openstreetmap-carto». | * Этот процесс включает в себя загрузку и требует некоторого времени — во время работы на экране мало что освещает. На самом деле он загружает таблица водных полигонов и прочее и заполняет каталог «data» ниже «openstreetmap-carto». |
* это занято примерно 47 минут при прогнозируемой загрузке системы | |
{{:software:nas:osm_420_82.png?650|}} | {{:software:linux_server:tile_map_server_24.04._52.png?|}} |
{{:software:linux_server:tile_map_server_22.04.4_83.png?|}} | |
=====Шрифты===== | =====Шрифты===== |
переходим в каталог openstreetmap-carto в папке src | переходим в каталог openstreetmap-carto в папке src |
cd ~/src/openstreetmap-carto/ | cd ~/src/openstreetmap-carto/ |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_90.png?|}} | {{:software:linux_server:tile_map_server_24.04._53.png?|}} |
\\ | \\ |
и собственно загружаем шрифты | и собственно загружаем шрифты |
scripts/get-fonts.sh | scripts/get-fonts.sh |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_91.png?|}} | {{:software:linux_server:tile_map_server_24.04._54.png?|}} |
\\ | \\ |
процесс занял 6 минут | процесс занял 6 минут |
\\ | \\ |
{{:software:linux_server:tile_map_server_22.04.4_92.png?|}} | {{:software:linux_server:tile_map_server_24.04._55.png?|}} |
| |
| |
=====Настройка веб-сервера===== | =====Настройка веб-сервера===== |
====визуализация==== | ====визуализация==== |
Отрываем с помощью текстового редактора vi файл конфигурации для «render» — «/usr/local/etc/renderd.conf» | Отрываем с помощью текстового редактора nano файл конфигурации для «render» — «sudo nano /etc/renderd.conf» |
<code> | <code> |
sudo vi /usr/local/etc/renderd.conf | sudo nano /etc/renderd.conf |
</code> | </code> |
* нажимаем **<color #22b14c>i</color>** и редактируем строку **<color #22b14c>XML=/home/renderaccount/src/openstreetmap-carto/mapnik.xml</color>** меняя **<color #7092be>renderaccount</color>** на имя своего пользователя (в нашем случае это - **<color #7092be>alisa</color>**) | {{:software:linux_server:tile_map_server_24.04._56.png?|}} |
* нажимаем последовательно **<color #22b14c>esc</color>** , **<color #22b14c>shift + :</color>** , **<color #22b14c>w</color>** , **<color #22b14c>q</color>** , **<color #22b14c>!</color>** для сохранения и выхода из редактора | Добавляем в конец файла нижеприведенные строки |
{{:software:nas:osm_420_62.png|}} | <code> |
* нажимаем **<color #22b14c>enter</color>** | [ajt] |
| URI=/hot/ |
| TILEDIR=/var/lib/mod_tile |
| XML=/home/alisa/src/openstreetmap-carto/mapnik.xml |
| HOST=localhost |
| TILESIZE=256 |
| MAXZOOM=20 |
| </code> |
| {{:software:linux_server:tile_map_server_24.04._57.png?|}} |
| * нажимаем последовательно **<fc #22b14c>CTRL+0</fc>** , **<fc #22b14c>ENTER</fc>** для сохранения и **<fc #22b14c>CTRL+X</fc>** для выхода из редактора |
| |
| |
| |
sudo mkdir /var/lib/mod_tile | sudo mkdir /var/lib/mod_tile |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_100.png?|}} | {{:software:linux_server:tile_map_server_24.04._58.png?|}} |
\\ | \\ |
| |
sudo chown alisa /var/lib/mod_tile | sudo chown alisa /var/lib/mod_tile |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_101.png?|}} | {{:software:linux_server:tile_map_server_24.04._59.png?|}} |
\\ | \\ |
| |
создаем папку renderd | создаем папку renderd, если не создавали ранее |
<code> | <code> |
sudo mkdir /var/run/renderd | sudo mkdir /var/run/renderd |
sudo nano /etc/apache2/conf-available/mod_tile.conf | sudo nano /etc/apache2/conf-available/mod_tile.conf |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_104.png?|}} | {{:software:linux_server:tile_map_server_24.04._60.png?|}} |
\\ | \\ |
| |
| |
* нажимаем **<color #22b14c>i</color>** и вставляем строку **<color #22b14c>LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so</color>** в тело файла (в нашем случае это пустой файл) | * вставляем строку **<fc #22b14c>LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so</fc>** в тело файла (в нашем случае это пустой файл) |
* нажимаем последовательно **<color #22b14c>esc</color>** , **<color #22b14c>shift + :</color>** , **<color #22b14c>w</color>** , **<color #22b14c>q</color>** , **<color #22b14c>!</color>** для сохранения и выхода из редактора | * нажимаем последовательно **<fc #22b14c>CTRL+0</fc>** , **<fc #22b14c>ENTER</fc>** для сохранения и **<fc #22b14c>CTRL+X</fc>** для выхода из редактора |
{{:software:linux_server:tile_map_server_22.04.4_105.png?|}} | {{:software:linux_server:tile_map_server_24.04._61.png?|}} |
* нажимаем **<color #22b14c>enter</color>** | |
| |
выполняем команду | выполняем команду для включения конфигурации mod_tile. |
<code> | <code> |
sudo a2enconf mod_tile | sudo a2enconf mod_tile |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_106.png?|}} | {{:software:linux_server:tile_map_server_24.04._62.png?|}} |
* сообщение о необходимости перезапуска Apache «systemctl reload apache2», чтобы активировать новую конфигурацию; мы пока не будем этого делать. | * выполняем сообщение о необходимости перезапуска Apache «systemctl reload apache2», чтобы активировать новую конфигурацию; |
{{:software:linux_server:tile_map_server_22.04.4_107.png?|}} | <code> |
| sudo systemctl reload apache2 |
| </code> |
| {{:software:linux_server:tile_map_server_24.04._63.png?|}} |
* сообщаем Apache о «renderd» | * сообщаем Apache о «renderd» |
* открываем в редакторе файл 000-default.conf | * открываем в редакторе файл 000-default.conf |
sudo nano /etc/apache2/sites-available/000-default.conf | sudo nano /etc/apache2/sites-available/000-default.conf |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_108.png?|}} | {{:software:linux_server:tile_map_server_24.04._64.png?|}} |
* вставляем следующие строки между строками <color #00a2e8>«ServerAdmin»</color> и <color #00a2e8>«DocumentRoot»</color> | * вставляем следующин строки в тело файла между строками <fc #00a2e8>«ServerAdmin»</fc> и <fc #00a2e8>«DocumentRoot»</fc> |
<code> | <code> |
LoadTileConfigFile /usr/local/etc/renderd.conf | LoadTileConfigFile /etc/renderd.conf |
ModTileRenderdSocketName /var/run/renderd/renderd.sock | ModTileRenderdSocketName /var/run/renderd/renderd.sock |
# Timeout before giving up for a tile to be rendered | # Timeout before giving up for a tile to be rendered |
ModTileMissingRequestTimeout 30 | ModTileMissingRequestTimeout 30 |
</code> | </code> |
| * нажимаем последовательно **<fc #22b14c>CTRL+0</fc>** , **<fc #22b14c>ENTER</fc>** для сохранения и **<fc #22b14c>CTRL+X</fc>** для выхода из редактора |
* нажимаем **<color #22b14c>i</color>** и вставляем строки в тело файла между строками <color #00a2e8>«ServerAdmin»</color> и <color #00a2e8>«DocumentRoot»</color> | {{:software:linux_server:tile_map_server_24.04._65.png?|}} |
* нажимаем последовательно **<color #22b14c>esc</color>** , **<color #22b14c>shift + :</color>** , **<color #22b14c>w</color>** , **<color #22b14c>q</color>** , **<color #22b14c>!</color>** для сохранения и выхода из редактора | \\ |
{{:software:linux_server:tile_map_server_22.04.4_109.png?|}} | Проверим месторасположение файлов /etc/renderd.conf |
* нажимаем **<color #22b14c>enter</color>** | \\ |
* дважды перезагрузите apache: | {{:software:linux_server:tile_map_server_24.04._66.png?|}} |
| \\ |
| и /var/run/renderd/renderd.sock |
| \\ |
| {{:software:linux_server:tile_map_server_24.04._67.png?|}} |
| * запускаем и перезагрузите apache: |
<code> | <code> |
sudo service apache2 start | sudo service apache2 start |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_110.png?|}} | {{:software:linux_server:tile_map_server_24.04._68.png?|}} |
<code> | <code> |
sudo service apache2 reload | sudo service apache2 reload |
</code> | </code> |
{{:software:linux_server:tile_map_server_22.04.4_111.png?|}} | {{:software:linux_server:tile_map_server_24.04._69.png?|}} |
* проверим наш Apache набрав в браузере адрес нашего виртуального сервера (в нашем случае: http://192.168.1.31/) | * проверим наш Apache набрав в браузере адрес нашего виртуального сервера (в нашем случае: http://192.168.1.64/) |
{{:software:nas:osm_420_74.png?650|}} | {{:software:linux_server:tile_map_server_24.04._70.png?|}} |
* <color #ed1c24>Дальше не продолжаем если не дождались загрузки данных в базу и Создание индексов</color> | \\ |
| Перечень команд работы с сервисом рендер |
| * sudo systemctl start renderd |
| * sudo systemctl restart renderd |
| * sudo systemctl enable renderd |
| * sudo systemctl status renderd |
| * sudo systemctl stop renderd |
| * sudo systemctl daemon-reload |
| \\ |
| Перезапустим и провеим статус сервиса |
| <code> |
| sudo systemctl daemon-reload |
| sudo systemctl enable renderd |
| sudo systemctl restart renderd |
| sudo systemctl status renderd |
| </code> |
| {{:software:linux_server:tile_map_server_24.04._79.png?|}} |
| <details> |
| <summary>«Настройки конфигов»</summary> |
| <code> |
| sudo nano /etc/renderd.conf |
| sudo -u 'alisa' renderd -f -c /etc/renderd.conf |
| sudo renderd -f -c /etc/renderd.conf |
| sudo renderd -f |
| |
| |
| renderd.service |
| systemctl start renderd.service |
| systemctl enable renderd.service |
| systemctl status renderd.service |
| systemctl status |
| |
| sudo systemctl start renderd |
| sudo systemctl restart renderd |
| sudo systemctl enable renderd |
| sudo systemctl status renderd |
| sudo systemctl stop renderd |
| sudo systemctl daemon-reload |
| |
| sudo service renderd start |
| |
| sudo chown alisa /run/renderd/ -R |
| sudo chown alisa /var/cache/renderd/tiles/ -R |
| |
| |
| |
| sudo apt install renderd |
| |
| |
| sudo chown alisa /home/alisa/src/openstreetmap-carto/ -R |
| sudo chown alisa /home/alisa/src/openstreetmap-carto/mapnik.xml |
| |
| |
| |
| sudo nano /etc/renderd.conf |
| [ajt] |
| URI=/hot/ |
| TILEDIR=/var/lib/mod_tile |
| XML=/home/alisa/src/openstreetmap-carto/mapnik.xml |
| HOST=localhost |
| TILESIZE=256 |
| MAXZOOM=20 |
| |
| sudo nano /etc/apache2/conf-available/mod_tile.conf |
| LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so |
| |
| sudo nano /etc/apache2/sites-available/000-default.conf |
| LoadTileConfigFile /etc/renderd.conf |
| ModTileRenderdSocketName /var/run/renderd/renderd.sock |
| # Timeout before giving up for a tile to be rendered |
| ModTileRequestTimeout 0 |
| # Timeout before giving up for a tile to be rendered that is otherwise missing |
| ModTileMissingRequestTimeout 30 |
| |
| sudo nano ~/src/mod_tile/debian/renderd.init |
| |
| sudo nano /usr/lib/systemd/system/renderd.service |
| |
| [Unit] |
| Description=Renderd |
| After=network.target auditd.service |
| |
| [Service] |
| Type=forking |
| ExecStart=/etc/init.d/renderd start |
| ExecReload=/etc/init.d/renderd restart |
| ExecStop=/etc/init.d/renderd stop |
| Environment=G_MESSAGES_DEBUG=all |
| |
| [Install] |
| WantedBy=multi-user.target |
| |
| |
| |
| [Unit] |
| Description=Daemon that renders map tiles using mapnik |
| Documentation=man:renderd |
| After=network.target auditd.service |
| |
| [Service] |
| ExecStart=/usr/bin/renderd -f |
| User=alisa |
| |
| [Install] |
| WantedBy=multi-user.target |
| </code> |
| </details> |
| * <fc #ed1c24>Дальше не продолжаем если не дождались загрузки данных в базу и Создание индексов</fc> |
=====Запуск рендера в первый раз===== | =====Запуск рендера в первый раз===== |
запустим renderd, чтобы попытаться отрендерить некоторые плитки. Сначала мы запустим его на переднем плане, чтобы видеть любые ошибки по мере их возникновения: | запустим renderd, чтобы попытаться отрендерить некоторые плитки. Сначала мы запустим его на переднем плане, чтобы видеть любые ошибки по мере их возникновения: |
{{:software:nas:osm_420_87.png?650|}} | {{:software:nas:osm_420_87.png?650|}} |
| |
* Если все это работает, нажмите <color #00a2e8>control-c</color>, чтобы завершить процесс рендеринга переднего плана. | * Если все это работает, нажмите <fc #00a2e8>control-c</fc>, чтобы завершить процесс рендеринга переднего плана. |
* <color #ed1c24>при возникновении необходимости остановить renderd</color> | * <fc #ed1c24>при возникновении необходимости остановить renderd</fc> |
<code> | <code> |
systemctl stop renderd | systemctl stop renderd |
* на Synology DS720+ такого шока нет и все происходит быстрее в 3-4 раза | * на Synology DS720+ такого шока нет и все происходит быстрее в 3-4 раза |
{{:software:nas:osm_420_86.png?650|}} | {{:software:nas:osm_420_86.png?650|}} |
* <color #00a2e8>Не знаю почему, но при наличии папки renderd и прав на неё, система ругается на её отсутствие (проверено при 3х установках на Synology Nas. Повторно выполним эти команды...</color> | * <fc #00a2e8>Не знаю почему, но при наличии папки renderd и прав на неё, система ругается на её отсутствие (проверено при 3х установках на Synology Nas. Повторно выполним эти команды...</fc> |
* создаем папку renderd | * создаем папку renderd |
<code> | <code> |
| |
| |
* нажимаем **<color #22b14c>i</color>** и меняем в строке RUNASUSER **<color #22b14c>renderaccount</color>** на ваше имя пользователя (в нашем случае это alisa) | * нажимаем **<fc #22b14c>i</fc>** и меняем в строке RUNASUSER **<fc #22b14c>renderaccount</fc>** на ваше имя пользователя (в нашем случае это alisa) |
* нажимаем последовательно **<color #22b14c>esc</color>** , **<color #22b14c>shift + :</color>** , **<color #22b14c>w</color>** , **<color #22b14c>q</color>** , **<color #22b14c>!</color>** для сохранения и выхода из редактора | * нажимаем последовательно **<fc #22b14c>esc</fc>** , **<fc #22b14c>shift + :</fc>** , **<fc #22b14c>w</fc>** , **<fc #22b14c>q</fc>** , **<fc #22b14c>!</fc>** для сохранения и выхода из редактора |
{{:software:nas:osm_420_91.png|}} | {{:software:nas:osm_420_91.png|}} |
* нажимаем **<color #22b14c>enter</color>** | * нажимаем **<fc #22b14c>enter</fc>** |
* скопируем это в системный каталог | * скопируем это в системный каталог |
<code> | <code> |
\\ | \\ |
[[https://book51.ru/doku.php?id=notes:nas:osm_synology_vmm|Synology Open Street Map Server]] | [[https://book51.ru/doku.php?id=notes:nas:osm_synology_vmm|Synology Open Street Map Server]] |
| \\ |
| https://github.com/openstreetmap/mod_tile/blob/master/docs/build/building_on_ubuntu.md |
| \\ |
| https://switch2osm.org/serving-tiles/manually-building-a-tile-server-ubuntu-24-04-lts/ |
| \\ |
| https://www.linuxbabe.com/linux-server/osm-openstreetmap-tile-server-ubuntu-22-04 |
| \\ |
| https://ircama.github.io/osm-carto-tutorials/kosmtik-ubuntu-setup/ |
| \\ |
| https://www.linuxbabe.com/debian/openstreetmap-osm-tile-server-debian-12-bookworm |
| \\ |
| https://github.com/openstreetmap/mod_tile |
| \\ |
| |