Что такое webmin
Прежде, чем что-то устанавливать, нужно понять, что это такое и какую пользу оно вам принесет. Итак, что же такое webmin > это веб панель для удобного управления вашим сервером с Centos 7. Самое шикарное, что приложение кроссплатформенное, мало того что работает через веб интерфейс, так еще и устанавливается на любые unix дистрибутивы.
Что умеет webmin
Небольшой чек лист, талантов данной утилиты:
- Монтировать разделы в Centos 7
- Производить перезагрузку и выключение сервера
- Настраивать iptables (фаерволл)
- Администрировать пользователей
- Настройка сети и сетевых подключений
- Устанавливать обновления и пакеты
- Управление дополнительными модулями (samba, apache, mysql и тд)
Для того, чтобы ознакомиться со списком поддерживаемых для управления модулей вы можете . Тут более сотни пакетов. Webmin так же позволяет подключиться к консоли сервера, может загружать и скачивать на него файлы. Так, что если вы только начинаете изучать linux, вам пригодится данная утилита как верный помощник, пока вы не освоите консольные команды.
Обратите внимание, что в левом углу есть прямые ссылки на пакеты webmin, под Linux системы. Еще из удобств использования данной утилиты я могу отметить, это чтение логов, будь то логи веб сервера или почтового сервера, у которых файлы событий могут быть очень большие, этак мегабайт под 250-300
Я например ищу письма на почтовом сервере Zimbra, зная id письма, так же мне помогал webmin и в борьбе со спам рассылками. Но смысл слушать, когда лучше самому все увидеть.
Что такое Webmin
Webmin это web панель для администрирования unix сервера. Она кроссплатформенная, ставится на различные unix дистрибутивы. Одно из ее применений я когда-то давно описывал в статье про управление openvpn через браузер на freebsd. С помощью webmin можно выполнять практически все популярные административные действия на сервере, такие как:
- Настраивать сетевые подключения
- Добавлять пользователей
- Монтировать разделы
- Настраивать фаерволл
- Выключать или перезагружать сервер
- Обновлять пакеты
и многое другое. Существуют модули для различного софта, которым можно управлять через webmin. Например самбой, или веб сервером, mysql сервером и множеством других пакетов. Список модулей обширный, можно посмотреть на официальном сайте список сторонних пользовательских модулей, или в самой панели после установки список официальных модулей. Через webmin можно получить доступ к консоли сервера, загрузить или скачать файлы с сервера. Иногда это бывает удобно.
Сам я практически никогда не пользуюсь этой панелью, нет необходимости, привык все в консоли настраивать. Но я знаю людей, которые активно админили серверы с помощью webmin. Это были не очень продвинутые в линуксе админы, но тем не менее эта панелька позволяла им нормально управлять сервером без должных знаний и навыков.
Я почти всегда использую webmin на почтовых серверах. Мне удобно анализировать и что-то искать в огромных почтовых логах с помощью модуля просмотра логов. Чего-то более простого и удобного мне не попадалось. К примеру, у вас есть лог за день на 100-300 мегабайт, в нем каждую секунду фиксируются десятки событий. У вас есть id письма. Можно ввести в строку поиска id письма и увидеть все строки лога, в которых оно фигурирует. Это очень удобно. Обычным поиском в такой ситуации не обойтись. Можно, конечно, грепать вывод cat, либо что-то еще придумывать, но это менее удобно. Особенно, если надо сопоставить значения из разных лог-файлов. Просто открываешь в двух окнах браузера разные логи и анализируешь.
Приступим к установке webmin. Статья подразумевает, что у вас уже установлена и настроена операционная система. Если это не так, то читайте про установку и настройку CentOS 7.
Установка системы и настройка сервиса Chronos¶
Чтобы установить систему на новую базу данных, запустите следующие команды:
Обратитесь к разделу за описанием процесса установки.
Обычно достаточно нажать: ; tessa ; ; ; ; .
По завершении установки перезапустите веб-сервис:
Теперь выполним настройку Chronos. Создайте файл для сервиса Chronos:
Вставьте (сочетание клавиш ).
Теперь настройте автозапуск Chronos и запустите его, выполнив команду:
Обязательно проверьте, функционирует ли . Для этого выполните команду (подождав полминуты, пока сервис Chronos инициализируется):
Найдите процессы и LibreOffice среди запущенных процессов (последние две строки):
Процессы могут отсутствовать или появиться и тут же завершиться при запуске сразу после установки. В этом случае либо перезагрузите компьютер, либо закройте, а затем сразу откройте окно терминала, в котором перезапустите сервис Chronos:
Подождите полминуты и запросите статус для сервиса Chronos. Он должен показать информацию, аналогичную приведённой на изображении выше.
Обратитесь к разделу , чтобы проверить работу системы.
Установка и настройка PostgreSQL¶
Установите из репозитория и выполните первичную настройку сервера PostgreSQL.
Для :
Для :
Для :
Для :
Для :
Создайте пользователя, от которого будут подключаться сервисы и утилиты TESSA.
Откройте для редактирования файл .
Для :
Для :
Задайте в нём настройки в соответствии с разделом .
Откройте для редактирования файл .
Для :
Для :
Найдите в нём строку (нажмите и введите искомую строку). Теперь уберите ведущий символ комментария . И замените следующим образом:
Tip
Вы можете также указать , если СУБД располагается на том же сервере, что и сервер приложений.
Tip
В случае, если одновременных пользователей больше 100, рекомендуется указать и обратиться к документации по администрированию PostgreSQL.
Закройте редактор с сохранением изменений. Перезапустите сервис PostgreSQL.
Для :
Для :
Установка Zabbix на RedHat/CentOS/Fedora
Установим сервер с заббиксом, у меня он имеют лейбу — Zabbix-Server.VM4, и выполняем установку:
# yum install zabbix-agent zabbix-server-mysql zabbix-frontend-php zabbix-web-mysql
Сейчас, можно немного поправить конфиг apache (можно собственно не лезть и не менять нечего):
# vim /etc/httpd/conf.d/zabbix.conf
Нужно убрать комментарий со строки:
php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value date.timezone Europe/Kiev
В этой строке прописываем свою временную зону ( я себе установил г.Киев). Как это сделаете, нужно перезагрузить апач:
# service httpd restart
Устанавливаем mysql/mariadb сервер:
Если mysql установлен, то еще необходимо создать пользователя, который будет управлять данной БД. Для начала, подключаемся к серверу:
# mysql -proot -p
Создаем базу и пользователя с паролем:
> create database zabbix character set utf8 collate utf8_bin; > grant all privileges on zabbix.* to 'zabbix'@'localhost' IDENTIFIED BY 'passwd_user_zabbix';
Импортируем данные в созданную БД:
# mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.4.8/create/schema.sql # mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.4.8/create/images.sql # mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.4.8/create/data.sql
Выполняем установку через веб-интерфейс. Вводим данные которые были созданы выше( zabbix — база данных, zabbix — пользователь, passwd_user_zabbix — его пароль). После установки, можно будет зайти в админ панель:
- Пользователь — Admin
- Пароль для пользователя — zabbix
CentOS.VM1 и CentOS.VM2
# yum install zabbix-agent
Zabbix-Proxy.VM3
# yum install zabbix-agent zabbix-proxy-mysql zabbix-proxy
Настройка Iptables
Для работы Web-интерфейса Zabbix нам потребуется открыть 80 порт, а также 10051 для взаимодействия внешних Zabbix-агентов с сервером.
# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT # service iptables save
Настройка Bacula Director
Bacula состоит из нескольких компонентов, каждый из которых требует индивидуальной настройки. Все конфигурационные файлы хранятся в каталоге /etc/bacula.
Для начала настройте Bacula Director.
Откройте конфигурационный файл компонента:
Настройка ресурса Director
Найдите ресурс Director и настройте его для прослушивания 127.0.0.1 (localhost). Для этого добавьте в раздел строку DirAddress.
YAML
Director { # define myself
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = «/etc/bacula/query.sql»
WorkingDirectory = «/var/spool/bacula»
PidDirectory = «/var/run»
Maximum Concurrent Jobs = 1
Password = «@@DIR_PASSWORD@@» # Console password
Messages = Daemon
DirAddress = 127.0.0.1
}
1 |
Director{# define myself Name=bacula-dir QueryFile=»/etc/bacula/query.sql» WorkingDirectory=»/var/spool/bacula» PidDirectory=»/var/run» MaximumConcurrentJobs=1 Messages=Daemon |
Настройка локальных задач
Задачи Bacula (job) выполняют резервное копирование и восстановление данных. Ресурсы задания – это подробные данные о том или ином задании: имя клиента, файлы для бэкапа или восстановления (FileSet) и многое другое.
Попробуйте настроить задачу для резервного копирования локальной файловой системы.
Найдите ресурс Job с именем BackupClient1. Замените значение в строке Name именем BackupLocalFiles.
YAML
Job {
Name = «BackupLocalFiles»
JobDefs = «DefaultJob»
}
1 |
Job{ Name=»BackupLocalFiles» JobDefs=»DefaultJob» } |
Затем найдите ресурс Job с именем RestoreFiles. В строке Name укажите имя RestoreLocalFiles, а в строке Where – каталог /bacula/restore.
YAML
Job {
Name = «RestoreLocalFiles»
Type = Restore
Client=BackupServer-fd
FileSet=»Full Set»
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}
1 |
Job{ Name=»RestoreLocalFiles» Type=Restore Storage=File |
Теперь RestoreLocalFiles сможет хранить файлы в каталоге /bacula/restore.
Файлы для бэкапа
FileSet определяет список файлов и каталогов, которые нужно включить или исключить из резервного копирования.
Найдите ресурс FileSet по имени Full Set (под комментарием # List of files to be backed up). Сюда нужно внести следующие изменения:
- Добавить сжатие gzip.
- В разделе Include заменить /usr/sbin в строке File на /.
- В конце раздела Exclude добавить строку File = /bacula.
YAML
FileSet {
Name = «Full Set»
Include {
Options {
signature = MD5
compression = GZIP
}
File = /
}
Exclude {
File = /var/lib/bacula
File = /proc
File = /tmp
File = /.journal
File = /.fsck
File = /bacula
}
}
1 |
FileSet{ Name=»Full Set» Include{ Options{ signature=MD5 compression=GZIP } File=/var/lib/bacula |
Рассмотрим изменения в FileSet под названием Full Set. Во-первых, при создании резервного архива будет использоваться сжатие gzip. Во-вторых, в резервное копирование включается весь корневой раздел. В-третьих, из резервного копирования исключается каталог /bacula, потому что иначе Bacula будет создавать резервные копии каталога, в котором хранятся резервные копии.
Примечание: Если в / смонтированы другие разделы, которые нужно включить в FileSet, создайте в разделе Include дополнительные записи File для каждого из них.
Имейте в виду: резервные копии широких наборов FileSet (таких как Full Set) занимают больше места на диске, чем резервные копии более конкретных списков файлов. Например, если у вас есть четкий план, вам может хватить набора FileSet из пользовательских конфигурационных файлов и баз данных. Это поможет сэкономить дисковое пространство.
Bacula — решение для резервного копирования под Linux
В каждодневной работе системного администратора есть необходимость в наличии удобной системы резервного копирования, ведь любой сбой на сервере может привести к потере ценных данных. Даже для рядового пользователя этот факт является серьезной проблемой, в случае же нарушения работы корпоративной сети компании — это может привести к серьезным убыткам.
Резервное копирование — процесс создания копии данных на резервный носитель.
В этой статье мы расскажем, как устанавливать и настраивать Bacula — наиболее популярное решение с открытым исходным кодом под Linux, которое разработано для корпоративного сектора.
Прежде всего отметим, что Bacula — это клиент-серверное решение, основные компоненты которого — Bacula Director, Bacula Storage, Bacula File Daemon. Ниже поясним детально про каждый из них.
Bacula Director (bacula-dir) — это главный компонент системы, назначение которого управлять всеми процессами резервирования и восстановления данных. Основной смысл этого сервиса в планировании и управлении задачами по резервному копированию (Job), а также в обслуживании Каталога (Catalog).
Bacula Storage (bacula-sd) — сервис, который представляет из себя хранилище, назначение которого, сохранять резервные копии на физическом носителе.
Bacula File Daemon (bacula-fd) — это клиент, который устанавливается на каждой машине, он выполняет резервное копирование (или восстановление и проверку данных) по запросу Bacula Director.
Также еще имеются такие важные сервисы, как Bacula Console и Catalog.
- Bacula Console (bconsole) — это специальная утилита для управления Bacula из командной строки, есть и другие ее варианты (под веб-интерфейс).
- Catalog — это БД для хранения информации о местонахождении всех зарезервированных файлов в резервных копиях и для обеспечения эффективной адресации к нужным файлам. Как правило, для Ubuntu поддерживаются следующие СУБД: PostgreSql и Postfix.
Все вышеперечисленные компоненты системы могут быть инсталлированы как на одном сервере, так и на разных компьютерах, однако, у каждого сервиса должна быть возможность доступа к другому сервису по сети.
Далее, мы расскажем, как произвести установку и настройку Bacula под Ubuntu 20.04.
Настройка LibreOffice или OpenOffice¶
Убедитесь, что установлен офисный пакет LibreOffice или OpenOffice.
Для если пакет LibreOffice не установлен (отсутствует в меню приложений в группе “Офис”), то установите его командой:
Для если пакет LibreOffice не установлен (отсутствует в меню приложений в группе “Офис”), то установите его командой:
Для пакет LibreOffice отсутствует в поставке и может быть установлен следующим образом:
-
Скачайте последнюю версию LibreOffice с официального сайта: https://www.libreoffice.org/download/libreoffice-fresh/?type=rpm-x86_64&version=6.0&lang=en-US
-
Распакуйте архив и откройте папку с содержимым архива в терминале.
-
Выполните команду:
-
Теперь скаченный архив и содержимое распакованной папки можно удалить.
Для также потребуется указать, чтобы , встроенный в Chronos, использовал Python версии 2 (т.к. Python версии 3 отсутствует для этого дистрибутива). Откройте для редактирования файл в папке Chronos:
Найдите в нём строку:
Замените её на:
Для переходите к следующему разделу, устанавливать не требуется.
Для проверьте, что установлен пакет :
В конфигурационном файле сервиса Chronos потребуется указать приложение для использования вместо встроенного скрипта.
Найдите строку:
Замените её на:
При конвертации для приложения требуются права на папку . Приложение будет запущено от того же пользователя, что и сервис (в этой инструкции подразумевается текущий пользователь).
Для установки прав выполните команду (если папка ещё не создана, то будет создана):
Установка MySQL и Bacula
Для хранения каталога данных Bacula использует БД SQL, такие как MySQL или PostreSQL. В этом руководстве предлагаем установить MariaDB, форк проекта MySQL. Чтобы установить Bacula и MariaDB Server, введите:
Запустите MariaDB:
После этого нужно создать пользователя БД и таблицы. Для этого запустите сценарии:
Затем нужно запустить простой сценарий, который удалит некоторые опасные настройки по умолчанию и заблокирует доступ к системе баз данных. Запустите интерактивный сценарий:
Программа запросит root-пароль. Поскольку вы только установили MySQL, скорее всего, такого пароля нет. Просто нажмите Enter, чтобы пропустить поле. После этого будет предложено выбрать такой пароль. Нажмите Enter и выберите root-пароль. Чтобы принять значения по умолчанию в остальных запросах, просто нажмите Enter.
Это удалит образцы баз данных и пользователей, отключит удаленный доступ root и сразу обновит настройки MySQL.
Теперь нужно выбрать пароль для пользователя БД Bacula.
Откройте консоль MySQL как root.
Введите root-пароль MySQL.
Теперь установите пароль пользователя Bacula (вместо bacula_db_password укажите свой пароль).
YAML
UPDATE mysql.user SET Password=PASSWORD(‘bacula_db_password’) WHERE User=’bacula’;
FLUSH PRIVILEGES;
1 |
UPDATEmysql.userSETPassword=PASSWORD(‘bacula_db_password’)WHEREUser=’bacula’; FLUSHPRIVILEGES; |
Закройте командную строку MySQL.
Добавьте MariaDB в автозагрузку.
Настройка Storage Daemon
Сервер Bacula почти готов. Осталось только настроить Storage Daemon, чтобы система Bacula понимала, где хранить файлы.
Откройте конфигурационный файл SD.
Настройка ресурса Storage
Найдите в файле ресурс Storage. Он определяет, где процесс SD будет прослушивать соединения. Добавьте параметр SDAddress и укажите в нем FQDN (или внутренний IP-адрес) сервера бэкапа:
YAML
Storage { # definition of myself
Name = BackupServer-sd
SDPort = 9103 # Director’s port
WorkingDirectory = «/var/lib/bacula»
Pid Directory = «/var/run/bacula»
Maximum Concurrent Jobs = 20
SDAddress = backup_server_private_FQDN
}
1 |
Storage{# definition of myself Name=BackupServer-sd WorkingDirectory=»/var/lib/bacula» PidDirectory=»/var/run/bacula» MaximumConcurrentJobs=20 } |
Настройка устройства хранения
Затем найдите ресурс Device по имени FileStorage и обновите значение Archive Device, указав в нем путь к каталогу backup:
YAML
Device {
Name = FileStorage
Media Type = File
Archive Device = /bacula/backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
1 |
Device{ Name=FileStorage RandomAccess=Yes; AutomaticMount=yes;# when device opened, read it RemovableMedia=no; AlwaysOpen=no; } |
Сохраните и закройте файл.
Проверка настроек
Убедитесь, что в конфигурационном файле Storage Daemon нет ошибок.
Если команда не выдала сообщений об ошибках, значит, в файле их нет.
Установка и настройка Bacula и Webmin для создания бэкапов сервера на Redhat/CentOS/Fedora
Bacula является утилитой с открытым исходным кодом используются для сетевого резервного копирования, чтобы позволить системные администраторы могли удобно управлять всеми резервными копиями, восстановлениями и могли отправить проверку данных на любой системе и в любом месте сети. В статье «Установка и настройка Bacula и Webmin для создания бэкапов сервера на Redhat/CentOS/Fedora» расскажу как удобно и хорошо управлять резервными копиями на вашем сервере с использованием Bacula и Webmin для Redhat/CentOS/Fedora. На готовом примере покажу что нужно делать и как можно настроить ваш ( или группу серверов) для резервного копирования.
Как установить Webmin на CentOS 8
В данной инструкции мы расскажем вам как установить самую популярную панель управления с открытым исходным кодом Webmin в CentOS 8.
Внимание!!! Для установки пакетов необходимых для запуска и работы панели управления Webmin у вас в системе должен быть создан пользователь root с правами sudo. Рекомендуемым, а также самым простым и лучшим методом установки панели управления Webmin в CentOS 8 является включение репозитория Webmin и установки пакета Webmin с помощью пакетного менеджера dnf
Рекомендуемым, а также самым простым и лучшим методом установки панели управления Webmin в CentOS 8 является включение репозитория Webmin и установки пакета Webmin с помощью пакетного менеджера dnf.
Установка Webmin на CentOS 8 производится достаточно быстро и просто. Сперва Вам необходимо перейти в пользователя sudo введя следующую команду:
Система попросит вас ввести пароль. Вводим пароль от ранее созданного пользователя sudo.
Затем вам необходимо открыть ваш любимый текстовый редактор для создания файла репозитория. В нашем примере мы используем текстовый редактор nano:
теперь в открывшемся окне редактирования файла репозитория вам нужно набрать следующий код (код можно скопировать):
После того, как вы набрали приведенный выше код, вам нужно нажать комбинацию клавиш ctrl+x и утвердительно ответить на запрос о сохранении файла репозитория.
Дальнейшим действием в процессе установки панели управления Webmin станет импорт ключа GPG с помощью команды rpm и установка пакета Webmin. Для этого наберите в терминале команду:
Этим действием мы импортировали ключ GPG необходимый для проверки подписи пакета. Теперь установим сам пакет панели управления Webmin набрав следующую команду:
Вывод команды представлен на рисунке:
В процессе установки панели управления будут разрешены все зависимости и по окончании установки отобразится следующий вывод:
Пример вывода представлен на рисунке:
По окончании установки сервис панели управления Webmin будет запущен автоматически. На данном этапе установка Webmin CentOS 8 завершена.
Последним действием перед запуском веб интерфейса панели управления Webmin на ваш сервер с CentOS 8 является настройка брандмауэра, поскольку прослушиваемый по умолчанию панелью порт 10000 закрыт. Откроем его командами:
Поздравляю. Установка и настройка Webmin CentOS 8 окончена. Теперь для того, чтобы войти в веб интерфейс панели управления Webmin вам нужно открыть свой любимый браузер и ввести имя вашего сервера или же его публичный IP адрес поставив в конце двоеточие и указав адрес порта используемого по умолчанию Webmin: 10000. В нашем примере мы используем браузер firefox.
После перехода по введенному вами адресу, браузер покажет предупреждение о том, что сертификат сайта недействителен. Это происходит из-за того, что по умолчанию Webmin использует самоподписанный SSL сертификат не включенный в доверенные SSL сертификаты. Для продолжения добавьте его в исключения.
Для входа в Webmin используются логин и пароль от вашего пользователя root.
После того, как вы войдете в систему, вас автоматически перенаправит на главную страницу панели управления Webmin, которая в автоматическом режиме предоставит вам основную информацию о вашей системе.
Теперь вы можете настраивать ваш сервер на CentOS 8 в соответствии с вашими потребностями.
Заключение
Webmin является незаменимым приложением для отслеживания и настройки серверов и оборудования, работоспособность которых необходимо отслеживать. Конечно, он не является самым эффективным инструментом в этом процессе, но превосходно выполняет возложенные на него функции, потребляя при этом минимальное количество системных ресурсов.
Действуя согласно нашей инструкции вы без проблем, быстро и легко сможете установить и начать пользоваться одной из лучших панелей управления с открытым исходным кодом Webmin. Также вы можете получить более исчерпывающую информацию о Webmin посетив страницу документации расположенную на их официальном сайте
Спасибо за внимание
Заключение
В этой статье мы объяснили, как устанавливать и настраивать платформу для организации резервного копирования под Linux — Bacula. В качестве примера мы рассмотрели самый простой вариант — резервирование на сервере. В случае организации резервного копирования файлов в корпоративной сети, необходимо будет произвести установку клиента Bacula на каждом удаленном компьютере, и его IP-адрес прописать в конфигурационном файле Bacula Director.
На первый взгляд может показаться, что такое решение как Bacula, сложное в настройке и использовании, однако для корпоративной сети компании, Bacula — это оптимальный выбор для организации резервного копирования. С помощью нашей статьи, системный администратор легко и просто настроит все конфигурационные файлы, а если неудобно работать с консолью, то можно поискать аналогичные решения с веб-интерфейсом.
Кстати резервное копирование данных на нашем виртуальном хостинге реализовано именно при помощи Bacula. На данный момент наши сервера бекапов хранят более 100 Тб данных. При этом, если Вы пользуетесь нашим хостингом, можете увидеть, что восстановление данных обычно занимает до 5 минут.
Специалисты компании FREEhost.UA всегда помогут вам с инсталляцией Bacula на вашем VDS или выделенный сервер, окажут содействие в настройке конфигурационных файлов и организации процесса резервного копирования в вашей компании.
Мы что-то не указали или в чем-то ошиблись?
Подписывайтесь на наш телеграмм — канал t.me/freehostua, чтобы быть в курсе новых полезных материалов. Смотрите наш Youtube канал на youtube.com/freehostua.