서버 설정 · 6 min read · Jan 27, 2026

완벽한 서버 - OpenSUSE 13.1 x86_64 (Apache2, MySQL, PHP, Postfix, Dovecot 및 ISPConfig 3) - 페이지 5

11 PureFTPd 설치

pure-ftpd FTP 데몬을 설치합니다. 실행:

zypper install pure-ftpd
systemctl enable pure-ftpd.service  
systemctl start pure-ftpd.service

이제 FTP 및 TLS 세션을 허용하도록 PureFTPd를 구성합니다. FTP는 모든 비밀번호와 모든 데이터가 일반 텍스트로 전송되기 때문에 매우 안전하지 않은 프로토콜입니다. TLS를 사용하면 전체 통신을 암호화할 수 있어 FTP를 훨씬 더 안전하게 만들 수 있습니다.

OpenSSL은 TLS에 필요합니다. OpenSSL을 설치하려면 다음을 실행합니다:

zypper install openssl

/etc/pure-ftpd/pure-ftpd.conf를 엽니다…

vi /etc/pure-ftpd/pure-ftpd.conf

FTP TLS 세션을 허용하려면 TLS를 1로 설정합니다:

| [...] # 이 옵션은 세 가지 값을 수용할 수 있습니다: # 0 : SSL/TLS 암호화 계층 비활성화 (기본값). # 1 : 전통적인 세션과 암호화된 세션 모두 허용. # 2 : SSL/TLS 보안 메커니즘을 사용하지 않는 연결을 거부, # 익명 세션 포함. # 이 옵션을 맹목적으로 주석 해제하지 마십시오. 다음을 확인하십시오: # 1) 서버가 SSL/TLS 지원으로 컴파일되었는지 (--with-tls), # 2) 유효한 인증서가 있는지, # 3) 호환 가능한 클라이언트만 로그인할 수 있습니다. TLS 1 [...] |

TLS 세션만 허용하려면 (FTP 없음) TLS를 2로 설정합니다:

| [...] # 이 옵션은 세 가지 값을 수용할 수 있습니다: # 0 : SSL/TLS 암호화 계층 비활성화 (기본값). # 1 : 전통적인 세션과 암호화된 세션 모두 허용. # 2 : SSL/TLS 보안 메커니즘을 사용하지 않는 연결을 거부, # 익명 세션 포함. # 이 옵션을 맹목적으로 주석 해제하지 마십시오. 다음을 확인하십시오: # 1) 서버가 SSL/TLS 지원으로 컴파일되었는지 (--with-tls), # 2) 유효한 인증서가 있는지, # 3) 호환 가능한 클라이언트만 로그인할 수 있습니다. TLS 2 [...] |

TLS를 전혀 허용하지 않으려면 (오직 FTP만) TLS를 0으로 설정합니다:

| [...] # 이 옵션은 세 가지 값을 수용할 수 있습니다: # 0 : SSL/TLS 암호화 계층 비활성화 (기본값). # 1 : 전통적인 세션과 암호화된 세션 모두 허용. # 2 : SSL/TLS 보안 메커니즘을 사용하지 않는 연결을 거부, # 익명 세션 포함. # 이 옵션을 맹목적으로 주석 해제하지 마십시오. 다음을 확인하십시오: # 1) 서버가 SSL/TLS 지원으로 컴파일되었는지 (--with-tls), # 2) 유효한 인증서가 있는지, # 3) 호환 가능한 클라이언트만 로그인할 수 있습니다. TLS 0 [...] |

TLS를 사용하기 위해 SSL 인증서를 생성해야 합니다. 나는 /etc/ssl/private/에 생성하므로 먼저 해당 디렉토리를 생성합니다:

mkdir -p /etc/ssl/private/

그 후, 다음과 같이 SSL 인증서를 생성할 수 있습니다:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

국가 이름 (2자리 코드) [AU]: <– 귀하의 국가 이름 입력 (예: “DE”).
주 또는 지방 이름 (전체 이름) [Some-State]: <– 귀하의 주 또는 지방 이름 입력.
지역 이름 (예: 도시) []: <– 귀하의 도시 입력.
조직 이름 (예: 회사) [Internet Widgits Pty Ltd]: <– 귀하의 조직 이름 입력 (예: 귀하의 회사 이름).
조직 단위 이름 (예: 부서) []: <– 귀하의 조직 단위 이름 입력 (예: “IT 부서”).
공통 이름 (예: 귀하의 이름) []: <– 시스템의 완전한 도메인 이름 입력 (예: “server1.example.com”).
이메일 주소 []: <– 귀하의 이메일 주소 입력.

SSL 인증서의 권한을 변경합니다:

chmod 600 /etc/ssl/private/pure-ftpd.pem

마지막으로 PureFTPd를 재시작합니다:

systemctl restart pure-ftpd.service

