Webmin 설치 · 7 min read · Nov 02, 2025

Rocky Linux 8에 무료 Let's Encrypt SSL로 Webmin 설치하는 방법

Webmin은 웹 브라우저를 통해 Linux 시스템을 구성할 수 있게 해주는 무료, 오픈 소스, 웹 기반 Linux 관리 및 관리 도구입니다. Perl로 작성되었으며 CPU 및 RAM의 실시간 모니터링을 제공하는 사용자 친화적인 웹 인터페이스를 제공합니다. Webmin을 사용하면 사용자 계정 관리, 패키지 관리, 방화벽 관리, cron 작업 생성 등 여러 관리 작업을 수행할 수 있습니다.

이 튜토리얼에서는 Rocky Linux 8에 Nginx 및 Let’s Encrypt SSL과 함께 Webmin을 설치하는 방법을 보여드리겠습니다.

전제 조건

  • Rocky Linux 8을 실행하는 서버.
  • 서버 IP에 포인팅된 유효한 도메인 이름.
  • 서버에 구성된 루트 비밀번호.

Webmin 설치

Webmin은 Perl 언어로 작성되었으므로 시스템에 Perl을 설치해야 합니다. 다음 명령어를 실행하여 Perl을 설치합니다:

dnf install perl -y

다음으로, 다음 명령어를 사용하여 Webmin tarball의 최신 버전을 다운로드합니다:

wget https://www.webmin.com/download/webmin-current.tar.gz

Webmin이 다운로드되면 다음 명령어로 다운로드한 파일을 추출합니다:

tar xvf webmin-current.tar.gz

다음으로, Webmin 설치 디렉토리를 만들고 다음 스크립트를 실행하여 Webmin을 설치합니다:

mkdir -p /usr/local/webmin  
./webmin-1.984/setup.sh /usr/local/webmin/

구성 디렉토리의 경로, 관리자 사용자 이름 및 비밀번호를 제공하라는 메시지가 표시됩니다:

*********************************************************************

        Webmin 설치 스크립트에 오신 것을 환영합니다, 버전 1.984
*******************************************************************
Webmin은 Unix 유사 운영 체제와 일반 Unix 서비스를 쉽게 관리할 수 있게 해주는 웹 기반 인터페이스입니다.

/root/webmin-1.984에서 /usr/local/webmin/으로 Webmin을 설치하는 중...

*******************************************************************
Webmin은 구성 파일과 로그 파일에 대해 별도의 디렉토리를 사용합니다.
여러 버전의 Webmin을 동시에 실행하려는 것이 아니라면 기본값을 수락할 수 있습니다.

구성 파일 디렉토리 [/etc/webmin]: 
로그 파일 디렉토리 [/var/webmin]: 

*******************************************************************
Webmin은 완전히 Perl로 작성되었습니다. 시스템의 Perl 5 인터프리터에 대한 전체 경로를 입력하십시오.

Perl의 전체 경로 (기본값 /usr/bin/perl): 

Perl 테스트 중...
Perl은 정상적으로 설치된 것 같습니다.

*******************************************************************
운영 체제 이름:    Rocky Linux
운영 체제 버전: 8.5

*******************************************************************
Webmin은 관리 프로그램에 대한 액세스를 제공하기 위해 자체 비밀번호 보호 웹 서버를 사용합니다. 설치 스크립트는 다음을 알아야 합니다:
 - 웹 서버가 실행될 포트. 이 포트를 이미 사용 중인 다른 웹 서버가 없어야 합니다.
 - 웹 서버에 액세스하는 데 필요한 로그인 이름.
 - 웹 서버에 액세스하는 데 필요한 비밀번호.
 - 웹 서버가 SSL을 사용할지 여부(시스템이 지원하는 경우).
 - 부팅 시 Webmin을 시작할지 여부.

웹 서버 포트 (기본값 10000): 
로그인 이름 (기본값 admin): admin
로그인 비밀번호: 
비밀번호 다시 입력: 
SSL 사용 (y/n): n
부팅 시 Webmin 시작 (y/n): y
*******************************************************************
*********************************************************************
Webmin이 성공적으로 설치되고 시작되었습니다. 웹 브라우저를 사용하여 다음으로 이동하십시오:

  http://rockylinux:10000/

이전에 입력한 이름과 비밀번호로 로그인하십시오.

기본적으로 Webmin은 포트 10000에서 수신 대기합니다. 다음 명령어로 확인할 수 있습니다:

ss -antpl | grep 10000

다음과 같은 출력이 표시됩니다:

LISTEN 0      128          0.0.0.0:10000      0.0.0.0:*    users:(("miniserv.pl",pid=6601,fd=7))

Nginx를 Webmin의 리버스 프록시로 구성하기

Nginx를 Webmin의 리버스 프록시로 사용하는 것이 좋습니다. 먼저, 다음 명령어를 사용하여 Nginx 패키지를 설치합니다:

dnf install nginx -y

다음으로, 다음 명령어로 Nginx 가상 호스트 구성 파일을 만듭니다:

nano /etc/nginx/conf.d/webmin.conf

다음 줄을 추가합니다:

server {
       listen 80;
       server_name webmin.linuxbuz.com;

       access_log /var/log/nginx/webmin.access;
       error_log /var/log/nginx/webmin.error;

       location / {
              proxy_pass http://127.0.0.1:10000;
              #proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
        }
}

파일을 저장하고 닫은 후, Nginx의 구문 오류를 확인합니다:

ginx -t

다음과 같은 출력이 표시됩니다:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

