Сервер Debian 10 и PostgreSQL
PostgreSQL — достаточно современная и популярная СУБД в мире. Её не обошла и фирма 1С, выбрав в качестве одной из поддерживаемых для работы СУБД. По порядку разберем один из вариантов установки и настройки PostgreSQL для 1С, а именно серверный вариант использования на 10 пользователей, на Debian 10.
Эксперимент проводился на железе 2013 года. За основу был взят HP Compaq dc7700, начинка Intel(R) Core(TM)2 CPU 2,13GHz, ОЗУ 8Г, два HDD на 500Г.
Установку Debian 10 amd64 описывать не буду, использовался debian-10.6.0-amd64-netinst. Остановлюсь на некоторых моментах. Жесткие диски были разбиты на 8Г - swap, 342Г - система, 150Г - /baza при установке в дебиан были объединены в программный Reid1. При установке Debian ставился на определенный IP под доменом. Получился чистый сервер Debian с доступом по SSH. Обновим репозитории Дебиан 10, входим от рута.
su - |
nano /etc/apt/sources.list |
deb http://ftp.debian.org/debian buster main contrib non-free deb-src http://ftp.debian.org/debian buster main contrib non-free deb http://ftp.debian.org/debian buster-updates main contrib non-free deb-src http://ftp.debian.org/debian buster-updates main contrib non-free deb http://security.debian.org/ buster/updates main contrib non-free deb-src http://security.debian.org/ buster/updates main contrib non-free deb http://ftp.debian.org/debian buster-backports main contrib non-free |
apt-get update apt-get upgrade apt-get dist-upgrade |
Для удобства установил mc.
apt-get install mc |
В Debian 10 для работы PostgreSQL не хватает пакетов
- libssl1.0.0 - разделяемые библиотеки для реализации протоколов шифрования SSL и TLS
- libicu55 - компоненты интернационализации для Unicode
Устанавливаем недостающие пакеты, для начала создадим каталог для загрузки пакетов
mkdir /home/dist |
Загружаем и устанавливаем недостающие пакеты. Пакеты скачать одним архивом.
cd /home/dist/ |
wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7ubuntu0.5_amd64.deb wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.4_amd64.deb |
apt install libxslt1.1 |
dpkg -i libssl1.0.0*.deb dpkg -i libicu55*.deb |
Проверяем локаль, должна быть ru_RU.UTF-8
locale |
Загружаем и устанавливаем пакеты PostgreSQL. Пакеты можно скачать с 1С, буду устанавливать PostgreSQL 12. Скачать пакеты одним архивом. Качаем архив и ставим на флешку.
Находим флешку в системе
lsblk |
Флешка в системе определилась как - sdb1. Создаем каталог монтирования.
mkdir /mnt/usb |
Монтируем флешку
mount /deb/sdb1 /mnt/usb |
Переходим в каталог /mnt/usb и проверяем, что находится в каталоге через команду dir или ls и далее копируем файлы в созданную папку /home/dist через команду
cp -vr /mnt/usb/* /home/dist/ |
Разархивируем файлы PostgreSQL и установим их
cd /home/dist tar -xvf ./postgresql_12.4_1.1C_amd64_deb.tar.bz2 |
Проверим наличие каталогов в каталоге командой ls . Далее перейдем в папку с пакетами и установим PostgreSQL.
cd /home/dist/postgresql_12.4_1.1C_amd64_deb/ apt install postgresql-common dpkg -i libpq5*.deb dpkg -i postgresql-client-12*.deb dpkg -i postgresql-12*.deb |
Во время установки потребуется доустановить недостающие пакеты libllvm6.0 из репозиториев Debian. После установки зафиксируем пакеты от 1С, чтобы избежать их обновления из репозиториев
apt-mark hold libpq5 apt-mark hold postgresql-12 apt-mark hold postgresql-client-12 |
Очистим Экран
clear |
В пакетах от 1С уже настроены все необходимые параметры доступа и все что нам остается - это задать пароль для суперпользователя PostgreSQL - postgres. Перед тем как выполнять следующие действия, убедитесь, что вы находитесь в консоли с правами суперпользователя, если это не так, то выполните
su |
Теперь войдем в систему от имени пользователя postgres
su postgres |
Откроем консоль PostgreSQL
psql |
И установим пароль. Pasword заменим на свой.
ALTER USER postgres WITH PASSWORD 'Pasword'; |
Для выхода из консоли введите
\q |
Проверим статус PostgreSQL
systemctl status postgresql |
Остановить, запустить, перезапустить PostgreSQL.
service postgresql stop service postgresql start service postgresql restart |
Теперь настроим PostgreSQL, прежде его остановив. Редактором откроем файл настроек
nano /etc/postgresql/12/main/postgresql.conf |
Для прослушивания всех интерфейсов, или определенного IP отредактируем параметр
listen_addresses = '*' |
Сменим каталог баз данных
data_directory = '/baza/main' |
Сохраняем настройки, создаем каталог /baza/main/ и переносим всё из каталога /var/lib/postgres/12/main/. Запускаем PostgreSQL.
service postgresql start |
Выходим из PostgreSQL и проверяем работоспособность.
systemctl status postgresql |