Как установить Webmin на Ubuntu 18.04

Автор выбрал Tech Education Fund, чтобы получить пожертвование в размере 100 долларов США в рамках программы Write for DOnations .

Вступление

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

В этом руководстве вы установите и настроите Webmin на своем сервере и обеспечите безопасный доступ к интерфейсу с помощью действующего сертификата, используя Let’s Encrypt и Apache. Затем вы будете использовать Webmin для добавления новых учетных записей пользователей и обновления всех пакетов на своем сервере с панели инструментов.

Предпосылки

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

Шаг 1 - Установка Webmin

Во-первых, нам нужно добавить репозиторий Webmin, чтобы мы могли легко установить и обновить Webmin с помощью нашего менеджера пакетов. Мы делаем это, добавляя репозиторий в файл + / etc / apt / sources.list.

Откройте файл в вашем редакторе:

sudo nano /etc/apt/sources.list

Затем добавьте эту строку в конец файла, чтобы добавить новый репозиторий:

/etc/apt/sources.list

. . .

Сохраните файл и выйдите из редактора.

Затем добавьте ключ Webmin PGP, чтобы ваша система доверяла новому хранилищу:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Затем обновите список пакетов, включив в него репозиторий Webmin:

sudo apt update

Затем установите Webmin:

sudo apt install webmin

После завершения установки вы получите следующий вывод:

OutputWebmin install complete. You can now login to
https://:10000 as root with your
root password, or as any user who can use `sudo`.

Теперь давайте обеспечим безопасный доступ к Webmin, разместив его за веб-сервером Apache и добавив действительный сертификат TLS / SSL.

Шаг 2 - Защита Webmin с помощью Apache и Let’s Encrypt

Чтобы получить доступ к Webmin, вы должны указать порт + 10000 + и убедиться, что порт открыт на вашем брандмауэре. Это неудобно, особенно если вы обращаетесь к Webmin с помощью полного доменного имени, например + webmin. + Мы собираемся использовать виртуальный хост Apache для прокси-запросов к серверу Webmin, работающему на порту + 10000+. Затем мы защитим виртуальный хост с помощью сертификата TLS / SSL от Let Encrypt.

Сначала создайте новый файл виртуального хоста Apache в каталоге конфигурации Apache:

sudo nano /etc/apache2/sites-available/.conf

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

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
       ServerAdmin
       ServerName
       ProxyPass / http://localhost:10000/
       ProxyPassReverse / http://localhost:10000/
</VirtualHost>

Эта конфигурация указывает Apache передавать запросы на + http: // localhost: 10000 +, сервер Webmin. Это также гарантирует, что внутренние ссылки, генерируемые из Webmin, также будут проходить через Apache.

Сохраните файл и выйдите из редактора.

Далее нам нужно сказать Webmin прекратить использование TLS / SSL, так как Apache предоставит это нам в будущем.

Откройте файл + / etc / webmin / miniserv.conf + в вашем редакторе:

sudo nano /etc/webmin/miniserv.conf

Найдите следующую строку:

/etc/webmin/miniserv.conf

...
ssl=1
...

Измените + 1 + на + 0 +. Это скажет Webmin прекратить использование SSL.

Затем мы добавим наш домен в список разрешенных доменов, чтобы Webmin понимал, что когда мы получаем доступ к панели из нашего домена, это не является чем-то вредоносным, например, https://www.owasp.org/index.php/Cross. -site_Scripting_ (XSS) [Атака межсайтового скриптинга (XSS)].

Откройте файл + / etc / webmin / config + в вашем редакторе:

sudo nano /etc/webmin/config

Добавьте следующую строку в конец файла, заменив + your_domain + на ваше полное доменное имя.

/ И т.д. / Webmin / конфигурации

. . .
referers=

Сохраните файл и выйдите из редактора.

Затем перезапустите Webmin, чтобы применить изменения конфигурации:

sudo systemctl restart webmin

Затем включите модуль Apache + proxy_http +:

sudo a2enmod proxy_http

Вы увидите следующий вывод:

OutputConsidering dependency proxy for proxy_http:
Enabling module proxy.
Enabling module proxy_http.
To activate the new configuration, you need to run:
 systemctl restart apache2

