Сервер на Linux для небольшой компании. Опыт от наших клиентов. | МАРС Телеком

ПерезвонимВам

Попробовать бесплатно
Нажимая ОТПРАВИТЬ я соглашаюсь с обработкой персональных данных
Вы также можете связаться с нашими специалистами по телефону 8 800 333-65-40 (звонок бесплатный по всей территории России).
аватарка
MARS Connector

Программа служит для подключения к услуге "Аренда виртуального сервера" и "Аренда 1С".

СКАЧАТЬ

Сервер на Linux для небольшой компании. Опыт от наших клиентов.


Однажды, в порыве повышения лицензионности используемого софта, мы решили поставить перенести нашу it-инфраструктуру на облачный сервер под управлением Linux. Был совсем небольшой опыт работы на локальных машинах под линуксом (успешный).

Запросить демо
Листайте ниже

Однажды, в порыве повышения лицензионности используемого софта, мы решили поставить перенести нашу it-инфраструктуру на облачный сервер под управлением Linux. Был совсем небольшой опыт работы на локальных машинах под линуксом (успешный).

Продвинутого опыта работы с линуксом не было. Но в сети довольно много позитивного опыта развертки такой архитектуры, и мы решились. Данная статья точно НЕ является мануалом по установке линукс, но уверен, будет неплохим дополнением.

Что нам было необходимо от сервера:

  1. Сервер 1С (с СУБД) для рабочих баз + некоторое количество файловых рабочих баз
  2. Веб-сервер
  3. Общий каталог для отдельных файловых баз
  4. Система резервного копирования
  5. Работа принтеров в офисе
  6. И еще нам зачем-то нужен был wine, сейчас уже не вспомню зачем.

Вводные данные:

Как вы помните из предыдущего - мы небольшая фирма, активных пользователей округленно до 10 человек. Было принято решение взять виртуальный сервер в аренду у компании МАРС Телеком, т.к. посоветовали знакомые, которые давно с ними работают. Характеристики сервера: Тариф Enterprise, процессор Xeon 3.3 ГГц 6 ядер, оперативной памяти 18 Гб; Дисковая подсистема SSD 1 Тб.

Настраивать виртуальную машину решили самостоятельно, хотя компания предлагала нам бесплатную настройку от своих технических специалистов. Ниже представлен перечень действий которые мы совершали и то, к чему они привели, сгруппировано по функциям. Фактически это выборка из различных статей по установке линукса, которые были актуальны для нас. А также результаты и наши выводы по трудозатратам.

Совместимость программного обеспечения мы проверяли здесь.

Дистрибутив

Мы выбрали дистрибутив Ubunto Desktop 18.04 по разным причинам. Установить дистрибутив мы как раз попросили технических специалистов МАРС Телеком.

Установки 1С

Тут никаких проблем особо нет - выкачиваем все дистрибутивы, устанавливаем все последовательно через графический установщик, соблюдая зависимости. Собственно в другой последовательности установить и не даст. 1С устанавливается в каталог /opt/1C/v8.3/x86_64.

Apache

Сервер Apache устанавливается стандартными средствами Linux введя в консоли команду

sudo apt install apache2

