서버 설정 · 9 min read · Jan 08, 2026

완벽한 서버 - Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot 및 ISPConfig가 포함된 Ubuntu 14.10 - 페이지 3

15 SquirrelMail 설치

SquirrelMail 웹메일 클라이언트를 설치하려면 다음을 실행하십시오.

apt-get install squirrelmail

그런 다음 SquirrelMail을 구성합니다:

squirrelmail-configure

SquirrelMail에 Dovecot-IMAP/-POP3를 사용하고 있다고 알려야 합니다:

SquirrelMail 구성 : 읽기: config.php (1.4.0)

메인 메뉴 –

  1. 조직 기본 설정
  2. 서버 설정
  3. 폴더 기본값
  4. 일반 옵션
  5. 테마
  6. 주소록
  7. 오늘의 메시지 (MOTD)
  8. 플러그인
  9. 데이터베이스
  10. 언어

D. 특정 IMAP 서버에 대한 미리 정의된 설정 설정

C 색상 켜기
S 데이터 저장
Q 종료

명령 >> <– D

SquirrelMail 구성 : 읽기: config.php

SquirrelMail을 구축하는 동안, 우리는 일부 서버에서 더 잘 작동하고 다른 서버에서는 잘 작동하지 않는 몇 가지 기본 설정을 발견했습니다. IMAP 서버를 선택하면 이 옵션이 해당 서버에 대한 미리 정의된 설정을 설정합니다.

모든 것이 올바른지 확인해야 합니다. 이것은 모든 것을 변경하지 않습니다. 변경되는 설정은 몇 가지에 불과합니다.

IMAP 서버를 선택하십시오:
bincimap = Binc IMAP 서버
courier = Courier IMAP 서버
cyrus = Cyrus IMAP 서버
dovecot = Dovecot 보안 IMAP 서버
exchange = Microsoft Exchange IMAP 서버
hmailserver = hMailServer
macosx = Mac OS X 메일 서버
mercury32 = Mercury/32
uw = 워싱턴 대학교의 IMAP 서버
gmail = Google 메일(Gmail) 계정에 대한 IMAP 액세스

quit = 아무것도 변경하지 않음
명령 >> <– dovecot

SquirrelMail 구성 : 읽기: config.php

SquirrelMail을 구축하는 동안, 우리는 일부 서버에서 더 잘 작동하고 다른 서버에서는 잘 작동하지 않는 몇 가지 기본 설정을 발견했습니다. IMAP 서버를 선택하면 이 옵션이 해당 서버에 대한 미리 정의된 설정을 설정합니다.

모든 것이 올바른지 확인해야 합니다. 이것은 모든 것을 변경하지 않습니다. 변경되는 설정은 몇 가지에 불과합니다.

IMAP 서버를 선택하십시오:
bincimap = Binc IMAP 서버
courier = Courier IMAP 서버
cyrus = Cyrus IMAP 서버
dovecot = Dovecot 보안 IMAP 서버
exchange = Microsoft Exchange IMAP 서버
hmailserver = hMailServer
macosx = Mac OS X 메일 서버
mercury32 = Mercury/32
uw = 워싱턴 대학교의 IMAP 서버
gmail = Google 메일(Gmail) 계정에 대한 IMAP 액세스

quit = 아무것도 변경하지 않음
명령 >> dovecot

imap_server_type = dovecot
default_folder_prefix =
trash_folder = 휴지통
sent_folder = 보낸 편지
draft_folder = 초안
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false

아무 키나 눌러 계속… <– 키를 누르십시오

SquirrelMail 구성 : 읽기: config.php (1.4.0)

메인 메뉴 –

  1. 조직 기본 설정
  2. 서버 설정
  3. 폴더 기본값
  4. 일반 옵션
  5. 테마
  6. 주소록
  7. 오늘의 메시지 (MOTD)
  8. 플러그인
  9. 데이터베이스
  10. 언어

D. 특정 IMAP 서버에 대한 미리 정의된 설정 설정

C 색상 켜기
S 데이터 저장
Q 종료

명령 >> <– S

SquirrelMail 구성 : 읽기: config.php (1.4.0)

메인 메뉴 –

  1. 조직 기본 설정
  2. 서버 설정
  3. 폴더 기본값
  4. 일반 옵션
  5. 테마
  6. 주소록
  7. 오늘의 메시지 (MOTD)
  8. 플러그인
  9. 데이터베이스
  10. 언어

D. 특정 IMAP 서버에 대한 미리 정의된 설정 설정

C 색상 켜기
S 데이터 저장
Q 종료

명령 >> <– Q

