OpenStreetMap (OSM) — это карта, созданная и обновляемая пользователями, которую можно использовать бесплатно. Ее можно рассматривать как открытую альтернативу Google Maps с возможностью хостинга на собственных серверах. В этом руководстве вы научитесь настраивать собственный сервер тайлов OpenStreetMap на Debian 11, что позволит вам обойтись без платных картографических услуг.
Содержание статьи
- 1 Особенности OpenStreetMap заключаются в том, что это проект, который создает и предоставляет свободные картографические данные. Пользователи со всего мира могут добавлять и редактировать информацию о различных географических объектах, таких как дороги, здания и природные элементы. Открытость данных и возможность совместного редактирования делают OSM уникальной платформой для создания детальных карт и анализа пространственной информации.
- 2 Начальные условия/Технические требования
- 3 Импортируйте стиль карты и информацию о карте.
- 4 Улучшение эффективности работы сервера PostgreSQL
- 5 Применяйте программу Screen для работы с удаленными серверами.
- 6 Перенос данных карты в PostgreSQL
- 7 Инсталляция Renderd и mod_tile
- 8 Создание стилей для Mapnik
- 9 Инсталляция шрифтов
- 10 Конфигурация renderd
- 11 Испытание
- 12 Визуализация вашей плиточной веб-карты
- 13 Leaflet
- 14 Первоначальная визуализация плиток
- 15 Активируйте HTTP2
- 16 Ограничьте доступ к вашему серверу с плитками OSM, используя заголовок HTTP Referer.
- 17 Обновление сертификата TLS в автоматическом режиме
- 18 Сервер веб-приложения и база данных PostgreSQL располагаются на различных хостах.
- 19 Заключение
Особенности OpenStreetMap заключаются в том, что это проект, который создает и предоставляет свободные картографические данные. Пользователи со всего мира могут добавлять и редактировать информацию о различных географических объектах, таких как дороги, здания и природные элементы. Открытость данных и возможность совместного редактирования делают OSM уникальной платформой для создания детальных карт и анализа пространственной информации.
- Данные OpenStreetMap доступны по всему миру, что упрощает оказание поддержки пользователям в любой стране или во всех странах.
- OpenStreetMap обновляется каждую минуту, каждый час и каждый день, предоставляя вам доступ к этим обновлениям в режиме реального времени.
- Данные OpenStreetMap доступны безвозмездно и являются открытыми — нет необходимости в оплате подписки или за просмотр страниц.
- Данные OpenStreetMap отличаются богатством и детальностью, включая огромное количество информации, важной для местных жителей — тех, кто их собирал.
Начальные условия/Технические требования
Объем оперативной памяти и место на диске, которые потребуются, зависят от используемой карты страны. Например,
- Для работы с картой Великобритании необходимо не менее 12 ГБ оперативной памяти и 100 ГБ свободного места на жестком диске.
- Для отображения карты всей планеты необходимо не менее 32 ГБ оперативной памяти и 1 ТБ твердотельного накопителя (SSD).
Затем создайте базу данных под названием gis и одновременно установите osm в качестве её владельца. Параметр — E UTF8 обозначает, что в данной базе данных используется кодировка символов UTF8.
createdb - E UTF8 - O osm gis
Затем добавьте расширения postgis и hstore к базе данных gis.
psql - c "CREATE EXTENSION postgis;" - d gis psql - c "CREATE EXTENSION hstore;" - d gis
Назначьте osm владельцем таблицы.
psql - c "ALTER TABLE spatial_ref_sys OWNER TO osm;" - d gis
Выйдите из учетной записи пользователя postgres.
exit
Создайте учетную запись пользователя osm в вашей операционной системе, чтобы сервер тайлов мог функционировать от имени этого пользователя. Для этого используйте следующую команду, которая создаст системного пользователя без установки пароля.
sudo adduser --system --group osm
Импортируйте стиль карты и информацию о карте.
Перейдите в основной каталог osm.
cd /home/osm/
С помощью git перенесите последние таблицы стилей CartoCSS в директорию osm вашего домашнего каталога.
sudo apt install git git clone https://github.com/gravitystorm/openstreetmap-carto. git
Если при выполнении указанной команды появляется ошибка «permission denied», вы можете установить необходимые разрешения с помощью следующей команды. Не забудьте заменить username на ваше текущее имя пользователя.
sudo apt install acl sudo setfacl - R - m u:username:rwx /home/osm/
После этого выполните одну из указанных команд, чтобы скачать данные карты в формате PBF (ProtoBufBinary).
Соединенное Королевство и Ирландия (1.7G)
wget - c http://download.geofabrik. de/europe/britain-and-ireland-latest. osm. pbf
Европа (25,8 Г)
wget - c http://download.geofabrik. de/europe-latest. osm. pbf
Североамериканский континент (11.8G)
wget - c http://download.geofabrik. de/north-america-latest. osm. pbf
Южная Америка (2,9 миллиарда)
wget - c http://download.geofabrik. de/south-america-latest. osm. pbf
Центральноамериканский регион (570MB)
wget - c http://download.geofabrik. de/central-america-latest. osm. pbf
Азия (11.2 Гб)
wget - c http://download.geofabrik. de/asia-latest. osm. pbf
Африка (5.5G)
wget - c http://download.geofabrik. de/africa-latest. osm. pbf
Полная карта планеты (66G). Замечание: загрузку карты всего мира следует осуществлять только в случае необходимости отображения глобальной карты. В противном случае вы рискуете потратить время в ожидании обработки сервером тайлов лишней информации.
wget - c http://planet. openstreetmap. org/pbf/planet-latest. osm. pbf
wget - c https://download.bbbike. org/osm/planet/planet-latest. osm. pbf
Если вам требуется карта другой страны, штата, провинции или города, посетите сайт http://download.geofabrik.de. Кроме того, BBBike. org предлагает извлечения данных для более чем 200 городов и регионов по всему миру в различных форматах.
Улучшение эффективности работы сервера PostgreSQL
Импорт данных может потребовать определённого времени. Чтобы сократить этот срок, мы можем изменить некоторые настройки сервера PostgreSQL для улучшения его работы. Необходимо внести изменения в главный конфигурационный файл PostgreSQL.
sudo nano /etc/postgresql/15/main/postgresql.conf
Сначала проверьте параметры max_connections.
max_connections = 100
По умолчанию для OpenStreetMap может оказаться недостаточно 100 соединений. Увеличьте это число до 200.
max_connections = 200
После этого необходимо изменить параметр shared_buffer. Его значение по умолчанию составляет:
shared_buffers = 128MB
Это недостаточно. Существует рекомендация установить его на 25% от общего объема оперативной памяти (не учитывая объем подкачки). К примеру, у моего VPS 60 ГБ оперативной памяти, поэтому я установил его на:
shared_buffers = 15GB
Определите следующую последовательность.
#work_mem = 4MB #maintenance_work_mem = 64MB
Опять значение оказывается слишком низким. Я применяю такие настройки.
work_mem = 1GB maintenance_work_mem = 8GB
После этого отыщите следующую строку.
#effective_cache_size = 4GB
При наличии большого объема оперативной памяти, как у меня, можно установить более высокое значение для параметра effective_cache_size, например, 20 ГБ.
effective_cache_size = 20GB
Сохраните изменения в файле и закройте его. Перезапустите PostgreSQL для применения обновлений.
sudo systemctl restart postgresql
PostgreSQL изначально будет пытаться задействовать большие страницы в оперативной памяти. Однако в Linux большие страницы не выделяются по умолчанию. Убедитесь, что вы проверили идентификатор процесса PostgreSQL.
sudo head -1 /var/lib/postgresql/15/main/postmaster. pid
7031
После этого проверьте значение VmPeak для данного идентификатора процесса.
grep ^VmPeak /proc/7031/status
VmPeak: 16282784 kB
Это наибольшее количество памяти, которое может задействовать postgresql.Теперь необходимо проверить размер больших страниц в Linux.
cat /proc/meminfo | grep - i huge
AnonHugePages: 0 kB ShmemHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB
Можно определить количество необходимых больших страниц, разделив значение VmPeak на размер одной большой страницы: 16282784 кБ / 2048 кБ = 7950. Не забудьте внести изменения в файл /etc/sysctl.conf.
sudo nano /etc/sysctl.conf
Включите эту строку в конец файла, чтобы зарезервировать 7950 больших страниц.
vm. nr_hugepages = 7950

