서버 관리 · 3 min read · Dec 02, 2025

완벽한 서버 확장 - Debian Squeeze [ISPConfig 3] - 페이지 3

5. multitail

Debian에서 apt를 통해 multitail을 설치합니다:

apt-get install multitail

폴더 /root/scripts를 생성하고(이전에 하지 않았다면) 여러 파일을 동시에 볼 수 있는 명령어를 삽입합니다:

mkdir /root/scripts
cd /root/scripts
nano mytail

다음 줄을 붙여넣습니다:

#!/bin/bash  
multitail -ci yellow -e "ailed" -n 1000 /var/log/auth.log  \
-ci red -e "Ban" -n 1000 -I /var/log/fail2ban.log \
-ci red -e "fw" -n 1000 -I /var/log/messages \
-ci green -e "Unban" -n 1000 -I /var/log/messages \
-ci blue -e "fail" -n 1000 -I /var/log/syslog

저장하고 종료한 후 root에 대해 실행 가능하게 만듭니다:

chmod 700 /root/scripts/mytail

명령어로 실행합니다(출력을 보려면) (종료하려면 “q”를 누르세요):

/root/scripts/mytail

6. 50022 포트에서 SSH

기본값이 아닌 다른 포트로 변경하기 전에 방화벽에 포트를 추가하는 것을 잊지 마세요. ISPConfig의 기본값을 사용하는 경우 시스템 -> 방화벽으로 이동하여 원하는 포트를 추가합니다(이 매뉴얼에서는 Webmin에 50000, ISPConfig에 50443, ssh에 50022를 사용할 것입니다). 저장하고 새로운 포트가 작동하는 것이 확실해질 때까지 이전 포트(8080, 10000, 22)를 제거하지 마세요.

Debian에서는 ssh 서버를 설치합니다(아직 설치하지 않았다면) apt-get으로. 그 후 구성 파일(/etc/ssh/sshd_config)을 편집합니다.

apt-get install ssh openssh-server openssh-client
nano /etc/ssh/sshd_config

“Port 22”를 남기고 “Port 22” 바로 뒤에 “Port 50022”를 추가합니다. 저장하고 종료한 후 ssh를 재시작합니다:

/etc/init.d/ssh restart

주의: 50022 포트로 ssh에 다시 로그인해야 합니다. 위의 수정 후 sftp도 50022 포트를 통해 접근할 수 있습니다. 포트 22를 제거하면 ssh와 sftp에 50022 포트에서만 접근할 수 있습니다.

50022 포트를 사용하여 로그인에 성공하면(다음 명령어로) /etc/ssh/sshd_config에서 “Port 22” 줄을 제거할 수 있습니다:

ssh -p 50022 [email protected]

위의 작업을 수행했다면 ssh 감옥을 무시하고 /etc/fail2ban/jail.local에서 fail2ban SSH 감옥의 포트를 50022로 변경해야 합니다(ssh에서 50022로).

(처음부터 튜토리얼을 따랐다면 Fail2ban 섹션에서 이미 이 작업을 수행했습니다.)

7. 다른 URL 아래의 phpmyadmin (+ ssl 팁)

mydomaindb(또는 다른 고유 이름) 아래에서 ssl을 통해 phpmyadmin에 접근하려면, roundcube와 동일한 팁을 적용할 수 있습니다(ssl 부분에 대해). 새로운 URL에 대해서는 /etc/apache2/conf.d/phpmyadmin.conf를 편집하고, Alias를 “/phpmyadmin”에서 “/mydomaindb”로 변경하며, 다음 줄이 포함되어 있는지 확인합니다(에서 …. 까지의 마지막 줄은 SSL로 리디렉션하는 데 사용됩니다):

# phpMyAdmin 기본 Apache 구성  
  
Alias /mydomaindb /usr/share/phpmyadmin  
  
  
        Options FollowSymLinks  
        DirectoryIndex index.php  
  
          
                AddType application/x-httpd-php .php  
  
                php_flag magic_quotes_gpc Off  
                php_flag track_vars On  
                php_flag register_globals Off  
                php_value include_path .  
          
  
  
  
# 설정을 위한 권한 부여  
  
      
    AuthType Basic  
    AuthName "phpMyAdmin Setup"  
    AuthUserFile /etc/phpmyadmin/htpasswd.setup  
      
    Require valid-user  
  
  
# 필요하지 않은 디렉토리에 대한 웹 접근 금지  
  
    Order Deny,Allow  
    Deny from All  
  
  
    Order Deny,Allow  
    Deny from All  
  
  
  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI}  [L]  
      
    

이후 Apache를 재시작합니다:

/etc/init.d/apache2 restart

ISPConfig 3 GUI에서 phpmyadmin 링크를 변경하는 것을 잊지 마세요(인터페이스 구성 -> 사이트(탭)).

8. php 가속기(apc) 및 기타 유용한 앱 설치

이 섹션에서는 php를 개발하는 사람들이 개발한 apc(php 가속기)와 몇 가지 앱(htop, iptraf, logwatch, tiger)을 설치합니다.

apt-get install php-apc htop iptraf logwatch tiger

/etc/php5/conf.d/apc.ini를 편집하여 메모리 캐시를 증가시킵니다:

nano /etc/php5/conf.d/apc.ini

다음 줄을 추가합니다:

apc.shm_size=128

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

/etc/init.d/apache2 restart

htop을 사용하면 top보다 더 나은 방식으로 시스템 정보를 볼 수 있으며, iptraf을 사용하면 연결에 대한 실시간 통계를 볼 수 있고, logwatch를 사용하면 시스템이 로그 파일 요약을 이메일로 보낼 수 있으며, tiger를 사용하면 시스템의 보안 취약점(존재하는 경우)에 대한 주기적인 보고서를 이메일로 받을 수 있습니다.

많은 스크립트/앱이 사용자 root에게 많은 이메일을 보내므로, root의 메일을 더 ‘실제‘ 이메일 주소로 별칭할 수 있습니다. 따라서 example.com 도메인에 대해 ‘실제‘ 메일을 설정한 후, 별칭을 편집하고 root 사용자에게 별칭을 추가할 수 있습니다:

nano /etc/aliases

그리고 줄을 변경합니다

root:root

다음과 같이

root:[email protected]

이후 실행합니다:

newaliases

Drupal(또는 다른 cms)을 설치하려면 uploadprogress와 json이 필요할 수 있습니다. 이들의 설치를 완료하려면:

apt-get install php5-dev php-services-json
pecl install uploadprogress
touch /etc/php5/apache2/conf.d/uploadprogress.ini
nano /etc/php5/apache2/conf.d/uploadprogress.ini

다음 줄을 추가합니다:

extension=uploadprogress.so

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

/etc/init.d/apache2 restart
Share: X/Twitter LinkedIn

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

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