Webmail 설치 · 13 min read · Sep 30, 2025
Debian 9.1에서 WebMail Lite PHP 기반 웹메일 클라이언트 설치하기
이 가이드에서는 Debian 9.1에서 WebMail Lite PHP의 최신 버전을 설치하는 방법과 Yahoo! Mail과 같은 인기 있는 메일 서비스에서 이메일을 가져오는 애플리케이션을 구성하는 방법을 보여줍니다. 데모 목적으로 Yahoo! Mail 서비스를 사용하지만, WebMail Lite와 함께 메일 처리를 위해 자신의 도메인을 자유롭게 사용할 수 있습니다. 도메인 설정을 추가하는 절차는 대부분 Yahoo! Mail 서비스 구성과 동일합니다. WebMail Lite 클라이언트를 Yahoo! 계정에서 제공하는 IMAP 및 SMTP 서비스의 인터페이스로 사용하며 모든 이메일은 우리 자신의 개인 웹 서버에서 로컬로 처리됩니다.
WebMail Lite는 PHP로 작성된 무료 오픈 소스 메일 사용자 에이전트 또는 웹 클라이언트로, Apache/Nginx, PHP 및 MySQL/MariaDB 구성 요소가 포함된 Linux에 배포되어 LEMP/LAMP 스택을 형성합니다. WebMail Lite는 IMAP/S 및/또는 SMTP/S 프로토콜을 통해 메일에 접근하여 메일 파일을 동기화하거나 메일 메시지를 전송하는 데 사용할 수 있습니다.
요구 사항
- bare-metal 머신 또는 가상 사설 서버에서 Debian 9 최소 설치.
- 시스템 네트워크 인터페이스 카드 중 하나에 구성된 정적 IP 주소.
- 로컬 또는 원격 계정에 대한 sudo root 권한 또는 root 계정에 대한 직접 접근.
- 배포에 따라 적절한 DNS 레코드가 구성된 도메인 이름, 개인 또는 공공.
- IMAP 및 SMTP 서비스에 대한 원격 접근이 제대로 구성된 메일 서비스.
초기 구성
WebMail Lite를 소스에서 설치하고 구성하기 시작하기 전에 시스템이 애플리케이션을 컴파일하고 설치하는 데 필요한 모든 소프트웨어 요구 사항을 충족하는지 확인하십시오. 첫 번째 단계에서는 아래 명령어를 입력하여 시스템 리포지토리와 소프트웨어 패키지를 업데이트합니다.
apt updateapt upgrade
다음 단계에서는 명령줄에서 시스템을 추가로 관리하는 데 사용할 몇 가지 유틸리티를 설치하기 위해 다음 명령어를 실행합니다.
apt install wget bash-completion unzip
다음으로, 다음 명령어를 실행하여 시스템의 이름을 설정합니다. 호스트 이름 변수를 적절히 교체하십시오.
hostnamectl set-hostname mail아래 명령어를 입력하여 머신의 호스트 이름과 hosts 파일을 확인하십시오.
hostnamectlcat /etc/hostnamehostname –shostname –f
마지막으로, 커널 업데이트와 호스트 이름 변경을 제대로 적용하기 위해 Debian 서버를 재부팅합니다.
systemctl rebootWebMail Lite는 대부분 PHP 서버 측 프로그래밍 언어로 작성된 웹메일 클라이언트입니다. WebMail Lite PHP 파일 스크립트를 실행하기 위해서는 Apache HTTP 서버와 PHP 처리 게이트웨이가 시스템에 설치되고 작동해야 합니다. Apache 웹 서버와 PHP 인터프리터를 설치하고 애플리케이션이 제대로 실행되기 위해 필요한 모든 PHP 모듈을 설치하기 위해 서버 콘솔에서 다음 명령어를 입력합니다.
apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-mcrypt php7.0-opcache php7.0-mbstring php7.0-curl
Apache와 PHP가 설치된 후, 다음 명령어를 사용하여 웹 서버가 실행 중이며 포트 80에서 네트워크 연결을 수신 대기하고 있는지 테스트합니다.
netstat –tlpnDebian 시스템에 netstat 네트워크 유틸리티가 기본적으로 설치되어 있지 않은 경우, 아래 명령어를 실행하여 설치합니다.
apt install net-tools
netstat 명령어 출력을 검사하면 Apache 웹 서버가 포트 80에서 들어오는 네트워크 연결을 수신 대기하고 있는 것을 확인할 수 있습니다. 같은 작업을 위해 Debian 9에서 기본적으로 자동으로 설치되는 ss 명령어를 사용할 수도 있습니다.
ss- tlpn
시스템에 UFW 방화벽 애플리케이션과 같은 방화벽이 활성화되어 있는 경우, 다음 명령어를 입력하여 HTTP 트래픽이 방화벽을 통과할 수 있도록 새로운 규칙을 추가해야 합니다.
ufw allow WWW또는
ufw allow 80/tcpDebian 서버에서 방화벽 규칙을 관리하기 위해 iptables 원시 규칙을 사용하는 경우, 방문자가 온라인 애플리케이션을 탐색할 수 있도록 방화벽에서 포트 80의 수신 트래픽을 허용하는 다음 규칙을 추가합니다.
apt-get install -y iptables-persistentiptables -I INPUT -p tcp --destination-port 80 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reload다음으로, WebMail Lite 애플리케이션의 일부를 보호하는 데 사용될 다음 Apache 모듈을 활성화합니다.
a2enmod rewritesystemctl restart apache2마지막으로, 클라이언트 브라우저에서 Apache 웹 서버 기본 웹 페이지가 표시되는지 테스트합니다. Debian 머신의 IP 주소 또는 도메인 이름 또는 서버 FQDN을 HTTP 프로토콜을 통해 방문하십시오. 머신의 IP 주소를 모르는 경우 ifconfig 또는 ip a 명령어를 실행하여 서버의 IP 주소를 확인하십시오. Debian의 기본 Apache 페이지가 브라우저에 표시됩니다.
HTTPS 프로토콜을 통해 WebMail Lite 애플리케이션에 설치하고 접근하기 위해, Apache 웹 서버 SSL 모듈과 SSL 사이트 구성 파일을 활성화하는 다음 명령어를 입력합니다.
a2enmod ssla2ensite default-ssl.conf
다음으로, 텍스트 편집기로 Apache 기본 SSL 사이트 구성 파일을 열고 DocumentRoot 지시문 다음에 다음 코드 줄을 추가하여 URL 재작성 규칙을 활성화합니다. 아래 샘플과 같이:
nano /etc/apache2/sites-enabled/default-ssl.confSSL 사이트 구성 파일 발췌:
Options +FollowSymlinks
AllowOverride All
Require all granted
또한, VirtualHost 줄을 아래 발췌와 같이 보이도록 변경합니다:

SSL Apache 파일을 닫고 /etc/apache2/sites-enabled/000-default.conf 파일을 편집하기 위해 열고 SSL 구성 파일과 동일한 URL 재작성 규칙을 추가합니다. 아래 예와 같이 DocumentRoot 문 다음에 코드 줄을 삽입합니다.
Options +FollowSymlinks
AllowOverride All
Require all granted

마지막으로, 지금까지 구성된 모든 규칙을 적용하기 위해 Apache 데몬을 재시작하고 HTTP 프로토콜을 통해 도메인을 방문합니다. Apache 설치 시 자동으로 발급된 Self-Signed 인증서를 사용하고 있기 때문에 브라우저에 오류 경고가 표시됩니다. 아래 스크린샷과 같이.
systemctl restart apache2
경고를 수락하여 계속 진행하고 HTTPS를 통해 Apache 기본 웹 페이지로 리디렉션됩니다.

UFW 방화벽 애플리케이션이 HTTPS 포트로의 들어오는 네트워크 연결을 차단하는 경우, 다음 명령어를 입력하여 HTTPS 트래픽이 방화벽을 통과할 수 있도록 새로운 규칙을 추가해야 합니다.
ufw allow 'WWW Full'또는
ufw allow 443/tcpiptables가 네트워크 수준에서 Debian 시스템을 보호하기 위해 설치된 기본 방화벽 애플리케이션인 경우, 방문자가 도메인 이름을 탐색할 수 있도록 방화벽에서 포트 443의 수신 트래픽을 허용하는 다음 규칙을 추가합니다.
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reload다음 단계에서는 PHP 기본 구성 파일에 몇 가지 추가 변경을 해야 하며, 다음 PHP 변수가 활성화되고 PHP timezone 설정이 올바르게 구성되어 시스템 지리적 위치와 일치하는지 확인해야 합니다. /etc/php/7.0/apache2/php.ini 파일을 편집하기 위해 열고 다음 줄이 다음과 같이 설정되어 있는지 확인합니다. 또한, 처음에 PHP 구성 파일의 백업을 만듭니다.
cp /etc/php/7.0/apache2/php.ini{,.backup}nano /etc/php/7.0/apache2/php.iniphp.ini 구성 파일에서 다음 변수를 검색, 편집 및 변경합니다:
file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London대용량 파일 첨부를 지원하기 위해 memory_limit 변수를 적절히 증가시키고, PHP 문서에서 제공하는 시간대 목록을 참조하여 time.zone 변수를 적절히 교체하십시오. http://php.net/manual/en/timezones.php
웹사이트 페이지의 로드 속도를 높이기 위해 PHP7에 사용할 수 있는 OPCache 플러그인을 통해 다음 OPCache 설정을 PHP 인터프리터 구성 파일의 하단에 추가합니다. 아래와 같이:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1php.ini 구성 파일을 닫고 아래 명령어를 입력하여 PHP 구성 파일의 끝을 확인하여 변수가 올바르게 추가되었는지 확인합니다.
tail /etc/php/7.0/apache2/php.ini
위에서 설명한 모든 변경을 완료한 후, 다음 명령어를 입력하여 새로운 변경 사항을 적용하기 위해 Apache 데몬을 재시작합니다.
systemctl restart apache2마지막으로, 다음 명령어를 실행하여 PHP 정보 파일을 생성하고 브라우저에서 다음 URL의 PHP 정보 스크립트 파일을 방문하여 PHP 시간대가 올바르게 구성되었는지 확인합니다. 아래 이미지에서 date 설정으로 스크롤하여 PHP 시간대 구성을 확인하십시오.
echo ''| tee /var/www/html/info.php
WebMail Lite 웹메일 클라이언트는 사용자, 세션, 연락처 등과 같은 다양한 구성을 RDBMS 데이터베이스에 저장합니다. 이 가이드에서는 WebMail Lite가 MariaDB 데이터베이스를 백엔드로 사용하도록 구성합니다. 아래 명령어를 입력하여 MariaDB 데이터베이스와 MySQL 데이터베이스에 접근하는 데 필요한 PHP 모듈을 설치합니다.
apt install mariadb-server php7.0-mysql
MariaDB를 설치한 후, netstat 또는 ss 명령어를 실행하여 데몬이 실행 중이며 localhost의 포트 3306에서 연결을 수신 대기하고 있는지 확인합니다.
netstat –tlpn | grep mysql그런 다음, MySQL 콘솔에 로그인하고 다음 명령어를 입력하여 MariaDB root 계정을 보호합니다.
mysql -h localhostuse mysql;
update user set plugin='' where user='root';
flush privileges;
exit
다음 단계에서는 mysql_secure_installation 스크립트를 실행하여 MariaDB를 보호합니다. 스크립트를 실행하는 동안 MySQL root 비밀번호 변경, 익명 사용자 제거, 원격 root 로그인 비활성화 및 테스트 데이터베이스 삭제와 같은 일련의 질문이 표시됩니다. 아래 명령어를 입력하여 스크립트를 실행하고, MySQL 데몬을 완전히 보호하기 위해 모든 질문에 ‘yes’라고 입력하십시오. 아래 스크립트 출력을 가이드로 사용하십시오.
sudo mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none):OK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.You already have a root password set, so you can safely answer 'n'.Change the root password? [Y/n] yNew password:Re-enter new password:Password updated successfully!Reloading privilege tables.. ... Success!By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n] y ... Success!Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] y ... Success!By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] y- Dropping test database... ... Success!- Removing privileges on test database... ... Success!Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] y ... Success!Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB!MariaDB 보안을 테스트하기 위해, root 비밀번호 없이 콘솔에서 데이터베이스에 로그인해 보십시오. root 계정에 대한 비밀번호가 제공되지 않으면 데이터베이스 접근이 거부되어야 합니다. 비밀번호가 제공되면 MySQL 콘솔에 로그인할 수 있어야 합니다. 아래 스크린샷과 같이.
mysql -h localhost -u rootmysql -h localhost -u root –p
다음으로, MariaDB 데이터베이스 콘솔에 로그인하여 WebMail Lite에 사용할 데이터베이스와 이 데이터베이스를 관리하는 데 사용할 사용자 및 비밀번호를 생성합니다. 다음 명령어를 입력하십시오. WebMail Lite 데이터베이스 이름, 사용자 및 비밀번호를 적절히 교체하십시오.
mysql –u root -pcreate database webmaillite;
grant all privileges on webmaillite.* to 'webmail_user'@'localhost' identified by 'webmail_pass';
flush privileges;
exit
지금까지 변경된 모든 사항을 적용하기 위해 MySQL과 Apache 데몬을 재시작하고 다음 명령어를 입력하여 데몬이 실행 중인지 확인합니다.
systemctl restart mysql apache2systemctl status mysql apache2WebMail Lite 설치
모든 시스템 요구 사항이 충족되면, https://afterlogic.org/download/webmail-lite-php에서 WebMail Lite 웹페이지를 방문하고 wget 유틸리티를 사용하여 최신 zip 패키지 압축 아카이브를 다운로드합니다. 아래 샘플과 같이.
wget https://afterlogic.org/download/webmail_php.zip
zip 아카이브 다운로드가 완료되면, WebMail Lite zip 압축 아카이브를 추출하고 아래 명령어를 입력하여 추출된 파일을 나열합니다. 또한, Apache 웹 서버가 웹 루트 경로에 설치한 기본 index.html 파일을 제거하고 이전에 생성한 info.php 파일도 삭제합니다.
rm /var/www/html/index.htmlrm /var/www/html/info.phpunzip webmail_php.zipls그런 다음, 아래 명령어를 입력하여 webmail 디렉토리의 추출된 파일을 도메인 웹 루트 경로로 재귀적으로 복사합니다. 또한, 웹 루트 경로를 나열하여 webmail 디렉토리의 모든 파일이 웹 루트로 완전히 전송되었는지 확인할 수 있습니다.
ls webmailcp -rf webmail/* /var/www/html/ls -l /var/www/html/
다음으로, Apache 런타임 사용자에게 웹 루트 경로에 대한 전체 쓰기 권한을 부여하기 위해 아래 명령어를 실행합니다. /var/www/html/ 디렉토리에 있는 Prestashop 설치 파일의 권한을 나열하기 위해 ls 명령어를 사용하십시오.
chown -R www-data:www-data /var/www/html/ls –al /var/www/html/
WebMail Lite 설치 프로세스를 진행하기 위해 브라우저를 열고 HTTPS 프로토콜을 통해 서버의 IP 주소 또는 도메인 이름으로 /install 디렉토리로 이동합니다. 첫 번째 설치 화면에서 WebMail Lite 설치 스크립트는 서버에 필요한 모든 PHP 확장 및 모듈이 설치되어 있는지, Apache 사용자가 data 디렉토리 및 구성 파일에 대한 쓰기 권한이 있는지 확인하기 위해 일련의 시스템 검사를 수행합니다. 아래 이미지와 같이. 모든 서버 요구 사항이 통과되면 다음 버튼을 클릭하여 다음 설치 화면으로 이동합니다.
https://yourdomain.tld/install

다음 설치 화면에서 라이센스 계약 조건을 읽고 수락한 후 I Agree 버튼을 클릭하여 계속 진행합니다. 아래 이미지와 같이.

다음 설치 화면에서 데이터베이스 유형으로 MySQL을 선택하고 MySQL 데이터베이스 호스트 주소, 데이터베이스 이름 및 WebMail Lite 데이터베이스에 접근하기 위해 이전에 생성한 자격 증명을 지정합니다. Test database 버튼을 클릭하여 데이터베이스 연결을 테스트하고 MySQL 데이터베이스에 대한 연결이 성공하면 설치 프로그램이 필요한 테이블을 생성할 수 있도록 Create database Tables를 체크하고 다음 버튼을 클릭하여 다음 설치 화면으로 이동합니다.

다음 설치 화면에서 mailadm 사용자에 대한 강력한 비밀번호를 제공하고 계속 진행하기 위해 다음 버튼을 클릭합니다. 이 사용자는 관리 패널을 통해 WebMail Lite의 다양한 측면을 관리하는 데 사용됩니다.

이제 IMAP 및 SMP 프로토콜을 통해 메일 서버에 대한 연결이 예상대로 작동하는지 확인합니다. 데모 목적으로 Yahoo! Mail에서 제공하는 메일 서비스에 대한 연결을 구성하고 테스트합니다. 메일 서비스 도메인을 적절히 변경할 수 있습니다. Yahoo! Mail 서버의 SMTP 연결을 테스트하려면 E-mail server host 필드에 다음 주소 smtp.mail.yahoo.com을 입력하고 SMTP 체크박스를 체크한 후 테스트 연결 버튼을 클릭합니다. Yahoo! SMTP 서버에 대한 연결이 성공적으로 설정되면, Yahoo! Mail에서 SMTP를 통해 발신 이메일을 보낼 수 있다는 녹색 메시지가 표시됩니다.

Yahoo! Mail 서버에 대한 암호화된 IMAP 연결이 허용되는지 테스트하려면 E-mail server host 필드에 imap.mail.yahoo.com:993을 입력하고 IMAP4 체크박스를 체크한 후 테스트 연결 버튼을 클릭합니다. Yahoo! IMAP 서버에 대한 연결이 성공적으로 설정되면, Yahoo! Mail에서 IMAPS를 통해 수신 이메일을 확인하고 다운로드할 수 있다는 녹색 메시지가 표시됩니다. 완료되면 다음 버튼을 클릭하여 마지막 설치 단계로 이동합니다.

설치 프로세스가 완료되면 설치 프로그램은 WebMail Lite 웹 애플리케이션이 성공적으로 설치되었다고 알리고 도메인 웹 루트에서 설치 디렉토리를 삭제해야 한다고 알려줍니다. 종료 버튼을 클릭하여 화면을 종료하고 WebMail Lite 관리 패널로 이동합니다.

WebMail Lite 관리 패널에 접근하기 위해 다음 주소로 이동합니다. 도메인 이름이나 IP 주소를 적절히 교체하십시오.
https://yourdomain.tld/adminpanel
mailadm 사용자 이름과 설치 과정에서 이 사용자에 대해 설정한 비밀번호로 관리 패널에 로그인합니다. 아래 스크린샷과 같이.

WebMail Lite의 도메인 메일 서비스를 설정하기 위해 Domains -> Default settings로 이동합니다. 데모 목적으로, 이 가이드에서는 WebMail Lite가 Yahoo! Mail 계정의 이메일을 관리하도록 설정하지만, 필요한 설정을 추가하여 자신의 도메인을 구성할 수 있습니다.
수신 메일 필드에 Yahoo! Mail 서버의 IMAP 주소 imap.mail.yahoo.com과 포트 993을 추가합니다. 또한, 보안 연결을 통해 이메일을 검색하기 위해 Use SSL 체크박스를 체크합니다.
발신 메일 필드에 Yahoo! Mail 서버의 SMTP 주소 smtp.mail.yahoo.com과 포트 465를 추가합니다. 또한, 보안 연결을 통해 이메일을 전송하기 위해 Use SSL 체크박스를 체크합니다.
SMTP 인증에서 Yahoo! Mail SMTP 서버에 인증하기 위해 ‘Use incoming mail’s login/password of the user‘를 체크합니다.
마지막으로, 사이트 이름을 추가하고 WebMail Lite 애플리케이션의 테마를 변경하며 사용자가 인터페이스 설정에 접근할 수 있도록 허용하는 옵션도 있습니다. 또한, 아래 스크린샷과 같이 애플리케이션 지역 설정을 변경할 수 있습니다. 설정을 저장하고 적용하려면 저장 버튼을 클릭합니다.

WebMail Lite 관리 패널은 애플리케이션 설정을 수정하는 데 사용할 수 있는 다른 옵션을 제공합니다. 예를 들어 로깅을 활성화하거나 mailadm 계정 이름과 비밀번호를 변경하거나 웹메일 인터페이스를 다른 외부 서비스와 통합할 수 있습니다. 사용자 정의 설정을 완료한 후 로그아웃 버튼을 클릭합니다.
Yahoo! Mail 계정으로 WebMail Lite 애플리케이션에 로그인하려면 HTTP 프로토콜을 통해 도메인 이름으로 이동하고 아래 이미지와 같이 Yahoo! Mail 자격 증명을 입력합니다. Yahoo! 계정의 이메일이 WebMail Lite 인터페이스에 나열됩니다.


방문자가 WebMail Lite 인터페이스를 HTTPS 프로토콜을 통해 탐색하도록 강제하고 설치 디렉토리 및 버전 파일을 보호하기 위해, 서버 콘솔로 이동하여 다음 내용을 포함하는 새 .htaccess 파일을 웹 서버 문서 루트 경로에 생성합니다.
nano /var/www/html/.htaccess.htaccess 파일 발췌:
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine on
Options -Indexes
# return a 403 forbidden error for install dir and version file
RewriteRule ^install/?$ - [F,L]
RewriteRule ^VERSION/?$ - [F,L]
설치 디렉토리에 새 .htaccess 파일을 생성하고 아래 내용을 추가합니다:
nano /var/www/html/install/.htaccess.htaccess 파일 발췌:
RewriteEngine on
Options -Indexes
Require all denied
이상입니다! Debian 9.1에 WebMail Lite를 성공적으로 설치하고 구성했습니다. 그러나 Apache HTTP 서버가 서버와 방문자의 브라우저 간의 트래픽을 암호화하기 위해 Self-Signed 인증서를 사용하기 때문에 브라우저에 경고 메시지가 항상 생성되고 표시됩니다. 이 경우, 신뢰할 수 있는 인증 기관에서 발급한 인증서를 구매하거나 Let’s Encrypt CA에서 무료 인증서 쌍을 받아야 합니다. WebMail Lite에 대한 기타 사용자 정의 구성에 대해서는 다음 주소의 문서 페이지를 방문하십시오: https://afterlogic.com/docs/webmail-lite
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.