이제 SquirrelMail을 구성하여 ISPConfig를 통해 생성된 웹사이트 내에서 사용할 수 있도록 하겠습니다. /squirrelmail 또는 /webmail 별칭을 사용합니다. 따라서 웹사이트가 www.example.com인 경우 www.example.com/squirrelmail 또는 www.example.com/webmail을 사용하여 SquirrelMail에 액세스할 수 있습니다.

SquirrelMail의 Apache 구성은 /etc/squirrelmail/apache.conf 파일에 있지만 이 파일은 /etc/apache2/conf.d/ 디렉토리에 없기 때문에 Apache에 의해 로드되지 않습니다. 따라서 /etc/apache2/conf.d/ 디렉토리에 /etc/squirrelmail/apache.conf를 가리키는 squirrelmail.conf라는 심볼릭 링크를 생성하고 이후에 Apache를 다시 로드합니다:

cd /etc/apache2/conf-available/   
ln -s ../../squirrelmail/apache.conf squirrelmail.conf   
service apache2 reload

이제 /etc/apache2/conf.d/squirrelmail.conf를 엽니다…

 nano /etc/apache2/conf-available/squirrelmail.conf

… 그리고 SquirrelMail에 접근할 때 mod_php가 사용되도록 보장하는 컨테이너에 다음 줄을 추가합니다. 이는 ISPConfig에서 웹사이트에 대해 선택한 PHP 모드와 관계없이 적용됩니다:

[...]  
  
  Options FollowSymLinks  
    
    AddType application/x-httpd-php .php  
    php_flag magic_quotes_gpc Off  
    php_flag track_vars On  
    php_admin_flag allow_url_fopen Off  
    php_value include_path .  
    php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp  
    php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname  
    php_flag register_globals off  
    
    
    DirectoryIndex index.php  
    

  # configtest에 대한 접근은 정보 유출을 방지하기 위해 기본적으로 제한됩니다  
    
    order deny,allow  
    deny from all  
    allow from 127.0.0.1  
    
  
[...]  

/var/lib/squirrelmail/tmp 디렉토리를 생성합니다…

mkdir /var/lib/squirrelmail/tmp

… 그리고 이를 www-data 사용자에게 소유권을 부여합니다:

chown www-data /var/lib/squirrelmail/tmp

다음으로 apache2로 squirrelmail을 활성화해야 합니다.

a2enconf squirrelmail

다시 Apache를 다시 로드합니다:

service apache2 reload

그게 다입니다 - /etc/apache2/conf.d/squirrelmail.conf는 SquirrelMail의 설치 디렉토리인 /usr/share/squirrelmail을 가리키는 /squirrelmail이라는 별칭을 정의합니다.

이제 다음과 같이 웹사이트에서 SquirrelMail에 액세스할 수 있습니다:

http://192.168.0.100/squirrelmail   
http://www.example.com/squirrelmail

ISPConfig 제어판 vhost(ISPConfig를 설치한 후, 다음 장 참조)에서도 다음과 같이 액세스할 수 있습니다(이는 ISPConfig에서 추가 구성이 필요하지 않습니다):

http://server1.example.com:8080/squirrelmail

/webmail 대신 /squirrelmail 별칭을 사용하려면 /etc/apache2/conf.d/squirrelmail.conf를 열고…

nano /etc/apache2/conf-available/squirrelmail.conf

… 다음 줄을 추가합니다: Alias /webmail /usr/share/squirrelmail:

Alias /squirrelmail /usr/share/squirrelmail  
Alias /webmail /usr/share/squirrelmail  
[...]  

그런 다음 Apache를 다시 로드합니다:

service apache2 reload

이제 다음과 같이 Squirrelmail에 액세스할 수 있습니다:

http://192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (ISPConfig를 설치한 후, 다음 장 참조)

SquirrelMail에 접근할 수 있는 사용자들이 사용할 수 있는 webmail.example.com과 같은 vhost를 정의하려면 /etc/apache2/conf.d/squirrelmail.conf에 다음 vhost 구성을 추가해야 합니다:

nano /etc/apache2/conf.d/squirrelmail.conf
[...]  
  
  DocumentRoot /usr/share/squirrelmail  
  ServerName webmail.example.com  
  

물론, webmail.example.com에 대한 DNS 레코드가 vhost 구성에서 사용하는 IP 주소를 가리키고 있어야 합니다. 또한 ISPConfig에 webmail.example.com vhost가 존재하지 않는지 확인하십시오(그렇지 않으면 두 vhost가 서로 간섭할 수 있습니다!).

이제 Apache를 다시 로드합니다…

service apache2 reload

… 그리고 http://webmail.example.com에서 SquirrelMail에 접근할 수 있습니다.