Сохраните файл и закройте его, после чего внесите изменения.
sudo sysctl - p
Если вы повторно взглянете на meminfo,
cat /proc/meminfo | grep - i huge
Мы можем заметить, что имеется 7950 крупных страниц.
AnonHugePages: 0 kB ShmemHugePages: 0 kB HugePages_Total: 7950 HugePages_Free: 7950 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB
Перезапустите PostgreSQL для активации больших страниц.
sudo systemctl restart postgresql
Применяйте программу Screen для работы с удаленными серверами.
Из-за того что импорт может занять значительное время, а ваш компьютер может быть без доступа к Интернету, полезно воспользоваться утилитой screen для поддержания активной сессии. Установите screen на сервере Debian 11:
sudo apt install screen
После этого откройте экран:
screen
Когда вы запустите программу в первый раз, появится вводный текст. Просто нажмите клавишу Enter, чтобы перейти к следующему этапу. После этого вы сможете вводить команды в привычном режиме.
Перенос данных карты в PostgreSQL
Для импорта данных карты необходимо установить osm2pgsql, инструмент, который преобразует данные OpenStreetMap в базы данных PostgreSQL с поддержкой postGIS.
sudo apt install osm2pgsql
<

Если вы планируете импортировать полные данные о карте мира, рекомендуется использовать опции —drop и —flat-nodes, чтобы ускорить процесс импорта. Учтите, что параметр —flat-nodes не рекомендуется для небольших карт.
osm2pgsql --slim - d gis --удалить --плоские-узлы /home/osm/nodes. cache--hstore --многографическая-геометрия --количество-процессов10--скрипт-преобразования-тегов /home/osm/openstreetmap-carto/openstreetmap-carto. lua --стиль /home/osm/openstreetmap-carto/openstreetmap-carto. style - C32000 /home/osm/planet-latest. osm. pbf
В ходе импорта использование оперативной памяти будет постепенно расти.
Теперь, вероятно, вам не нужно заниматься другими задачами на вашем сервере. Используя Screen, вы можете нажать Ctrl+A, отпустить эти клавиши, а затем нажать D, чтобы отсоединиться от активной сессии. В результате вы получите сообщение, похожее на приведенное ниже.
[отсоединено от 32113.pts-1.focal]
Это означает, что идентификатор вашей предыдущей сессии Screen — 32113. Вы можете завершить SSH-сессию и даже отключить компьютер. Не переживайте, процесс импорта OSM продолжает функционировать. Когда вам понадобится вернуться и проверить статус импорта, подключитесь к вашему серверу через SSH и выполните следующую команду, чтобы узнать идентификатор предыдущей сессии Screen.
screen - ls
Существует экран: 32113.pts-1.focal (19.05.2020 15:45:29) (отсоединен) 1 сокет в /run/screen/S-linuxbabe.
После этого вы сможете вновь подключиться к предыдущей сессии Screen.
screen - r 32113
Вы сможете продолжить свою деятельность. После завершения импорта предоставьте все права доступа к базе данных gis пользователю osm.
psql - c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO osm;" - d gis
Выйдите из системы под пользователем postgres.
exit
Важно: Если процесс импорта osm2pgsql еще не завершен, не переходите к шагу 6.
Диагностика проблем
Если при импорте данных карты из файла PBF возникнет следующая ошибка,
PBF ошибка: недопустимый размер Blobheader (> max_blob_header_size)
Скорее всего, причина в повреждении вашего файла PBF. Проверьте md5sum этого файла, как указано ниже.
md5sum great-britain-latest. osm. pbf
Сопоставьте полученный результат со значением md5sum, указанным на странице загрузки файла PBF.
Инсталляция Renderd и mod_tile
- renderd — это сервис, который осуществляет рендеринг тайлов OpenStreetMap на основе данных из базы данных PostgreSQL.
- mod_tile — это модуль для Apache, предназначенный для передачи тайлов пользователям, таким как веб-браузеры.
Их можно установить из обычного программного репозитория Debian 11.
sudo apt install apache2 libapache2-mod-tile renderd
Конфигурационный файл для renderd будет размещён по пути /etc/apache2/conf-available/renderd.conf.Активируйте модуль тайлов.
sudo a2enmod tile
После этого настройте виртуальный хост для сервера тайлов.
sudo nano /etc/apache2/sites-available/tileserver_site.conf
Вставьте указанные строки в данный файл. Замените tile. your-domain.com на ваше фактическое доменное имя. Также не забудьте добавить запись DNS типа A.
Сохраните файл и закройте его. Активируйте этот виртуальный хост.
sudo a2ensite tileserver_site.conf
Перезапустите Apache, чтобы изменения начали действовать.
sudo systemctl restart apache2
Демон рендеринга запустится автоматически, что можно проверить с помощью:
systemctl status renderd
Создание стилей для Mapnik
Необходимо установить все нужные пакеты.
sudo apt install curl unzip gdal-bin mapnik-utils libmapnik-dev python3-pip nodejs npm
После этого установите пакет carto с помощью npm.
sudo npm install - g carto
Установите библиотеки Python: yaml и psycopg2.
sudo - H pip3 install pyyaml psycopg2==2.8.5
Перейдите на учетную запись пользователя postgres.
sudo - u postgres - i
Зайдите в папку стилей carto.
cd /home/osm/openstreetmap-carto/
scripts/get-external-data. py
Если при выполнении указанной команды появится следующее сообщение об ошибке, это указывает на проблемы с DNS. Просто подождите некоторое время и повторите запуск скрипта на Python.
Не удалось установить новое соединение: [Errno -3] Временная ошибка в разрешении имени
Теперь с помощью компилятора стилей карт Carto создайте стиль для карты в формате XML для Mapnik.
carto project. mml > style. xml
Дайте пользователю osm все права доступа к базе данных gis.
psql - c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO osm;" - d gis
Выйдите из учетной записи пользователя postgres.
exit
Инсталляция шрифтов
Необходимо установить пакет fonts-dejavu.
sudo apt install fonts-dejavu
Чтобы отобразить символы, не относящиеся к латинице, необходимо установить указанные пакеты.
sudo apt install fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-hinted fonts-noto-unhinted ttf-unifont
Конфигурация renderd
Измените файл настройки renderd.
sudo nano /etc/renderd.conf
В разделе [renderd] настройте количество потоков в зависимости от числа ядер процессора на вашем сервере.
num_threads=10
Включите стандартный слой. Комментарии начинаются с символа точки с запятой (;).
; ДО

