서버 설정 · 10 min read · Nov 25, 2025
완벽한 서버 - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3) - 페이지 5
12 BIND 설치
BIND 네임서버는 다음과 같이 설치할 수 있습니다:
zypper install bindBIND 시스템 시작 링크를 생성하고 시작합니다:
systemctl enable named.service
systemctl start named.service13 Webalizer 및 AWStats 설치
ISPConfig 3에서는 Webalizer 또는 AWStats 중에서 웹사이트 통계를 생성할 도구를 선택할 수 있으므로 두 가지 모두 설치합니다:
zypper install webalizer perl-Date-Manipzypper install http://download.opensuse.org/repositories/network:/utilities/openSUSE_12.3/noarch/awstats-7.1.1-3.1.noarch.rpm14 fail2ban 설치
fail2ban은 다음과 같이 설치할 수 있습니다:
zypper install fail2ban15 Jailkit 설치
Jailkit은 다음과 같이 설치할 수 있습니다:
zypper install http://download.opensuse.org/repositories/security/openSUSE_12.3/x86_64/jailkit-2.13-1.4.x86_64.rpm16 시스템 시계 동기화
시스템 시계를 NTP 서버와 동기화하려면 다음을 수행합니다:
zypper install xntp그런 다음 ntp에 대한 시스템 시작 링크를 추가하고 ntp를 시작합니다:
systemctl enable ntp.service
systemctl start ntp.service17 rkhunter 설치
rkhunter는 다음과 같이 설치할 수 있습니다:
zypper install rkhunter18 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.plSquirrelMail에 Dovecot을 사용하고 있음을 알려야 합니다:
SquirrelMail 구성 : 읽기: config.php (1.4.0)
메인 메뉴 –
- 조직 기본 설정
- 서버 설정
- 폴더 기본값
- 일반 옵션
- 사용자 인터페이스
- 주소록
- 오늘의 메시지 (MOTD)
- 플러그인
- 데이터베이스
- 언어 설정
- 조정
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)
메인 메뉴 –
- 조직 기본 설정
- 서버 설정
- 폴더 기본값
- 일반 옵션
- 사용자 인터페이스
- 주소록
- 오늘의 메시지 (MOTD)
- 플러그인
- 데이터베이스
- 언어 설정
- 조정
D. 특정 IMAP 서버에 대한 미리 정의된 설정 설정
C 색상 켜기
S 데이터 저장Sw31QypH6CfMb
Q 종료
명령 >> <– S
SquirrelMail 구성 : 읽기: config.php (1.4.0)
메인 메뉴 –
- 조직 기본 설정
- 서버 설정
- 폴더 기본값
- 일반 옵션
- 사용자 인터페이스
- 주소록
- 오늘의 메시지 (MOTD)
- 플러그인
- 데이터베이스
- 언어 설정
- 조정
D. 특정 IMAP 서버에 대한 미리 정의된 설정 설정
C 색상 켜기
S 데이터 저장
Q 종료
명령 >> Ssystemctl reload nginx.service
config.php에 데이터가 저장되었습니다.
플러그인 활성화가 완료되었습니다; 등록 데이터가 plugin_hooks.php에 저장되었습니다.
계속하려면 Enter를 누르십시오… <– ENTER
SquirrelMail 구성 : 읽기: config.php (1.4.0)
메인 메뉴 –
- 조직 기본 설정
- 서버 설정
- 폴더 기본값
- 일반 옵션
- 사용자 인터페이스
- 주소록
- 오늘의 메시지 (MOTD)
- 플러그인
- 데이터베이스
- 언어 설정
- 조정
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.servicenginx가 실행 중인지 확인하십시오:
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.phpserver1:/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/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.