Сегодня 12 ноября 2022 года, дата - это очень важно, так как в будущем все может измениться.
На эту дату актуальна версия Debian 11.5, версия платформы 8.3.22.1672 и версия PostgreSQL 14 именно это мы будем запускать.
Начнем с вопросов - зачем так сложно, под Linux....
Ну во первых это не сложно, во вторых, опять же учитывая дату, а согласно ей ситуация в мире "так себе" и против России всякие санкции, с одной стороны - Майкрософт к нам попой - ничего не продает и банит загрузки, с другой и мы к нему можем отнестись не очень хорошо - использовать пиратское ПО.... Но не будем, вдруг очередное обновление мелкософта положит не только принтеры, как они это периодически любят, а все.... Будем думать впрок - используем свободное ПО и избегаем рисков от бзиков корпораций - ставим Linux!
Если у вас есть реальная машинка, где все можно организовать и пустить в работу - это очень здорово! Но я в качестве примера все буду показывать на основе виртуальной машине в Virtual Box.
Не много информации по реальной машине, как мы обычно собираем:
Для операционной системы и баз данных мы подбираем SSD с некоторым запасом емкости, в идеале если она с интерфейсом m.2
Обычно рэйд не собираем, но ставим обычный жесткий диск под резервные копии, но выбираем надёжный, чтоб работал 24/7, мое личное предпочтение - пурпурные wd, да, они предназначены для видеонаблюдения, но именно по этому я им доверяю, что они держат нагрузки, по моему опыту еще ни одна такая wd-шка не "представилась"
Ну и объем памяти лучше заложить заранее и побольше, это не та вещь на которой надо экономить. Плюс у системы лицензирования 1с есть не приятная особенность - лицензия по мимо прочих "железных" параметров - привязывается к количеству оперативной памяти. Так что лучше сразу взять с запасом, если возьмёте допустим 16, активируйте 1с, добавите ОЗУ и придется расходовать еще один пин-код.
Ну и процессор... Тут уже на ваше предпочтение, конечно, чем круче, тем лучше.... У меня же стоит на боевом сервере 12-и ядерный AMD, но учитывая количество всех запущенных баз (около 20) - он загружен на 90-100%.
И так... К делу! Что мы будем делать - поставим операционную систему Linux Debian 11, установим сервер 1С Предприятие, систему управления базами данных Postgresql, web-интерфейс, настроим сеть, бэкапы ну и на последок поднимем web-сервер 1С Предприятие!
Если вы опытный пользователь Linux, можете пропускать то что буду досканально разжовывать, так как меня попросили написать инструкцию по поднятию серверов для тех, кто о Linux в лучшем случае слышал.
1) Установка Linux:
Скачиваем дистрибутив debian11 MINI ISO
Скачиваем тестовую машину VirtualBox
Скачиваем консоль управления Putty
Чтобы виртуальную машину можно было запустить - нужно в Биосе включить поддержку аппаратной виртуализации.
1.1) Создаем виртуальную машину:
В сетевых настройках указываем тип - сетевой мост и выбираем наш сетевой адаптер, иначе виртуальная машина не будет доступна по сети.
Запускаем нашу виртуальную (а может и реальную) машину.
1.2) Устанавливаем базовую операционную систему Linux Debian 11.5 - без графического интерфейса с минимумом компонентов:
Выбираем язык
Удобный способ переключения клавиатуры
Указываем имя нашего сервера - если это и правда будет сервер 1с - лучше его больше никогда не менять
Выбираем страну из которой будут загружаться компоненты Debian
Выбираем зеркало - сайт откуда идет загрузка
У ОС Linux есть супер пользователь root и все остальные. root - царь и бог - может спокойно грохнуть операционную систему пока она работает, здесь установим ему параноидально-сложный пароль и затем его повторяем:
Создаем не привилегированного пользователя - user c другим каким-нибудь паролем:
Настраиваем регион:
Разбиваем диск - системный как правило полностью заполняем, затем соглашаемся и записываем изменения на диск
Пошел процесс установки
Не будем страдать фигней, внимательно прочитаем и нажмем Нет
Далее выбираем необходимые для работы компоненты - убираем все точки и оставляем только стандартные системные утилиты + ssh-сервер, чтобы оно работало и можно было удаленно подключиться.
Снова пойдет установка, затем важная часть - установка загрузчика - его нужно установить на правильный диск, на виртуальной системе - больше некуда, но на реальной - надо ровно на тот диск, куда поставили систему.
Когда пишет что установка завершена - отключаем cd-rom с дистрибутивом Debian
Затем нажимаем перезагрузиться
Если после перезагрузки появилось такое окно, значит все пошло хорошо и операционная система установилась и готова к работе
1.3) Настройка удаленного подключения
Узнаем IP адрес этой машины в локальной сети. Для начала надо авторизоваться, вводим в приглашение root и пароль супер-пользователя (при вводе пароль не отображается)
Затем вводим команду "ip address"
И видим примерно следующую картинку, после чего РЕАЛЬНЫЙ сервер можно отключать от монитора, а мы можем подключиться удаленно по протоколу SSH и видеть все тоже самое что в окне виртуальной машине, только из удобств - можно копировать из буфера обмена команды.
Подключаемся из под Windows с помощью Putty:
В меню Data указываем пользователя под которым будем авторизовываться в системе, так как по умолчанию в целях безопасности SSH доступ для root закрыт (открыть можно, но не будем) - указываем пользователя user
Авторизуемся через путти через пользователя user, затем вводим команду su (супер-пользователь, он же root, вводим его пароль)
Теперь можем нажать Open - сразу пойдет подключение, либо вернуться назад в меню Session и нажать Save, чтобы сохранить настройки подключения.
1.4) Установка базовых утилит:
Базовые утилиты это mc - файловый менеджер, htop - менеджер процессов. Обычно все устанавливается командой apt. Она имеет множество опций.
apt install mc - скачивает из облаков дебиана пакет mc и устанавливает, некоторые пакеты (программы) могут иметь зависимости - зависимости - это как dll-библиотеки в Windows, только тут не нужно отдельно скачивать как NetFramework например. Они ставятся автоматически и автоматически удаляются когда удаляются все программы которые их используют.
apt update - проверяет репозитории (облако с дистрибутивами) debian и кеширует у себя информацию о том, что там есть.
Если какой то пакет (программа) обновился, поменял номер версии или переименовался - и мы хотим его установить, а его нет - обновляем информацию командой apt update
Если не известно точно имя пакета, можем его попытаться найти командой
apt list *часть названия пакета*
Чтобы автоматически обновить все программы в операционной системе можем запустить команду
apt dist-upgrade
Так же команда apt позволяет установить уже скачанный пакет в формате *.deb
apt install ./имя_пакета.deb где ./ - обозначает текущий каталог иначе программа полезет в интернет на поиски этого пакета и возможно его не найдет. Многие сторонние разработчики ПО для Linux не выкладывают свои программы в публичные репозитории, но их можно скачать в нужном формате для нужной операционной системы.
Сейчас нам нужно установить то что жизнено-необходимо, вводим команду
apt install mc htop
имена пакетов пишутся через пробел. Многие любят поумничать и вводят что-то более сложное, например
apt update && apt dist-upgrade
таким образом линукс позволяет ввести в консоль две команды - одна обновляет базу пакетов, вторая обновляет программы операционной системы. Что аналогично двум командам:
apt update
apt dist-upgrade
Так же установим утилиту для работы с сервером через веб-интерфейс, которая чуть более наглядно все показывает. Называется Webmin
как перекинуть ее на виртуальную машину - мы скачаем дистрибутив через консольный клиент wget
wget https://prdownloads.sourceforge.net/webadmin/webmin_2.000_all.deb
это тот самый случай когда нужной программы нет в стандартных репозиториях Debian.
Чтобы она корректно установилась, надо нам поправить пути окружения в операционной системе, чтобы программы находились по нужным путям автоматически.
Открываем mc и в нем ищем файл /etc/profile его открываем на редактирование и при первой такой попытке - указываем чем будем редактировать по умолчанию - mcedit
Чтобы не ломать «заводские алгоритмы» - мы после них добавим строку:
PATH="/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
Файл должен приобрести следующий вид:
Затем сервер нужно перезагрузить… Обычная команда reboot - как раз и заработает после того как поравили файл profile и перезагрузили. По этому пока что перезагружаем командой
systemctl reboot
После этого можно будет перезагружаться командой reboot (от супер пользователя)
Теперь пробуем установить Webmin, идем в папку куда его скачали и вводим команду:
apt install ./webmin_2.000_all.deb
Оно само подгрузит зависимости и запустит веб-интерфейс на порту 10000 и можно попасть на сервер по адресу https://IP:10000 и там можно сразу вводить логин и пароль root
Далее - ч.2: установка и настройка СУБД PostgreSQL