По умолчанию максимальный уровень масштабирования в renderd составляет 18. Если вам необходимо установить уровень масштабирования 19, добавьте следующую строку в раздел [default].
MAXZOOM=19
Сохраните изменения в файле и закройте его. После этого создайте новый каталог для службы renderd.
sudo mkdir /etc/systemd/system/renderd.service.d/
Создайте файл конфигурации для пользователя в данном каталоге.
sudo nano /etc/systemd/system/renderd.service.d/custom.conf
Включите следующие строки в данный файл.
[Service] User=osm
Сохраните и закройте документ. Измените право собственности на каталоги /run/renderd/ и /var/cache/renderd/tiles/.
sudo chown osm /run/renderd/ - R sudo chown osm /var/cache/renderd/tiles/ - R
После этого выполните перезапуск службы renderd.
sudo systemctl daemon-reload sudo systemctl restart renderd
Проверьте журнал renderd.
sudo journalctl - eu renderd
Проверьте, чтобы после перезапуска renderd не возникало ошибок в журнале, иначе карта не будет загружаться.
Испытание
Введите в адресной строке вашего интернет-браузера
tile. your-domain.com/osm/0/0/0.png
Теперь вам предстоит увидеть плитку с изображением мировой карты. Поздравляем! Вы только что успешно настроили собственный тайловый сервер OSM.

