Найти тему
Андрей Ага

Установка 1C на AltLinux

В общем-то, все, что тут будет написано- можно найти в интернете. Но лучше, когда все можно будет найти в одном месте, при этом если вы на меня подпишитесь- то потом не придется все это долго искать- просто прочитаете мою писанину статью.

Небольшие подготовительные действия.

Ставим rdp:

apt-get -y install xrdp && systemctl enable --now xrdp xrdp-sesman

Добавляем юзера aga в группу пользователей, имеющих доступ по rdp:

gpasswd -a aga tsusers

Создаем папку, чтобы можно было закидывать файлы на сервер:

mkdir /temp

chmod -R 777 /temp

echo > /etc/samba/smb.conf

mcedit /etc/samba/smb.conf

все стираем и вставляем в файл вот это:

[global]
socket options = TCP_NODELAY
os level = 20
map to guest = Bad user
ntlm auth = Yes
server min protocol = NT1

[temp]
comment = temp
path = /temp
public = yes
only guest = yes
writable = yes
read only = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
vfs objects = full_audit
; browseable = yes

Закрываем/сохраняем, перезапускаем Самбу:

systemctl restart smb

После этого у вас будет расшаренная папка temp с полным доступом, которая пригодится нам при установке.

В /etc/fstab закомментируем(т.е. поставим в начале строки символ # ) строку, начинающуюся со слова tmpfs - в этом случае папка временных файлов будет лежать на жестком диске и в процессе установки/настройки у нас не будет все вылетать с ошибкой "Нет места на диске". Впоследствии, если будет желание вернуть папку /tmp в оперативную память- можно раскомментировать и настроить.

Настроим файл подкачки(если не настроен):

fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile

Затем mcedit /etc/fstab и добавляем строку:

/swapfile none swap sw 0 0

Перезагружаем.

Итак, начинаем.

1С у нас будет работать на PostgreSQL. Скачиваем: wget https://repo.postgrespro.ru/1c-14/keys/pgpro-repo-add.sh

Запускаем установку:

sh pgpro-repo-add.sh

apt-get install postgrespro-1c-14

Убеждаемся, что работает:

systemctl status postgrespro-1c-14

(будет много букв, ищем строчку Active: active(running))

Суперпользователя у Постгреса зовут postgres, создадим ему пароль. Запускаем su postgres спросит пароль, вводим postgres Если напишет, что пароль неправильный, тогда вводим passwd postgres , попросит установить пароль- делаем.

Итак, запустили su postgres , ввели пароль, затем запускаем psql , вводим команду ALTER USER postgres WITH PASSWORD 'Новый_пароль'; , жмем Энтер, потом выходим- вводим /q и жмем Энтер, вводим exit и снова жмем Энтер. Ставим pgAdmin:

apt-get -y install pgadmin3 pgagent

Идем в графический интерфейс, запускаем в терминале sudo pgadmin3 и попадаем в pgAdmin.

Файл- Добавить сервер- вот так как-то:

После нажатия на Ок мы должны подключиться к серверу..
После нажатия на Ок мы должны подключиться к серверу..

Можно даже базу создать, но мы не будем- сделаем это чуть дальше. Кстати, уточню: имеется в виду, что у вас уже есть 1С с СУБД MS SQL(или любой другой).

Если бы мы просто переносили базу с одного MS SQL-ного сервера на другой- все было бы просто: сделали бэкап базы, на новом сервере создали базу и восстановили из бэкапа. В нашем случае это не прокатит, так что делаем выгрузку/загрузку через DT. Итак, идем в 1С, заходим в существующую базу через Конфигуратор, там идем: Администрирование- Выгрузить информационную базу. Получаем файл с расширением dt.

Ставим на новом сервере 1С-ку. Скачиваем, например, тут: идем на releases.1c.ru, ищем там "Технологическая платформа 8.3", заходим в нужную версию, ищем там "Технологическая платформа 1С:Предприятия (64-bit) для Linux", скачиваем файл, он будет примерно таким: server64_8_3_22_1923.tar.gz - внутри будет файл с расширением run - вот он нам как раз и нужен

Кладем его куда-нибудь и запускаем из этой папки установку:

./setup-full-8.3.22.1923-x86_64.run --mode unattended --enable-components server,ws

Делаем автоматический запуск:

systemctl link /opt/1cv8/x86_64/8.3.22.1923/srv1cv8-8.3.22.1923@.service

systemctl enable srv1cv8-8.3.22.1923@

systemctl start srv1cv8-8.3.22.1923@default

Проверим статус:

systemctl status srv1cv8-8.3.22.1923@default

должен быть "Active(running)"

Если потом вы решите удалить 1С, то нужно зайти в /opt/1cv8/x86_64/8.3.22.1923 и запустить uninstaller-full После удаления можно еще отключить автозапуск:

systemctl disable srv1cv8-8.3.22.1923@

systemctl stop srv1cv8-8.3.22.1923@default

Поставим шрифты:

apt-get install fonts-ttf-ms

ln -rs /usr/share/fonts/ttf/ms /usr/share/fonts/msttcorefonts

На всякий случай поставим и это:

apt-get install unixodbc

Потом ищем в "Пуске", "1С:Предприятие х64" и запускаем. Жмем Добавить- Создание новой информационной базы- Создание информационной базы без конфигурации...- Далее- На сервере 1С:Предприятие - Далее и заполняем поля:

-2

Имя информационной базы в кластере- так база будет называться, когда вы будете подключаться к ней с клиентского комп-а, а Имя базы данных- как она называется в Постгресе.

Входим в нее через Конфигуратор, жмем Администрирование- Загрузить информационную базу и грузим наш dt-шник, который мы выгрузили.
Если в процессе загрузки dt-шника будет вылетать с ошибкой- смотрим на нашем сервере статус Постгреса командой
systemctl status postgrespro-1c-14 , если видим, что он неактивный- читаем тут же, почему ему поплохело. Если видим строки вида "killed by the OOM killer" - это означает, что серверу не хватило памяти и он выключил Постгрес. В этом случае серверу нужно добавить памяти или увеличить размер файла подкачки. Чтобы его увеличить- нужно закомментировать строчку /swapfile...в /etc/fstab, перезагрузить сервер, проделать то же самое, что делали, когда его создавали(только размер побольше поставить), снова раскомментировать строчку и перезагрузить.

Еще можно в файле /etc/systemd/system/@srv1cv8-8.3.22.1923@.service закомментировать строки Restart=always и RestartSec=1 - в этом случае, если в процессе загрузки вылетит сама 1С - то она не перезапустится автоматически и будет понятно, что загрузка вылетела из-за 1С.

Если 1С-ке не будет хватать оперативной памяти, то при загрузке файла dt она будет рвать соединение.

После загрузки закрываем 1С и снова входим уже как обычно.

Если при входе пишет, "Конфигурация базы данных не соответствует сохраненной конфигурации"- то заходим в Конфигуратор, жмем Конфигурация- Обновить конфигурацию базы данных

В Windows есть удобная штука- консоль "Администрирование серверов 1С Предприятия". В Линуксе ее нет, зато есть утилита RAC и обработка "Управление серверами".

Настраиваем RAC:

mcedit /etc/systemd/system/rassrv1cv8.service , откроется файл, в него вставляем:

[Unit]
Description=1C:Enterprise Remote Administration Service
After=network.target remote-fs.target nss-lookup.target
Requires=srv1cv8-8.3.22.1923@.service
[Service]
Type=simple
ExecStart=/opt/1cv8/x86_64/8.3.22.1923/ras cluster --port=1545
KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5
User=usr1cv8
Group=grp1cv8
[Install]
WantedBy=multi-user.target

Обратите внимание на строку Requires=srv1cv8-8.3.22.1923@.service - т.е. RAC ждет, пока запустится сервер 1С, чтобы самому запуститься, так что если этого сервиса не будет- RAC не запустится.

Строка ExecStart=/opt/1cv8/x86_64/8.3.22.1923/ras - этот путь должен существовать.

chmod 777 /etc/systemd/system/rassrv1cv8.service

systemctl enable rassrv1cv8.service

systemctl start rassrv1cv8.service

Проверим- работает ли:

systemctl status rassrv1cv8.service

Нам нужно найти внешнюю обработку "Управление серверами". Я ее нашел тут: https://its.1c.ru/db/metod8dev#content:5957:hdoc:_top:ras

Сделаем пустую базу, с помощью которой будем рулить серверами.

Заходим в 1С- Добавить- Создание новой...- Далее- Создание информационной базы без конфигурации..- Далее- На сервере 1С:...Далее, Заполняем поля:

Вот так..
Вот так..

Жмем Далее и в поле "Дополнительные параметры запуска" вставляем строку /Execute "b:\УправлениеСерверами.epf" , где b:\УправлениеСерверами.epf - путь, где лежит обработка, если вы все настраиваете под виндой(если под Линуксом- там будет примерно так: /Execute "/xz/УправлениеСерверами.epf").

На других комп-ах потом эту базу(она у нас будет называться upr) можно будет добавить как обычно, прописав в поле "Дополнительные параметры запуска" эту обработку.

Запускаем нашу базу, запустится обработка, выйдет форма с заголовком "Управление серверами". Жмем Добавить, в Имени подключения пишем все, что угодно, Адрес сервера администрирования- наш 1С-ный сервер, порт у нас будет 1545, Имя пользователя и пароль оставляем пустыми, жмем Подключиться.

Если запускаете эту обработку на сервере- то при входе менять ничего не надо- просто запускаете. А если с комп-а- тогда можно исправить саму обработку, внеся в ее текст название сервера(и имя пользователя и пароль, если создадите для этого специального юзера).

На этом пока все.