그게 다입니다. 이제 FTP 클라이언트를 사용하여 연결을 시도할 수 있습니다. 그러나 FTP 클라이언트를 TLS를 사용하도록 구성해야 합니다. 다음 장에서 FileZilla로 이를 수행하는 방법을 확인하십시오.

12 BIND 설치

BIND 네임서버는 다음과 같이 설치할 수 있습니다:

zypper install bind

BIND 시스템 시작 링크를 생성하고 시작합니다:

systemctl enable named.service  
systemctl start named.service

13 Webalizer 및 AWStats 설치

ISPConfig 3에서는 Webalizer 또는 AWStats 중에서 웹사이트 통계를 생성할 방법을 선택할 수 있으므로 둘 다 설치합니다:

zypper install webalizer perl-Date-Manip
zypper install http://download.opensuse.org/repositories/security/openSUSE_13.1/x86_64/jailkit-2.13-1.4.x86_64.rpm

14 fail2ban 설치

fail2ban은 다음과 같이 설치할 수 있습니다:

zypper install fail2ban

15 Jailkit 설치

Jailkit은 다음과 같이 설치할 수 있습니다:

zypper install http://download.opensuse.org/repositories/security/openSUSE_13.1/x86_64/jailkit-2.13-1.4.x86_64.rpm

16 시스템 시계 동기화

시스템 시계를 NTP 서버와 동기화하려면 다음을 수행합니다:

zypper install xntp

그런 다음 ntp에 대한 시스템 시작 링크를 추가하고 ntp를 시작합니다:

systemctl enable ntp.service  
systemctl start ntp.service

17 rkhunter 설치

rkhunter는 다음과 같이 설치할 수 있습니다:

zypper install rkhunter

18 SquirrelMail 설치

SquirrelMail 웹메일 클라이언트를 설치하려면 다음을 실행합니다:

zypper install squirrelmail-beta

다음으로 /etc/apache2/conf.d/squirrelmail.conf의 시작 부분에 /webmail 및 /squirrelmail 별칭을 생성하여 SquirrelMail에 모든 vhost에서 접근할 수 있도록 합니다 (예: http://www.example.com/webmail 또는 http://www.example.com/squirrelmail):

vi /etc/apache2/conf.d/squirrelmail.conf

| Alias /squirrelmail /srv/www/htdocs/squirrelmail Alias /webmail /srv/www/htdocs/squirrelmail [...] |

다음으로 /srv/www/htdocs/squirrelmail/data 디렉토리를 생성하고 www 그룹이 쓸 수 있도록 충분한 권한을 부여합니다:

mkdir /srv/www/htdocs/squirrelmail/data  
chown root:www /srv/www/htdocs/squirrelmail/data  
chmod 770 /srv/www/htdocs/squirrelmail/data

다시 이 줄을 주석 처리합니다

vi /etc/apache2/conf.d/mod_suphp.conf

[…]
DirectoryIndex index.php5

[…]

그런 다음 Apache를 재시작합니다:

systemctl restart apache2.service

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

/srv/www/htdocs/squirrelmail/config/conf.pl

SquirrelMail에 Dovecot을 사용하고 있다고 알려야 합니다:

경고:
“config/config.php” 파일이 발견되었지만, 이는
이전 버전의 SquirrelMail에 해당합니다.
이 파일에서 기본값을 여전히 읽을 수 있지만,
버전 간에 많은 기본 설정이 변경되므로 주의하십시오.
업그레이드할 때마다 깨끗한 config.php로 시작하는 것이 좋습니다.
이렇게 하려면 config/config.php를 이동하십시오.

구 버전 config.php로 계속 로드하시겠습니까 [y/N]? <– y

경고를 중지하시겠습니까 [y/N]? <– y

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

메인 메뉴 –

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

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 서버http://download.opensuse.org/repositories/network:/utilities/openSUSE_13.1/noarch/
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 = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false
force_username_lowercase = true

계속하려면 Enter를 누르십시오… <– ENTER

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

메인 메뉴 –

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

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

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

명령 >> <– S
http://download.opensuse.org/repositories/network:/utilities/openSUSE_13.1/noarch/

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

메인 메뉴 –

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

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

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

명령 >> S

config.php에 데이터가 저장되었습니다.

플러그인 활성화 완료; 등록 데이터가 plugin_hooks.php에 저장되었습니다.
계속하려면 Enter를 누르십시오… <– ENTER

SquirrelMail 구성 : 읽기: config.php (1.5.0)a2enmod socache_shmcb

메인 메뉴 –

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

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

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

명령 >> <– Q

ISPConfig에서 웹사이트를 만든 후, /webmail 또는 /squirrelmail 별칭을 사용하여 SquirrelMail에 접근할 수 있습니다:

Share: X/Twitter LinkedIn

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

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