В общем-то, все, что тут будет написано- можно найти в интернете. Но лучше, когда все можно будет найти в одном месте, при этом если вы на меня подпишитесь- то потом не придется все это долго искать- просто прочитаете мою писанину статью.
Небольшие подготовительные действия.
Ставим 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С:Предприятие - Далее и заполняем поля:
Имя информационной базы в кластере- так база будет называться, когда вы будете подключаться к ней с клиентского комп-а, а Имя базы данных- как она называется в Постгресе.
Входим в нее через Конфигуратор, жмем Администрирование- Загрузить информационную базу и грузим наш 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, Имя пользователя и пароль оставляем пустыми, жмем Подключиться.
Если запускаете эту обработку на сервере- то при входе менять ничего не надо- просто запускаете. А если с комп-а- тогда можно исправить саму обработку, внеся в ее текст название сервера(и имя пользователя и пароль, если создадите для этого специального юзера).
На этом пока все.