Dla administratorów systemów, Webmin to prawdziwe błogosławieństwo. Jest to panel kontrolny oparty na przeglądarce internetowej, który umożliwia zdalne zarządzanie maszyną z systemem Linux za pomocą nowoczesnego interfejsu webowego. Webmin pozwala zmieniać w locie różne konfiguracje systemowe, w tym serwery WWW i bazy danych. Może również zarządzać użytkownikami, grupami i pakietami oprogramowania.
W tym poradniku przeprowadzimy Cię przez kroki instalacji i konfiguracji Webmina na Ubuntu 18.04.
Webmin na Ubuntu
Choć Webmin jest popularnym narzędziem dla administratorów systemów, nie jest on dostępny w oficjalnych Ubuntu repozytoriach. Na szczęście Webmin posiada dedykowane repozytorium PPA dla Ubuntu. Dba ono o to, aby oprogramowanie było zawsze aktualne. Oto wymagania wstępne, które będą potrzebne przed rozpoczęciem:
- Będziesz potrzebować serwera Ubuntu z użytkownikiem non-root z uprawnieniami sudo oraz zaporą sieciową. Sprawdź jak zainstalować serwer Ubuntu tutaj, oraz jak skonfigurować użytkownika sudo tutaj.
- Ze względu na charakter Webmina, ważne jest, aby chronić dostęp przed niepowołanymi rękami. Domyślnie Webmin jest wyposażony w kilka funkcji bezpieczeństwa. W tym poradniku jednak Webmin zostanie zabezpieczony za pomocą Let’s Encrypt i Apache. Postępuj zgodnie z tym samouczkiem, aby zainstalować serwer Apache.
- Do poniższego samouczka wymagana jest również w pełni kwalifikowana nazwa domeny (FQDN) z rekordem DNS wskazującym na adres IP serwera.
- Będziesz także potrzebować Certbot, którego instrukcję instalacji znajdziesz w kroku 1 naszego samouczka dotyczącego zabezpieczania Apache za pomocą Let’s Encrypt na Ubuntu 18.04. Użyjesz narzędzia Certbot do utworzenia certyfikatu TLS/SSL dla Webmina.
Zaczynajmy!
Instalacja Webmina na Ubuntu
Aby zainstalować Webmin, musimy dodać repozytorium Webmin PPA. Najpierw upewnij się, że system zawiera wszystkie niezbędne zależności:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
Następnie zaimportuj klucz PGP Webmina:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Na koniec dodaj repozytorium Webmina:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
APT może teraz rozpoznać repozytorium Webmin PPA. Zaktualizuj pamięć podręczną APT:
|
1 |
sudo apt update |
Na koniec zainstaluj Webmin:
|
1 |
sudo apt install webmin |
Po zakończeniu instalacji wyświetli się komunikat podobny do poniższego, wskazujący, że dostęp do Webmina można uzyskać bezpośrednio za pomocą następującego linku. W tym przykładzie używana jest nazwa hosta mojego systemu:
|
1 |
https://localhost:10000 |
Komunikat informuje, że aby mieć pełną kontrolę nad systemem za pomocą Webmina, użytkownik musi znać hasło roota. To jednak nie wystarczy, aby zabezpieczyć coś tak wrażliwego jak Webmin. Umieścimy go za serwerem WWW Apache z ważnym certyfikatem TLS/SSL, tak jak wspomnieliśmy wcześniej.
Zabezpieczanie Webmina
Domyślną metodą uzyskiwania dostępu do Webmina jest otwarcie portu 10000. W naszym przypadku nie jest to optymalne. Aby rozwiązać ten problem, skonfigurujemy wirtualny host Apache jako proxy dla serwera Webmin działającego na porcie 10000. Następnie wirtualny host zostanie zabezpieczony certyfikatem TLS/SSL uzyskanym z Let’s Encrypt. Procedura ta wymaga zainstalowania i prawidłowego skonfigurowania serwera WWW Apache oraz narzędzia Certbot.
- Tworzenie nowego wirtualnego hosta Apache
Nowy wirtualny host zostanie zdefiniowany przez jego plik konfiguracyjny. Otwórz plik konfiguracyjny w wybranym edytorze tekstu:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
W pliku dodaj następujące linie:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Informuje to serwer Apache, aby przekazywał żądania przychodzące do wirtualnego hosta do serwera Webmin w następującej lokalizacji. Zapewnia to również, że wewnętrzne linki generowane przez Webmin będą przechodzić przez Apache.
- Wyłączanie TLS/SSL w Webmin
Ponieważ zamierzamy skonfigurować Apache z TLS/SSL, nie ma potrzeby, aby Webmin miał własny TLS/SSL. Zaleca się wyłączenie tej funkcji w Webmin. Następnie otwórz plik konfiguracyjny Webmin w wybranym edytorze tekstu:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
Następnie wyszukaj następującą linię:
|
1 |
ssl=1 |
W tym miejscu wartość „1” oznacza, że Webmin ma włączony protokół SSL. Następnie ustaw wartość na „0”, aby wyłączyć SSL w Webmin.
- Dodawanie domeny do Webmin
Domyślnie Webmin nie zezwalałby naszej domenie na dostęp do niego. Wynika to z faktu, że taki dostęp może być częścią złośliwego ataku, na przykład ataku typu Cross-Site Scripting (XSS).
Aby upewnić się, że Webmin zezwala na naszą domenę, należy ją zadeklarować w konfiguracji Webmin. Otwórz plik konfiguracyjny w swoim ulubionym edytorze tekstu:
|
1 |
sudo vim /etc/webmin/config |
Na dole tekstu dodaj następującą linię:
|
1 |
referers=<domain> |
Następnie zapisz tekst, wyjdź z edytora i zrestartuj usługę Webmin, aby wszystkie zmiany weszły w życie:
|
1 |
sudo systemctl restart webmin |
- Konfiguracja Apache
Potrzebujemy modułu proxy_http serwera Apache. Następujące polecenie go włączy:
|
1 |
sudo a2enmod proxy_http |
Sugeruje to restart Apache. Musisz jednak najpierw włączyć nowy wirtualny host:
|
1 |
sudo a2ensite <domain> |
Na koniec zrestartuj Apache. Włączy to moduł i wirtualny host:
|
1 |
sudo systemctl restart apache2 |
Następujące polecenie skonfiguruje zaporę sieciową, aby zezwalała na ruch przychodzący na portach 80 i 443 (domyślne porty Apache dla ruchu HTTP/HTTPS):
|
1 |
sudo ufw allow in "Apache Full" |
Aby zweryfikować, czy konfiguracja przebiegła pomyślnie, przejdź do swojej domeny. Powinna pojawić się strona logowania Webmin. Jednak NIE loguj się do Webmin. Ponieważ protokół TLS/SSL nie został jeszcze wdrożony, komunikacja będzie odbywać się przez HTTP, wysyłając wszystkie dane w formacie czystego tekstu:
|
1 |
http://<domain> |
- Konfiguracja TLS/SSL
Potrzebujemy certyfikatu dla naszej domeny, aby połączenie było szyfrowane. W tym celu użyjemy Let’s Encrypt. Jest to bezpłatny, zautomatyzowany i otwarty urząd certyfikacji (CA). Działa na rzecz ogółu społeczeństwa, dostarczany przez Internet Security Research Group (ISRG).
Aby wygenerować certyfikat, narzędziem do użycia w powłoce jest certbot. Uruchom następujące polecenie certbot, aby wygenerować certyfikat TLS/SSL dla swojej domeny i skonfigurować Apache do przekierowywania ruchu do bezpiecznej witryny:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
Wynik będzie wyglądał następująco:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Zapisywanie debugowania dziennika w /var/log/letsencrypt/letsencrypt.log Wtyczki wybrane: Authenticator apache, Installer apache Uzyskiwanie a nowego certyfikatu Wykonywanie the następujących wyzwań: http-01 wyzwanie dla <domain> Włączono Apache rewrite moduł Oczekiwanie na weryfikację... Oczyszczanie up wyzwań Utworzono an SSL vhost w /etc/apache2/sites-available/<domain>-le-ssl.conf Włączono Apache socache_shmcb moduł Włączono Apache ssl moduł Wdrażanie certyfikatu do VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf Włączanie dostępnej witryny: /etc/apache2/sites-available/<domain>-le-ssl.conf Włączono Apache rewrite moduł Przekierowywanie vhost w /etc/apache2/sites-enabled/<domain>.conf do ssl vhost w /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- Gratulacje! Pomyślnie have successfully włączono https://<domain> Należy should przetestować swoją konfigurację pod adresem: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Wskazuje to, że instalacja certyfikatu zakończyła się pomyślnie, a serwer Apache został pomyślnie skonfigurowany do przekierowywania żądań z http://<domain> do https://<domain>.
Korzystanie z Webmina
Na koniec jesteśmy gotowi do zarządzania systemem za pomocą Webmina. Otwórz domenę Webmina w przeglądarce internetowej i zaloguj się jako użytkownik root (lub dowolny inny użytkownik z uprawnieniami sudo).
- Zarządzanie użytkownikami i grupami
Najpierw zobaczmy, jak zarządzać użytkownikami i grupami za pomocą Webmina. W lewym panelu przejdź do System >> Użytkownicy i grupy:

Aby utworzyć nowego użytkownika, kliknij Utwórz nowego użytkownika:

Następnie wypełnij wymagane informacje dla nowego użytkownika. Kliknij Utwórz aby sfinalizować procedurę:

- Aktualizacje pakietów
Webmin może również sprawdzać dostępne aktualizacje pakietów. W lewym panelu kliknij ikonę Dashboard :

The Dashboard przedstawi krótkie podsumowanie statystyk systemu. W sekcji Informacje o systemie znajdź etykietę Aktualizacje pakietów . Poinformuje ona, czy dostępna jest jakakolwiek aktualizacja dla dowolnego pakietu.
Alternatywnie, w lewym panelu przejdź do System >> Aktualizacje pakietów oprogramowania. W zakładce Aktualizacje pakietów Webmin wyświetli wszystkie pakiety, dla których dostępne są aktualizacje:

W zakładce Zaplanowane aktualizacje Webmin oferuje opcję automatyzacji instalacji aktualizacji pakietów:

Następnie pod zakładką Repozytoria pakietów Webmin oferuje łatwy sposób zarządzania wszystkimi repozytoriami pakietów skonfigurowanymi w systemie:
- Uruchamianie niestandardowych poleceń
Chociaż Webmin oferuje mnóstwo opcji i dostosowań, wciąż istnieją rzeczy, które należy wykonać ręcznie. Webmin może uruchomić dowolne polecenie powłoki. Aby uruchomić polecenie, w lewym panelu przejdź do Narzędzia >> Powłoka poleceń:

Następnie wprowadź żądane polecenie i kliknij Wykonaj polecenie , aby je uruchomić:

Uruchamiasz określone polecenia regularnie? Rozważ ich zapisanie w Webminie. W lewym panelu przejdź do Narzędzia >> Niestandardowe polecenia. Nie ma już potrzeby ręcznego wpisywania tych poleceń:

- Zarządzanie Apache
Dodatkowo, jeśli zainstalowany jest jakikolwiek silnik serwera, Webmin może nim zarządzać. W tym przykładzie użyliśmy serwera Apache. Aby zarządzać serwerem Apache za pomocą Webmina, przejdź do Serwery >> Apache:

Podsumowanie
Webmin to bardzo przydatne narzędzie do zarządzania całym systemem. Oferuje wygodny sposób wykonywania czynności, które normalnie wymagałyby nudnej interakcji z ekranem konsoli. Co więcej, pomaga precyzyjnie zorganizować system. Ten przewodnik przedstawia najużyteczniejsze zastosowania Webmina. Zachęcamy do zapoznania się z oficjalną wiki Webmina, aby dowiedzieć się więcej o tym, jak najlepiej wykorzystać to narzędzie.
Miłego korzystania!



Komentarze
Brak komentarzy. Bądź pierwszy.