Разворачивать и настраивать PostgreSQL продолжим на виртуальной машине Hyper-V, где ранее в качестве операционной системы установили Linux из дистрибутива «Ubuntu Server LTS 22.04». Графическая оболочка у нас XFCE4, но это ни на что не повлияет - в любой момент даже после установки можно будет поставить другую "графику", на работе программ это не отразится. Пока что мы не устанавливаем сервер 1С на эту машину - сделаем в следующей статье, поэтому для проверки воспользуемся кластером серверов на другой машине под Windows.
Скачиваем PostgreSQL
Наша задача - подготовить сервер для работы с 1С, поэтому обычная установка в пару строк терминала нам не подойдёт, т.к. для работы с «сервером 1С» требуется специальная версия PostgreSQL, которая содержит необходимые патчи. И тут возникает вопрос: откуда брать эти самые "версии"?
Существует различные источники уже готовых дистрибутивов:
- Непосредственно от самой фирмы 1С, размещенный на их портале https://releases.1c.ru - куда без учетной записи не попасть.
- Другие компании, предоставляющие оптимизированные дистрибутивы для 1С. Например, https://1c.postgres.ru - компания всячески поддерживает СУБД для 1С, активно участвует в разработке самого движка базы данных.
Использовать будем второй вариант, потому что на практике в пакеты, предоставляемые от самой 1С часто забывают "положить" нужные доп. компоненты и библиотеки, что приводит к необходимости качать их отдельно. А дистрибутивы предоставляемые компанией «1c.postgress» стабильны и без нареканий + после установки части необходимых настроек для сервера уже будут прописаны в файлах. Ребята молодцы, сразу постарались предвосхитить возникающие вопросы - перейдя по ссылке можете ознакомиться и с другими ответами.
Для скачивания дистрибутива ответьте на вопросы, заполните данные для получения инструкции по установке. Мы выбрали 15 версию PostgreSQL.
Удаленное управление Linux по RDP
Установка PostgreSQL
1. После того как получили письмо с инструкцией, начнем установку и настройку. И первым делом подключим репозиторий PostgreSQL.
sudo wget https://repo.postgrespro.ru/1c-15/keys/pgpro-repo-add.sh
sudo sh pgpro-repo-add.sh
2. Устанавливаем базу данных - перед установкой обязательно обновляем пакеты:
sudo apt update
sudo apt upgrade
sudo apt-get install postgrespro-1c-15
3. Следующим шагом будет - добавление в автозагрузки системы:
sudo systemctl enable postgrespro-1c-15
4. В целом - можно считать, что установка завершена, далее остается небольшая настройка. Обязательно проверим состояние нашего сервиса - запущен ли он или нет:
sudo systemctl status postgrespro-1c-15
Настройка PostgreSQL
1. Зададим пароль для пользователя «postgres»
Чтобы обеспечить безопасность 1С, первым делом необходимо установить пароль для внутреннего пользователя "postgres", который будет использоваться для выполнения операций в PostgreSQL. Установка пароля для пользователя "postgres" также необходима для того, чтобы в дальнейшем, когда мы будем создавать новые базы в кластере серверов 1С можно было указать пароль пользователя баз данных.
sudo -i -u postgres
sudo /opt/pgpro/1c-15/bin/psql -U postgres -c "alter user postgres with password 'тут вводим пароль';"
Если все хорошо, вернется надпись ALTER ROLE.
2. Разрешаем подключения к PostgreSQL по сети
Следующим шагом предоставим возможность другим машинам в локальной сети использовать подключение к postgre. Т.к. по умолчанию PostgreSQL слушает только адрес localhost - мы укажем, какие сетевые интерфейсы смогут подключаться к базе. Для этого необходимо перенастроить файл «postgresql.conf»:
- Внутри файла раскомментируем и изменим значение строки на «listen_addresses = *» - таким образом разрешим доступ с любых хостов
- откроем порт 5432 - это стандартный порт, который слушает PostgreSQL. Необходимо для внутренних и внешних подключений.
- Для открытия файла установим текстовый редактор «nano»
sudo apt install nano
sudo nano /var/lib/pgpro/1c-15/data/postgresql.conf
Помимо снятия ограничений на "прослушивание" нужно задать разрешение на подключение к нашим базам. Для этого откроем редактором файл «pg_hba.conf». Если вам необходим доступ любых локальных пользователей к базам, то по-умолчанию ключевые строки уже будут заданы (обведём их цветом).
sudo nano /var/lib/pgpro/1c-15/data/pg_hba.conf
Внутри файла содержатся строки разрешения с параметрами:
- «local/host» - задает правила для подключения, либо по локальным UNIX-сокетам, либо по TCP/IP
- «DATABASE» - база, к которой разрешаем доступ
- «USER» - какой пользователь СУБД будет иметь доступ
- «ADDRES» - адрес откуда подключаемся
- «METHOD» - метод аутентификации/проверки подключения
3. Перезагружаем после настройки
После внесения изменений в конфигурационные файлы необходимо произвести перезагрузку.
sudo systemctl restart postgrespro-1c-15
Установка pgAdmin4
Т.к. у нас сервер с "графикой", то мы можем себе позволить установить утилиту с графическим окружением для удобного обслуживания наших баз данных. Для этого установим «pgAdmin4»:
1. Установим публичный ключ
sudo wget https://www.pgadmin.org/static/packages_pgadmin_org.pub
sudo apt-key add packages_pgadmin_org.pu
2. Добавим в файл «pgadmin4.list» ссылку на репозиторий. Если терминал будет ругаться "отказано в доступе", просто выполните строку от root
sudo echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list
3. Обновляем список пакетов и устанавливаем pgAdmin4:
sudo apt update
sudo apt install pgadmin4
4. Подключим наш PostgresSQL в программе. Для этого добавим сервер:
- На вкладке «General» в реквизите «Name» - зададим имя для нашего кластера серверов. Например «pgServ»
- На вкладке «Connection» - содержатся данные для подключения к серверу. Оставьте всё по умолчанию, заполнить нужно лишь поле пароль для нашего пользователя «postgres», который мы задавали после установки PostgresSQL.
5. Если вы с самого начала использовали примеры из нашей инструкции, то вы попадёте в панель управления сервером баз данных.
Создание базы данных
И наконец, окончательно удостоверимся в том, что наша система управления базами данных готова к работе. А для этого заведем новую базу. Т.к. мы еще не установили «сервер 1С» на наш сервер под управлением Linux (сделаем это в другой статье), то воспользуемся консолью серверов 1С расположенной на другой машине.
База успешно создана и добавлена в список нашего сервера
Заключение
Вновь можно сделать вывод, что не так страшен Linux и его обслуживание, как это может показаться на первый взгляд. В результате мы установили СУБД PostgreSQL и добавили утилиту для управления базами данных через графический интерфейс pgAdmin4. Мы продолжим "обустраивать" наш сервер для использования 1С, но уже в следующих статьях: установим сервер предприятия 1С, активируем лицензии, произведем публикацию на веб-сервере Apache и многое другое :)