У нас установилась версия 2.4, работает нормально.

    • Проблема с установкой Apache - при публикации на веб сервере из конфигуратора, 1C почему-то показывает версию Apache 2.2, хотя нужно выбрать версию 2.4 - соответственно. Откуда там 2.2 - не ясно.

    • Проблема с использованием внешних файлов Apache - все каталоги перенесены в группу www-data, права для всех все.

    • Доступ к ФАЙЛОВОЙ базе данных одновременно из Apache и через 1С в файловом режиме - похоже неразрешимая задача, т.к. каталог должен принадлежать 2 группам одновременно.

    • В файле envvars необходимо раскомментить строку

      . /etc/default/locale

      иначе внешние файлы через веб-клиента 1С будет называть в кривой кодировке (для файлов с кириллицей в имени).

  1. Проблема со шрифтами в 1С решается установкой следующего пакета:

    sudo apt install ttf-mscorefonts-installer

    Не смотря на то, что в официальной документации написано - качайте вручную на sourceforge. Как вариант - выкачать по ссылке с сорсфордж, экзешники открыть архиватором и распаковать в одну папку. Выбрать оттуда только файлы шрифтов. В каталоге ~ создать каталог ./fonts и запихать все шрифты туда. Проделать это для каждого пользователя. Это точно поможет.

  2. Общие нужные команды

    Для работы со службами используется команда systemctl используется для старта (start), остановки (stop), перезапуска службы (restart) , проверки состояния службы (status).

    Пример:

    Перезапустить сервер Apache.

    systemctl restart apache2

    Запустить сервер 1C.

    systemctl start srv1cv83

    Проверить состояние PostgreSQL.

    systemctl status postgresql

    (должно показывать active)

    Имена служб:

    • srv1cv83 - демон (служба) сервера 1С
    • apache2 - демон (служба) апача
    • postgresql - постгре

    Проверить правильность работы службы постгре (см. ниже).

    netstat -na|grep tcp

    Проверить работу службы сервера:

    top – u usr1cv83

    (должны работать службы ragent, rphost,rmngr)

    Мониторинг нагрузки на железо:

    htop

    Мониторинг запущенных процессов (служб)

    ps

    Ctrl + U - скопировать в буфер текущую строку (в терминале контр Ц не работает.

    Ctrl + Y - вставить скопированную строку

    Добавление пользователей, редактирование прав доступа - через графическую оболочку вполне посильная задача.

  3. Служба терминалов и графическая оболочка.

    Подробная инструкция здесь.

    Установка xrdp - ничего необычного.

    sudo apt install xrdp

    Ставим mate-core — это рабочая среда MATE Desktop (почему мате - см. ниже):

    sudo apt-get install mate-core

    Добавляем конфиг:

    sudo echo mate-session> ~/.xsession

    Если запущен файрволл — добавляем исключение, принимать подключения на порт 3389 (по-умолчанию):

    sudo ufw allow 3389/tcp

    Перегружаем:

    sudo reboot

    И пробуем пользоваться удаленным рабочим столом. Но, бывает иногда и так, что этих шагов оказывается недостаточно.

    Тогда ищем файл /etc/xrdd/startwm.sh и в нем комментируем строки (вероятно, будут последними):

    test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession

    и вместо них добавляем другие две строчки:

    unset DBUS_SESSION_BUS_ADDRESS exec mate-session

    Заходим в /etc/xrdp/sesman.ini

    Находим параметры - убивать дисконнектуных пользователей через 300 секунд (проблема нагрузки на проц скринсейвером лок-экрана).

    Почему MATE:

    Попробовали xfce4 - слишком унылая и непонятная для привыкших к винде людей.

    Cinnamon - жрет 60% ЦПУ.

    Повышение производительности графической оболочки.

    • В первую очередь необходимо осуществить переход в рамках главного меню системы: «Меню — Параметры — Окна», перейти на вкладку «Общие» открывшегося окна и убрать флажок «Включить программный композитный оконный менеджер».

    • После этого необходимо осуществить еще один переход в рамках главного меню системы: «Меню — Параметры — Mate tweak», перейти в раздел «Окна» открывшегося окна и в подразделе «Оконный менеджер» сменить значение параметра «Оконный менеджер» с «Marco + Compositing» на «Marco».

    • Далее нужно удалить Compiz. Для этого следует открыть окно терминала и ввести в него следующую команду (используйте функции копирования/вставки):

      sudo apt-get remove compiz-core
    • Наиболее удобная графическая оболочка для меня выглядит следующим образом: Меню-Параметры-Внешний вид - вкл.Тема - Traditional Ok : Меню — Параметры — Mate tweak - Панель - выбрать Redmont.

    • Убрать галку в настройках хранителя экрана "запускать хранитель экрана когда компьютер заблокирован" как вариант -убивать дисконнектунтых пользователей xrdp (см. выше).

  4. PostgreSQL

    Ради бога не ставьте новую версию, посмотри совместимость еще раз здесь: https://v8.1c.ru/tekhnologii/sistemnye-trebovaniya-1s-predpriyatiya-8.

    Качаем дистрибутивы с portal.1с.ru и ставим 3 пакета. Доппакеты не качал, зависимости не качал. Всё заработало и так.

    Прописываем в файле /etc/postgresql/10/main/pg_hba.conf два раза trust в нужных местах.

    Обязательно зайди в "обновление программ" и отключи автообновление, иначе постгря обновится на новый релиз из репозитория и все сломается.

    Переходим в оболочку администрирования psql

    sudo -u postgres psql

    Меняем пароль:

    \password

    Вводим его два раза, выходим из оболочки:

    \q

    Пользователь postgres, пароль "1".

    Общая информация:

    Настроечные файлы /etc/postgresql/10/main/postgresql.conf - здесь можно посмотреть где физически хранятся файлы баз данных (параметр data_directory).

    Команды работы с БД: (теряют смысл при наличии оболочки администрирования кластера серверов, что не может не радовать).

    Подключиться к серверу sql (перейти в оболочку).

    sudo -u postgres psql

    Вывести список баз в оболочке:

    \l

    \du

    - список всех пользователей и их привилегий.

    удалить базу данных:

    DROP DATABASE <имя базы>;

    - регистр имеет значение, точка с запятой на конце нужна. НЕ ЗАПРАШИВАЕТ ПОДТВЕРЖДЕНИЕ, ТУПО УДАЛЯЕТ ВСЕ!!!

    Выйти из оболочки

    \q

    Ошибки.

    На следующий день после установки отвалился postgre с ошибкой:

    Не удалось подключиться к серверу: Connection refused (0x0000274D/10061).

    Он действительно работает по адресу "localhost" (127.0.0.1) и принимает TCP-соединения (порт 5432)?

    Оказалось, что 1с-ный релиз постгры обновился до следующего релиза из репозитория и отказался работать. Решение - удалить постгрю серверную часть и клиентскую. и поставить заново из deb пакетов скачанных с portal.1c.ru.

    Базы данных, настройки, пользователи при этом остаются на месте, никуда не удаляются.

    Правильная работа постгре проверяется следующей командой:

    netstat -na|grep tcp

    В выводе должны быть следующие строки:

    tcp        0      0 0.0.0.0:1540            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:1541            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:1560            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:1561            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:1562            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:1563            0.0.0.0:*               LISTEN
    			
  5. Ставим winehq-stable для полноценной работы с графической оболочкой и офисом:

    sudo apt install winehq-stable

    Если не запускается - заходим вот сюда, качаем для i386 и ставим сначала faudio, потом wine-stable, а потом winehq.

  6. SAMBA

    Скачан установлен по умолчанию, в /etc/samba/samba.conf в конце дописываем следующее:

    [samba]
    path = /srv/samba    #это путь до расшариваемой папки, меняем как нам надо
    browsable = yes
    witable = yes
    quest ok = yes
    read only = no
    create mask = 0777  # важно, чтобы файлы создаваемые всеми были доступны для записи/чтения всеми
    			

    Перезапускаем самбу.

    Не заработало. Постоянные конфликты пользователей. файловая база в шаре не запускается от двух пользователей одновременно.

    Дальнейшее администрирование - через webmin!!!!

    Добавляю всех пользователей в одну группу. Делаю ее основной для каждого пользователя. В настройках самбы шары - эту же группу вставляем в Force Unix group.

    Теперь медленно вкуриваем мануал и понимаем суть написанного:

    При работе под управлением ОС Linux, система «1С:Предприятие» создает файлы с явно выданными разрешениями 0660 (привилегия чтение/запись для владельца файла и группы владельца).

    Теперь база, размещенная в шаре доступна каждому из пользователей.

    На самом деле, шара на линухе - это адский ад. Ключевая проблема - нет наследуемости прав. Шара просто теряет свойства шары, если ты не можешь поделиться каталогом без плясок с бубном (я знаю про umask, но это тоже пляски с бубном, и 1с не рекомендует использовать).

  7. Администрирование кластера серверов 1С

    В идеальном мире:

    Запуск службы админ кластера:

    /opt/1C/v8.3/i386/ras --daemon cluster

    Запуск программы работы с кластером:

    /opt/1C/v8.3/i386/rac cluster list

    В моем случае: демон ras не запускается. Для его запуска идем по адресу https://forum.infostart.ru/forum86/topic236353/, читаем коммент №3 скачиваем скрипт, делаем его исполняемым.

    1. положить в /etc/init.d/
    2. выполнить systemctl daemon-reload
    3. запустить собственно службу: /etc/init.d/ras1c start (мне помогло по-другому: systemctl start ras1c, причем после перезагрузки сервера)

    Проверяем что служба ras1c работает:

    systemctl status ras1c

    Видим актив - значит все хорошо.

    Веселимся с этим всем, и понимаем что ну его в пень дырявый такое администрирование.

    !!! Устанавливаем под виндой консоль mmc.

    Сначала под администратором(!) запускаем "Регистрация утилиты администрирования серверов 1С Предприятия".

    Потом запускаем "администрирование кластера серверов".

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

    Установили webmins.

    Webmins работает по ip адресу сервера на 10000 порту. В нашем случае это //192.168.88.111:10000.

    Управление пользователями - здесь удобнее, настройка самбы и постгры - тоже удобнее, чем из терминала.

  8. БЭКАПЫ - штатная программа pgdump, чуть позже настроить по инструкции например здесь: //infostart.ru/public/73972/ Спойлер - так и не настроили.

  9. ПРИНТЕРЫ

    1. Принтеры не пробрасываются через rdp. Более того, чтобы пробрасывались диски, необходимо УБРАТЬ галку "принтеры" в настройках Rdp (это для клиента на windows).
    2. Подключение принтера usb в сети.

    Не заработало.

    sudo apt install pyton-smbc
    sudo apt install pyton3-smbc
    
    Edit "/etc/cups/cupsd.conf"
    
    Change:
    
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
    
    
    To:
    
    AuthType None
    # AuthType Default
    # Require user @SYSTEM
    Order deny,allow
    
    			

    Работа с принтерами осуществляется через веб-интерфейс \\localhost:631

    Для полного счастья в /etc/cups/printers.conf нужно сделать AuthInfoRequired none.

    Результат - Ноль без палочки.

Вывод

Через 2 месяца такой развлекухи, снесли линукс к едреней фене, и поставили винду. Пара-пара-пам. Фьють!

При этом вполне можно на линуксе поднимать однозадачные сервера (напр только для АТС, только для сервера 1С, только для веб-сервера итд) без общего доступа и без RDP. Это удобно, относительно быстро и надежно. Многофункциональный сервер на линуксе без богатого опыта администрирования - это зло и потеря времени.


https://marstel.ru/vps

Уже уходите?Хотите, перезвоним Вам за 30 секунд?

Сейчас на линии несколько свободных специалистов и мы сможем перезвонить Вам в течение нескольких секунд.

Пользовательское соглашение Звонок для Вас бесплатный

БЕСПЛАТНЫЙ АУДИТ
ОТДЕЛА ПРОДАЖ

при заказе нашей услуги