Как настроить облако на Linux Ubuntu 20.04, 1C и Apache
Как настроить облако на примере комбинации 1С, Ubuntu и Apache, чтобы заместить иностранные технологии и избежать потери данных.
14К открытий15К показов
Уход западных вендоров корпоративных систем учета из России приводит наш бизнес к необходимости адаптировать отечественные аналоги. Одним из самых популярных решений для замены становится система 1С. Реалии ИТ сегодня таковы, что замещать приходится весь стек, на котором «крутится» корпоративный софт, включая сервера и ОС.
Демонстрируем, как может выглядеть настройка такого набора на примере комбинации 1С, Ubuntu и Apache.
Александр Рудницкий
Программист 1С компании CorpSoft24
Подготовка
Дано:
1. Компания, оказывающая облачные услуги, предоставляет доступ к серверу через SSH: адрес, порт, логин, пароль.
2. Подключаемся к серверу: ssh ip-адрес -p 22 -l пользователь
3. Чтобы большинство настроек выполнялось автоматически, и чтобы было удобней (для пользователей Windows привычней), установим графическую оболочку.
Также графическая оболочка нужна, чтобы работать в конфигураторе 1С. Самой быстрой, легкой и оптимальной в сочетании «удобство + производительность» является оболочка LXDE, поэтому устанавливаем ее.
Размер оболочки чуть меньше 2 Гб.
Экранную программу можно выбрать любую, я выбрал gdm3.
В оболочке LXDE автоматически устанавливается анимационная заставка; в нашем случае она лишняя, поэтому удаляем:
4. Для безопасности устанавливаем обновления.
5. Перезагружаемся
Основная часть
6. Создадим пользователя, под которым будем входить на сервер:
7. Изменение пароля пользователя:
8. Включить пользователя в группу sudo:
9. Теперь нужно войти на сервер в графическом режиме. По умолчанию в Linux отсутствует RDP-сервер (по сравнению с Windows), а также отсутствует аналогичный производительный терминальный сервер.
В Linux есть множество вариантов организации терминального сервера, однако большинство из них настолько низкопроизводительны и низкостабильны, что работать просто невозможно. Наиболее оптимальными в сочетании «скорость + стабильность» являются два RDP-сервера: XRDP и X2GO.
У обеих программ сбоит буфер обмена.
У программы XRDP плюсом является возможность подключиться встроенным RDP-клиентом Windows, но есть замечания к безопасности.
У программы X2GO есть минус в необходимости устанавливать клиент, зато плюсом является безопасность, так как работает через протокол SSH, поэтому выбор пал на X2GO (wiki.x2go.org).
Установка серверной службы:
Всего-то 18 Мб. В ранних версиях Ubuntu нужно было добавлять репозиторий:
В версии 20.04 программа уже присутствует в стандартном репозитории.
Проверяем, что сервер X2GO работает:
10. На своем компьютере (Linux Mint) устанавливаем клиент:
Клиент x2go есть и для систем: Windows, OS X, Ubuntu, Raspbian, Fedora, Redhat, Slackware, FreeBSD; также можно собрать клиент из исходников.
В клиентском приложении X2GO настраиваем подключение.
и подключаемся
11. При первом запуске сеанса в целях безопасности нам предлагают сохранять историю сохранений и копирований, но эта опция мало на что влияет, поэтому «No».
12. Настраиваем рабочее окружение.
Для удобства оставляем только один рабочий стол.
13. Так как в x2go буфер обмена сбоит, а при установке и при выполнении настроек нужно часто копировать пароль, то временно нужно скопировать или вписать пароль в текстовом редакторе. Так как система Ubuntu Server, то удобные привычные текстовые редакторы отсутствуют, поэтому установим Geany:
14. И для редактирования системных файлов, чтобы исключить сбои настроек (такая ошибка присутствует в Linux), установим другой текстовый редактор, например, gedit:
Устанавливаем русский язык:
16. Завершаем сеанс и входим заново, чтобы дальше работать в русскоязычном окружении.
17. Добавляем раскладку клавиатуры.
18. После перезапуска сеанса почему-то перестает открываться файловый менеджер PCManFM, поэтому устанавливаем другой файловый менеджер Thunar, легковесный, быстрый, удобный, достаточно функциональный.
Всего 11 Мб для файлового менеджера.
19. Создаем общий каталог, чтобы пользователи, работающие на сервере (например, консультанты и разработчики 1С) могли обмениваться в нем файлами.
20. Файл с настройками из эталонного профиля заменяем на общий системы:
21. Проверяем указание имени сервера в файле hosts:
22. Скачиваем дистрибутив PostgreSQL с сайта 1С
В данном случае я скачал PostgreSQL-14.3-1.1C.
23. Распаковываем архив в отдельный каталог и запускаем установку:
В описании к данной версии указано, что протестировано на Ubuntu 20.04, однако, как видим, версия от 1С сходу отказывается устанавливаться.
Пробуем автоисправление зависимостей и ошибок:
Повторная попытка установки безрезультатна. Читаем, какие зависимости требуются: libreadline7.
Находим: оказывается, пакет принадлежит дистрибутиву Ubuntu 18.04 (Bionic) — странная ситуация.
Скачиваем и пробуем установить пакет.
Опять препятствие; и похоже, что «чем дальше в лес», тем больше может быть неудовлетворенных зависимостей, поэтому придется добавить источник пакетов Bionic:
Добавлена строка:
Пробуем снова:
Ошибка исчезла, остались другие:
Устанавливаем требуемые зависимости:
Фиксируем пакет, чтобы исключить обновление и поломку работоспособности
Еще попытка:
Оказывается, автоматически установилась версия postgresql-common меньше, чем требуемая, и это тоже странно. Ищем более новую версию.
Версия 229 присутствует между дистрибутивами Ubuntu impish и jammy, а оба они более поздние, т. е. новее.
Здесь внимание! Нельзя указывать источник пакетов из более нового дистрибутива, так как пакеты могут обновиться, зависимости пересекутся и в результате невозможно будет установить ни одно приложение — проверил на собственном опыте.
Так как далее придется скачивать и устанавливать по одному пакету, для удобства установим менеджеры пакетов gdebi:
Устанавливаем зависимости:
Скачиваем и устанавливаем пакеты:
Теперь попытка установки PostgreSQL проходит успешно с автоматической инициализацией кластера баз:
Проверим работоспособность:
24. В СУБД меняем пароль postgres:
25. Подключаемся к базе под пользователем postgres с указанием пароля (стандартная практика при создании базы 1С):
26.
Ошибка: по умолчанию разрешен вход только под системным пользователем postgres.
Включаем возможность авторизации по паролю.
Теперь подключение успешно:
27. Скачиваем дистрибутив платформы 1С с сайта 1С
В данном случае я скачал 8.3.21.1302, выбрав строку «Технологическая платформа 1С:Предприятия (64-bit) для Linux».
28. Распаковываем архив, двойным кликом запускаем установку:
29. Установка выглядит так, как будто мы работаем в Windows:
30. В файле службы включаем отладку:
31. В последних платформах 1С для Linux исключено автосоздание службы.
Создаем её вручную.
Для платформы до 8.3.21:
Настраиваем автозапуск службы:
Для платформы, начиная с 8.3.21:
Если понадобилось отредактировать файл службы (например, отключить отладку или сменить каталог), актуализируем службу:
Проверяем, что служба работает:
32. Создаем базу 1С.
При создании базы может быть ошибка: «Authentication method 10 not supported».
Понижаем уровень шифрования пароля до md5:
Заодно можно сразу и настроить параметры в соответствии с данным сервером.
Для применения изменений перезагружаем службу:
33. Устанавливаем Apache.
Проверяем работу в браузере
34. Если извне закрыты порты 80 и 443, то их нужно открыть (можно только для конкретного адреса или пути), чтобы проверить работу веб-сервера и публикуемых баз 1С:
Порты могут быть закрыты на стороне облачного провайдера, тогда придется попросить поставщика услуг об открытии.
35. Устанавливаем бесплатный сертификат от «Let’s Encrypt» через certbot. Каждые 3 месяца сертификат продлевается автоматически.
При запросе домена, если домен отсутствует, указываем "ip-адрес сервера".sslip.io
36. Публиковать базу 1С можно теперь на самом сервере стандартным способом, аналогичным, как это делается в Windows.
Адрес базы по умолчанию:
Заключение
Как видим, развертывание 1С в Linux-среде c базой данных PostreSQL является полностью выполнимой задачей, а все возникающие трудности с настройкой в процессе носят вполне рабочий характер.
Linux и раньше был рабочим вариантом для развертывания 1С, и вендор предпринимал шаги для адаптации платформы под эту ОС. В новых условиях развития экономики использование Linux в качестве основной среды для всего комплекса задач корпоративного учета является оптимальным решением, поэтому мы продолжим серию публикаций на эту тему.
14К открытий15К показов