При активированном брандмауэре UFW не забудьте разрешить доступ к портам 80 и 443, используя команду ниже.
sudo ufw allow 80,443/tcp
Если на экране появляется ошибка 404 not found, просто подождите пару минут и обновите страницу в браузере. Это должно привести к загрузке тайла карты мира. Если проблема сохраняется, попробуйте перезапустить службу renderd с помощью команды (sudo systemctl restart renderd).
Визуализация вашей плиточной веб-карты
Теперь у вас есть рабочий сервер тайлов OSM, и вам необходимо воспользоваться библиотекой JavaScript для отображения карты на других ваших серверах. В данном руководстве я покажу, как создать веб-карту на сервере тайлов, но вы можете выполнить эти действия и на любом другом сервере.
Плиточная веб-карта, или плавающая карта по терминологии OpenStreetMap, может быть реализована с помощью двух бесплатных и открытых JavaScript-библиотек: OpenLayer и Leaflet. Основное преимущество Leaflet заключается в его простоте использования, а также в том, что карты, созданные с его помощью, хорошо адаптируются для мобильных устройств.
OpenLayer
Для отображения вашей плавающей карты с использованием OpenLayer, скачайте файлы JavaScript и CSS с сайта openlayer. org и поместите их в папку webroot.
cd /var/www/html/ sudo wget https://github.com/openlayers/openlayers/releases/download/v5.3.0/v5.3.0.zip sudo unzip v5.3.0.zip
После этого создайте файл с именем index. html.
sudo nano /var/www/html/index. html
Включите указанный HTML-код в файл. Измените текст, выделенный красным, и настройте долготу, широту и уровень масштабирования по вашему усмотрению.
Сохраните файл и закройте его. Теперь у вас есть возможность увидеть вашу плавающую карту, введя поддомен в адресной строке браузера.
tile. your-domain.com
tile. your-domain.com/index. html
Leaflet
Для отображения вашей плавающей карты с использованием Leaflet, скачайте JavaScript и CSS с сайта leafletjs.com и поместите их в папку webroot.
cd /var/www/html/ sudo wget http://cdn. leafletjs.com/leaflet/v1.7.1/leaflet. zip sudo unzip leaflet. zip
Создайте файл с именем index. html. Если этот файл уже существует, очистите его текущее содержимое.
sudo nano /var/www/html/index. html
Включите указанный HTML-код в файл. Измените текст, выделенный красным, и настройте долготу, широту и уровень масштабирования по вашему усмотрению.
Сохраните файл и закройте его. Теперь вы можете открыть вашу интерактивную карту, введя IP-адрес сервера в адресной строке браузера.
tile. your-domain.com
tile. your-domain.com/index. html

