서버 설정 · 10 min read · Nov 25, 2025

완벽한 서버 - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3) - 페이지 5

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/network:/utilities/openSUSE_12.3/noarch/awstats-7.1.1-3.1.noarch.rpm

14 fail2ban 설치

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

zypper install fail2ban

15 Jailkit 설치

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

zypper install http://download.opensuse.org/repositories/security/openSUSE_12.3/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 http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_12.3/noarch/squirrelmail-1.4.22-1.1.noarch.rpm

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

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

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

SquirrelMail 구성 : 읽기: config.php (1.4.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 서버
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
force_username_lowercase = true

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

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

메인 메뉴 –

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

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

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

명령 >> <– S

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

메인 메뉴 –

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

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

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

명령 >> Ssystemctl reload nginx.service

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

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

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

메인 메뉴 –

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

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

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

명령 >> <– Q

SquirrelMail은 /srv/www/htdocs/squirrelmail 디렉토리에 위치하지만, 우리는 /usr/share/squirrelmail/ 디렉토리에 필요합니다. 따라서 심볼릭 링크를 생성합니다:

ln -s /srv/www/htdocs/squirrelmail /usr/share/squirrelmail

또한 /srv/www/htdocs/squirrelmail/data/ 디렉토리의 소유자를 nobody로 변경합니다:

chown nobody /srv/www/htdocs/squirrelmail/data/

ISPConfig 3를 설치한 후, 다음과 같이 SquirrelMail에 접근할 수 있습니다:

nginx의 포트 8081에서 ISPConfig 앱 vhost는 SquirrelMail 구성을 포함하므로, http://server1.example.com:8081/squirrelmail 또는 http://server1.example.com:8081/webmail을 사용하여 SquirrelMail에 접근할 수 있습니다.

웹사이트에서 사용할 수 있는 /webmail 또는 /squirrelmail 별칭을 사용하려면, Apache보다 조금 더 복잡합니다. nginx는 전역 별칭(즉, 모든 vhost에 대해 정의할 수 있는 별칭)을 지원하지 않기 때문입니다. 따라서 SquirrelMail에 접근하고자 하는 vhost에 대해 이러한 별칭을 정의해야 합니다.

이를 위해 ISPConfig의 웹사이트 옵션 탭의 nginx 지시문 필드에 다음을 붙여넣습니다:

| location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |

http 대신 https를 사용하는 경우, SquirrelMail 구성에 fastcgi_param HTTPS on; 줄을 다음과 같이 추가해야 합니다:

| location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS on; # <-- 이 줄을 추가하세요 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |

http와 https를 모두 사용하는 경우, /etc/nginx/nginx.conf의 http {} 섹션에 다음 섹션을 추가해야 합니다(모든 include 줄 이전에). 이는 방문자가 http 또는 https를 사용하는지 감지하고 $fastcgi_https 변수를 설정합니다(이는 SquirrelMail 구성에서 사용할 것입니다):

vi /etc/nginx/nginx.conf

| [...] http { [...] ## HTTPS 사용 감지 map $scheme $fastcgi_https { default off; https on; } [...] } [...] |

그런 다음 nginx를 다시 로드하는 것을 잊지 마십시오:

systemctl reload nginx.service

그런 다음 nginx 지시문 필드로 다시 가서 fastcgi_param HTTPS on; 대신 fastcgi_param HTTPS $fastcgi_https; 줄을 추가하여 http와 https 요청 모두에 대해 SquirrelMail을 사용할 수 있도록 합니다:

| location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- 이 줄을 추가하세요 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |

19 ISPConfig 3

ISPConfig 3를 설치하기 전에 /var/vmail/ 디렉토리가 존재하는지 확인하십시오:

mkdir /var/vmail/

ISPConfig 설치를 시작하기 전에 Apache가 중지되었는지 확인하십시오(설치된 경우 - 일부 설치된 패키지가 Apache를 종속성으로 설치했을 수 있습니다). Apache2가 이미 시스템에 설치되어 있다면 지금 중지하십시오…

systemctl stop apache2.service

… 그리고 Apache의 시스템 시작 링크를 제거합니다:

systemctl disable apache2.service

nginx가 실행 중인지 확인하십시오:

systemctl restart nginx.service

(만약 Apache와 nginx가 모두 설치되어 있다면, 설치 프로그램은 어떤 것을 사용할 것인지 묻습니다: Apache와 nginx가 감지되었습니다. ISPConfig에 사용할 서버를 선택하십시오: (apache,nginx) [apache]:

nginx를 입력하십시오. Apache 또는 nginx만 설치된 경우, 설치 프로그램이 자동으로 감지하며 질문이 없습니다.)

현재 ISPConfig 3 버전을 다운로드하고 설치하십시오. ISPConfig 설치 프로그램이 Postfix, Dovecot 등과 같은 모든 서비스를 자동으로 구성합니다. ISPConfig 2에 필요한 수동 설정은 더 이상 필요하지 않습니다.

이제 설치 프로그램이 ISPConfig 제어판에 대한 SSL vhost를 생성하도록 허용할 수 있는 가능성도 있습니다. 따라서 ISPConfig에 https:// 대신 http://로 접근할 수 있습니다. 이를 위해 이 질문이 나타날 때 ENTER를 누르십시오: ISPConfig 웹 인터페이스에 대한 안전한(SSL) 연결을 원하십니까 (y,n) [y]:.

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

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

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

>> 초기 구성
운영 체제: openSUSE 또는 호환 가능, 알 수 없는 버전.
다음은 기본 구성을 위한 몇 가지 질문이 있을 것입니다.
기본값은 [대괄호] 안에 있으며 로 수락할 수 있습니다.
“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
Apache와 nginx가 감지되었습니다. ISPConfig에 사용할 서버를 선택하십시오: (apache,nginx) [apache]: <– nginx 20 링크
2048 비트 RSA 개인 키 생성 중
………………………………………………………………………..+++
…+++
‘smtpd.key’에 새 개인 키를 작성 중
—–
인증서 요청에 통합될 정보를 입력하라는 메시지가 표시됩니다.
입력할 내용은 ‘구별된 이름’ 또는 DN이라고 합니다.
몇 가지 필드가 있지만 일부는 비워둘 수 있습니다.
일부 필드에는 기본값이 있습니다.
‘.’를 입력하면 필드가 비워집니다.
—–
국가 이름 (2자리 코드) [AU]: <– ENTER
주 또는 지방 이름 (전체 이름) [Some-State]: <– ENTER
지역 이름 (예: 도시) []: <– ENTER
조직 이름 (예: 회사) [Internet Widgits Pty Ltd]: <– ENTER
조직 단위 이름 (예: 섹션) []: <– ENTER
일반 이름 (예: 귀하의 이름) []: <– ENTER
이메일 주소 []: <– ENTER
Jailkit 구성 중
Dovecot 구성 중
Spamassassin 구성 중
Amavisd 구성 중
Getmail 구성 중
Pureftpd 구성 중
BIND 구성 중
nginx 구성 중
Vlogger 구성 중
앱 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
일반 이름 (예: 귀하의 이름) []: <– ENTER
이메일 주소 []: <– ENTER
다음 ‘추가‘ 속성을 입력하십시오.
인증서 요청과 함께 전송됩니다.
도전 비밀번호 []: <– ENTER
선택적 회사 이름 []: <– ENTER
RSA 키 작성 중
DBServer 구성 중
ISPConfig crontab 설치 중
root에 대한 crontab 없음
getmail에 대한 crontab 없음
서비스 재시작 중 …
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
시스템ctl로 리디렉션 중
설치 완료.
server1:/tmp/ispconfig3_install/install # /tmp 디렉토리를 정리합니다: cd /tmp rm -rf /tmp/ispconfig3_install rm -f /tmp/ISPConfig-3-stable.tar.gz 그 후 http(s)://server1.example.com:8080/ 또는 http(s)://192.168.0.100:8080/에서 ISPConfig 3에 접근할 수 있습니다( http 또는 https는 설치 중 선택한 것에 따라 다릅니다). 사용자 이름 admin과 비밀번호 admin으로 로그인하십시오(첫 로그인 후 기본 비밀번호를 변경해야 합니다). #### 19.1 ISPConfig 3 매뉴얼 ISPConfig 3 사용 방법을 배우기 위해 ISPConfig 3 매뉴얼을 다운로드하는 것을 강력히 권장합니다. 약 300페이지에 걸쳐 ISPConfig의 개념(관리자, 리셀러, 클라이언트)을 다루고, ISPConfig 3 설치 및 업데이트 방법을 설명하며, ISPConfig의 모든 양식 및 양식 필드에 대한 참조와 유효한 입력 예제를 포함하고, ISPConfig 3에서 가장 일반적인 작업에 대한 튜토리얼을 제공합니다. 또한 서버를 더 안전하게 만드는 방법을 설명하고 마지막에 문제 해결 섹션이 포함되어 있습니다. #### 19.2 ISPConfig 모니터 앱(Android) ISPConfig 모니터 앱을 사용하면 서버 상태를 확인하고 모든 서비스가 예상대로 실행되고 있는지 확인할 수 있습니다. TCP 및 UDP 포트를 확인하고 서버에 핑을 보낼 수 있습니다. 또한 이 앱을 사용하여 ISPConfig가 설치된 서버에서 세부 정보를 요청할 수 있습니다( ISPConfig 모니터 앱을 지원하는 최소 설치된 ISPConfig 3 버전은 3.0.3.3입니다!); 이러한 세부 정보에는 ISPConfig 제어판의 모니터 모듈에서 알고 있는 모든 것이 포함됩니다(예: 서비스, 메일 및 시스템 로그, 메일 큐, CPU 및 메모리 정보, 디스크 사용량, 쿼터, OS 세부 정보, RKHunter 로그 등), 그리고 물론 ISPConfig는 다중 서버를 지원하므로 ISPConfig 마스터 서버에서 제어하는 모든 서버를 확인할 수 있습니다. 다운로드 및 사용 지침은 http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/를 방문하십시오. ### 20 링크 - OpenSUSE: http://www.opensuse.org/ - ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

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

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