Архив рубрики: Debian

PROXMOX 5 установка и настройка

Установим систему виртуализации Proxmox 5 версии на Raid1 в операционной системе Debian 9. В качестве гипервизора система использует KVM и LXC. Возможность виртуализировать все популярные операционные системы. Удобная и понятная панель управления.

Введение

Использовать систему в работе удобно и за все время использования она меня не подводила. Начинал использование с 4 версии, но вышла 5 версия с очень удобными и функциональными изменениями. Сразу после выхода новой версии любого программного продукта я не спешу обновляться и всегда жду в районе 3 месяцев, так я избавляю себя от ошибок которые всегда есть при выходе любой новой версии. На сайте разработчика есть инструкции как производить обновление на новую версию. Вариант установки как с готового образа iso так и ручная установки на Debian.

Никогда не устанавливайте и не загружайте систему разными сервисными службами, на которой установлен Proxmox, если не хотите иметь проблем при обновлении! Отдавайте под раздел boot минимум 500 мегабайт если не хотите получать ошибку о нехватке места при обновлении ядра!

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

Сильно установка и подход к варианту использования мной в новой версии не отличается от предыдущей. Перейдите по ссылке вы найдете там все нужную информацию.

В этой статье я расскажу об моих нюансах при настройке, более расширено поведаю про вариант моей настройки и за что именно мне так нравится работать с этой системой.

Установка Proxmox 5 с нюансами

В дальнейшем будем исходить из того что:

  • Настроена пересылка почты на внешний адрес,
  • Установлен SWAP раздел в виде файла,
  • Используется mdadm raid1,
  • Используется два сетевых интерфейса.

Инструкция по установке от разработчика Proxmox

На сайте разработчика вы найдете подробную инструкцию как установить Proxmox 5 версии на систему Debian 9.

Изучив инструкцию разработчика и мою предыдущую статью у вас придет понимание о том как необходимо правильно устанавливать систему виртуализации.

Подключение старых Raid 1 масивов

В моем случае в старой системе было 2 диска на которых было 2 массива RAID1. После подключения дисков в Proxmox 5 выведем информацию о массивах:

cat /proc/mdstat
= вывод команды =
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc1[0] sdd1[1]
 972668928 blocks super 1.2 [2/2] [UU]
 bitmap: 0/8 pages [0KB], 65536KB chunk

md127 : active (auto-read-only) raid1 sdc2[0] sdd2[1]
 980582464 blocks super 1.2 [2/2] [UU]
 bitmap: 0/8 pages [0KB], 65536KB chunk

md1 : active raid1 sdb2[1] sda2[0]
 244066304 blocks super 1.2 [2/2] [UU]
 bitmap: 1/2 pages [4KB], 65536KB chunk

md0 : active raid1 sdb1[1] sda1[0]
 975296 blocks super 1.2 [2/2] [UU]
 
unused devices: <none>

Видим два массива md126 и md127. Такую нумерацию дала система по умолчанию. Меня это не совсем устраивает и я переименую их в md2 и md3 соотвественно. Переименование осуществляем стандартным способом. Останавливаем и удаляем массив:

mdadm --stop /dev/md126
mdadm --remove /dev/md126

Собираем с новым именем:

mdadm --assemble /dev/md2 /dev/sd[cd]2 --update=name

Добавляем в /etc/mdadm/mdadm.conf нужную информацию:

mdadm --examine --scan | grep 'md/2' >> /etc/mdadm/mdadm.conf

Проверим выполненные действия:

cat /etc/mdadm/mdadm.conf
= вывод команды =
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=d2f35a7c:c01935c3:4518c36a:fa9bab1c name=proxmox:0
ARRAY /dev/md/1 metadata=1.2 UUID=30b2043b:d51bfbca:a663c213:07fccdbe name=proxmox:1
ARRAY /dev/md/2 metadata=1.2 UUID=50b54af3:041683d2:376764c3:a9a3b1ec name=proxmox:2

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

При добавлении ранее собранных массивов RAID в систему Proxmox 5 необходимо обновить ядро системы! Если это не сделать то после перезагрузке названия изменятся на те что были до изменения!

Обновим ядро выполнив необходимую команду:

update-initramfs -u

Все другие массивы делаем аналогичным способом.

Настройка сетевых интерфейсов

Настройка сетевых интерфейсов это отдельная тема и сильно вникать в детали я не буду. Расскажу как использую я и что считаю самым удобным и оптимальным при использовании. В случае использования одного сетевого интерфейса все просто. Создаете Bridge и все виртуальные машины будут в одной локальной сети. При использовании двух сетевых интерфейсов варианты реализации увеличиваются. В моем случае сетевой шлюз расположен на виртуальной машине и весь сетевой трафик идет через него. Для такого варианта реализации на обоих сетевых интерфейсах создаем Bridge. Вот так выглядят мои сетевые настройки в панели управления Proxmox 5:

На всякий случай, для понимания, приведу пример как это выглядит в файле настроек сетевых интерфейсов:

cat /etc/network/interfaces
= вывод команды =
auto lo
iface lo inet loopback