16. ISPConfig 3 설치

최신 릴리스 버전의 ISPConfig 3을 설치하려면 다음을 수행하십시오:

cd /tmp   
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz   
tar xfz ISPConfig-3-stable.tar.gz   
cd ispconfig3_install/install/

다음 단계는 다음을 실행하는 것입니다:

php -q install.php

이것은 ISPConfig 3 설치 프로그램을 시작합니다. 설치 프로그램은 Postfix, Dovecot 등과 같은 모든 서비스를 자동으로 구성합니다. ISPConfig 2에 필요한 수동 설정(완벽한 설정 가이드)은 필요하지 않습니다.

root@server1:/tmp/ispconfig3_install/install# php -q install.php

——————————————————————————–
_ _ _ _
| / | \/ \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | | |–.\ / | | / \| ‘ \| | |/ ` | | | |
| |
| |\
/ / | | _/\ () | | | | | | | (| | __\ \
_/__/|| __/\/|| ||| ||_, | __/
/ |
|__
/
——————————————————————————–

>> 초기 구성
운영 체제: 14.10 UNKNOWN
다음은 기본 구성을 위한 몇 가지 질문이 있을 것입니다. 기본값은 [대괄호] 안에 있으며 로 수락할 수 있습니다. 설치 프로그램을 중지하려면 “quit”(따옴표 없이)를 입력하십시오.

언어 선택 (en,de) [en]: <– ENTER
설치 모드 (standard,expert) [standard]: <– ENTER
서버의 완전한 호스트 이름(FQDN), 예: server1.domain.tld [server1.example.com]: <– ENTER
MySQL 서버 호스트 이름 [localhost]: <– ENTER
MySQL 루트 사용자 이름 [root]: <– ENTER
MySQL 루트 비밀번호 []: <– yourrootsqlpassword
생성할 MySQL 데이터베이스 [dbispconfig]: <– ENTER
MySQL 문자 집합 [utf8]: <– ENTER
4096 비트 RSA 개인 키 생성 중
………………………………………………………………….++
…………………++
‘smtpd.key’에 새 개인 키 쓰기
—–
인증서 요청에 통합될 정보를 입력하라는 메시지가 표시됩니다.
입력할 내용은 ‘구별된 이름’ 또는 DN이라고 합니다.
몇 가지 필드가 있지만 일부는 비워둘 수 있습니다.
일부 필드에는 기본값이 있습니다.
‘.’를 입력하면 필드가 비워집니다.
—–
국가 이름(2자리 코드) [AU]: <– ENTER
주 또는 지방 이름(전체 이름) [Some-State]: <– ENTER
지역 이름(예: 도시) []: <– ENTER
조직 이름(예: 회사) [Internet Widgits Pty Ltd]: <– ENTER
조직 단위 이름(예: 섹션) []: <– ENTER
일반 이름(예: 서버 FQDN 또는 귀하의 이름) []: <– ENTER
이메일 주소 []: <– ENTER
Jailkit 구성 중
Dovecot 구성 중
Spamassassin 구성 중
Amavisd 구성 중
Getmail 구성 중
Pureftpd 구성 중
BIND 구성 중
Apache 구성 중
Vlogger 구성 중
Apps vhost 구성 중
Bastille 방화벽 구성 중
Fail2ban 구성 중
ISPConfig 설치 중
ISPConfig 포트 [8080]: <– ENTER
ISPConfig 웹 인터페이스에 대한 보안(SSL) 연결을 원하십니까(y,n) [y]: <– ENTER

4096 비트 길이 모듈을 가진 RSA 개인 키 생성 중
……….++
……++
e는 65537 (0x10001)
인증서 요청에 통합될 정보를 입력하라는 메시지가 표시됩니다.
입력할 내용은 ‘구별된 이름’ 또는 DN이라고 합니다.
몇 가지 필드가 있지만 일부는 비워둘 수 있습니다.
일부 필드에는 기본값이 있습니다.
‘.’를 입력하면 필드가 비워집니다.
—–
국가 이름(2자리 코드) [AU]: <– ENTER
주 또는 지방 이름(전체 이름) [Some-State]: <– ENTER
지역 이름(예: 도시) []: <– ENTER
조직 이름(예: 회사) [Internet Widgits Pty Ltd]: <– ENTER
조직 단위 이름(예: 섹션) []: <– ENTER
일반 이름(예: 서버 FQDN 또는 귀하의 이름) []: <– ENTER
이메일 주소 []: <– ENTER
인증서 요청과 함께 전송될 ‘추가‘ 속성을 입력하십시오
도전 비밀번호 []: <– ENTER
선택적 회사 이름 []: <– ENTER
RSA 키 쓰기
DBServer 구성 중
ISPConfig crontab 설치 중
root에 대한 crontab 없음
getmail에 대한 crontab 없음
서비스 재시작 중 …
/etc/init.d를 통해 init 스크립트를 호출하는 대신 service(8) 유틸리티를 사용하십시오.
예: service mysql restart

호출하려는 스크립트가 Upstart 작업으로 변환되었으므로 stop(8) 및 start(8) 유틸리티를 사용할 수도 있습니다.
예: stop mysql ; start mysql. restart(8) 유틸리티도 사용할 수 있습니다.
mysql 중지/대기
mysql 시작/실행 중, 프로세스 2817
Postfix 메일 전송 에이전트 postfix 중지
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
…완료.
Postfix 메일 전송 에이전트 postfix 시작
postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
/usr/sbin/postconf: 경고: /etc/postfix/main.cf: 정의되지 않은 매개변수: virtual_mailbox_limit_maps
…완료.
amavisd 중지: amavisd-new.
amavisd 시작: amavisd-new.
ClamAV 데몬 clamd 중지
…완료.
ClamAV 데몬 clamd 시작
…완료.
/etc/init.d를 통해 init 스크립트를 호출하는 대신 service(8) 유틸리티를 사용하십시오.
예: service dovecot restart

호출하려는 스크립트가 Upstart 작업으로 변환되었으므로 stop(8) 및 start(8) 유틸리티를 사용할 수도 있습니다.
예: stop dovecot ; start dovecot. restart(8) 유틸리티도 사용할 수 있습니다.
dovecot 중지/대기
dovecot 시작/실행 중, 프로세스 3962
웹 서버 apache2 재시작
[금 4월 26 00:55:00 2013] [경고] NameVirtualHost
:443에 VirtualHosts가 없습니다
[금 4월 26 00:55:00 2013] [경고] NameVirtualHost :80에 VirtualHosts가 없습니다
[금 4월 26 00:55:01 2013] [경고] NameVirtualHost
:443에 VirtualHosts가 없습니다
[금 4월 26 00:55:01 2013] [경고] NameVirtualHost *:80에 VirtualHosts가 없습니다
… 대기 중 …완료.
ftp 서버 재시작: 실행 중: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
설치 완료.
root@server1:/tmp/ispconfig3_install/install# 설치 프로그램은 모든 기본 서비스를 자동으로 구성하므로 수동 구성이 필요하지 않습니다. 이제 설치 프로그램이 ISPConfig 제어판에 대한 SSL vhost를 생성하도록 허용할 수 있는 가능성도 있습니다. 이렇게 하면 ISPConfig에 http:// 대신 https://를 사용하여 접근할 수 있습니다. 이를 달성하려면 다음 질문을 볼 때 ENTER를 누르십시오: ISPConfig 웹 인터페이스에 대한 보안(SSL) 연결을 원하십니까(y,n) [y]:. 그 후 http(s)://server1.example.com:8080/ 또는 http(s)://192.168.0.100:8080/에서 ISPConfig 3에 접근할 수 있습니다( http 또는 https는 설치 중 선택한 것에 따라 다릅니다). 사용자 이름 admin과 비밀번호 admin으로 로그인하십시오(첫 로그인 후 기본 비밀번호를 변경해야 합니다):



시스템이 이제 사용 준비가 완료되었습니다. #### 16.1 ISPConfig 3 매뉴얼 ISPConfig 3을 사용하는 방법을 배우기 위해 ISPConfig 3 매뉴얼을 다운로드하는 것을 강력히 권장합니다. 300페이지가 넘는 이 매뉴얼은 ISPConfig의 개념(관리자, 리셀러, 클라이언트)을 다루고, ISPConfig 3을 설치하고 업데이트하는 방법을 설명하며, ISPConfig의 모든 양식 및 양식 필드에 대한 참조와 유효한 입력의 예를 포함하고, ISPConfig 3에서 가장 일반적인 작업에 대한 튜토리얼을 제공합니다. 또한 서버를 더 안전하게 만드는 방법을 설명하고 마지막에 문제 해결 섹션이 포함되어 있습니다. ### 17. 추가 노트 #### 17.1 OpenVZ 이 튜토리얼에서 설정한 Ubuntu 서버가 OpenVZ 컨테이너(가상 머신)인 경우 호스트 시스템에서 다음을 수행해야 합니다(여기서는 OpenVZ 컨테이너의 ID가 101이라고 가정합니다 - 시스템에서 올바른 VPSID로 교체하십시오): VPSID=101 for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE do   vzctl set $VPSID --capability ${CAP}:on --save done ### 18. 링크 - Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

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

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