Ubuntu 18.04에 Webmin을 설치하는 방법


저자는 Write for DOnations 프로그램을 선택했습니다.

###소개

Webmin은 최신 웹 기반 인터페이스를 통해 서버를 관리할 수 있는 모든 Linux 시스템용 웹 기반 제어판입니다. Webmin을 사용하면 웹 서버 및 데이터베이스를 포함하여 일반 패키지에 대한 설정을 즉시 변경할 수 있을 뿐만 아니라 사용자, 그룹 및 소프트웨어 패키지를 관리할 수 있습니다.

이 자습서에서는 서버에 Webmin을 설치 및 구성하고 Let’s Encrypt 및 Apache를 사용하여 유효한 인증서로 인터페이스에 대한 액세스를 보호합니다. 그런 다음 Webmin을 사용하여 새 사용자 계정을 추가하고 대시보드에서 서버의 모든 패키지를 업데이트합니다.

전제 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • 루트가 아닌 sudo 사용자 및 방화벽을 포함하여 Ubuntu 18.04 초기 서버 설정 가이드에 따라 설정된 Ubuntu 18.04 서버 1대
  • Ubuntu 18.04에 Linux, Apache, MySQL, PHP(LAMP) 스택을 설치하는 방법에 따라 Apache를 설치했습니다. Apache를 사용하여 Let's Encrypt의 도메인 확인을 수행하고 Webmin의 프록시 역할을 합니다. 이 자습서를 따를 때 방화벽을 통해 Apache에 대한 액세스를 구성해야 합니다.
  • 서버의 IP 주소를 가리키는 DNS A 레코드가 있는 정규화된 도메인 이름(FQDN). 이를 구성하려면 DigitalOcean으로 호스트 이름을 설정하는 방법 자습서를 따르십시오.
  • Ubuntu 18.04에서 Let's Encrypt로 Apache를 보호하는 방법의 1단계에 따라 Certbot을 설치했습니다. Certbot을 사용하여 Webmin용 TLS/SSL 인증서를 생성합니다.

1단계 - Webmin 설치

먼저 패키지 관리자를 사용하여 Webmin을 쉽게 설치하고 업데이트할 수 있도록 Webmin 리포지토리를 추가해야 합니다. /etc/apt/sources.list 파일에 리포지토리를 추가하여 이를 수행합니다.

편집기에서 파일을 엽니다.

  1. sudo nano /etc/apt/sources.list

그런 다음 파일 맨 아래에 다음 줄을 추가하여 새 리포지토리를 추가합니다.

. . . 
deb http://download.webmin.com/download/repository sarge contrib

파일을 저장하고 편집기를 종료합니다.

다음으로 시스템이 새 리포지토리를 신뢰하도록 Webmin PGP 키를 추가합니다.

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

다음으로 Webmin 리포지토리를 포함하도록 패키지 목록을 업데이트합니다.

  1. sudo apt update

그런 다음 Webmin을 설치합니다.

  1. sudo apt install webmin

설치가 완료되면 다음과 같은 결과가 표시됩니다.

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

이제 Webmin을 Apache 웹 서버 뒤에 배치하고 유효한 TLS/SSL 인증서를 추가하여 Webmin에 대한 액세스를 보호해 보겠습니다.

2단계 - Apache로 Webmin 보안 및 Let's Encrypt

Webmin에 액세스하려면 포트 10000을 지정하고 포트가 방화벽에서 열려 있는지 확인해야 합니다. 이는 특히 webmin.your_domain과 같은 FQDN을 사용하여 Webmin에 액세스하는 경우 불편합니다. Apache 가상 호스트를 사용하여 포트에서 실행되는 Webmin의 서버에 대한 프록시 요청을 할 것입니다. <코드>10000. 그런 다음 Let's Encrypt의 TLS/SSL 인증서를 사용하여 가상 호스트를 보호합니다.

먼저 Apache의 구성 디렉토리에 새 Apache 가상 호스트 파일을 만듭니다.

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

파일에 다음을 추가하고 이메일 주소와 도메인을 자신의 것으로 바꿉니다.


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

이 구성은 Webmin 서버인 http://localhost:10000에 요청을 전달하도록 Apache에 지시합니다. 또한 Webmin에서 생성된 내부 링크도 Apache를 통과하도록 합니다.

파일을 저장하고 편집기를 종료합니다.

다음으로 Apache가 앞으로 제공할 TLS/SSL 사용을 중지하도록 Webmin에 알려야 합니다.

편집기에서 /etc/webmin/miniserv.conf 파일을 엽니다.

  1. sudo nano /etc/webmin/miniserv.conf

다음 줄을 찾으십시오.

...
ssl=1
...

10로 변경하면 Webmin에 SSL 사용을 중지하라는 메시지가 표시됩니다.

다음으로 도메인을 허용된 도메인 목록에 추가하여 도메인에서 패널에 액세스할 때 XSS(Cross-Site Scripting) 공격과 같은 악의적인 것이 아니라는 것을 Webmin이 이해하도록 합니다.

편집기에서 /etc/webmin/config 파일을 엽니다.

  1. sudo nano /etc/webmin/config

파일 맨 아래에 다음 줄을 추가하고 your_domain을 정규화된 도메인 이름으로 바꿉니다.

 . . . 
referers=your_domain

파일을 저장하고 편집기를 종료합니다.

그런 다음 Webmin을 다시 시작하여 구성 변경 사항을 적용합니다.

  1. sudo systemctl restart webmin

그런 다음 Apache의 proxy_http 모듈을 활성화합니다.

  1. sudo a2enmod proxy_http