source /etc/network/interfaces.d/*

iface enp5s0f0 inet manual

iface enp5s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
 address 192.168.0.100
 netmask 255.255.255.0
 gateway 192.168.0.106
 bridge_ports enp5s0f0
 bridge_stp off
 bridge_fd 0

auto vmbr1
iface vmbr1 inet static
 address 192.168.1.100
 netmask 255.255.255.0
 bridge_ports enp5s0f1
 bridge_stp off
 bridge_fd 0

Распишу что к чему в этой настройке:

  • enp5s0f1 — физическая сетевая карта в которую вставлен провод от внешней сети с которой получаю интернет от роутера Asus,
  • vmbr1 — Bridge сетевой карты enp5s0f1 которому назначен сетевой адрес 192.168.1.100 и другие необходимые параметры,
  • enp5s0f0 — физическая сетевая карта которая работает с внутренней локальной сетью,
  • vmbr0 — Bridge сетевой карты enp5s0f0 которому назначен сетевой адрес 192.168.0.100 и другие необходимые параметры.

Обращаю внимание что в на одной из виртуальных машин настроен шлюз и только в таком варианте возможна работа всех виртуальных машин и реальных компьютеров в данном варианте настройки сети.

При настройке виртуальной машины в качестве шлюза надо добавить два сетевых устройства и назначить каждой свой Bridge и выполнить необходимые настройки для шлюза. Будут вопросы внизу есть комментарии на которые я всегда отвечаю.

Проброс портов в локальную сеть с интернета

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

  1. Пробрасываем порт с роутера Asus на машину с установленным шлюзом,
  2. На самом шлюзе пробрасываем порт до нужной машины.

Останавливаться на настройке самого шлюза не буду. Скорей всего расскажу об этом в своих следующих статьях.

Прелести работы с Proxmox 5

Коротко пробегусь по основным моментам в работе с Proxmox 5 дабы вы смогли оценить всю прелесть использования этой системы.

Подключение новых хранилищ

По умолчанию после установке в системе находится всего одно хранилище. При желании вы можете подключить и другие хранилища разными популярными способами. Выбор вариантов удовлетворит почти любые требования. Для каждого хранилища помимо указывания названия, места и способа расположения есть два параметра:

  1. Содержимое — выбор какие именно типы файлов будут хранится в этом хранилище, что сильно упрощает варианты выбора при дальнейшей настройке,
  2. Макс. резерв. копий — в случае использования хранилища для резервных копий выставляете количество копий.

Вот так всё это выглядит в панели управления:

Подключение хранилища NFS

Для бэкапов виртуальных машин и образов ISO  мне удобно использовать сервер настроенный специально для всевозможных бэкапов. Перейдите по этой ссылке и узнаете про настройку сервера NFS.

В Proxmox достаточно добавить хранилище NFS и указать необходимые параметры.

После указания ip адреса в случае правильной работы сервера NFS путь покажется в выборе.

Укажите необходимое количество резервных копий!

Загрузка образов и шаблонов

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

Образы ISO вы можете грузить любых операционных систем! Контейнеры LXC лучше использовать из предложенных вариантов. Только стандартные шаблоны LXC будут стабильно работать в системе.

Выбираем хранилище, переходим в «Содержимое» в случае с загрузкой iso выбираем «Загрузить». Для контейнеров выбираем «Шаблоны». Вот так выглядит вариант загрузки ISO образа:

После загрузки нажимаем «Создать VM» или «Создать СT»

Создание виртуальной машины и LXC

Рассматривать разницу между виртуальной машиной и контейнером LXC в данной статье я не буду. У каждого варианта есть как свои плюсы так и минусы. Просто имейте ввиду что это возможно а что вам подходит больше вы поймете когда изучите данный вопрос.

Не буду рассказывать про установку LXC опишу установку виртуальной машины так как такой вариант максимально часто используется. Установка производится в несколько этапов. На первом этапе необходимо указать ID машины и название. На практике для удобства я назначаю id машины такой же какой в последствии будет ip адрес машины. При таком варианте мне всегда просто понять как подключится к машине по ssh. В имени я всегда указываю какую роль выполняет машина и какая операционная система.

На следующем шаге нам необходимо выбрать iso образ требуемой операционной системы.

Выбор вариантов установки операционных систем радует.

К выбору варианта жесткого диска надо отнестись серьезно и советую перед выбором ознакомится с вариантами вида работы виртуального диска его размера и формата!

Для систем Linux я обычно использую вариант как показан ниже.

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

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

Сетевые параметры тоже не вызывают больших вопросов и выбираются в зависимости от того как вы настроили свой гипервизор на базе Proxmox 5.

На финальной стадии смотрим все параметры что выбрали и если всё устраиваем жмем «Завершить» и машина создастся в очень короткий срок.

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

Консоль работы с виртуальными машинами

Первое что нам потребуется при работе с виртуальными машинами это монитор для работы с машиной. Грубо говоря консоль это монитор нашей виртуальной машины который мы можем использовать двух типов. Два типа варианта консоли для работы с виртуальными машинами или CLX:

  • В окне самой панели управления, но это не всегда удобно так как зависит от разрешения экрана

  • Вывод в отдельном окне по нажатию кнопки «Консоль» сверху справа и с последующей возможности развернуть на весь экран.

Работать в консоли довольно просто и понятно.

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

В последствии, как правило, на системах Windows вы настроите «Удаленный рабочий стол» а для работы с системами LInux вы будете использовать ssh и работать через консоль.

Проброс USB устройств в виртуальную машину

Эта пожалуй самая главная вкуснятина в новой версии. В предыдущей статье я изложил как произвести USB проброс в Proxmox  в старой версии (а в последствии обновил статью и добавил возможности в 5 версии). Перейдите по указанной ссылке и увидите как разработчики идут на встречу удобству использования своей системы.

Резервное копирование виртуальных машин в системе Proxmox 5

Никогда нельзя быть на 100% уверенным в правильности выполняемых действий и спасти от краха системы может только правильный подход при создании резервных копий. В системе Proxmox ребята решили вопрос с бэкапами идеально. Существует два способа резервного копирования.

Ручное создание бэкапа

Выбираем нужную машину, переходим в «Резервирование», и нажимаем «Резервировать сейчас» настраиваем параметры что нам надо и получаем резервную копию в очень короткий период. Окно можно закрывать и позже открыть для просмотра результата.

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

Автоматическое создание бэкапа

Тут все еще приятней. Переходим в «Датацентр» — «Резервирование» и добавляем задания для резервирования. Все что надо для параметров есть. Время, период и на какую почту оповещать и тд. и тп.

Восстановление из резервной копии

Перед запуском восстановления необходимо остановить виртуальную машину!

Переходим в раздел восстановления выбираем нужную копию и жмем «Восстановление».

Вот так удобно и просто работать с резервным копированием.

Варианты загрузки виртуальных машин

Присутствует возможность автоматически загружать виртуальную машину после перезагрузки системы Proxmox. Порой бывает необходимо чтобы какая то машина стартовала первой а следом все остальные. Даже такую нужную опцию разработчики предусмотрели. В закладке «Опции» виртуальной машины есть значения:

  • Запуск при загрузке — выбираем ДА или НЕТ,
  • Start/Shutdown order — параметры запуска и остановки машины. По умолчанию стоит параметр order=any.

Вот так выглядит окно с настройками Start/Shutdown order:

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

Мониторинг виртуальных машин

На закладке «Сводка» у виртуальной машины вы увидите все основные параметры работы виртуальной машины. Можно при желании заполнить блок «Заметки».

Информация SMART о состоянии HDD

Перейдя в раздел «Disks» вы увидите все ваши диски и можете посмотреть состояние SMART.

Мало того если выйдет из строя Raid1 вы получите сообщение на почту. Вот такое пришло мне сообщение на почту когда на диске стали проявляться плохие сектора:

«This message was generated by the smartd daemon running on: host name: proxmox DNS domain: sevo44.loc The following warning/error was logged by the smartd daemon: Device: /dev/sdf [SAT], 1 Currently unreadable (pending) sectors Device info: WDC WD10EARS-00Y5B1, S/N:WD-WMAV51109954, WWN:5-0014ee-0ac9680cc, FW:80.00A80, 1.00 TB For details see host’s SYSLOG. You can also use the smartctl utility for further investigation. The original message about this issue was sent at Sat Oct 14 10:21:50 2017 MSK Another message will be sent in 24 hours if the problem persists.»

И все это прямо из коробки без настройки системы мониторинга.

Мониторинг параметров системы

На странице «Датацентр» — «Сводка» вы ознакомитесь со всеми основными параметрами работы системы виртуализаци. Наглядно и красиво.

Права доступа в систему

Права доступа можно предоставлять пользователям по совершенно разным параметрам.

Firewall в системе Proxmox 5

По умолчанию система Firewall на «Датацентр» отключена, но при желании можете настроить на свой вкус и цвет. На самом узле система включена.

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

Логирование Proxmox

Все необходимые логи вы сможете посмотреть в панели управления.

Вывод

Один из важных моментов заключается в том что старайтесь управлять системой с панели управления так как попытка настроить параметры в консоли может вызвать проблемы в работе с системой!

Вы еще не захотели использовать систему виртуализации Proxmox? Попробуйте и вы не пожалеете. Мною используются далеко не все возможности и возможно для себя вы найдёте то, что давно хотели использовать в работе с виртуальными системами без проблем в настройках. Свобода использования, активное развитие, удобное использование и обслуживание системы однозначно ставит систему Proxmox для меня на первое место. Возможно в последующем я освою как делать репликацию между двумя отдельными системами Proxmox, но в работе это пока не требуется так как в малых и средних организациях вопрос об использовании двух серверов не стоит. Меня уже радует когда на приобретение одного хорошего сервера выделяют необходимый денежный ресурс.

Conky удобный мониторинг системы

Рассмотрим основные моменты по работе с замечательной программой Conky которая позволяет выводить на рабочий стол любые параметры вашей системы показывая все процессы компьютера в реальном времени. Универсальная настройка для любой OC Linux.

Вступление

Удобное и информативное отображение параметров системы и особенно отображение тех параметров которые мне хочется видеть была одной из моих главных пожеланий при настройке любой системы. Первое время я пытался добавлять на панели разные аплеты с выводом информации, но все это не совсем удобно. Когда первый раз познакомился с Сonky мне было не удобно настраивать его и каждый раз при переустановке системы лезть в настройки и настраивать. К моей радости один из пользователей Calculate Linux, который регулярно выкладывает свои сборки, в сборку добавляет свой подход к настройкам Conky его то я и взял за основу.

Установка Conky

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

Calculate Linux или Gentoo:

emerge conky

Debian

apt-get install conky

CentOS

yum install conky

Управление Conky

Для запуска достаточно запустить в консоли из под пользователя команду и на рабочем столе появится базовая версия отображения параметров:

conky

Все параметры берутся и файла настроек по умолчанию и вряд ли кого устроят. Вот так выглядят базовые настройки на моем рабочем столе:

Вся настройка производится редактирование одного файла conkyrc который в разных версиях может быть в разных местах.

Остановить можно командой из под пользователя:

killall conky

Удобный подход к работе с Conky

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

Вот то что я делаю при установке новой системы для удобной работы с Conky:

  • Ложу папку my_conky туда куда мне удобно,
  • Папку со шрифтами копирую в папку /usr/share/fonts/,
  • Добавляю в автозагрузку файл start-conky.sh в котором прописаны параметры запуска.

Файл необходимо сделать запускаемым. В консоли команда: chmod +x /путь до/start-conky.sh

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

Мой далеко не идеальный вариант настройки вы можете скачать по ссылке и отредактировать параметры под все свои требования.

Файл настроек Conky

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

Вот мой файл настроек который вы можете увидеть в скаченном архиве:

###############################
# Настройки Алексея Долотова #
# для сайта sevo44.ru #
###############################
update_interval 1
total_run_times 0
net_avg_samples 1
cpu_avg_samples 1
if_up_strictness link
# imlib_cache_size 0
double_buffer yes
no_buffers yes
format_human_readable
#######################
# Текстовые настройки #
#######################
use_xft yes
xftfont Ubuntu:size=8
override_utf8_locale yes
text_buffer_size 2048
#####################
# Оконная специфика #
#####################
own_window_class Conky
own_window yes
#own_window_type conky
own_window_argb_visual yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
border_inner_margin 4
border_outer_margin 1
alignment top_right
gap_x 15
gap_y 15
minimum_size 182 700
maximum_width 182
default_bar_size 60 8
# use_xft yes
# xftfont caviar dreams:size=8
# xftalpha 0.5
# uppercase no
#########################
# Графические настройки #
#########################
# draw_outline no
draw_borders no
draw_graph_borders no
draw_shades yes
default_color cccccc
color0 D3D2D5
color1 77507b
color2 F2F2F2
color3 5C3566
######################################
# Начало кода вывода после кода TEXT #
######################################
TEXT
###########
# Система #
###########
!!! Часть кода скрыл. Все увидите в скаченном архиве my_conky !!!
#########
# Конец #
#########

Вот так выглядят мои настройки на рабочем столе:

Под моим контролем всегда:

  • Состояние работы процессора,
  • Загруженность памяти и какие ресурсы кушают больше всего,
  • Какие приложения занимают ресурсы процессора,
  • Информация о свободном месте на диске,
  • Результат работа обоих сетевых карт, проводной и wi-fi,
  • Информация о назначенных IP адресах.

Результат

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

1С:Предприятие 8.3 на Linux

Установим и настроим 1С:Предприятие 8.3 на OC Debian. Работать программа будет на свободном терминальном сервере XRDP для удобного подключения с любой системы. Прощай популярный нелегальный перевод систем Windows в терминальный сервер.

Введение

Произведем установку и настройку программы «1С:Предприятие 8.3» c конфигурацией «Бухгалтерия предприятия (базовая)» с программной и аппаратной лицензией. Установка будет производится на подготовленный сервер терминалов работающий под управлением XRDP в операционной системе Debian 8.

В системе Debian 9 все настраивается аналогичным образом. Единственное что необходимо это выбрать правильный пакет для HASP.

Многие конторы занимающиеся 1С будут советовать вам приобретать для работы в системе именно систему Windows обосновывая это большей надежностью и удобством. Имейте в виду что при продаже Windows продавец, согласно политике компании, получает приличное вознаграждение что вызывает у многих буйное желание продать побольше товаров МайкраСофака. Вам ведь никто не скажет что в системе Linux люди не используют антивирусы 🙂 там вирусы не живут.

Все действия производятся с учетом настройки сервера терминалов рассмотренной в статье «XRDP терминальный сервер Linux«.

Платформа и конфигурация 1С:Предприятие для Linux

В документах, которые вы получили после приобретения программного продукта семейства 1С, вы найдете регистрационные данные которые необходимы для регистрации на портале поддержки 1C:Портал поддержки. После регистрации и активирования своего продукта вы получите доступ для скачивания всего необходимого.

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

Различие Базовой и Проф конфигурации

К выборе версии надо подходить очень аккуратно и не идти на развод торгующих компаний на подписку ИТС.

Компании обслуживающие 1С заинтересованы склонить вас на подписку и получать ежемесячный доход ничего не делая.

Рассмотрим кратко основные отличия:

  • Базовая версия — при этом выборе вы можете вести только одну организацию в одной базе. Можно таких баз вести сколько угодно но для каждой организации будет своя база. Плюс в том что вы всегда сможете сами обновляться с официального сайта поддержки не прибегая к помощи сторонних специалистов.

Если вы не планируйте вносить изменения в конфигурацию и пользоваться проверенной и стабильно работающей версией то это именно то что вам надо.

  • ПРОФ версия — как только вы перешли на эту версию про обновления можете забыть так как они будут доступны только при подписке ИТС. Появится возможность вносить изменения в конфигурацию и вести несколько фирм в одной базе но надо ли вам это решайте сами.

Самое главное имейте в виду что при переходе на ПРОФ вы полностью зависите от той компании в которой оформили подписку ИТС и от тех специалистов которые будут работать с вашей программой. Компаний много и тут важно выбрать хорошую. Лучше если это будет по рекомендации людей которым вы доверяете.

Вот вопрос-ответ службы поддержки 1С на два моих вопроса.

Версию ПРОФ в отличии от БАЗОВОЙ можно обновлять только при активной подписке на ИТС? — Да.

В моем случае для тестирования без приобретения подписки ИТС я не смогу обновлять верию ПРОФ легальными способами? — Да.

В практике сталкивался с тем что иногда компания сидит в старой версии программы (например 8.1) и хотят перейти и обновится до новой версии 8.3 но продавец у которого они приобретали продукт говорит что надо покупать новую версию. Какое было у них удивление когда я обновлял и ставил им последнюю версию и показывал как надо обновляться. Конечно я не затрагиваю момент обновление конфигурации с обновлением всех данных хотя и это при грамотном подходе возможно сделать с сохранением всех основных данных.

Программная и аппаратная лицензия 1С:Предприятие

Это пожалуй один из важных моментов которые нужно учесть сразу. Программная лицензия стоит дешевле но вызывает кучу проблем при смене оборудования. Не скрою что отдел лицензирование всегда идёт на встречу и может предоставить даже большее количество активаций при определенных условиях, но это не всегда удобно. Использование USB ключей всё упрощает и развязывает руки при обновлении оборудования  или оптимизации работы с 1С.

В практике был случай когда компания приобрела программную лицензию на 5 пользователей и активировало её не для сервера а для каждого пользовательского компьютера. По началу все было нормально но когда база увеличилась начались проблемы со скоростью работы и даже использование скоростного диска SSD и перевода сети на 1 Gbit не сильно улучшило ситуацию.

Варианты разворачивания сети 1С:Предприятие

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

Существует два вида работы базы данных:

  1. Файловая база данных — самый простой вариант и подходит идеально для небольших организаций. Этот вариант мы и рассмотрим в этой статье.
  2. База данных SQL — более сложный вариант и ориентирован на большое количество пользователей. При небольшом количестве пользователей нет смысла использовать такой вариант. Для работы будет нужна серверная лицензия которая стоит в районе 80 000 рублей.

Внимание!
Сервер 1С:Предприятия 8. под Linux может запуститься и без лицензии, при этом он позволяет иметь в кластере только один рабочий процесс, который допускает не более 12 клиентских соединений. Однако, такая работа сервера не дает права использования программного обеспечения сервера 1С:Предприятия без покупки продукта «1С:Предприятие 8. Лицензия на сервер». Об этом сказано в лицензионном соглашении любой основной поставки 1С:Предприятия.

Оптимальное использование файловой базы данных 1C:Предприятие

Когда вы используйте файловую базу данных расположенную в локальной сети и клиенты подключаются скорость работы в программе зависит от скорости локальной сети и от мощности самого компьютера. Для небольших баз этот вариант приемлем но очень быстро базы увеличиваются и работа в программе становится все медленней и медленней за исключением компьютера на котором расположена сама база.

Существует два варианта улучшения скорости работы в файловой базе данных:

  • Использование локальной сети 1 Gbit и диска SSD для базы данных — на какой то момент это улучшит положение но как показала практика не на долго. Очень быстро пользователи привыкают к улучшению скорости и начинаются опять жалобы на зависания в работе.
  • Использование терминального сервера — при этом варианте в организацию приобретается один мощный компьютер на котором устанавливается программа и все пользователи удалено подключаются к компьютеру использую свой профиль. Получится что на одном компьютере будет одновременно сидеть несколько пользователей не видя друг друга. По сети передается только картинка а вся работа производится на сервере. Возможно настроить удаленный доступ из интернета и тогда избранные пользователи смогут используя медленный интернет спокойно работать в программе с домашнего компьютера.

Конечно вы можете приобрести серверную версию Windows так как только там легально можно использовать терминальный режим. Некоторые по многочисленным советам в сети переводят обычные версии Windows в терминальный режим используя нелегальные варианты. Мой выбор пал но терминальный сервер Linux который удовлетворил все мои пожелания и требования.

Установка 1С Предприятие 8.3 на Linux

Пошагово пройдем путь установки программы на систему Debian 8.

Предварительная подготовка

Создадим папки на сервере куда разместим все необходимые файлы для установки платформы,программного обеспечения для работы с Hasp ключами USB и для баз данных программы:

mkdir /root/1с
mkdir /root/1c/deb
mkdir /root/1c/hasp
mkdir /base1c

Установим пакеты которые необходимы для установки и корректной работы программы:

apt-get install imagemagick libwebkitgtk-1.0-0 libc6-i386 libgsf-bin libgsf-1-common

Изменим файл /etc/hosts для правильной работы с базами PostgreSQL если нам потребуется:

mcedit /etc/hosts
= вывод команды с необходимыми изменениями =
127.0.0.1 localhost
127.0.1.1 xrdp1c.sevo44.loc xrdp1c
# без этой строки базы в PostgreSQL из шаблона создаваться не будут
192.168.0.105 xrdp1c.sevo44.loc xrdp1c

# The following lines are desirable for IPv6 capable hosts
#::1 localhost ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters

Установка 1С:Предприятие 8.3

Скачиваем с сайта поддержки 1С два необходимых архива:

  • Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем
  • Клиент 1С:Предприятия (64-bit) для DEB-based Linux-систем

 Распаковываем архивы и кладём всё что там есть в папку /root/1c/deb:

cd /root/1c/deb 
ls -l
= вывод команды =
итого 734240
-rw-rw-r-- 1 root root 234390780 апр 27 04:18 1c-enterprise83-client_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 21241724 апр 27 04:18 1c-enterprise83-client-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 38098736 апр 27 04:18 1c-enterprise83-common_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 6994234 апр 27 04:18 1c-enterprise83-common-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 205387286 апр 27 04:18 1c-enterprise83-server_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 69034756 апр 27 04:18 1c-enterprise83-server-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 160004354 апр 27 04:18 1c-enterprise83-thin-client_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 16330304 апр 27 04:18 1c-enterprise83-thin-client-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 347850 апр 27 04:18 1c-enterprise83-ws_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 15056 апр 27 04:18 1c-enterprise83-ws-nls_8.3.10-2252_amd64.deb

Пакеты с thin — это тонкий клиент. Нам он не нужен и можно удалить эти пакеты.
Пакеты nls нужно использовать в случае использования языков кроме русского.

Удалив всё лишнее, запустим установку:

dpkg -i *.deb
= вывод команды =
Выбор ранее не выбранного пакета 1c-enterprise83-client.
(Чтение базы данных … на данный момент установлено 89244 файла и каталога.)
Подготовка к распаковке 1c-enterprise83-client_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-client (8.3.10-2252) …
Выбор ранее не выбранного пакета 1c-enterprise83-common.
Подготовка к распаковке 1c-enterprise83-common_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-common (8.3.10-2252) …
Выбор ранее не выбранного пакета 1c-enterprise83-server.
Подготовка к распаковке 1c-enterprise83-server_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-server (8.3.10-2252) …
Выбор ранее не выбранного пакета 1c-enterprise83-ws.
Подготовка к распаковке 1c-enterprise83-ws_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-ws (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-common (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-server (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-ws (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-client (8.3.10-2252) …
Обрабатываются триггеры для desktop-file-utils (0.22-1) …
Обрабатываются триггеры для mime-support (3.58) …
Обрабатываются триггеры для hicolor-icon-theme (0.13-1) …
Обрабатываются триггеры для systemd (215-17+deb8u7) …

Работа с сервером 1С:Предприятие в системе Linux

Программа установлена осталось проверить некоторые моменты.

Установим необходимый пакет:

apt-get install net-tools

Проверим:

netstat -atn|grep 0.0.0.0:15
= вывод команды =
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 
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

Должны быть открыты 3 порта! Если открыт будет только один создать базу PostgreSQL не удастся из за ошибки в соединении с сервером базы данных!

Проверим всели процессы сервиса запущены:

ps aux|grep 1c
= вывод команды =
ps aux|grep 1c
avahi 597 0.0 0.0 32220 2824 ? Ss 17:53 0:00 avahi-daemon: running [xrdp1c.local]
usr1cv8 1502 0.0 0.0 35632 3836 ? Ss 18:04 0:00 /lib/systemd/systemd --user
usr1cv8 1503 0.0 0.0 52184 2124 ? S 18:04 0:00 (sd-pam) 
usr1cv8 1509 0.4 0.9 639868 37568 ? Ssl 18:04 0:00 /opt/1C/v8.3/x86_64/ragent -daemon
usr1cv8 1517 1.7 2.6 1469848 105816 ? Sl 18:04 0:03 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host xrdp1c -range 1560:1591 -clstid 647987d4-4ac9-11e7-d489-12508af76120
usr1cv8 1591 2.0 5.7 1186824 227684 ? Sl 18:04 0:03 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost xrdp1c -regport 1541 -pid 67059b5a-4ac9-11e7-d489-12508af76120
root 1623 0.0 0.0 12756 2208 pts/0 S+ 18:07 0:00 grep 1c

Все стартовало и работает как надо. Команды управления сервером 1С:Предприятие:

service srv1cv83 start
service srv1cv83 stop
service srv1cv83 restart
service srv1cv83 status

Создание файловой базы данных 1C:Предприятие

При первом запуске вылезет сообщение о необходимости установки шрифтов. В моем случае все шрифты были и отображаются  корректно.

В Linux для создания баз из шаблона вначале необходимо установить шаблон в необходимую папку а потом указать в настройке откуда брать шаблоны.

Для этих действий необходимо чтобы в системе была установлена Wine. К сожалению без этого нельзя запустить файлы exe. Других способов установки базы из шаблона в системе Linux я не нашел.

В моем случае я скопировал папку с базой в нужное место и дал необходимые права:

chmod -R 777 /base1c

Права надо давать только после того как копируйте все необходимые базы 1С!

Активирование программной лицензии 1С:Предприятие

В активировании программной лицензии есть один нюанс. Если вы запустите программу она напишет что необходимо активировать и вы начнете вводить пин код то он окажется на 1 знак больше чем требуемое количество.

Для активации обнопользовательской программной лицензии необходимо запустить программу 1С:Предприятие под пользователем root и только тогда при активации появится необходимое поле.

Установка HASP для работы с USB ключом

Программное обеспечение для работы с USB ключом будем использовать от компании Etersoft. Посмотрим какие последние версии для Debiam 8 есть на сайте перейдя по ссылке ftp://ftp.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/8/ В моем случае последняя версия haspd_7.40-eter10debian_amd64.deb.

Для Debian 9 выберите пакет для этой системы.

Перейдем в папку, скачаем туда пакет:

cd /root/1c/hasp
wget ftp://ftp.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/8/haspd_7.40-eter10debian_amd64.deb
= часть вывода команды =
2017-06-01 17:04:10 (2,25 MB/s) - «haspd_7.40-eter10debian_amd64.deb» сохранён [3261640]

Установим:

dpkg -i haspd_7.40-eter10debian_amd64.deb 
= вывод команды =
Выбор ранее не выбранного пакета haspd.
(Чтение базы данных … на данный момент установлено 41583 файла и каталога.)
Подготовка к распаковке haspd_7.40-eter8debian_amd64.deb …
Распаковывается haspd (7.40-eter8debian) …
Настраивается пакет haspd (7.40-eter8debian) …
insserv: warning: script 'haspd.outformat' missing LSB tags and overrides
Обрабатываются триггеры для systemd (215-17+deb8u3) …
Обрабатываются триггеры для man-db (2.7.0.2-5) …

Запустим и проверим статус:

service haspd start
service haspd status
= вывод команды =
● haspd.service - LSB: Hasp keys support
Loaded: loaded (/etc/init.d/haspd)
Active: active (running) since Вт 2016-03-29 16:22:46 MSK; 1s ago
Process: 6521 ExecStart=/etc/init.d/haspd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/haspd.service
├─6557 aksusbd
├─6568 winehasp
├─6577 hasplm -c /etc/haspd/hasplm.conf
└─6586 hasplmd -s

мар 29 16:22:46 vm008srv1c8 haspd[6521]: Enable workaround for /proc/bus/usb (bind from /dev/bus/usb)[ DONE ]
мар 29 16:22:46 vm008srv1c8 haspd[6521]: [ DONE ]
мар 29 16:22:46 vm008srv1c8 aksusbd[6557]: loaded, daemon version: 7.40.1.50292, key API (USB) version: 3.88 (parallel driver not available)
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running aksusbd... [ DONE ]
мар 29 16:22:46 vm008srv1c8 winehasp[6568]: winehasp 2.00 loaded
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running winehasp... [ DONE ]
мар 29 16:22:46 vm008srv1c8 hasplm[6577]: HASP LM v8.30 loaded
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running hasplm... [ DONE ]
мар 29 16:22:46 vm008srv1c8 hasplmd[6586]: HASP LM v18.0.1.55506 loaded
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running hasplmd... [ DONE ]

Все хорошо. Осталось подключить USB ключ или как в нашем случае пробросить его в системе Proxmox до нужной виртуальной машины.

Проброс USB устройства в системе виртуализации Proxmox

Рассказано для 4 версии Proxmox в 5 всё делается в веб интерфейсе!

Более подробно о вариантах проброса USB устройств в системе Proxmox вы можете узнать из статьи «USB проброс в Proxmox«.

Выполним проброс USB устройства с ключом от 1С:Предприятие 8, согласно статьи указанной выше.

Все действия на сервере Proxmox!

lsusb
= вывод команды с пояснениями =
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
# Вот наш ключ
Bus 002 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 002 Device 004: ID 0665:5161 Cypress Semiconductor USB to Serial
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
lsusb -t
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
 |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbfs, 1.5M
 |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=usbfs, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M

Видим что шина 2 и порт 2. Пропишем в параметры виртуальной машины:

mcedit /etc/pve/qemu-server/ID виртуальной машины.conf
= необходимое дополнение =
# Добавляем в конце строку. При изменении параметров vm эта строка останется!
usb0: 2-2

После перезагрузки сервера виртуализации Proxmox устройство будет работать в нужной виртуальной системе.

Проблемы со шрифтами

Сразу не заметил проблему со шрифтами при экспорте в pdf файл. Часть текста обрезалась и информация была не полной. Можно ставить пакеты со шрифтами но я вычислил, что достаточно иметь шрифты по пути /usr/share/fonts/msttcorefonts.

Создадим нужную папку:

mkdir /usr/share/fonts/msttcorefonts

И скопируйте туда шрифты которые можете скачать msttcorefonts.tar

Уменьшение нагрузки на сервер 1C:Предприятие

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

Обновление платформы 1С:Предприятие в Linux

Обновление производится по принципу установки программы пройденной в статье выше. Скачиваем новые пакеты и заново устанавливаем.

Обновление базовой конфигурации 1C:Предприятие в Linux

Обновление для ПРОФ это совсем другая песня.

Обновлять конфигурацию можно двумя способами:

  1. Автоматическое обновление — в режиме конфигуратора базы. Конфигурация — Обновить конфигурацию.. — Поиск доступных обновлений указываем наш логин и пароль от личного кабинета пользователя и обновляемся.
  2. Ручное обновление — вначале скачиваем все необходимые обновления в зависимости от версий обновления в личном кабинете и дальше в конфигураторе базы. Конфигурация — Обновить конфигурацию.. — Выбор файла обновление

Результат

После всех выполненных действий у нас будет работать терминальный сервер в котором удобно и конформно работать с программным комплексом 1С:Предприятие 8 для пользователей и администраторов. Лично для меня это развязало руки от привязки к компьютеру куда я установил программу и активировал программный ключ. В следующих статьях на тему 1С расскажу как я настроил резервное копирование файловых баз даныx и произведу установку базы на PostgreSQL c публикацией на Web сервере.

XRDP терминальный сервер Linux

Установим терминальный сервер XRDP на OC Debian. Настроим все основные требования для удобной работы с сервером для пользователей и администраторов. В последствии рассмотрим установку на сервер программу из семейства 1С Предприятие 8.

Введение

Из статьи вы узнаете о том как настроить терминальный сервер на базе операционной системы Linux. Настраивать будем используя дистрибутив Debian 10 Buster.

Ранее в этой статье я расказывал как производится настройка на Debian 8 и 9 версии и какие нюансы настройки. В новой версии большенсово проблем прошлых версий исправлено, но появились новые с решением которых я с вами и поделюсь.

Совершенно нет желания захломлять ресурс старыми не актуальными статьями. XRDP он всегда один и лучше использовать его на новых стабильных версиях. При желании всегда можно мигрировать со старой версии Debian на новую. Например, я вполне успешно делаю обновления начиная с 7 версии.

Вариант с нелегальным переводом системы Windows в терминальный сервер используя патчи я сразу отбросил в сторону. Не занимаюсь воровством программ и не буду.

Требования для терминального сервера:

  • Работа буфера обмена в обоих направлениях,
  • Переключение раскладки клавиатуры на русский язык,
  • Работа пользователей по сертификату,
  • Монтирование сетевых ресурсов,
  • Подключение локальной папки на сервер,
  • Создание одной сессии для пользователя,
  • Подключение принтеров.

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

Графическую оболочку лучше использовать легковесную. Например, LXDE или XFCE. В моем примере рассматривается использование XFCE.

Все дальнейшие действия описаны с учетом стандартной усатновки сервера с выбором окружения XFCE и установкой ssh сервера.

Если вам хочется почитать «Как скачать и установить Debian 10 Buster» вы можете это сделать на сайте который стал для меня отправной точкой в изучении Linux. Все статьи на этом ресурсе написаны понятным языком и проверены автором перед тем как выкладывать в сеть.

Неудачная попытка настройки XRDP на CentOS 7

В репозитории Epel присутствует свежая версия xrdp.x86_64 1:0.9.2-10.el7 что сразу порадовало. Установка проходит без проблем и все сразу работает после старта службы.

В CentOS, как я понял, работают в основном над своим рабочим окружением Gnomе и стараются поддерживать KDE. Для терминального сервера окружение Gnome и KDE тяжеловаты. Можно установить XFCE, LXDE или MATE но они в урезанном виде и пришлось поковыряться, чтобы настроить нужные элементы на панели не говоря уже о других неудобных моментах в настройке.

Дальше я мучатся с настройкой этой системы не стал, так как в Debian все для меня настроилось гораздо проще и удобней.

Предварительна подготовка

Для своего удобства я всегда устанавливаю файловый редактор vim и файловый менеджер mc. Установим выполнив команду:

apt install vim mc

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

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

Установка XRDP на Debian 10

К сожалению вы не сможете впоследствии установить на эту систему 1C:Предприятие по причине долгой задержки в поддержке этой версии от разработчиков. Команды и действия полностью эдентичны для установки на Debian 9.

Системные требования «1С:Предприятия 8»

Установка производится следующей командой:

apt install xrdp xorgxrdp

Настройка произведена и можно подключатся по протоколу RDP.

Для запуска X сервера (отображение экрана) существуют разные права доступа. По умолчанию запуск разрешен всем пользователям с доступом к консоли.

Для изменения прав доступа к запуску X сервера необходимо выполнить следующую команду:

dpkg-reconfigure xserver-xorg-legacy

Перезагружаем сервис:

service xrdp restart

Настройка новых правил применнена и можно подключатся по протоколу RDP используя новые параметры.

Настройка XRDP

Вначале настроим пользователя которого создали при установке и на основе этих настроек создадим в последствии шаблон (скелет) для добавления новых пользователей.

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

Двухсторонний буфер обмена XRDP

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

Перезагрузка системы пользователем XRDP

Остановился на варианте когда простому пользователю для выполнения перезагрузки не надо указывать пароль root.

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

Откроем нужный файл и сделаем необходимые изминения:

vim /usr/share/polkit-1/actions/org.freedesktop.login1.policy
= часть вывода команды и необходимые изменения =
= вместо auth_admin_keep указываем yes =
<action id="org.freedesktop.login1.reboot">
<description gettext-domain="systemd">Reboot the system</description>
<message gettext-domain="systemd">Authentication is required for rebooting the system.</message>
                <defaults>
                        <allow_any>yes</allow_any>
                        <allow_inactive>yes</allow_inactive>
                        <allow_active>yes</allow_active>
                </defaults>
<annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate>
</action>

Теперь при перезагрузке система не будет запрашивать пароль root.

Одна сессия для пользователя XRDP

Мне было необходимо сделать чтобы у пользователя при подключении создавалась только одна сессия и чтобы она сохранялась на сервере. Всегда удобно уйдя с работы и закрыв терминал придти домой подключиться по RDP и увидеть свой рабочий стол со всеми открытыми документами и программами.

Для настройки нам необходимо открыть файл и сделать там необходимые изменения:

vim /etc/xrdp/sesman.ini
= вывод части команды с необходимыми настройками =
[Sessions]
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10

;; MaxSessions - maximum number of connections to an xrdp server
; Type: integer
; Default: 0
# Выставляем количество пользователей для одновременной работе на сервере 
MaxSessions=3

;; KillDisconnected - kill disconnected sessions
; Type: boolean
; Default: false
; if 1, true, or yes, kill session after 60 seconds
# Не разрываем сеанс при отключении пользователя чтобы потом попасть в туже сессию 
KillDisconnected=false

Запрет авторизации ROOT

По умолчанию разрешен вход под пользователем root. В целях безопасности отключим такую возможность:

vim /etc/xrdp/sesman.ini
= необходимое изменение =
[Security]
# Авторизация root. true - разрешено false - запрещено
AllowRootLogin=false

Название подключенной локальной папки

Изменим название подключаемой локальной папки при подключению к серверу терминалов на свое имя:

vim /etc/xrdp/sesman.ini
= необходимое изменение =
[Chansrv]
; drive redirection, defaults to xrdp_client if not set
# Название монтируемой папки
FuseMountName=Mount_FOLDER

Сертификат при работе сервера XRDP

По умолчанию система работает с сертификатами созданными при установке о чем свидетельствует информация в логе xrdp:

cat /var/log/xrdp.log
= необходимая информация =
[INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied

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

Для исправления ошибки выполним команду которая добавит учетную запись пользователя с именем xrdp в группу с именем ssl-cert.

adduser xrdp ssl-cert

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

Выпуск собственого сертификата для XRDP

Выпустим свой сертификат по команде указанном в файле настройки xrdp.  Изменим только действие сертификата с 1 года до 10 лет. Создадим папку, перейдем туда и запустим команду генерации ключа:

mkdir /etc/xrdp/certificate/
cd /etc/xrdp/certificate/
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
= будут заданы вопросы на которые ответьте по аналогии =
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Kostroma
Locality Name (eg, city) []:Kostroma
Organization Name (eg, company) [Internet Widgits Pty Ltd]:sevo44
Organizational Unit Name (eg, section) []:sevo44
Common Name (e.g. server FQDN or YOUR name) []:Administrator
Email Address []:info@sevo44.ru

Отредактируем файл настройки:

vim /etc/xrdp/xrdp.ini
= часть кода с необходимые изменениями =
; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate
; minimum security level allowed for client
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high
; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
certificate=/etc/xrdp/certificate/cert.pem 
key_file=/etc/xrdp/certificate/key.pem
; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1.2, TLSv1.3
; set TLS cipher suites
#tls_ciphers=HIGH

Дадим необходимые права для файлов созданного сертификата выполнив команду:

chown -R xrdp:xrdp /etc/xrdp/certificate/

После перезагрузки сервера и подключения к нему по XRDP cообщений больше в логе об использовании сертификатов по умолчанию нет и сервис работает с нашим сертификатом.

Настройка вида окна авторизации XRDP

Отредактируем параметры отвечающие за отображение формы авторизации пользователей. Отредактируем параметры в файле:

vim /etc/xrdp/xrdp.ini
= часть кода с необходимыми изменениями =

; Login Screen Window Title
ls_title=XRDP server 1C

; top level window background color in RGB format
# Фон
ls_top_window_bg_color=000000

; width and height of login screen
ls_width=350
ls_height=430

; login screen background color in RGB format
ls_bg_color=dedede

; optional background image filename (bmp format).
#ls_background_image=

; logo
; full path to bmp-file or file in shared folder
# Свой логотип в формате bmp размера 240х140
ls_logo_filename=/etc/xrdp/logo_xrdp.bmp
ls_logo_x_pos=55
ls_logo_y_pos=50

; for positioning labels such as username, password etc
ls_label_x_pos=30
ls_label_width=60

; for positioning text and combo boxes next to above labels
ls_input_x_pos=110
ls_input_width=210

; y pos for first label and combo box
ls_input_y_pos=220

; OK button
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30

; Cancel button
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30

= Оставляю сессию только Xorg а остальные коментирую =

;
; Session types
;

; Some session types such as Xorg, X11rdp and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

Результат моих изменений.

Перезагрузим сервис xrdp для применения всех сделанных настроек:

service xrdp restart

Отключение screensaver

Вначале хотел отключать его у пользователей но подумав решил удалить:

apt-get remove xscreensaver

В системе Debian 10 после базовой установки я не обнаружил пакета xscreensaver.

Для того чтобы к системе всегда можно было подключиться в менеджере питания настройте необходимые параметры.

Настройка базового пользователя

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

Раскладка клавиатуры в XFCE

С раскладками в XRDP приходилось возится больше всего. После добавления нового элемента «Раскладка клавиатуры» на панель и его настройки все работает как положено.

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

Что я только не перепробовал, куда только не писал рекомендованный код, по рекомендациям с разных статей но проблема эта никуда не уходила. Показать пользователю как каждый раз настраивать «Раскладка клавиатуры» не серьезно. Вариант есть дубовый но рабочий на 100 % и при любых обстоятельствах.

Добавил элемент на панель «Запуск приложения» указал там «Терминал Xfce» и внёс туда код:

setxkbmap -layout "us,ru" -model "pc105" -option "grp:alt_shift_toggle,grp_led:scroll"

Обратите внимание на клавиши смены раскладки!

Разместил рядом с флагами поменяв иконку на понравившуюся мне. 

Теперь если переключение не работает тыкаем по кнопке и раскладка снова работает.

Решение проблемы с раскладкой клавиатуры

Мне на почту прислал решение Михаил с сайта admin1c.ru
Посл проверки с радостью делись с вами этим решением!

Необходимо в файле /etc/xrdp/xrdp_keyboard.ini добавить необходимый код и переключение работает прекрасна при любых вариантах работы с системой.

vim /etc/xrdp/xrdp_keyboard.ini
= необходимые проверки и дополнения =
В моем случае эти коды были, но лучше проверить их наличие
[default_rdp_layouts]
rdp_layout_us=0x00000409
rdp_layout_ru=0x00000419

Всё что ниже добавляем в конце не забывая что переключение происходит сочетанием  клавиш alt+shift
[layouts_map_ru]
rdp_layout_us=ru,us
rdp_layout_ru=ru,us

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
; model=pc105 при необходимости
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

После перезагрузки XRDP проверяем результат.

service xrdp restart

Блокировка настроек XFCE пользователям

В статье выше мы разрешили простым пользователям перезагружать сервер без ввода пароля root. Cделаем запрет на редактирование системных настроек. В папке /etc/xdg/xfce4/xfconf лежат базовые настройки и по умолчанию они не работают так как работают настройки самого пользователя. Добавив параметр в эти файлы пользователь будет использовать именно их.

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

Cделаем запрет на редактирование панели. Скопируем параметры настроенного пользователя:

cp -v /home/настроенный пользователь/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/
= вывод команды =
«/home/настроенный пользователь/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml» -> «/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml»

Откроем и отредактируем файл указав запрет на изменения всем кроме пользователя local:

mcedit /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
= вывод команды с необходимыми изменениями =
<channel name="xfce4-panel" version="1.0" locked="*" unlocked="local">

После закрытия с сохранением все пользователи кроме local не смогут изменять настройки панели о чем им оповестит окно предупреждения при попытке сделать изменения.

Запрет на изменения настрое XFCE делается редактированием файла:

mcedit /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
= вывод команды с необходимыми изменениями =
<channel name="xsettings" version="1.0" locked="*" unlocked="local">

Настройки XFCE сделанные пользователем не будут применяться но никаких предупреждающих сообщений пользователь не увидит!

Мы настроили запрет на выключение пользователю но значки показываются и можно выполнить действие указав пароль root. Такой вариант решает проблему но захотелось сделать эти кнопки не активными.

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

mkdir /etc/xdg/xfce4/kiosk
mcedit /etc/xdg/xfce4/kiosk/kioskrc
= вывод команды с необходимыми изменениями =
[xfce4-session]
# Указываем пользователей кто может перегрузить сервер или разрешение группе %root
Shutdown=root,sevo44

Обычно я в панели вывожу элемент «Системные действия» и там выбираю только «Перезагрузка» и «Завершение сеанса».

В итоге мы даём возможность всем пользователям выходить из сеанса а перезагрузку разрешаем только избранным пользователям.

Для применения всех параметров перезагрузим сервер:

reboot

Так выглядит выход из системы у пользователей с разрешением.

У всех остальных будет такой вид.

 Создание skel (скелета) для новых пользователей

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

Я использую настройки самой XFCE, рабочего стола и списка баз 1С:Предприятие. Выполним действия:

cd /home/Базовый пользователь
 cp -R -f -b .config/ /etc/skel/
 cp -R -f -b Рабочий\ стол/ /etc/skel/
# В случае использования 1С:Предприятие
 cp -R -f -b .1C/ /etc/skel/

Последняя строка кода скопирует настройку окна «Запуск 1С:Предприятие» в которой указываются параметры всех баз.

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

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

В одной из статей я подробно рассмотрел установку и настройку 1С:Предприятие на сервер терминалов который рассматриваем в этом материале.

Управление пользователями Debian

Для доступа будем использовать обычных пользователей которых создадим на сервере. Можно конечно настроить авторизацию по доменным пользователям, но мне такие сложности пока не требовались к тому же это приведет к необходимости настраивать VPN для пользователей которым необходимо работать удалённо.

Добавление новых пользователей

Добавление производится командой:

adduser user007
= вывод команды с информацией для заполнения =
Добавляется пользователь «user007» ...
Добавляется новая группа «user007» (1007) ...
Добавляется новый пользователь «user007» (1006) в группу «user007» ...
Создаётся домашний каталог «/home/user007» ...
Копирование файлов из «/etc/skel» ...
Введите новый пароль UNIX: 
Повторите ввод нового пароля UNIX: 
passwd: пароль успешно обновлён
Изменение информации о пользователе user007
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
 Полное имя []: user007 
 Номер комнаты []: 
 Рабочий телефон []: 
 Домашний телефон []: 
 Другое []: 
Данная информация корректна? [Y/n] y

Изменении пароля пользователя

passwd user007
= вывод команды =
Введите новый пароль UNIX: 
Повторите ввод нового пароля UNIX: 
passwd: пароль успешно обновлён

Удаление пользователя

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

deluser --remove-home user007
= вывод команды =
Идёт поиск файлов для сохранения/удаления ...
Удаляются файлы ...
Удаляется пользователь «user007» ...
Предупреждение: в группе «user007» нет больше членов.
Готово.

Список пользователей

Посмотреть всех пользователей и их параметры можно посмотрев  необходимый файл:

cat /etc/passwd
= часть вывода команды =
test:x:1001:1001:test,,,:/home/test:/bin/bash
sevo44:x:1002:1002:sevo44,,,:/home/sevo44:/bin/bash
usr1cv8:x:999:1003:1C Enterprise 8 server launcher:/home/usr1cv8:/bin/sh
geoclue:x:119:127::/var/lib/geoclue:/bin/false
davfs2:x:120:128::/var/cache/davfs2:/bin/false

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

Подключение локального диска на сервер терминалов

Подключение было проверено на стандартном клиенте Windows и программах LInux Remmina и KRDC. Монтирование и работа с локальным диском подключаемого клиента происходит без проблем.

В случае проблем с подключением дисков необходимо в настройках подключения в локальных ресурсах отключать галочку “Принтеры»

Подключение с Windows

При подключении c систем Windows на странице авторизации не получится переключить раскладку клавиатуры для требуемого языка ввода. В большинстве случаев по умолчанию стоит Русская раскладка а вводит надо на Английском.

Перед подключением с Windows необходимо вначале перейти на раскладку в которой вводится логин и пароль, как правило это EN.

Добавление принтеров

К принтерам у меня особое отношение. Эти аппараты вечно приносят кучу проблем и слава богу что все больше и больше их делают сетевыми что облегчает настройку. Настроить сетевой принтер не вызовет проблем даже у начинающего администратора. С usb принтерами придется повозится до получения бубна мастера по подключению принтера в системах Linux. Подключение  локального принтера используя программу RDP клиента у меня никогда не получалось а по словам опытных программистов работает коряво и не стабильно. Ладно еще если в одном офисе всё а если разные или вообще с дома хотят подключить принтер вообще жжжж….

Для меня есть два варианта решения проблемы для удаленных от офиса пользователей:

  1. В случаях когда принтере не требуется я в семействе бухгалтерских программ 1С настраиваю нормальное сохранения в PDF и все это сохраняется в локальную папку которая без проблем подключается к серверу терминалов во всех популярных клиентах.
  2. Если нужен принтере в работе то необходимо настраивать VPN чтобы удавленный клиент попал в туже сеть.

Управление XRDP

Управление службой стандартное для систем Debian.

service xrdp restart
service xrdp start
service xrdp stop
service xrdp status

Так выглядит статус после старта службы:

service xrdp status
● xrdp.service - xrdp daemon
 Loaded: loaded (/lib/systemd/system/xrdp.service; enabled)
 Active: active (running) since Вт 2017-05-23 15:05:32 MSK; 32s ago
 Docs: man:xrdp(8)
 man:xrdp.ini(5)
 Process: 759 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
 Process: 730 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
 Main PID: 949 (xrdp)
 CGroup: /system.slice/хrdp.service
 └─949 /usr/sbin/хrdp

май 23 15:05:31 хrdp systemd[1]: PID file /run/xrdp/xrdp.pid not readable (yet?) after start.
май 23 15:05:32 хrdp systemd[1]: Started xrdp daemon.
май 23 15:05:33 хrdp xrdp[949]: (949)(140156439295744)[INFO ] starting хrdp with pid 949
май 23 15:05:45 хrdp xrdp[949]: (949)(140156439295744)[INFO ] listening to port 3389 on 0.0.0.0

Просмотр активных пользователей XRDP

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

ps aux | grep xrdp | grep xorg
= вывод команды =
local      694  3.7  1.9 571540 76992 ?        Sl   22:47   0:29 /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log

Вот мы видим что подключен только один пользователь с логином local и PID 694.

Просто снять этот процесс не достаточно, чтобы полностью завершить работу пользователя на сервере. Выведем список всех процессов сервиса XRDP:

ps aux | grep xrdp
= вывод команды =
root       447  0.0  0.0  13860  3640 ?        S    22:45   0:00 /usr/sbin/xrdp-sesman
xrdp       471  0.0  0.0  12248  2044 ?        S    22:45   0:00 /usr/sbin/xrdp
root       692  0.0  0.0  13616  2300 ?        S    22:47   0:00 /usr/sbin/xrdp-sesman
local      694  3.8  1.9 571540 76992 ?        Sl   22:47   0:36 /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
local      697  0.0  0.0  99512  3412 ?        Sl   22:47   0:00 /usr/sbin/xrdp-chansrv
xrdp       903  4.1  0.6  40076 28176 ?        S    22:47   0:37 /usr/sbin/xrdp
root       982  0.0  0.0   6224   828 pts/0    S+   23:02   0:00 grep xrdp

Теперь мы можем отключить пользователя указав команду, которая завершит все процессы пользователя:

pkill -9 -u local

Ротация логов xrdp

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

Откроем файл и добавим необходимые логи:

mcedit /etc/logrotate.d/rsyslog
=вывод команды с необходимыми дополнениями =
/var/log/syslog
{
 rotate 7
 daily
 missingok
 notifempty
 delaycompress
 compress
 postrotate
 invoke-rc.d rsyslog rotate > /dev/null
 endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
/var/log/хrdp-sesman.log
/var/log/хrdp.log
{
 rotate 4
 weekly
 missingok
 notifempty
 compress
 delaycompress
 sharedscripts
 postrotate
 invoke-rc.d rsyslog rotate > /dev/null
 endscript
}

Результат

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

Вся эта статья была лишь прелюдия для того чтобы рассказать как можно используя Linux настроить легально и надежно стабильную работу сервера  «1С:Предприятие 8.3 на Linux» работающего с файловой базой. Минимальные вложения и максимальная производительность.

Debian 8 установка и настройка

Установим одну из самых стабильных операционных систем linux Debian 8. Настроим учитывая основные требования системного администратора. Нужна стабильность в работе? Выбирайте этот дистрибутив OC Linux. Самая большая база программ и огромное сообщество.

Предисловие

Операционная система Debian является основоположником целого семейства OC Linux и зарекомендовала себя как одна из самых надежных и стабильных систем. На рабочем компьютере устаревшие но проверенные версии программного обеспечения могут вызвать неудобство в работе но для сервера надежность прежде всего. Каждый выбирает сам, что он хочет получить, стабильность или современность. Для серверов мой выбор однозначно падает на стабильность.

Где скачать Debian 8

На сайте разработчика вы всегда можете скачать любую необходимую версию системы Debian.

Установка Debian 8

В скриншотах показана  пошаговая установка с указанием всех необходимых параметров.

Для установки системы на RAID1 можете воспользоваться информацией из статьи «Установка на RAID1«.

Настройка Debian 8

Подключение по ssh

Откроем консоль и определим ip адрес:

local@xrdp:~$ ip addr
= вывод команды =
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 02:74:8a:ed:a9:d3 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.150/24 brd 192.168.0.255 scope global dynamic eth0
 valid_lft 31965sec preferred_lft 31965sec
 inet6 fe80::74:8aff:feed:a9d3/64 scope link 
 valid_lft forever preferred_lft forever

Подключимся по ssh под простым пользователем:

ssh local@192.168.0.150
= вывод команды =
Warning: Permanently added '192.168.0.150' (ECDSA) to the list of known hosts.
local@192.168.0.150's password: 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
local@xrdp:~$

По умолчанию к системе Debian 8 нельзя подключится сразу под суперпользователем root!

Переключится на пользователя root:

local@xrdp:~$ su -
= вывод команды =
Пароль: 
root@xrdp:~#

Обновление

Обновим индекс пакетов в Debian 8 до актуального состояния:

apt-get update

Выполним обновление всех пакетов системы:

apt-get upgrade

Необходимые пакеты для работы

Установим без вопросов пакеты которые обычно используются в работе c Debian 8:

apt-get -y install mc htop iftop cifs-utils davfs2
  • mc — консольный редактор,
  • htop — консольный монитор просмотра состояния сервера,
  • cifs-utils — пакет необходимый для монтирование сетевых ресурсов,
  • davfs2 — пакет для подключения по протоколу WebDav

Определим редактор mc в системе по умолчанию:

select-editor
= вывод команды с необходимым параметром =
Select an editor. To change later, run 'select-editor'.
 1. /bin/nano <---- easiest
 2. /usr/bin/mcedit
 3. /usr/bin/vim.tiny

Choose 1-3 [1]: 2

Разрешим подключение root по ssh

Произведем изменения в файле конфигурации ssh:

mcedit /etc/ssh/sshd_config
= необходимые изменения =
# Можно поменять на другой порт при желании
Port 22
# Разрешение подключаться под root
PermitRootLogin yes

Перезагрузим сервис ssh:

service sshd restart

Проверим правильность изменения порта (если это делали):

netstat -tulnp | grep ssh
= вывод команды =
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2015/sshd 
tcp6 0 0 :::22 :::* LISTEN 2015/sshd

Можем теперь сразу подключаться под root.

Не забудьте добавить порт в настройки firewall!

Сетевые параметры

После установки наша система получает ip адрес используя DHCP.

При установке после определения сетевых параметров по DHCP вы можете сделать шаг назад и сразу настроить статический ip адрес.

Для назначения статического адреса вы можете использовать два варианты:

  1. Привязать mac адрес на DHCP сервере и закрепить нужный ip,
  2. Назначить сетевые параметры изменив настройки.

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

Изменим сетевые параметры (обратите внимание на название сетевой карты у нас она eth0):

mcedit /etc/network/interfaces
=вывод команды с необходимыми изменениями=
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
# Запускать автоматически при загрузке системы
auto eth0 
# Интерфейс eth0 в диапазоне IPv4 со статическим адресом
iface eth0 inet static
# IP адрес
address 192.168.0.107
# Шлюз по умолчанию
gateway 192.168.0.106
# Маска сети
netmask 255.255.255.0
# DNS
dns-nameservers 8.8.8.8

Выполним перезапуск сети командой:

/etc/init.d/networking restart
= вывод команды =
[ ok ] Restarting networking (via systemctl): networking.service.

Проверим правильность изменений:

ip addr
= вывод команды =
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 02:74:8a:ed:a9:d3 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.150/24 brd 192.168.0.255 scope global dynamic eth0
 valid_lft 29523sec preferred_lft 29523sec
 inet 192.168.0.107/24 brd 192.168.0.255 scope global secondary eth0
 valid_lft forever preferred_lft forever
 inet6 fe80::74:8aff:feed:a9d3/64 scope link 
 valid_lft forever preferred_lft forever

После перезагрузки системы  отображение  inet 192.168.0.150/24 пропадет!

Проверим соединение с интернетом отправив 4 пакета на ya.ru:

ping -c 4 ya.ru
= вывод команды =
PING ya.ru (87.250.250.242) 56(84) bytes of data.
64 bytes from ya.ru (87.250.250.242): icmp_seq=1 ttl=54 time=15.2 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=2 ttl=54 time=15.1 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=3 ttl=54 time=16.0 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=4 ttl=54 time=18.4 ms

--- ya.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 15.186/16.235/18.422/1.310 ms

Настройка iptables

Изначально фаервол в Debian 8 полностью открыт. Проверим это:

iptables -L -v -n
= вывод команды =
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target prot opt in out source destination 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target prot opt in out source destination 

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target prot opt in out source destination

Всё пропускает.

Самое удобное для работой с iptables это создать скрипт и при необходимости его редактировать указывая нужные параметры и применять.

Создадим скрипт настройки iptables:

mcedit /etc/iptables.sh
= вывод команды с необходимой информацией =
#!/bin/bash
#
# Объявление переменных
export IPT="iptables"

# Сетевой интерфейс
export WAN=eth0
export WAN_IP=192.168.0.107

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Политики для трафика, не соответствующего ни одному правил у
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# Локальный трафик для loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# Ping
$IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Исходящие и Входящие соединения
$IPT -A OUTPUT -o $WAN -j ACCEPT
#$IPT -A INPUT -i $WAN -j ACCEPT

# Доступ к web серверу
#$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

# Доступ к Samba
#$IPT -A INPUT -p tcp -m tcp --dport 137 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 138 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 901 -j ACCEPT
# Состояние ESTABLISHED говорит что это не первый пакет в соединении
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Форвардинг для уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным, обрубаем
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# Открываем порт для DNS
$IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT
# Открываем порт для NTP
$IPT -A INPUT -i $WAN -p udp --dport 123 -j ACCEPT
# Открываем порт для RDP
#$IPT -A INPUT -i $WAN -p tcp --dport 3389 -j ACCEPT
# Логирование
$IPT -N block_in
$IPT -N block_out
$IPT -N block_fw

$IPT -A INPUT -j block_in
$IPT -A OUTPUT -j block_out
$IPT -A FORWARD -j block_fw

$IPT -A block_in -j LOG --log-level info --log-prefix "--IN--BLOCK"
$IPT -A block_in -j DROP
$IPT -A block_out -j LOG --log-level info --log-prefix "--OUT--BLOCK"
$IPT -A block_out -j DROP
$IPT -A block_fw -j LOG --log-level info --log-prefix "--FW--BLOCK"
$IPT -A block_fw -j DROP
# Сохраняем правила
/sbin/iptables-save > /etc/iptables_rules

Даем файлу права на запуск:

chmod +x /etc/iptables.sh

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

Запускаем скрипт:

sh /etc/iptables.sh

Проверяем правила:

iptables -L -v -n
= вывод команды =
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target prot opt in out source destination 
 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 
 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0
 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
 5 356 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 
 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
 0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
 0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:123
 0 0 block_in all -- * * 0.0.0.0/0 0.0.0.0/0 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target prot opt in out source destination 
 0 0 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
 0 0 block_fw all -- * * 0.0.0.0/0 0.0.0.0/0 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target prot opt in out source destination 
 0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0 
 3 308 ACCEPT all -- * eth0 0.0.0.0/0 0.0.0.0/0 
 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
 0 0 block_out all -- * * 0.0.0.0/0 0.0.0.0/0 

Chain block_fw (1 references)
 pkts bytes target prot opt in out source destination 
 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "--FW--BLOCK"
 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 

Chain block_in (1 references)
 pkts bytes target prot opt in out source destination 
 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "--IN--BLOCK"
 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 

Chain block_out (1 references)
 pkts bytes target prot opt in out source destination 
 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "--OUT--BLOCK"
 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 

Настроим применение правил при загрузке сервера.  Добавляем необходимую строку в файл сетевых настроек:

mcedit /etc/network/interfaces
= необходимое дополнение =
# Загрузка правил iptables при старте машины
pre-up iptables-restore < /etc/iptables_rules

Применим изменения командой:

/etc/init.d/networking restart
= вывод команды =
[ ok ] Restarting networking (via systemctl): networking.service.

 

Логирование Cron

В Debian нет отдельного файла логов cron. Исправим это недоразумение.

Редактируем необходимый файл:

mcedit /etc/rsyslog.conf
= Раскомментируем строку =
cron.*                                /var/log/cron.log
= Редактируем строку добавив cron.none =
*.*;auth,authpriv.none,cron.none     -/var/log/syslog

Перезапустим rsyslog:

service rsyslog restart

Осталось проверить ротацию логов cron:

mcedit /etc/logrotate.d/rsyslog
= вывод команды с необходимыми параметрами =
cat /etc/logrotate.d/rsyslog 
/var/log/syslog
{
 rotate 7
 daily
 missingok
 notifempty
 delaycompress
 compress
 postrotate
 invoke-rc.d rsyslog rotate > /dev/null
 endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
 rotate 4
 weekly
 missingok
 notifempty
 compress
 delaycompress
 sharedscripts
 postrotate
 invoke-rc.d rsyslog rotate > /dev/null
 endscript
}

Строка присутствует значит все будет ротироваться как надо.

Результат

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

USB проброс в Proxmox

Рассмотрим вариант подключения в виртуальную машину USB устройства. Вариаций этих устройств множество и все их можно без проблем подключить к требуемой виртуальной машине. В системе виртуализации Proxmox делается это быстро и просто.

Для 5 версии Proxmox

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

Для 4 версии Proxmox

С инструкцией по подключению USB устройств вы можете ознакомится на официальном сайте Proxmox.

Определение устройства

Подключим в систему Proxmox необходимое устройство и в консоли выведем информацию о подключенияx.

lsusb
= вывод команды =
Bus 001 Device 005: ID 0781:5572 SanDisk Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 0665:5161 Cypress Semiconductor USB to Serial
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Видим подключенную флэшку.

Выведем информации о том на каких портах висят устройства.

lsusb -t
= вывод команды =
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
 |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbfs, 1.5M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
 |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M

Видим нашу флэшку которая села на Bus 01 Dev 5 на Port 3.

Варианты проброса устройств

Существуют два вариант передачи USB-устройства в виртуальную (гостевую) систему:

  • передать определенное устройство — при перемещении usb-устройства в другой порт не надо ничего перенастраивать. Вариант хорош, когда надо пробросить одно устройство и второго подобного не будет,
  • передать порт — вариант передает порт на котором работает устройство.

Оба варианта имеют свои нюансы и решать каким пользоваться только вам. Мне больше нравится вариант с пробросим порта, так как он не вызывает непонятных проблем после перезагрузки.

Проброс осуществляются по номеру виртуальной машины. Папка с файлами для редактирования находится по адресу /etc/pve/qemu-server/ в ней вы увидите все ваши виртуальные машины.

Проброс USB устройства

Откроем необходимый файл и добавим нужные параметры.

mcedit /etc/pve/qemu-server/104.conf
= вывод команды с необходимыми добавлениями =
balloon: 500
bootdisk: sata0
cores: 2
ide2: local:iso/CentOS-7-x86_64-DVD-1511.iso,media=cdrom
memory: 1500
name: lamp.sevo44.ad-centos7
net0: e1000=7A:5A:34:67:6C:52,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
sata0: images:104/vm-104-disk-1.qcow2,size=400G
scsihw: virtio-scsi-pci
smbios1: uuid=4374a7e1-1fc7-4eaf-9567-aa5f9cb19b33
sockets: 2
# Проброс устройства USB
# где 0781:5572 - это device ID
usb0: host=0781:5572

Проброс USB порта

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

mcedit /etc/pve/qemu-server/104.conf
= вывод команды с необходимыми добавлениями =
balloon: 500
bootdisk: sata0
cores: 2
ide2: local:iso/CentOS-7-x86_64-DVD-1511.iso,media=cdrom
memory: 1500
name: lamp.sevo44.ad-centos7
net0: e1000=7A:5A:34:67:6C:52,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
sata0: images:104/vm-104-disk-1.qcow2,size=400G
scsihw: virtio-scsi-pci
smbios1: uuid=4374a7e1-1fc7-4eaf-9567-aa5f9cb19b33
sockets: 2
# Проброс USB порта
# где 1-3 это шина Bus 01 и номер порта Port 3
usb0: 1-3

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

Результат

В новой 5-ой версии все упрощается но знать механизм как это работает изнутри всегда хорошо. Можно определять подключенные USB устройства командой «qm monitor НОМЕР_ВИРТУАЛЬНОЙ_МАШИНЫ» и после подключения вводить команду «info usbhost» или «info usb». Мне этот вариант показался не совсем логичным, так как требует указывать номер виртуальной машины, но при разных вариантах ввода номера машины показывает одинаковую информацию. Делая по рассмотренному способу, у меня всё работает. Главное не способы а результат!

RAID1 запуск после отказа

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

Информирование о неисправности RAID1 массива

В системе Proxmox, которую мы настроили, если массив дал сбой обязательно придёт сообщение на почту.

Обязательно настройте такое оповещение любыми удобными для Вас способами.

Определение проблемного раздела

Для определения проблемного раздела выполните команду:

cat /proc/mdstat
=вывод команды=
Personalities : [raid1]
md2 : active raid1 sda3[2](S) sdb3[1]
 307683752 blocks super 1.2 [2/1] [_U]
md1 : active raid1 sda2[2] sdb2[1]
 3902759 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
 979921 blocks super 1.2 [2/2] [UU]
unused devices:

Видим что массив md2 развалился и раздел sda3 выпал.

Действия после исправления раздела

Допустим что мы исправили диск и он с физической точки зрения исправен.

Удаление раздела из массива

Удаление выполняется командой:

mdadm /dev/md2 -r /dev/sda3

Добавление раздела в массив

Добавляем выполнив команду:

mdadm /dev/md2 -a /dev/sda3

Проверка массива

Проверим правильность работы массива командой:

cat /proc/mdstat
=вывод команды=
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
 307683752 blocks super 1.2 [2/1] [_U]
 [>....................] recovery = 0.4% (1518592/307683752) finish=83.9min speed=60743K/sec
md1 : active raid1 sda2[2] sdb2[1]
 3902759 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
 979921 blocks super 1.2 [2/2] [UU]
unused devices:

Видим что пошла синхронизация разделов, а значит все прошло успешно.

Чтобы в реальном времени смотреть процесс сборки массива, достаточно ввести:

watch cat /proc/mdstat

Чтобы вывести более детальную информацию о необходимом массиве можно выполнить команду:

mdadm --detail /dev/md2
/dev/md2:
 Version : 1.2
 Creation Time : Thu Mar 29 19:10:24 2012
 Raid Level : raid1
 Array Size : 307683752 (293.43 GiB 315.07 GB)
 Used Dev Size : 307683752 (293.43 GiB 315.07 GB)
 Raid Devices : 2
 Total Devices : 2
 Persistence : Superblock is persistent
 Update Time : Fri Mar 30 17:47:48 2012
 State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
 Spare Devices : 1
 Rebuild Status : 1% complete
 Name : debian:2 (local to host debian)
 UUID : 44da8106:3d3c2f10:446517c7:b9b4d593
 Events : 1028
 Number Major Minor RaidDevice State
 2 8 3 0 spare rebuilding /dev/sda3
 1 8 19 1 active sync /dev/sdb3

IPPON 2000 на Proxmox

Установим и настроим источник бесперебойного питания IPPON SMART POWER PRO 2000 подключенный к система Proxmox в системе Debian через USB порт. Защитим нашу рабочую станцию от основных неполадок с электропитанием в России.

Установка графического интерфейса Proxmox

Для настройки программы нам понадобится графический интерфейс системы X11.

Можно установить XFCE4 с браузером Iceweasel выполнив команду:

apt-get install xfce4 iceweasel lightdm

Можно установить LXDE рабочий стол, выполнив команду:

apt-get install lxde iceweasel

Используйте один из представленных вариантов на свой выбор.

Проверка работы Network-manager

Необходимо убедитесь, что сетевой менеджер network-manager не используется, иначе Proxmox может не запуститься.

Проверим работу  выполнив команду:
apt-get purge network-manager
=вывод команды=
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакет «network-manager» не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Отлично. Network-manager не используется.

Скачивание программного обеспечения WinPower для IPPON

С сайта производителя скачиваем необходимую нам версию программы WinPower 2018 (версия 5.5.0.0) для Linux AMD 64bit.

Установим Wget без вопросов для загрузки файлов в консоли Linux.

yum -y install wget
Переходим в директорию root и скачиваем туда нужную версию программы используя Wget введя команды:
cd /root
wget http://static.ippon.ru/data/download/winpower2018/winpower_setup_linuxamd64.tar.gz
Распакуем архив в папку с одноименным названием выполнив команду:
tar xvfz winpower_setup_linuxamd64.tar.gz
=вывод команды=
winpower_setup_linuxamd64/
и тд. и тп.

Инструкция по установке WinPower

Инструкцию можно прочитать в файле install_linuxAMD64.txt выполнив команду:
cat /root/Winpower_setup_LinuxAMD64/install_linuxAMD64.txt
=вывод команды=
======================
System Requirements
======================  
        128 MB (recommended minimum) 
        256 MB (recommended) 
        160 MB hard disk space (depending on features installed) 
        Red Hat Linux 6.2 or later
        Intel Pentium II 233 MHz or compatible
        
==================
Install Winpower
==================
        1.  Enter /LinuxAMD64 directory. If system is running in GUI mode, double click setup.bin to start the installation. If system is running in Text mode, execute ./setup_console.bin to start the installation. 
        2.  Read the information provided, then press ENTER to continue .
        3.  When the installation program is completed,reboot the system to set enviroment variables for Winpower(which is set in /etc/profile).
        Note: The installation should be made as "root"!
================     
Run Winpower
================
        1.  Start Agent
            Winpower Agent will auto start when Linux system start.
            You can also start agent manually by open the terminal and execute command:
            cd /opt/MonitorSoftware/
            ./agent start
            
        2.  Start Monitor
            execute command:
            cd /opt/MonitorSoftware/
            ./monitor
        3.  Get Full Access
            In "System" menu, click "Act as Administrator" menu item to start the "Administrator" dialog, enter correct password to get full access.
            The default password is set to "Administrator".It can be changed in "Modify Administrator Password" dialog.
          
        4.  Communicate with UPS
            In "System" menu, click "Auto Search UPS" menu item to auto search the UPS connected with Computer.
==============        
Stop Winpower
==============
        1.  Close Manager.
        2.  Open the Terminal, enter install directory:
            and execute command:
            ./agent stop
====================
Uninstall Winpower
====================
        1.  Open the Terminal, enter install directory:
            and execute command:
            ./Uninstall
В инструкции указаны все необходимые команды и сказано что всё выполнять необходимо из под пользователя root.

Установка программы WinPower

Перейдем в необходимую директорию и запустим скрипт установки выполнив команды:

cd /root/Winpower_setup_LinuxAMD64/LinuxAMD64
./setup_console.bin
=вывод команды с необходимыми параметрами=
!указываем SN и жмем везде Enter!
Preparing CONSOLE Mode Installation...

====================================================================
Winpower 5.5.0.0                       (created with InstallAnywhere by Zero G)
--------------------------------------------------------------------

====================================================================
Introduction
------------

InstallAnywhere will guide you through the installation of Winpower 5.5.0.0.

It is strongly recommended that you quit all programs before continuing with 
this installation.

Respond to each prompt to proceed to the next step in the installation.  If you
want to change something on a previous step, type 'back'.

You may cancel this installation at any time by typing 'quit'.

PRESS <ENTER> TO CONTINUE: 

====================================================================
Enter Serial Number
-------------------

This installation requires a serial number to continue.

Please Enter the Serial Number:: 511C1-01220-0100-478DF2A

====================================================================
Choose Install Folder
---------------------

Where would you like to install?

  Default Install Folder: /opt/MonitorSoftware

ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : 

====================================================================
Pre-Installation Summary
------------------------

Please Review the Following Before Continuing:

Product Name:
    Winpower 5.5.0.0

Install Folder:
    /opt/MonitorSoftware

Disk Space Information (for Installation Target): 
    Required:  200 889 229 bytes
    Available: 3 535 523 840 bytes

PRESS <ENTER> TO CONTINUE: 

====================================================================
Installing...
-------------

 [==================|==================|==================]
 [------------------|------------------|------------------|---------]

====================================================================
Installation Complete
---------------------

Congratulations. Winpower 5.5.0.0 has been successfully installed to:

/opt/MonitorSoftware

Please restart your system before running the Winpower 5.5.0.0!

PRESS <ENTER> TO EXIT THE INSTALLER:

В конце установщик сообщил что для настройки необходима графическая оболочка системы X11 которую мы установили ранее.

Запуск агента программы WinPower

Перейдём в необходимую папку и запустим агента программы WinPower выполнив команду:

cd /opt/MonitorSoftware/
./agent start
=вывод команды=
 Starting Agent: 
 Done

Автозагрузка агента при старте системы Proxmox

Создадим файл agent.sh с необходимыми параметрами.

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

cd /opt/MonitorSoftware/
mcedit agent.sh
=необходимые параметры=
#!/bin/bash
cd /opt/MonitorSoftware
./agent start

Сделаем файл исполнительным выполнив команду:

chmod +x /opt/MonitorSoftware/agent.sh

Добавим необходимый параметр в файл отвечающий за автозагрузку необходимых скриптов выполнив команду:

mcedit /etc/rc.local
=вывод команды и необходимые параметры=
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#Автозапуск агента ИПБ
/opt/MonitorSoftware/agent.sh
exit 0

Перезагрузите систему для уверенности в правильной настройки автозагрузки агента программы WinPower.

Запуск программы WinPower

Заходим обычным способом в систему Proxmox и вводим в консоли команды:

cd /opt/MonitorSoftware/
./monitor
=вывод команды=
Starting Manager:
Done

Мы увидим приветственное окно программы WinPower использущее Java.

Настройка программы WinPower

Выполним необходимый минимум настроек программы:

  • Изменим пароль администратора (по умолчанию Administrator),
  • Настроим smtp сервис отправки сообщений на почту,
  • Настроим отключение Proxmox при остатке заряда батареи меньше 40 %.

Вывод

В результате выполненных действий нам не страшны перебои с питанием и обо всех действиях мы будем получать уведомление на e-mail.