다음으로, Nginx 서비스를 시작하고 시스템 재부팅 시 시작되도록 설정합니다:

systemctl start nginx  
systemctl enable nginx

다음 명령어로 Webmin의 상태를 확인할 수 있습니다:

systemctl status nginx

다음과 같은 출력이 표시되어야 합니다:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-02-12 08:20:04 UTC; 17s ago
  Process: 7051 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 7050 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 7048 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 7053 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 3.7M
   CGroup: /system.slice/nginx.service
           ??7053 nginx: master process /usr/sbin/nginx
           ??7054 nginx: worker process

Feb 12 08:20:03 rockylinux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Feb 12 08:20:04 rockylinux nginx[7050]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Feb 12 08:20:04 rockylinux nginx[7050]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Feb 12 08:20:04 rockylinux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Feb 12 08:20:04 rockylinux systemd[1]: Started The nginx HTTP and reverse proxy server.

Webmin에서 SSL 활성화

Webmin을 Let’s Encrypt SSL로 보호하는 것이 좋습니다. 먼저, Let’s Encrypt SSL을 관리하기 위해 Certbot 클라이언트를 설치해야 합니다. 다음 명령어로 설치할 수 있습니다:

dnf install epel-release -y  
dnf install python3-certbot-nginx -y

다음으로, certbot 명령어를 실행하여 Webmin 도메인에 Let’s Encrypt SSL을 다운로드하고 설치합니다.

certbot --nginx -d webmin.linuxbuz.com

유효한 이메일 주소를 제공하고 서비스 약관에 동의하라는 메시지가 표시됩니다:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for webmin.linuxbuz.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/webmin.linuxbuz.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/webmin.linuxbuz.com/privkey.pem
This certificate expires on 2022-05-13.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for webmin.linuxbuz.com to /etc/nginx/conf.d/webmin.conf
Congratulations! You have successfully enabled HTTPS on https://webmin.linuxbuz.com
We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Webmin 구성

다음으로, Webmin 구성 파일을 편집하고 신뢰할 수 있는 참조자를 정의해야 합니다.

nano /etc/webmin/config

다음 줄을 추가합니다:

referers=webmin.linuxbuz.com

파일을 저장하고 닫은 후, miniserv.conf 파일을 편집하고 Webmin에서 HTTPS 모드를 비활성화합니다:

nano /etc/webmin/miniserv.conf

다음 줄을 추가합니다:

ssl=0
allow=127.0.0.1

작업이 끝나면 파일을 저장하고 닫습니다.

다음으로, 다음 명령어로 Webmin 프로세스 ID를 가져옵니다:

ps -ef | grep webmin

다음과 같은 출력이 표시됩니다:

root        6601       1  0 08:12 ?        00:00:00 /usr/bin/perl /usr/local/webmin//miniserv.pl /etc/webmin/miniserv.conf
root        7553    1117  0 08:24 pts/0    00:00:00 grep --color=auto webmin

다음으로, kill 명령어를 사용하여 Webmin 프로세스를 종료합니다.

kill -9 6601

다음으로, systemd를 사용하여 Webmin 서비스를 시작하고 시스템 재부팅 시 시작되도록 설정합니다:

systemctl start webmin  
systemctl enable webmin

다음으로, 다음 명령어로 Webmin의 상태를 확인합니다:

systemctl status webmin

다음과 같은 출력이 표시됩니다:

? webmin.service - Webmin
   Loaded: loaded (/usr/lib/systemd/system/webmin.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-02-12 08:25:05 UTC; 54s ago
  Process: 7560 ExecStart=/etc/webmin/start (code=exited, status=0/SUCCESS)
 Main PID: 7561 (miniserv.pl)
    Tasks: 1 (limit: 11412)
   Memory: 23.9M
   CGroup: /system.slice/webmin.service
           ??7561 /usr/bin/perl /usr/local/webmin//miniserv.pl /etc/webmin/miniserv.conf

Feb 12 08:25:05 rockylinux systemd[1]: Starting Webmin...
Feb 12 08:25:05 rockylinux start[7560]: Starting Webmin server in /usr/local/webmin/
Feb 12 08:25:05 rockylinux webmin[7560]: Webmin starting
Feb 12 08:25:05 rockylinux systemd[1]: webmin.service: Can't open PID file /var/webmin/miniserv.pid (yet?) after start: No such file or direc>
Feb 12 08:25:05 rockylinux systemd[1]: Started Webmin.

방화벽 구성

서버에 firewalld 방화벽이 설치되어 있는 경우, 포트 80 및 443을 방화벽을 통해 허용해야 합니다. 다음 명령어로 허용할 수 있습니다:

firewall-cmd --add-port=80/tcp --permanent  
firewall-cmd --add-port=443/tcp --permanent

마지막으로, 변경 사항을 적용하기 위해 방화벽 서비스를 다시 로드합니다:

firewall-cmd --reload

Webmin 인터페이스에 접근하기

이제 웹 브라우저를 열고 URL https://webmin.linuxbuz.com를 사용하여 Webmin 인터페이스에 접근합니다. Webmin 로그인 페이지로 리디렉션됩니다:

Webmin 로그인

관리자 사용자 이름과 비밀번호를 제공하고 로그인 버튼을 클릭하십시오. 다음 페이지에서 Webmin 대시보드를 볼 수 있습니다:

Webmin 대시보드

결론

축하합니다! Rocky Linux 8에 Nginx 및 Let’s Encrypt SSL과 함께 Webmin을 성공적으로 설치했습니다. 이제 웹 브라우저를 통해 Linux 시스템을 쉽게 관리할 수 있습니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.