웹마스터 팁

#!/bin/bash
######################################################
#                                                                              #
# This is Shell Script for Debian Linux Adminstrator       #
#                                                                              #
# Shell Script Programming by Namgoos.. ^_______^   #
#                                                                             #
######################################################
#서버 환경 설정
BIND_DIR="/etc/bind"
INIT_DIR="/etc/init.d"
NAMED_DIR="/etc/bind/named.conf"
IP="218.50.*.*"

##########
# 함수 정의 #
##########


# 도메인 추가 함수 #

add_named_conf()
{
echo -n "추가하실 도메인 네임을 입력하시오: "
read DOMAIN
echo -n $DOMAIN "의 도메인을 named.conf에 추가를 하시겠습니까..? (y,n,[Y]): "
read DOMAIN_Q
    case $DOMAIN_Q in
    n|N)    echo " 취소가 되었습니다."
            exit 0
            ;;
    ""|Y|y)    
        echo "zone "$DOMAIN" {type master; file "db.$DOMAIN"; };" >> $NAMED_DIR
            ;;
    *)          echo "명렵어가 틀렸슴돠.."
            ;;
    esac

cat $NAMED_DIR
echo ""
echo $DOMAIN"의 주소가 $NAMED_DIR에 추가 되었습니다"
}


#db.named 파일 생성 함수 #

add_db_named ()
{
        touch $BIND_DIR/db.$DOMAIN
        echo "$TTL 86400
@ IN SOA ns1.domain.co.kr. root.$DOMAIN. (
`date +%Y%m%d%H%M%S` ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; default_ttl
)

IN NS ns1.domain.co.kr.
IN NS ns2.domain.co.kr.
IN A $IP
IN MX 10 mail.$DOMAIN.

;DNS Server

;Virtual Host
www IN CNAME @
ftp IN CNAME @
mail IN CNAME @ ">> $BIND_DIR/db.$DOMAIN
cat $BIND_DIR/db.$DOMAIN
}

# BIND Restart #
bind_restart()
{
echo -n "BIND Restarting 하시겠습니까..? (y,n[Y])"
read BIND_ASK
case  $BIND_ASK in
        n|N)
                echo "도메인 네임이 추가 되었습니다"
        ;;
        ""|y|Y)
                        $INIT_DIR/bind restart
                        echo "DNS Restarting."
                        echo "도메인 네임이 추가 되었습니다"
        ;;
        *)      echo "잘못 눌렸습니다."
        ;;
esac
}

# POP3 추가 #
add_pop3()
{
echo -n "등록할 POP3 ID를 입력하시오..[취소-Ctrl+D]: "
read POP3_ID
useradd -M -s /bin/false $POP3_ID
passwd $POP3_ID
echo "이메일 사용자 등록이 되었습니다."
}

# USER 추가 #
add_user()
{
echo -n "등록할 USER ID를 입력하시오..[취소-Ctrl+D]; "
read USER_ID
echo -n "사용자 Home Directory는?(Enter: /home/$USER_ID) : "
read USER_DIR

if [ $USER_DIR=="" ]
        then
        USER_DIR="/home/$USER_ID"
fi
adduser --home $USER_DIR  $USER_ID
}

# Virtual Hosting 추가 #

######################
# Start Shell Script #
######################

while :
do
#clear
        echo -n " LINUX Server Adminstrator System

        D : DNS 추가?

        P : POP3 계정 추가

        U : USER 추가

        V : Virtual Hosting 추가

        [Enter] : 종료
Select Menu ? <D,P,U,V,[Enter]>: "
        read MENU

                case $MENU in
                        "")     echo " 작업을 종료 합니다."
                        exit 0
                                ;;
                        D|d)
                                clear
                                add_named_conf
                                add_db_named
                                bind_restart
                        ;;
                        P|p)
                                clear
                                add_pop3
                                ;;
                        U|u)
                                clear
                                add_user
                                echo "사용자 등록이 되었습니다."
                                ;;
                        V|v)
                                clear
                                ;;
                        *)      clear
                                echo "명령어가 틀리거나 없슴돠..ㅜ.ㅜ"
                                ;;
                        esac
done


쉘스크립입니다.. 버쳐호스트 설정 부분만 빠져 있슴돠.. 그것은 다시 완성 되는대로 올려드리도록 하겠습니다..

지금까지 남구스였습니다. www.namgoos.com