Выходные данные предлагают перезапустить Apache, но сначала активируйте новый виртуальный хост Apache, который вы создали:

sudo a2ensite

Вы увидите следующий вывод, указывающий, что ваш сайт включен:

OutputEnabling site .
To activate the new configuration, you need to run:
 systemctl reload apache2

Теперь полностью перезапустите Apache, чтобы активировать модуль + proxy_http + и новый виртуальный хост:

sudo systemctl restart apache2

Перейдите к + http: // + в вашем браузере, и вы увидите страницу входа в Webmin.

Теперь давайте настроим сертификат так, чтобы ваше соединение шифровалось при использовании Webmin. Чтобы сделать это, мы собираемся использовать Let’s Encrypt.

Скажите Certbot сгенерировать сертификат TLS / SSL для вашего домена и настроить Apache для перенаправления трафика на защищенный сайт:

sudo certbot --apache --email  -d  --agree-tos --redirect --noninteractive

Вы увидите следующий вывод:

OutputSaving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/-le-ssl.conf
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/.conf to ssl vhost in /etc/apache2/sites-available/-le-ssl.conf

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=
-------------------------------------------------------------------------------

Вывод указывает, что сертификат был установлен, и Apache настроен на перенаправление запросов из + http: // + в + https: // +.

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

Шаг 3 - Использование Webmin

В Webmin есть модули, которые могут управлять всем, начиная с DNS-сервера BIND и заканчивая простым добавлением пользователей в систему. Давайте рассмотрим, как создать нового пользователя, а затем рассмотрим, как обновить пакеты программного обеспечения с помощью Webmin.

Чтобы войти в Webmin, перейдите к + http: // + и войдите в систему как пользователь * root * или пользователь с привилегиями sudo.

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

Давайте управлять пользователями и группами на сервере.

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

Давайте создадим нового пользователя с именем * deploy *, который можно использовать для размещения веб-приложений. Чтобы добавить пользователя, нажмите * Создать нового пользователя *, который расположен вверху таблицы пользователей. Появится экран * Create User *, где вы можете указать имя пользователя, пароль, группы и другие параметры. Следуйте этим инструкциям, чтобы создать пользователя:

  1. Заполните * Имя пользователя * с помощью + deploy +.

  2. Выберите * Автоматический * для * ИД пользователя *.

  3. Заполните * Настоящее имя * описательным именем, например + Пользователь развертывания +.

  4. Для * Домашний каталог * выберите * Автоматический *.

  5. Для * Shell * выберите * / bin / bash * из выпадающего списка.

  6. Для * Пароль * выберите * Обычный пароль * и введите пароль по вашему выбору.

  7. Для * Первичная группа * выберите * Новая группа с тем же именем, что и у пользователя *.

  8. Для * Secondary Group * выберите * sudo * в списке * All groups * и нажмите кнопку * → *, чтобы добавить группу в список * in groups *.

  9. Нажмите * Создать *, чтобы создать этого нового пользователя.

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

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

Обновление пакетов

Webmin позволяет обновлять все ваши пакеты через пользовательский интерфейс. Чтобы обновить все ваши пакеты, нажмите ссылку * Dashboard *, а затем найдите поле * Package updates *. Если доступны доступные обновления, вы увидите ссылку с указанием количества доступных обновлений, как показано на следующем рисунке:

изображение: https: //assets.digitalocean.com/articles/webmin1804/RF2fRmB.png [Webmin показывает количество доступных обновлений пакета]

Нажмите на эту ссылку, а затем нажмите * Обновить выбранные пакеты *, чтобы начать обновление. Вас могут попросить перезагрузить сервер, что также можно сделать через интерфейс Webmin.

Заключение

Теперь у вас есть защищенный рабочий экземпляр Webmin, и вы использовали интерфейс для создания пользователя и обновления пакетов. Webmin предоставляет вам доступ ко многим вещам, к которым вам обычно требуется доступ через консоль, и организует их интуитивно понятным способом. Например, если у вас установлен Apache, вы найдете вкладку конфигурации для него в разделе * Servers *, а затем * Apache *.

Узнайте больше об интерфейсе или посетите Official Webmin wiki, чтобы узнать больше об управлении вашей системой с помощью Webmin.

Related