Подготовка сервера к установке
Характеристики виртуальной машины
В качестве виртуальной машины используем тариф Step2+ на хостинге Adman с параметрами:
- Ядер: 2
- Дисковое пространство: 40Гб
- ОЗУ: 4Гб
- ОС: Ubuntu 20.04
Загрузка необходимых пакетов Платформы «1С:Предприятие» в ОС Linux
Первым делом скачиваем дистрибутивы Платформы 1С с сайта https://releases.1c.ru/total для этого выбираем платформу :
Перед началом установки необходимо скачать дистрибутивы, которые понадобятся в дальнейшем. К себе на компьютер предварительно авторизовавшись на портале 1С
Подключаемся к нашей виртуалке пользователем root. Я использую для этого PuTTY.
Создадим папку для скачивания пакетов 1С:
$ mkdir -p /1c/soft/1c
и перейдем в созданную папку
$ cd /1c/soft/1c
Теперь запускаем у себя на компьютере программу WinSCP и скачиваем 1С:Предприятие для Linux и тонкий клиент 1С во вновь созданную папку.
Обновление Ubuntu
Для начала обновим установленную Ubuntu до последней версии
$ sudo apt update
Получим адрес сервера утилитой ifconfig, но для начала установим ее на сервер:
$ sudo apt install net-tools
Установка имени сервера
Узнать имя сервера можно командой
$ hostname -f
Сменим имя сервера на другое имя (например на номер заказа, предоставленный хостингом)
$ sudo hostnamectl set-hostname z*****
Если у вас используется cloud.cfg, то после перезагрузки, название сервера может вернуться к тому, что было указано при установке. Поэтому вам необходимо отключить это в файле /etc/cloud/cloud.cfg
$ sudo nano /etc/cloud/cloud.cfg
Открыв файл для редактирования, нужно найти строку preserve_hostname, и значение false, заменить на true. Тогда после перезагрузки, у вас сохранится новое имя сервера.
Кстати, создание виртуального сервера в дата-центре Адман сэкономило мне время на настройке компьютеров пользователей. Т.к. при заказе виртуального сервера у Адман каждому заказу выдается поддомен типа z*****.adman.cloud , которому присвоен белый IP адрес из заказа и нет необходимости настраивать файлы hosts на компьютерах пользователей, которые будут устанавливать соединения с кластером серверов. Это очень удобно!
Установка языкового пакета (локали) русского языка на Ubuntu 20.04
Для нормального функционирования СУБД PostgreSQL установим на наш виртуальный сервер локализацию русского языка
$ sudo dpkg-reconfigure locales $ sudo locale-gen en_US.UTF-8 $ sudo locale-gen ru_RU.UTF-8 $ sudo update-locale LANG=ru_RU.UTF8
Чтобы установить локаль русского языка основной для системы необходимо в следующем окне выбрать ее:
В итоге этих действий получим следующее:
Не забудьте перезагрузить Ubuntu
$ sudo shutdown -r now
Как проверить установленные Локали в Ubuntu 20.04
После того, как вы установили локаль, она должна появиться в списке установленных, а также стать основной для системы (если мы это установили):
$ sudo locale
Установка сервера PostgreSQL на Ubuntu
В качестве СУБД для работы с 1С будем использовать сборку СУБД от Postgres Pro Team, версию которого можно запросить на сайте 1c.postgres.ru
Добавление репозитория PostgreSQL Pro
$ sudo wget https://repo.postgrespro.ru/1c-14/keys/pgpro-repo-add.sh
$ sudo sh pgpro-repo-add.sh
Установка и настройка СУБД
Если устанавливаемая СУБД единственный Postgres на нашей машине и вы хотите
сразу получить готовую к употреблению базу:
$ sudo apt-get install postgrespro-1c-14
Если же у вас уже установлен другой Postgres и вы хотите чтобы он
продолжал работать параллельно (в том числе и для апгрейда с более
старой major-версии):
$ apt-get install postgrespro-1c-14-contrib
$ /opt/pgpro/1c-14/bin/pg-setup initdb --tune=1c
$ /opt/pgpro/1c-14/bin/pg-setup service enable
$ /opt/pgpro/1c-14/bin/pg-setup service start
Посмотрим статус службы:
$ systemctl status postgrespro-1c-14
Настройка PostgreSQL в Ubuntu 20.04
Итак СУБД у нас установлена, переключимся на пользователя postgres с помощью команды:
$ sudo -i -u postgres
Теперь мы можем запустить консоль PostgreSQL командой:
psql
И посмотреть информацию о соединении c базой:
\conninfo
Чтобы выйти из консоли наберите команду:
\q
Теперь создадим другие роли и базы данных.
Зададим пароль пользователя postgres
Первым делом зададим пароль для пользователя postgres. Для этого переключимся на пользователя postgres, если вы не под ним и перейдем в консоль СУБД (описано выше).
# alter user postgres with encrypted password 'Ваш пароль';
Пароль успешно поменяли, и на этом можно было бы успокоиться, но как всегда есть НО.
Postgres shell пишет историю командной строки в файл .psql_history, убедиться в этом легко:
выйдем из postgres shell командой \q и посмотрим на наш файл:
$ cat .psql_history;
Ну вот, как и предполагалось, все записано буква-в-букву.
Удалим файл истории командной строки и затем опять попробуем посмотреть его:
$ rm .psql_history; $ cat .psql_history;
Теперь переключимся обратно в root, выполнив exit и настроим свой конфиг pg_hba.conf (поищите тут /var/lib/pgpro/1c-14/data/pg_hba.conf), убедившись, что у вас есть следующая строка
local all postgres md5
Если такой строки нет, – надо добавить. Вы можете использовать редактор Linux-a, но самый простой способ это сделать – воспользоваться WinSCP, подключиться к серверу – перейти в директорию, где находится файл pg_hba.conf и открыть его для редактирования, внести изменения и сохранить.
После этого возвращаемся в PuTTY и перегружаем сервер
Вы можете воспользоваться любым из методов остановить и потом запустить сервис сервера postgres, или перегрузить (с остановкой) restart и (без остановки, а только с перезагрузкой конфигов) reload.
Например: Остановим сервис
$ systemctl stop postgrespro-1c-14
Посмотрим статус сервера PostgreSQL (убедимся что он остановлен)
$ systemctl status postgrespro-1c-14
И запустим сервер PostgreSQL заново
$ systemctl start postgrespro-1c-14
Для порядка можно еще раз посмотреть статус и убедиться что сервер работает.
Дополнительные меры безопасности для сервера СУБД PostgreSQL рассмотрим в отдельной статье.
Прежде чем перейти к установке и настройке сервера добавим пользователя СУБД для работы с базами 1С, это делается для того, чтобы повысить безопасность работы с СУБД.
Перейдем под пользователя postgres
$ su postgres
Создадим нового пользователя СУБД
Для работы с базами 1С:Предприятие создадим нового пользователя с определенными параметрами:
$ createuser -d -E -i -r -s -l -P --no-replication Имя_пользователя
Дважды введите пароль нового пользователя.
Новый пользователь создан. Все базы в 1С: Предприятие в дальнейшем будем создавать под этим пользователем.
Установка сервера 1С на Ubuntu 20.04
Придется немного подготовится
Установка шрифтов
Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts
$ apt-get -y install ttf-mscorefonts-installer
Также “откроем глаза” системе на установленные шрифты
$ apt install fontconfig $ fc-cache –fv
так же установим дополнительные библиотеки
$ apt install libodbc1
Установка 1С:Платформы
Перейдем в папку, в которую мы изначально загрузили дистрибутивы 1С:Платформы
$ cd /1c/soft/1c
Распакуем дистрибутив платформы
$ tar zxf server64_8_3_20_1710.tar.gz
И установим его
в нашем случае нам понадобятся компоненты:
- server – кластер серверов 1С:Предприятия
- server_admin – сервер администрирования кластера серверов 1С:Предприятия
- ws – модули расширения веб-сервера
- client_full – толстый клиент и возможность работы в конфигураторе.
- client_thin – тонкий клиент (без возможности работы с файловым вариантом информационной базы).
полный список приведен в официальной документации
$ ./setup-full-8.3.20.1710-x86_64.run --mode unattended --enable-components server,ws,server_admin,client_full
Регистрация служб 1С в linux
Сделаем символические ссылки для скрипта запуска и файла конфигурации
$ ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83 /etc/init.d/srv1cv83 $ ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83.conf /etc/default/srv1cv83
А также добавим в автозагрузку
$ update-rc.d srv1cv83 defaults
Перезагрузим сервер
$ systemctl restart srv1cv83
проверим статус службы
$ systemctl status srv1cv83
Фактически наш сервер 1С:Предприятие установлен, запущен и готов к работе, но еще один небольшой штришок.
Удаление оболочки GNOME на сервере 1С:Предприятие
Вместе с платформой 1С нам досталась графическая оболочка Gnome, которая для работы нашего сервера особо и не нужна, учитывая, что мы в основном используем ssh. Так что удалим лишнее, дабы не тратить ресурсы сервера.
$ apt purge gnome-shell gnome-control-center gnome-keyring $ apt autoremove
Порядок действий при обновлении платформы 1С:Предприятие
- Остановить службу
- Установить новую платформу
- Удалить старую
- Обновить символические ссылки на скрипт запуска и конфигурации
- Запустить службу
Проверим работоспособность 1С:Сервера
Запускаем 1С. толстый клиент:
sudo /opt/1cv8/x86_64/8.3.20.1710/1cv8
Один Ответ
Большое спасибо за информацию, она мне помогла сделать правильный выбор.