다음 출력이 표시됩니다.

Output
Considering 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 가상 호스트를 활성화합니다.

  1. sudo a2ensite your_domain

사이트가 활성화되었음을 나타내는 다음 출력이 표시됩니다.

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

이제 Apache를 완전히 다시 시작하여 proxy_http 모듈과 새 가상 호스트를 활성화합니다.

  1. sudo systemctl restart apache2

참고: Linux, Apache, MySQL, PHP를 설치하는 방법(LAMP ) 우분투 18.04의 스택. Sudo ufw allow in \Apache Full\ 명령으로 이 작업을 수행할 수 있습니다.

브라우저에서 http://your_domain으로 이동하면 Webmin 로그인 페이지가 나타납니다.

경고: SSL을 활성화하지 않았으므로 아직 Webmin에 로그인하지 마십시오. 지금 로그인하면 자격 증명이 일반 텍스트로 서버에 전송됩니다.

이제 Webmin을 사용하는 동안 연결이 암호화되도록 인증서를 구성해 보겠습니다. 이를 위해 Let's Encrypt를 사용할 것입니다.

도메인에 대한 TLS/SSL 인증서를 생성하고 트래픽을 보안 사이트로 리디렉션하도록 Apache를 구성하도록 Certbot에 지시합니다.

  1. sudo certbot --apache --email your_email -d your_domain --agree-tos --redirect --noninteractive

다음 출력이 표시됩니다.

Output
Saving 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 your_domain Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in /etc/apache2/sites-available/your_domain-le-ssl.conf ------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://your_domain You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your_domain -------------------------------------------------------------------------------

출력은 인증서가 설치되었고 Apache가 http://your_domain에서 https://your_domain.

이제 안전하게 작동하는 Webmin 인스턴스를 설정했습니다. 사용 방법을 살펴보겠습니다.

3단계 – Webmin 사용

Webmin에는 BIND DNS 서버에서 시스템에 사용자를 추가하는 것과 같은 단순한 것에 이르기까지 모든 것을 제어할 수 있는 모듈이 있습니다. 새 사용자를 생성하는 방법을 살펴본 다음 Webmin을 사용하여 소프트웨어 패키지를 업데이트하는 방법을 살펴보겠습니다.

Webmin에 로그인하려면 http://your_domain으로 이동하여 루트 사용자 또는 sudo 권한이 있는 사용자로 로그인합니다.

사용자 및 그룹 관리

서버에서 사용자와 그룹을 관리해 봅시다.

먼저 시스템 탭을 클릭한 다음 사용자 및 그룹 버튼을 클릭합니다. 여기에서 사용자를 추가하거나, 사용자를 관리하거나, 그룹을 추가하거나 관리할 수 있습니다.

웹 응용 프로그램을 호스팅하는 데 사용할 수 있는 배포라는 새 사용자를 만들어 보겠습니다. 사용자를 추가하려면 사용자 테이블 상단에 있는 새 사용자 만들기를 클릭합니다. 그러면 사용자 이름, 암호, 그룹 및 기타 옵션을 제공할 수 있는 사용자 만들기 화면이 표시됩니다. 다음 지침에 따라 사용자를 만듭니다.

  1. deploy로 사용자 이름을 입력합니다.
  2. 사용자 ID로 자동을 선택합니다.
  3. 배포 사용자와 같이 설명이 포함된 이름으로 실명을 입력합니다.
  4. 홈 디렉토리의 경우 자동을 선택합니다.
  5. 쉘의 경우 드롭다운 목록에서 /bin/bash를 선택합니다.
  6. 암호에서 일반 암호를 선택하고 원하는 암호를 입력합니다.
  7. 기본 그룹의 경우 사용자와 이름이 같은 새 그룹을 선택합니다.
  8. 보조 그룹의 경우 모든 그룹 목록에서 sudo를 선택하고 -> 버튼을 눌러 그룹 목록에 그룹을 추가합니다.
  9. 새 사용자를 만들려면 만들기를 누르세요.

사용자를 생성할 때 암호 만료, 사용자 셸 또는 홈 디렉토리 허용 여부에 대한 옵션을 설정할 수 있습니다.

다음으로 시스템에 업데이트를 설치하는 방법을 살펴보겠습니다.

패키지 업데이트

Webmin을 사용하면 사용자 인터페이스를 통해 모든 패키지를 업데이트할 수 있습니다. 모든 패키지를 업데이트하려면 대시보드 링크를 클릭한 다음 패키지 업데이트 필드를 찾으십시오. 사용 가능한 업데이트가 있는 경우 다음 그림과 같이 사용 가능한 업데이트 수를 나타내는 링크가 표시됩니다.

이 링크를 클릭한 다음 선택한 패키지 업데이트를 눌러 업데이트를 시작합니다. Webmin 인터페이스를 통해서도 수행할 수 있는 서버를 재부팅하라는 메시지가 표시될 수 있습니다.

결론

이제 안전하게 작동하는 Webmin 인스턴스가 있고 인터페이스를 사용하여 사용자를 만들고 패키지를 업데이트했습니다. Webmin은 일반적으로 콘솔을 통해 액세스해야 하는 많은 항목에 대한 액세스를 제공하고 직관적인 방식으로 구성합니다. 예를 들어, Apache가 설치되어 있는 경우 서버 아래에서 Apache에 대한 구성 탭을 찾은 다음 Apache를 찾을 수 있습니다.

인터페이스를 자세히 살펴보거나 공식 Webmin 위키를 확인하여 Webmin으로 시스템을 관리하는 방법에 대해 자세히 알아보세요.