Первоначальная визуализация плиток
Создание тайлов в реальном времени увеличивает время загрузки карты в браузере. Для предварительной отрисовки тайлов вместо их создания в процессе загрузки используйте команду render_list. Флаги - z и - Z помогут задать уровень масштабирования, а количество потоков можно изменить в зависимости от числа ядер процессора вашего сервера. Команда render_list генерирует список тайлов карты, отправляя запросы на отрисовочный демон. Предварительно отрисованные тайлы сохранятся в кэше по адресу /var/lib/mod_tile.
render_list - m default - a - z 0 - Z 19 --num-threads=10
Если вы обновили информацию о карте, вы можете заново отрисовать все тайлы, воспользовавшись опцией --force.
render_list - m default - a - z 0 - Z 19 --num-threads=10 --force
Для того чтобы рисовать тайлы карты в фоновом режиме, добавьте знак & в конце.
render_list - m default - a - z 0 - Z 19 --num-threads=10 &
Теперь вы можете закрыть окно терминала. Чтобы отслеживать процесс отрисовки, откройте новую SSH-сессию и выполните следующую команду.
sudo journalctl - eu renderd
Указанная команда отобразит последний отчет службы renderd. Последующие строки подтверждают, что мой сервер OSM в данный момент генерирует тайлы карты с масштабом 12.
renderd[20838]: DEBUG: START TILE default 12 1008-1015 4056-4063, new metatile renderd[20838]: Rendering projected coordinates 12 1008 4056 ->-10175297.205328|-19724422.274944 -10097025.688364|-19646150.757980 для рендеринга плитки 8 x 8 renderd[20838]: ОТЛИЧНО: ЗАВЕРШЕНА ПЛИТКА по умолчанию 12 1008-1015 3984-3991 за 0.799 секунд renderd[20838]: ОТЛИЧНО: Отправка команды рендеринга(3 по умолчанию 12/1008/3984) с версией протокола

