В этой статье мы проведем вас по шагам установки Cockpit на VPS- сервере Debian 9, а также настроим веб-сервер Apache в качестве обратного прокси-сервера, чтобы вы могли получить доступ к Cockpit с помощью своего доменного имени.
Cockpit – это легкий и мощный удаленный менеджер с открытым исходным кодом для серверов GNU/Linux. Cockpit позволяет вам легко и быстро управлять и администрировать ваши серверы Linux через интуитивно понятный веб-интерфейс – он даже позволяет вам использовать командную строку сервера внутри самого браузера! Начнем с установки.
Войдите в свой Debian 9 VPS через SSH как пользователь root или как другой пользователь с привилегиями root:
ssh root@IP_Address -p Port_number
где «IP_Address» и «Port_number» – это фактический IP-адрес вашего сервера и номер порта SSH.
После входа в систему убедитесь, что все установленные на сервере пакеты обновлены до последней доступной версии, выполнив следующие команды
apt update && apt upgrade
Вы также можете включить автоматическое обновление вашего Debian 9 VPS.
Cockpit включен в репозитории Debian 9 ‘backports’, поэтому его можно легко установить с помощью менеджера пакетов apt. Для этого нам нужно включить репозиторий Debian ‘backports’:
echo 'deb http://deb.debian.org/debian stretch-backports main' > \ /etc/apt/sources.list.d/backports.list
Как только это будет включено, обновите список хранилища:
apt update
После обновления списка хранилищ выполните следующую команду, чтобы установить Cockpit вместе со всеми его зависимостями:
apt -y install cockpit
Включите службу Cockpit для автоматического запуска после перезагрузки сервера:
systemctl enable cockpit
После завершения установки кабина должна быть автоматически запущена. Вы можете проверить его статус, введя следующую команду:
systemctl status cockpit
Вывод:
cockpit.service - Cockpit Web Service Loaded: loaded (/lib/systemd/system/cockpit.service; static; vendor preset: enabled) Active: active (running) since Tue 2019-07-23 12:10:12 EDT; 4min 12s ago Docs: man:cockpit-ws(8) Process: 3425 ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type= (code=exited, status=0/SUCCESS) Main PID: 8966 (cockpit-ws) Tasks: 3 (limit: 4915) CGroup: /system.slice/cockpit.service ââ9740 /usr/lib/cockpit/cockpit-ws ââ9746 /usr/bin/ssh-agent Jul 23 12:11:34 hostname cockpit-ws[8966]: logged in user session
Вывод состояния показывает, что Cockpit запущен на вашем Debian 9 VPS, и вы уже можете начать его использовать. Cockpit по умолчанию прослушивает порт 9090, и в этот момент вы можете получить к нему доступ, перейдя в ваш любимый веб-браузер http://Your_IP/9090. Однако у вас не установлен веб-сервер, поэтому на следующем шаге мы покажем вам, как это сделать. Кроме того, мы также покажем вам, как настроить веб-сервер, чтобы вы могли получить доступ к Cockpit с помощью доменного имени вместо IP-адреса вашего сервера.
Apache – самый популярный веб-сервер в мире. Мы установим его для целей данного руководства и будем использовать его в качестве обратного прокси-сервера. Если Apache еще не установлен на вашем Debian 9 VPS, вы можете легко установить его, используя следующую команду:
apt -y install apache2
После завершения установки веб-сервер должен автоматически запускаться и работать на вашем сервере. Проверьте его статус, чтобы убедиться, что он работает:
systemctl status apache2
Вывод:
apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Thu 2019-07-04 05:02:57 CDT; 4h 35min ago Process: 1655 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/S Process: 565 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCES Main PID: 668 (apache2) Tasks: 8 (limit: 1112) CGroup: /system.slice/apache2.service ├─ 790 /usr/sbin/apache2 -k start ├─ 1865 /usr/sbin/apache2 -k start ├─ 1866 /usr/sbin/apache2 -k start ├─ 1867 /usr/sbin/apache2 -k start ├─ 1871 /usr/sbin/apache2 -k start ├─ 1872 /usr/sbin/apache2 -k start ├─13591 /usr/sbin/apache2 -k start └─13662 /usr/sbin/apache2 -k start
Убедитесь, что веб-сервер Apache включен автоматически после перезагрузки сервера:
systemctl enable apache2
Далее мы создадим виртуальный хост Apache для доменного имени, который мы будем использовать для доступа к Cockpit. В нашем примере мы будем использовать domain.ru, поэтому убедитесь, что все экземпляры этого доменного имени заменены на ваше уникальное доменное имя. Создайте файл конфигурации Apache со следующим содержимым:
nano /etc/apache2/sites-available/domain.ru.conf <VirtualHost *:80> ServerName domain.ru ServerAlias www.domain.ru ProxyRequests Off Order deny,allow Allow from all RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://127.0.0.1:9090/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule /(.*) http://127.0.0.1:9090/$1 [P,L] ProxyPass / http://127.0.0.1:9090/ ProxyPassReverse / http://127.0.0.1:9090/ Order allow,deny Allow from all </VirtualHost>
Сохраните файл и активируйте виртуальный хост с помощью следующей команды:
a2ensite domain.ru
Затем перезапустите веб-сервер, чтобы изменения вступили в силу:
systemctl restart apache2
Наконец, вы должны иметь возможность получить доступ к Cockpit с вашим доменным именем по адресу http://domain.ru и использовать одного из пользователей вашей системы для входа в приложение.
Все! Теперь у вас есть рабочая установка Cockpit на вашем Debian 9 VPS.
PS. Если вам понравился этот пост о том, как установить Cockpit на Debian 9 VPS, поделитесь им с друзьями в социальных сетях с помощью кнопок общего доступа или просто оставьте комментарий внизу в разделе комментариев. Благодарю.