Если в адресной строке Firefox появляется желтый треугольник, это указывает на то, что URL-адреса плиток по-прежнему используют протокол HTTP. Чтобы исправить это, откройте файл index. html и замените все вхождения HTTP на HTTPS с помощью следующей команды.
sudo sed - i 's/http/https/g' /var/www/index. html
Активируйте HTTP2
Для повышения скорости загрузки карты можно активировать протокол HTTP2. Сначала необходимо включить соответствующий модуль HTTP2.
sudo a2enmod http2
Затем откройте файл SSL для виртуального хоста.
sudo nano /etc/apache2/sites-enabled/tileserver_site-le-ssl.conf
Добавьте следующую команду сразу после тега открытия.
Protocols h2 http/1.1
Сохраните файл и закройте его. После этого перезапустите Apache, чтобы изменения были применены.
sudo systemctl restart apache2
Ограничьте доступ к вашему серверу с плитками OSM, используя заголовок HTTP Referer.
По умолчанию любой желающий может применять OpenLayer или Leaflet для генерации карты, используя URL вашего сервера с плитками. Чтобы ограничить доступ к вашему серверу плиток, необходимо внести изменения в файл виртуального хоста Apache.
sudo nano /etc/apache2/sites-enabled/tileserver_site-le-ssl.conf
Включите указанные строки в теги.
В указанном коде осуществляется проверка, содержит ли заголовок HTTP referer ваш домен. Если он отсутствует, доступ к каталогу /osm будет ограничен. Обратный слеш применяется для экранирования точки. Для добавления нескольких доменных имен в качестве разрешенных рефереров воспользуйтесь следующим синтаксисом.
SetEnvIf Referer (example\.com|www\.example\.com|map\.example\.com) trusted_referer
Сохраните файл и закройте его. После этого проверьте синтаксис.
sudo apache2ctl - t
Если синтаксис корректен, перезапустите Apache, чтобы новые настройки начали действовать.
sudo systemctl reload apache2
Обновление сертификата TLS в автоматическом режиме
Можно настроить задание Cron для автоматического обновления TLS-сертификата. Для этого откройте файл crontab от имени пользователя root.
sudo crontab - e
Вставьте следующую строку в конце документа.
@daily /snap/bin/certbot renew --quiet && systemctl reload apache2
Сервер веб-приложения и база данных PostgreSQL располагаются на различных хостах.
Если ваш сервер PostgreSQL и веб-сервер Apache расположены на различных хостах, необходимо внести изменения в файл project. mml на сервере Apache.
nano /home/osm/openstreetmap-carto-4.20.0/project. mml
Найдите указанные ниже строки:
osm2pgsql: &osm2pgsql type: "postgis" dbname: "gis" key_field: "" geometry_field: "way" extent: "-20037508,-20037508,20037508,20037508"
Укажите адрес IP сервера базы данных PostgreSQL.
osm2pgsql: &osm2pgsql type: "postgis" хост: "10.0.0.2" dbname: "gis" key_field: "" geometry_field: "way" extent: "-20037508,-20037508,20037508,20037508"
Сохраните и закройте файл, после чего выполните создание XML-стилизации Mapnik с использованием компилятора стилей карт carto.
carto project. mml > style. xml
Измените главный конфигурационный файл на сервере базы данных PostgreSQL.
sudo nano /etc/postgresql/12/main/postgresql.conf
Включите следующую строку для настройки PostgreSQL на прием подключений со всех интерфейсов.
listen_addresses = '*'
Сохраните и закройте документ. После этого внесите изменения в файл конфигурации для аутентификации клиента PostgreSQL.
sudo nano /etc/postgresql/12/main/pg_hba.conf
В конце файла добавьте следующую строку, чтобы предоставить пользователю osm возможность входа с хоста Apache. Замените 10.0.0.1 на соответствующий IP-адрес хоста Apache.
host gis osm 10.0.0.1/32 trust
Сохраните изменения в файле и закройте его. После этого перезапустите PostgreSQL.
sudo systemctl restart postgresql
Перезапустите процесс рендеринга на сервере Apache.
sudo systemctl restart renderd
Проверьте журнал renderd. Убедитесь, что в нем нет ошибок, так как в противном случае карта не отобразится.
sudo journalctl - eu renderd
Рекомендуется ограничить доступ к порту 5432 для сервера базы данных postgresql.Например, можно воспользоваться следующей командой UFW, чтобы разрешить соединение только с IP-адреса, на котором работает Apache.
sudo ufw allow in from 10.0.0.1 to any port 5432
Заключение
Если этот пост оказался для вас полезным, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать еще больше советов и рекомендаций.

