호스팅에서 사용자 계정 추가 스크립트
너무 여러가지 기능을 추가 하여 점 복잡하군요..
나름대루 고쳐서 쓰면 유용할듯 합니다.
# addon 1.
#!/bin/bash
# 사용시 버그나, 추가할 사항이 있으시면 언제든지 연락바랍니다. ^^;
# http://byus.net 에 오신후, 질답게시판 혹은 자유게시판에 글 남겨주세요 ^^;
# 자동 생성 index.html -> index.htm 으로 이름 변경 ( 초보자 혼동 방지 )
# htdocs(public_html) 폴더가 없을 경우 자동 추가 8월 27일 ( /etc/skel )
# asf,wma 미디어 파일 재생 접근 차단 여부 추가 8월 16일 ( $streaming )
# 제로보드 링크 주소 일부 변경 admin.php 로 연결 8월 13일
# 디폴트 도메인 에서 계정 중복 여부 체크 8월 8일 (다중 서버 관리시 최소 필터링)
# 도메인 메일 셋팅시 센드메일 재시작하여 메일주소 활성화 수정 7월 16일
# $1 값이 있으면 데몬을 리스타트 하지 않도록 수정 (대량 계정 등록시 이용) 7월 1일
# 텔넷으로 타회원 디렉토리 검색하는 보안 버그 처리 6월 16일
# whois 정보보기 추가 6월 10일
# 1차 서버의 제외한 서버에서 셋팅시 네임서버를 자동으로 건너뛰도록 설정 6월 5일
# index.html 파일 생성 지원 6월 3일
# 제로보드 설치 지원추가 6월 3일
# 메일 포워딩 수정 5월 31일
#####################
# 환경 설정 변수들
#####################
starttime=$(date +%s)
user="tina" # multi server admin's setting
if [ "$user" = "tina" ]; then
device=eth0 # internet ethernet device's point
ip1="210.118.169.13" # first server's ip
ip2="210.118.169.42" # second server's ip
ip3="210.118.169.118" # 3rd
ip4="210.118.169.140" # 4th
ip5="210.118.169.165" # 5th
ip6="61.111.254.202" # 6th
ip7="61.111.254.204" # 7th
ip8="61.111.254.205" # 8th
ip9="61.111.254.206" # 9th
ip10="61.111.254.207" # 10th
ip11="61.111.254.208" # 10th
ip12="61.111.254.209" # 10th
ip13="61.111.254.210" # 10th
ip14="61.111.254.211" # 10th
acckinddefault="pro" # account kind default level
homediris="/home" # default homedir
htdocs="public_html" # html documents dir
dbnametail="" # abc 's DBNAME system
ns="ns.byus.net." # first name server domain.
ns2="ns2.byus.net." # second name server domain.
nsip="210.118.169.13" # first name server ip
ns2ip="210.118.169.42" # second name server ip
domain="byus.net" # default domain name
mail="mail.byus.net" # default mail server name
mail2="mail2.byus.net"
mail3="mail3.byus.net"
mail4="mail4.byus.net"
mail5="mail5.byus.net"
mail6="mail6.byus.net"
mail7="mail7.byus.net"
mail8="mail8.byus.net"
mail9="mail9.byus.net"
mail10="mail10.byus.net"
mail11="mail11.byus.net"
mail12="mail12.byus.net"
mail13="mail13.byus.net"
mail14="mail14.byus.net"
sendmaild="/etc/init.d/sendmail" # sendmail daemon
conf="/etc/httpd/conf/httpd.conf" # httpd configuration file's point
seconf="/etc/httpd/conf/httpd.conf" # httpd configuration file's point (second server)
conf3=$conf
conf4=$conf
conf5=$conf
conf6=$conf
conf7=$conf
conf8=$conf
conf9=$conf
conf10=$conf
conf11=$conf
conf12=$conf
conf13=$conf
conf14=$conf
namedconf="/etc/named.conf" # named configuration file's point
default_zonefile="/var/named/byus.zone" # default zone file's point
zonedir="/var/named/" # zone directory
named="/etc/init.d/named" # named daemon file's point
httpd="/etc/init.d/httpd" # httpd daemon's point
sehttpd="/etc/init.d/httpd" # second server's httpd point
httpd3=$httpd
httpd4=$httpd
httpd5=$httpd
httpd6=$httpd
httpd7=$httpd
httpd8=$httpd
httpd9=$httpd
httpd10=$httpd
httpd11=$httpd
httpd12=$httpd
httpd13=$httpd
httpd14=$httpd
httpdowner="apache" # 웹 데몬 소유자
sehttpdowner="apache"
httpdowner3="apache"
httpdowner4="apache"
httpdowner5="apache"
httpdowner6="apache"
httpdowner7="apache"
httpdowner8="apache"
httpdowner9="apache"
httpdowner10="apache"
httpdowner11="apache"
httpdowner12="apache"
httpdowner13="apache"
httpdowner14="apache"
throttleset="y" # throttle setting y/n 모듈로 올라와 있어야 오류가 없음
vfree="Volume 50M 1d" # throttle polocy traffic limit volume
vpro="Volume 500M 1d"
vpro1="Volume 1000M 1d"
vpro2="Volume 1500M 1d"
vdevperson="Volume 2000M 1d"
vdevcast="Volume 2000M 1d"
vdevfan="Volume 1500M 1d"
vserver="None"
virtusertable="/etc/mail/virtusertable" # virtusertables file's point
localhostnames="/etc/mail/local-host-names" # local-host-names file's point
webalizeradddefault="y" # Webalizer Site-on Logfile setting
accountsubmitmailfile1="/script/submitted1.html" # 1차 서버 개통메일 위치
accountsubmitmailfile2="/script/submitted2.html" # 2차 서버 개통메일 위치
accountsubmitmailfile3="/script/submitted3.html" # 3차 서버 개통메일 위치
accountsubmitmailfile4="/script/submitted4.html" # 4차 서버 개통메일 위치
accountsubmitmailfile5="/script/submitted5.html" # 5차 서버 개통메일 위치
accountsubmitmailfile6="/script/submitted6.html" # 6차 서버 개통메일 위치
accountsubmitmailfile7="/script/submitted7.html" # 7차 서버 개통메일 위치
accountsubmitmailfile8="/script/submitted8.html" # 8차 서버 개통메일 위치
accountsubmitmailfile9="/script/submitted9.html" # 9차 서버 개통메일 위치
accountsubmitmailfile10="/script/submitted10.html" # 10차 서버 개통메일 위치
accountsubmitmailfile11="/script/submitted11.html" # 11차 서버 개통메일 위치
accountsubmitmailfile12="/script/submitted12.html" # 12차 서버 개통메일 위치
accountsubmitmailfile13="/script/submitted13.html" # 13차 서버 개통메일 위치
accountsubmitmailfile14="/script/submitted14.html" # 14차 서버 개통메일 위치
submitmailsenddefault="y" # submitted account mailsend
sysopmailaddress="sontina@chollian.net" # sysop's mail address
sysopmailaddress2="" # sysop's mail address
zeroinstdefault="y" # 제로보드 설치 디폴트값
zeroinstdir="/script/zboard" # 제로보드 소스위치
zerodirname="zboard" # 제로보드 설치디렉이름
indexfiledefault="y" # 회원 index.html 파일 추가
streaming="y" # 셋팅중 asf,wma 미디어 지원여부 선택
else
echo ">>> 환경 설정 후 사용요망 "
exit
fi
### 일반적인 공통 셋팅 부분
dat=$(date +%Y%m%d) # Current date call - Don't touch
serial="$dat""01" # zone file serial
# check sum value (no edit)
checkupacc="n"
checkupname="n"
### 현재 서버 추적
currentip=`/sbin/ifconfig $device | grep "inet " | awk '{print $2}' | cut -c6-`
case "$currentip" in
"$ip1" ) currentserver=1 ;httpdown=$httpdowner;mailfile="$accountsubmitmailfile1";;
"$ip2" ) currentserver=2 ;mail=$mail2;conf=$seconf;httpd=$sehttpd;httpdown=$sehttpdowner;mailfile="$accountsubmitmailfile2";;
"$ip3" ) currentserver=3 ;mail=$mail3;conf=$conf3;httpd=$httpd3;httpdown=$httpdowner3;mailfile="$accountsubmitmailfile3";;
"$ip4" ) currentserver=4 ;mail=$mail4;conf=$conf4;httpd=$httpd4;httpdown=$httpdowner4;mailfile="$accountsubmitmailfile4";;
"$ip5" ) currentserver=5 ;mail=$mail5;conf=$conf5;httpd=$httpd5;httpdown=$httpdowner5;mailfile="$accountsubmitmailfile5";;
"$ip6" ) currentserver=6 ;mail=$mail6;conf=$conf6;httpd=$httpd6;httpdown=$httpdowner6;mailfile="$accountsubmitmailfile6";;
"$ip7" ) currentserver=7 ;mail=$mail7;conf=$conf7;httpd=$httpd7;httpdown=$httpdowner7;mailfile="$accountsubmitmailfile7";;
"$ip8" ) currentserver=8 ;mail=$mail8;conf=$conf8;httpd=$httpd8;httpdown=$httpdowner8;mailfile="$accountsubmitmailfile8";;
"$ip9" ) currentserver=9 ;mail=$mail9;conf=$conf9;httpd=$httpd9;httpdown=$httpdowner9;mailfile="$accountsubmitmailfile9";;
"$ip10" ) currentserver=10 ;mail=$mail10;conf=$conf10;httpd=$httpd10;httpdown=$httpdowner10;mailfile="$accountsubmitmailfile10";;
"$ip11" ) currentserver=11 ;mail=$mail11;conf=$conf11;httpd=$httpd11;httpdown=$httpdowner11;mailfile="$accountsubmitmailfile11";;
"$ip12" ) currentserver=12 ;mail=$mail12;conf=$conf12;httpd=$httpd12;httpdown=$httpdowner12;mailfile="$accountsubmitmailfile12";;
"$ip13" ) currentserver=13 ;mail=$mail13;conf=$conf13;httpd=$httpd13;httpdown=$httpdowner13;mailfile="$accountsubmitmailfile13";;
"$ip14" ) currentserver=14 ;mail=$mail14;conf=$conf14;httpd=$httpd14;httpdown=$httpdowner14;mailfile="$accountsubmitmailfile14";;
* ) echo "환경 변수 설정을 하시고 사용하시기 바랍니다";exit;;
esac
#########################
# 계정 등록설정
#########################
clear
echo
echo "======================================================================="
echo " * 사용자 계정 및 각종 설정 자동화 스크립트 작성자: 손희태(풀비누) "
echo "======================================================================="
echo "======================================================================="
echo " * 작성일 : 2002.3.6 "
echo " * 수정일 : 2002.8.30 "
echo " * 갱신버젼 : 0.85 "
echo " * 홈페이지 : http://byus.net "
echo "======================================================================="
echo "======================================================================="
echo " * 서버 셋팅변수 : $user "
echo " * 기본 도메인 : $domain "
echo
echo " * 1차 네임서버 : $ns ( $nsip )"
echo " * 2차 네임서버 : $ns2 ( $ns2ip )"
echo "======================================================================="
echo
echo ">>> 서버 아이피 : $currentip "
echo ">>> 제 $currentserver 서버로 검색 되었습니다. 현재 3차 서버까지 지원합니다."
if [ ! $currentserver = 1 ]; then
echo ">>> 1차 서버에서의 네임 서버 설정을 마쳤다는 가정하에, 셋팅이 들어가니, 주의 하시기 바랍니다"
fi
echo
echo -n "### 계정등록을 할 서버를 선택하세요. ( Default : $currentserver ) : "
read where
if [ ! $where ]; then
where=$currentserver
fi
# 셋업할 서버의 ip 획득
case "$where" in
"1" ) ipsetup=$ip1 ;;
"2" ) ipsetup=$ip2 ;;
"3" ) ipsetup=$ip3 ;;
"4" ) ipsetup=$ip4 ;;
"5" ) ipsetup=$ip5 ;;
"6" ) ipsetup=$ip6 ;;
"7" ) ipsetup=$ip7 ;;
"8" ) ipsetup=$ip8 ;;
"9" ) ipsetup=$ip9 ;;
"10" ) ipsetup=$ip10 ;;
"11" ) ipsetup=$ip11 ;;
"12" ) ipsetup=$ip12 ;;
"13" ) ipsetup=$ip13 ;;
"14" ) ipsetup=$ip14 ;;
* ) echo ">>> 서버 번호를 정확히 입력 바랍니다";exit;;
esac
echo
echo ">>> 셋업할 서버의 아이피 정보 : $ipsetup ( $where 차 서버 ) "
funcacc () {
echo
echo -n "### 계정을 입력하세요 : "
read account
if [ ! $account ]; then
echo ">>> 계정명을 넣어 주시기 바랍니다."
funcacc
elif (( $(cat /etc/passwd |grep -c "^$account:") > 0 )) ;then
echo ">>> 계정이 이미 존재합니다. 다시 입력바랍니다 "
funcacc
fi
### 계정 중복 여부 필터링 ( 디폴트 존파일 검색 - 도메인 등록자는 필터링 못함 )
if [ $currentserver = 1 ] && (( $(cat $default_zonefile | grep -c "\<$account\>") > 0 )) ; then
echo ">>> 계정이 존파일에 이미 존재합니다. 다시 입력 바랍니다 "
funcacc
fi
}
### 현재의 서버가 셋업할 서버와 동일한 경우 (계정설정 과 디비설정에 적용)
if [ $where = $currentserver ]; then
funcuseradd () {
funcacc
echo
echo ">>> 홈디렉이 다음과 같이 검색되었습니다"
if (( $(df -h | grep -v "common" | grep -c "home") > 0 )); then
df -h | egrep "Mount|home" | grep -v "common"
else
ls -al / | grep "home"
fi
echo
echo -n "### 계정 홈 디렉의 위치를 설정해 주세요 => /home"
read homedir2
homedir=$homediris$homedir2
echo
echo ">>> 계정 종류 : (free, pro), pro1, pro2, devperson, devcast, devfan, server "
echo -n "### 계정 종류를 설정하세요 ( Default : $acckinddefault ) : "
read acckind
if [ ! $acckind ];then
acckind="$acckinddefault"
fi
if [ -d "$homedir" ] ; then
# 계정 종류에 따라 쉘 사용여부 & 사용자 정보 등록 (/etc/passwd)
case "$acckind" in
"free" ) userad=$(useradd $account -c $acckind -s "/bin/false" -d "$homedir/$account") ;;
"pro" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
"pro1" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
"pro2" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
"devperson" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
"devcast" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
"devfan" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
"server" ) userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
* ) echo ">>> 계정 종류가 정확하지 않습니다." ; funcuseradd ;;
esac
if $userad ; then
passwordinput () {
echo
echo -n "### 비밀 번호를 입력하여 주세요 : "
read passaccount
if [ ! $passaccount ];then
passwordinput
fi
}
passwordinput
echo $passaccount | passwd $account --stdin
chown "$account"."$httpdown" "$homedir/$account"
chmod 710 "$homedir/$account"
echo "initdate $(date +%Y-%m-%d\ %H:%M)" >> $homedir/$account/.userinfo
# htdocs 확인
if [ $htdocs ] && [ ! -d "$homedir/$account/$htdocs" ] ; then
mkdir "$homedir/$account/$htdocs"
chown "$account"."$account" "$homedir/$account/$htdocs"
chmod 711 "$homedir/$account/$htdocs"
fi
echo
echo "=================================================="
echo ">>> 계정 $account 이 생성 되었습니다"
echo ">>> 홈 디렉 $homedir 에 대한 정보입니다"
echo
ls -l $homedir |grep "\<$account\>"
echo
cat /etc/passwd | grep "^$account:"
echo "=================================================="
# 정상 계정 등록 체크 시트
checkupacc="y"
fi
else
echo
echo ">>> $homedir 디렉이 존재하지 않습니다"
homedir=$homediris
funcuseradd
fi
}
funcuseradd
##########################
# DB 설정
##########################
echo
echo -n "### 디비를 설정하시겠습니까? [y/n] ( default : Y ) : "
read dbok
if [ "$dbok" = "n" ] || [ "$dbok" = "N" ]; then
echo
echo ">>> 디비설정이 취소 되었습니다"
else
funcdb () {
echo
echo -n "### 디비네임을 입력하세요 ( default : $account$dbnametail ) : "
read dbname
if [ ! $dbname ]; then
dbname="$account""$dbnametail"
fi
if [ $dbname ]; then
echo dbname is $dbname
echo
echo -n "### 디비 암호를 입력하세요 ( default : $passaccount ) : "
read pass
if [ ! $pass ]; then
pass=$passaccount
fi
echo "dbpasswd is $pass"
echo "create database $dbname;" > /tmp/dbadd.sql
echo "grant all privileges on $dbname.* to $account@localhost identified by '${pass}';" >> /tmp/dbadd.sql
chmod 700 /tmp/dbadd.sql
echo
echo ">>> 다음 sql 문이 실행됩니다"
echo
echo "=================================================="
cat /tmp/dbadd.sql
echo "=================================================="
echo
echo ">>> 디비가 다음과 같이 추가후 검색되었습니다.(해당디비가 나오면 정상추가)"
mysql mysql < /tmp/dbadd.sql
mysqlshow -h localhost | grep "\<$dbname\>"
rm -rf /tmp/dbadd.sql
fi
}
funcdb
fi
elif [ ! $where = 1 ] && [ $currentserver = 1 ]; then
echo
echo ">>> $where 차 서버 셋팅이므로 1차 서버에선 네임서버 와 메일 포워딩 설정만 진행됩니다."
echo ">>> $where 차 서버의 계정 생성시엔 $where 차서버에서 addon 스크립을 한번더 실행하셔야 합니다"
else
echo
echo ">>> 1차 에서 타서버 네임서버 셋팅 혹은 현재서버의 계정 셋팅이 아닌경우 취소가 됩니다."
exit 0
fi
echo
echo "------------------------------------------------------------"
echo "계정 셋팅 여부 : $checkupacc ( y = 셋팅됨, n = 셋팅안됨 )"
echo "------------------------------------------------------------"
####################
# 네임서버 설정
####################
echo
echo ">>> 네임서버 설정은 1 차 서버에서만 셋팅이 진행 됩니다"
if [ $currentserver = 1 ]; then
echo -n "### 네임서버를 설정하시겠습니까? [Y/n] ( default : Y ) : "
read nameok
else
echo ">>> 1 차 서버가 아니므로 네임서버 설정은 하지 않습니다."
nameok="n"
fi
if [ "$nameok" = "n" ] || [ "$nameok" = "N" ]; then
echo ">>> 설정이 취소 되었습니다"
else
clear
### 현재 서버가 1차 서버 일 경우 네임서버 설정
if [ $currentserver = 1 ] ;then
# 계정 등록을 하지 않고, 네임서버만 설정할 경우 account 정보 취득
if [ ! "$checkupacc" = "y" ]; then
funcacc
fi
# 무단 스크립 종료시 남아있을 수 있는 임시파일 삭제
rm -rf /tmp/zone
rm -rf /tmp/hosting
rm -rf /tmp/named.conf
rm -rf /tmp/virtusertable
rm -rf /tmp/localhostnames
echo -n "### 개인 도메인이 있습니까? [y/n] ( default : Y ) : "
read pdomain
### 개인 도메인이 없을 경우
# 포워딩할 메일서버주소를 취득
case "$ipsetup" in
"$ip1" ) mailforwarding=$mail;;
"$ip2" ) mailforwarding=$mail2;;
"$ip3" ) mailforwarding=$mail3;;
"$ip4" ) mailforwarding=$mail4;;
"$ip5" ) mailforwarding=$mail5;;
"$ip6" ) mailforwarding=$mail6;;
"$ip7" ) mailforwarding=$mail7;;
"$ip8" ) mailforwarding=$mail8;;
"$ip9" ) mailforwarding=$mail9;;
"$ip10" ) mailforwarding=$mail10;;
"$ip11" ) mailforwarding=$mail11;;
"$ip12" ) mailforwarding=$mail12;;
"$ip13" ) mailforwarding=$mail13;;
"$ip14" ) mailforwarding=$mail14;;
* ) ;;
esac
if [ "$pdomain" = "n" ] || [ "$pdomain" = "N" ]; then
echo
echo "$account IN A $ipsetup" > /tmp/zone
echo
echo ">>> 다음 내용이 $default_zonefile 에 등록되었습니다"
echo "=================================================="
cat /tmp/zone
echo "=================================================="
cat /tmp/zone >> $default_zonefile
echo ">>> 서브 도메인 이므로 virtusertable 에 메일 등록을 하지 않습니다"
# 설정할 계정 서버가 1차 서버가 아닌경우 메일 포워딩
if [ ! $ipsetup = 1 ];then
echo
echo ">>> 메일 주소가 포워딩 됩니다."
echo "$account@$domain $account@$mailforwarding" > /tmp/virtusertable
echo
echo ">>> 다음 내용이 $virtusertable 에 등록되었습니다"
echo "=================================================="
cat /tmp/virtusertable
echo "=================================================="
echo
cat /tmp/virtusertable >> $virtusertable
makemap hash $virtusertable < $virtusertable
echo ">>> Mail Daemon's virtusertable DB 가 갱신되었습니다"
rm -rf /tmp/virtusertable
fi
else
### 개인 도메인이 있을 경우
funcdns () {
echo
echo -n "### 개인 도메인 명을 말하세요. (ex. $account.net) : "
read yourdomain
if [ ! $yourdomain ]; then
funcdns
fi
}
funcdns
zone="$yourdomain"".zone"
echo
echo "\$TTL 86400" > /tmp/zone
echo "@ IN SOA $ns master.$domain. (" >> /tmp/zone
echo "$serial ;serial">> /tmp/zone
echo "10800 ;refresh">> /tmp/zone
echo "3600 ;retry">> /tmp/zone
echo "604800 ;expire">> /tmp/zone
echo "86400 ;minimum">> /tmp/zone
echo ")">> /tmp/zone
echo " IN NS $ns">> /tmp/zone
echo " IN NS $ns2">> /tmp/zone
echo "@ IN A $ipsetup">> /tmp/zone
echo "ns IN A $nsip">> /tmp/zone
echo "ns2 IN A $ns2ip">> /tmp/zone
echo "www IN A $ipsetup">> /tmp/zone
echo
echo ">>> 다음 내용이 $zonedir$zone 에 등록되었습니다"
echo "=================================================="
cat /tmp/zone
echo "=================================================="
echo "zone \"$yourdomain\" IN {type master; file \"$zone\"; };" >/tmp/named.conf
echo
echo ">>> 다음 내용이 $namedconf 에 등록되었습니다"
echo "=================================================="
cat /tmp/named.conf
echo "=================================================="
cat /tmp/zone >> $zonedir$zone
cat /tmp/named.conf >> $namedconf
rm -rf /tmp/zone
rm -rf /tmp/named.conf
fi
if [ ! $1 ]; then # 대량 계정 셋팅시 데몬 재시작 취소
$named restart
echo ">>> 네임서버가 재시작 되었습니다"
fi
# 네임 서버 정상 셋팅 체크 시트
checkupname="y"
else
echo ">>> 1차 서버가 아니므로 네임서버 설정은 취소 되었습니다"
fi
# 1차서버에서 타서버 네임서버 셋팅후 스크립 종료
if [ ! $where = $currentserver ] ; then
echo ">>> 네임서버 셋팅이 정상적으로 등록되었습니다. 스크립이 종료됩니다."
echo
exit
fi
fi
echo
echo "------------------------------------------------------------"
echo " 네임서버 셋팅 여부 : $checkupname ( y = 셋팅됨 , n = 셋팅 안됨 )"
echo "------------------------------------------------------------"
####################
# 메일 서버 설정
####################
echo
# 개인 도메인이 있는 경우 디폴트 값을 변경
if [ $yourdomain ] || [ ! "$currentserver" = "1" ]; then
echo ">>> 개인 도메인이 있는 경우는 필히 셋팅을 하셔야 합니다"
echo -n "### 메일 서버를 설정하시겠습니까? [Y/n] ( default : Y ) : "
read mailok
else
echo ">>> 개인 도메인이 없는 경우는 메일 서버 셋팅을 하지 않으셔도 됩니다"
echo -n "### 메일 서버를 설정하시겠습니까? [y/N] ( default : N ) : "
read mailok
if [ ! $mailok ] ; then
mailok="n"
fi
fi
if [ "$mailok" = "n" ] || [ "$mailok" = "N" ]; then
echo ">>> 설정이 취소 되었습니다"
else
# 네임 서버 설정을 건너뛴경우 나 1차 서버가 아니라서 네임서버 설정을 않했을때
if [ "$nameok" = "n" ] || [ "$nameok" = "N" ]; then
echo -n "### 개인 도메인이 있습니까? [y/n] ( default : Y ) : "
read pdomain
if [ "$pdomain" = "n" ] || [ "$pdomain" = "N" ]; then
echo ">>> 개인 도메인이 없는 경우 메일 서버 설정을 하실수 없습니다"
else
funcdns () {
echo
echo -n "### 개인 도메인 명을 말하세요. (ex. $account.net) : "
read yourdomain
if [ ! $yourdomain ]; then
funcdns
fi
}
funcdns
fi
fi
if [ "$pdomain" = "n" ] || [ "$pdomain" = "N" ]; then
echo
else
funcemail () {
echo
echo -n "### 포워딩할 이메일 주소를 적어주세요 ( default : $account@$yourdomain ) : "
read email
if [ ! $email ]; then
email="$account"@$yourdomain
fi
echo ">>> 메일 주소가 $email 로 지정됩니다"
echo "$email $account@$mail" > /tmp/virtusertable
echo
echo ">>> 다음 내용이 $virtusertable 에 등록되었습니다"
echo "=================================================="
cat /tmp/virtusertable
echo "=================================================="
echo
echo "$yourdomain" > /tmp/localhostnames
echo ">>> 다음 내용이 $localhostnames 에 추가 되었습니다"
echo "=================================================="
cat /tmp/localhostnames
echo "=================================================="
echo
}
funcemail
cat /tmp/virtusertable >> $virtusertable
cat /tmp/localhostnames >> $localhostnames
makemap hash $virtusertable < $virtusertable
echo ">>> Mail Daemon's virtusertable DB 가 갱신되었습니다"
# sendmail restart (도메인 등록자에 한해 재시작 반영)
if [ ! $1 ]; then # 대량 계정 셋팅시 데몬 재시작 취소
$sendmaild restart
echo ">>> 센드메일 데몬이 재시작 되었습니다"
fi
rm -rf /tmp/virtusertable
rm -rf /tmp/localhostnames
fi
fi
####################
# 웹 서버 설정
####################
### httpd.conf 파일 셋팅
echo
echo > /tmp/hosting
echo "### 등록일: $dat 계정명: $account 계정종류: $acckind ###" >> /tmp/hosting
echo "<VirtualHost $currentip>" >> /tmp/hosting
# 개인 이메일의 유무
if [ ! $email ] ;then
echo " ServerAdmin $account@$domain" >> /tmp/hosting
else
echo " ServerAdmin $email" >> /tmp/hosting
fi
echo " DocumentRoot $homedir/$account/$htdocs" >> /tmp/hosting
# 개인 도메인의 유무
if [ ! $yourdomain ]; then
echo " ServerName $account.$domain" >> /tmp/hosting
else
echo " ServerName www.$yourdomain" >> /tmp/hosting
echo " ServerAlias $yourdomain" >> /tmp/hosting
fi
# 웹 트래픽 제한 ( throttle policy )
if [ "$throttleset" = "y" ]; then
case "$acckind" in
"free" ) echo " ThrottlePolicy $vfree " >> /tmp/hosting ;;
"pro" ) echo " ThrottlePolicy $vpro " >> /tmp/hosting ;;
"pro1" ) echo " ThrottlePolicy $vpro1 " >> /tmp/hosting ;;
"pro2" ) echo " ThrottlePolicy $vpro2 " >> /tmp/hosting ;;
"devperson" ) echo " ThrottlePolicy $vdevperson " >> /tmp/hosting ;;
"devcast" ) echo " ThrottlePolicy $vdevcast " >> /tmp/hosting ;;
"devfan" ) echo " ThrottlePolicy $vdevfan " >> /tmp/hosting ;;
"server" ) echo " ThrottlePolicy $vserver " >> /tmp/hosting ;;
* ) echo ">>> throttle policy 정책이 수립되지 않았습니다" ;;
esac
fi
# asf,wma 파일 플레이 차단 셋팅 여부
if [ "$streaming" = y ] ; then
echo -n "### 실시간 파일(asf,wma) 을 지원하시겠습니까? (Default : y) : "
read streaming
if [ "$streaming" = "n" -o "$streaming" = "N" ] ; then
echo " <Directory \"$homedir/$account/\"> " >> /tmp/hosting
echo " <Files ~ \"\\.(as.|wm.)$\"> " >> /tmp/hosting
echo " Order allow,deny " >> /tmp/hosting
echo " Deny from all " >> /tmp/hosting
echo " </Files> " >> /tmp/hosting
echo " </Directory> " >> /tmp/hosting
fi
fi
# 로그 파일 셋팅
if [ ! $yourdomain ]; then
echo " ErrorLog logs/$account.$domain-error_log" >> /tmp/hosting
echo " CustomLog logs/$account.$domain-access_log combined" >> /tmp/hosting
else
echo " ErrorLog logs/$yourdomain-error_log" >> /tmp/hosting
echo " CustomLog logs/$yourdomain-access_log combined" >> /tmp/hosting
fi
echo "</VirtualHost>" >> /tmp/hosting
echo ">>> 다음 내용이 $conf 에 등록되었습니다"
echo "=================================================="
cat /tmp/hosting
echo "=================================================="
cat /tmp/hosting >> $conf
if [ ! $1 ]; then # 대량 계정 셋팅시 데몬 재시작 취소
$httpd restart
fi
echo
echo ">>> httpd 서버가 재시작되었습니다"
rm -rf /tmp/zone
rm -rf /tmp/hosting
#########################
# 제로보드 자동 설치 지원
##########################
if [ "$zeroinstdefault" = "y" ]; then
echo
echo -n "### 제로보드 설치지원을 하시겠습니까? [Y/n} ( default : $zeroinstdefault ) : "
read zeroinst
if [ ! $zeroinst ]; then
zeroinst=$zeroinstdefault
fi
if [ "$zeroinst" = "y" ] || [ "$zeroinst" = "Y" ];then
if [ -d $zeroinstdir ] ; then
cp -a $zeroinstdir $homedir/$account/$htdocs/$zerodirname
chmod 707 $homedir/$account/$htdocs/$zerodirname
chown $account.$account $homedir/$account/$htdocs/$zerodirname -R
echo ">>> $zeroinstdir 의 자료를 홈 디렉으로 복사 성공하였습니다"
else
echo ">>> $zeroinstdir 이 존재하지 않습니다. 제로보드 설치에 실패했습니다"
fi
else
echo
echo ">>> 제로보드 설치지원이 취소되었습니다"
fi
fi
##############################
# 가입자 index.html 파일 생성
##############################
# /etc/skel/ 하위에 존재할수 있는 index.html 파일을 무시하고 새로 파일 생성을 원할경우
# 가입자 정보를 기초로 index.html 파일을 생성
if [ $indexfiledefault = "y" ]; then
echo > /tmp/index.html
cat >> /tmp/index.html << EOF
<html>
<body background="http://byus.net/image/bgcheck.gif">
<table align=center width=800>
<tr>
<td>
<pre>
$domain 에서 알립니다.
$account 회원님의 가입을 축하 드립니다.
현재 이 사이트는 정상적으로 오픈 되었습니다.
* 계정 등록일 :$(date +%Y-%m-%d\ %H:%M)
* 등록 서버 : $where 차 서버
* 등록 서버 아이피 : $ipsetup
* 계정 아이디 : $account
* 계정 비번 : 신청하신 비밀번호
* 계정 종류 : $acckind
* 홈 디렉토리 : $homedir/$account/$htdocs/
* HOSTNAME : localhost
* MYSQL DB NAME : $dbname
* MYSQL DB PASSWORD : 계정 비번과 동일
* MYSQL DB USER : $account
</pre>
EOF
# 제로보드 설치링크 바로가기
if [ "$zeroinst" = "y" ] || [ "$zeroinst" = "Y" ];then
echo "<span style='font-size:9pt;'>* 제로보드 인스톨 바로가기 <a href=/$zerodirname/admin.php>[ GO ]</a></span><br>">>/tmp/index.html
echo "<span style='font-size:9pt;'>* 제로보드 메뉴얼 새창열기 <a href=http://nzeo.com/manual/index.html target=_blank>[ GO ]</a></span><br>">>/tmp/index.html
fi
cat >> /tmp/index.html << EOF
</td>
</tr>
</table>
</body>
</html>
EOF
echo ">>> index.html 파일이 생성되었습니다"
mv -f /tmp/index.html $homedir/$account/$htdocs/index.htm
chown $account.$account $homedir/$account/$htdocs/index.htm
fi
##################################
# 가입자에게 메일 보내는 스크립트
##################################
echo
echo "### 시스템관리자( $sysopmailaddress )와 가입자에게 동시에 메일이 발송됩니다"
echo -n "### 가입자에게 가입완료 메일을 보내시겠습니까? [y/n] ( default : $submitmailsenddefault ) : "
read submitmailsend
if [ ! $submitmailsend ];then
submitmailsend=$submitmailsenddefault
fi
if [ "$submitmailsend" = "y" -o "$submitmailsend" = "Y" ]; then
echo
echo -n "### 가입자의 메일주소를 적으세요 : "
read usermailaddress
else
echo
echo ">>> 시스템 관리자 에게만 가입정보 메일이 보내집니다"
fi
title="[ $account ] 회원님 가입처리 현황 - $domain"
titleuser="[ $domain ] $account 회원님의 가입처리가 완료 되었습니다"
echo > /tmp/submit.txt
chmod 700 /tmp/submit.txt
#year=$(date +%Y)
#month=$(date +%m)
#day=$(date +%d)
cat >> /tmp/submit.txt << EOF
* $domain 에서 계정 셋팅결과를 알립니다.
* 이 메일은 가입자와 운영자에게 송신되는 메일 입니다.
* 셋팅에 이상한 점이 있으면, 운영진 에게 연락 바랍니다.
* 문의 메일 : mailto:$sysopmailaddress
=================
:: 회원정보 ::
=================
* 계정 등록일 :$(date +%Y-%m-%d\ %H:%M)
* 등록 서버 : $where 차 서버
* 등록 서버 아이피 : $ipsetup
* 등록 서버 호스트 : $(hostname)
* 1차 네임서버 : $ns ( $nsip )
* 2차 네임서버 : $ns2 ( $ns2ip )
-> 도메인 소지분들은 도메인 등록기관에 가신후 위의 네임서버로 정보를
갱신하시기 바랍니다. ( 갱신 반영소요시간 24~48시간 )
* 계정 아이디 : $account
* 계정 비번 : $passaccount
* 계정 종류 : $acckind
* 홈 디렉토리 : $homedir/$account/$htdocs/
=================
:: 디비 정보 ::
=================
* HOSTNAME : localhost
* MYSQL DB NAME : $dbname
* MYSQL DB PASSWORD : $passaccount
* MYSQL DB USER : $account
EOF
if [ $yourdomain ];then
echo "* Home Address : http://$yourdomain">> /tmp/submit.txt
homeaddress="$yourdomain"
else
echo "* Home Address : http://$account.$domain">> /tmp/submit.txt
homeaddress="$account.$domain"
fi
if [ $email ];then
echo "* Email Address : mailto:$email">> /tmp/submit.txt
echo "* User Email : mailto:$usermailaddress">> /tmp/submit.txt
else
echo "* Email Address : mailto:$account@$domain">> /tmp/submit.txt
echo "* User Email : mailto:$usermailaddress">> /tmp/submit.txt
fi
cat >> /tmp/submit.txt << EOF
=================
:: 접속정보 ::
=================
EOF
if [ $yourdomain ];then
echo "* FTP 접속 주소 : FTP://$yourdomain">> /tmp/submit.txt
echo "* SSH / TELNET 접속 주소 : $yourdomain">> /tmp/submit.txt
echo "* POP/SMTP Server Address : $mail">> /tmp/submit.txt
else
echo "* FTP 접속 주소 : FTP://$account.$domain">> /tmp/submit.txt
echo "* SSH / TELNET 접속 주소 : $account.$domain">> /tmp/submit.txt
echo "* POP/SMTP Server Address : $mail">> /tmp/submit.txt
fi
cat >> /tmp/submit.txt << EOF
EOF
# 운영진에게 계정 셋팅 메일 송신
mail -s "$title" $usermailaddress $account $sysopmailaddress $sysopmailaddress2 < /tmp/submit.txt
echo
echo ">>> 메일을 $sysopmailaddress $account $usermailaddress 로 송신하였습니다"
rm -rf /tmp/submit.txt
# 가입자에게 계정 셋팅 메일 송신
# 유닉스 메일 명령으로 html 파일 송신이 제대로 보이지 않은 현상관련 보류중.
#if [ $usermailaddress ]; then
# if [ -f $mailfile ]; then
# mail -s "$titleuser" $usermailaddress < $mailfile
# echo
# echo ">>> 가입자에게 등록 완료 메일을 송신하였습니다"
# else
# echo
# echo ">>> 가입자에게 보낼 메일 파일이 존재하지 않습니다"
# echo ">>> 가입자에게 계정셋팅처리 메일 송신에 실패했습니다"
# fi
#fi
###############################################
# 가입자 정보 기록 /root/userinfo
###############################################
# 초기화 (/root/userinfo 원본)
if [ ! -f /root/userinfo ]; then
touch /root/userinfo
chmod 644 /root/userinfo
echo "# 사용자 계정 정보 등록 파일" >> /root/userinfo
echo >> /root/userinfo
fi
# 개인 정보 등록
# 아이디 이메일 홈주소 계정등록일 (tab 으로 구분)
if [ /root/userinfo ]; then
if [ $(cat /root/userinfo|grep "\<$account\>") ]; then
echo
echo ">>> 동일 아이디가 /root/userinfo 에 등록되어 있습니다"
echo "$account $usermailaddress $homeaddress $(date +%Y-%m-%d)" >> /root/userinfo
else
echo "$account $usermailaddress $homeaddress $(date +%Y-%m-%d)" >> /root/userinfo
fi
fi
# 초기화 (/bin/userinfo 사본 - 계정 이용자들 참조용)
if [ ! -f /bin/userinfo ]; then
touch /bin/userinfo
chmod 644 /bin/userinfo
echo "# 사용자 계정 정보 등록 파일" >> /bin/userinfo
echo >> /bin/userinfo
fi
# 개인 정보 등록
# 아이디 이메일 홈주소 계정등록일 (tab 으로 구분)
if [ /bin/userinfo ]; then
if [ $(cat /bin/userinfo|grep "\<$account\>") ]; then
echo
echo ">>> 동일 아이디가 /bin/userinfo 에 등록되어 있습니다"
echo "$account $usermailaddress $homeaddress $(date +%Y-%m-%d)" >> /bin/userinfo
else
echo "$account $usermailaddress $homeaddress $(date +%Y-%m-%d)" >> /bin/userinfo
fi
fi
#################################################
# 외부 웹 얼라이져 설정 파일을 불러오는 스크립트
#################################################
echo
echo -n "### 웹 얼라이져 로그 작업을 시작하시겠습니까? [y/n] ( default : $webalizeradddefault ) : "
read webalizeradd
if [ ! $webalizeradd ] ; then
webalizeradd=$webalizeradddefault
fi
if [ "$webalizeradd" = "n" -o "$webalizeradd" = "N" ]; then
echo
echo "### 모든 설정이 끝났습니다 ###"
echo
else
if [ -f /root/logsadd ];then
/root/logsadd $account
else
echo ">>> 스크립 파일이 존재하지 않습니다. 로그 얼라이져 스크립 실행이 중단되었습니다"
fi
echo
echo "### 모든 설정이 끝났습니다 ###"
echo
fi
##########################
#도메인의 후이즈 정보 보기
##########################
if [ $yourdomain ]; then
echo -n "### $yourdomsin 도메인의 whois 정보를 보시겠습니까? [y/n] ( default : y ) : "
read whoisok
if [ ! "$whoisok" = "n" -o ! "$whoisok" = "N" ]; then
whois $yourdomain
echo
ping -c3 $yourdomain
echo
fi
fi
endtime=$(date +%s)
jobtime=`expr $endtime - $starttime`
echo "스크립 실행 소요시간 : $jobtime 초"
# addon 2.
#!/bin/bash
# Usage : ./adduser id password e-mail
# 2002/11/3 최초 작성
# 2002/11/4 제로보드 설치지원 추가,
# 메일보내기 지원, 안내페이지 변경, 사용자 체크
# 2002/12/5 logrotate 설정 추가
dateis=$(date +%Y/%m/%d)
timeis=$(date | awk '{print $4}')
# ./adduser.sh 실행시 변수가 있는지 체크
if [ $# = 0 ]
then
echo "Usage: ./adduser.sh id pass e-mail"
exit 1
fi
# 사용자 계정 생성
if useradd -g hosting $1
then
echo $2 | /usr/bin/passwd --stdin $1
# 제로보드 설치 지원
echo -n "Zeroboard Install? - [Y/N](default N) : "
read zero
if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then
cp -R /home/chicpro/bbs/ /home/$1/public_html/
chown -R $1.hosting /home/$1/public_html/bbs
chmod 707 /home/$1/public_html/bbs
chmod 707 /home/$1/public_html/bbs/data
chmod 707 /home/$1/public_html/bbs/icon
fi
# weblogs 디렉토리 생성
mkdir /home/$1/public_html/weblogs
# Mysql 에 새로운 DB 를 추가합니다.
echo -n "MYSQL DB Create? - [y/n](default n) : "
read db
if [ "$db" = "y" ] || [ "$db" = "Y" ]; then
echo -n "MYSQL root password: "
read pass
touch /tmp/mysql_dbusersetup_temp
echo "create database $1;" >> /tmp/mysql_dbusersetup_temp
echo "insert into db values('localhost','$1','$1','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');" >> /tmp/mysql_dbusersetup_temp
echo "insert into user values('localhost','$1',password('$2'),'N','N','N','N','N','N','N','N','N','N','N','N','N','N');" >> /tmp/mysql_dbusersetup_temp
/usr/bin/mysql -u root -p$pass mysql < /tmp/mysql_dbusersetup_temp
rm -f /tmp/mysql_dbusersetup_temp
/usr/bin/mysqladmin -u root -p$pass reload
fi
# quota 설정
# edquota -u $1
# 아파치 vhost.conf 파일에 가상호스트 부분을 추가함
echo " " >> /etc/httpd/conf/vhost.conf
echo "<VirtualHost www.cable.websamo.net>" >> /etc/httpd/conf/vhost.conf
echo " ServerAdmin $3" >> /etc/httpd/conf/vhost.conf
echo " DocumentRoot /home/$1/public_html" >> /etc/httpd/conf/vhost.conf
echo " ServerName $1.cable.websamo.net" >> /etc/httpd/conf/vhost.conf
echo " ThrottlePolicy Volume 100M 1d" >> /etc/httpd/conf/vhost.conf
echo " ErrorLog logs/$1-error_log" >> /etc/httpd/conf/vhost.conf
echo " CustomLog logs/$1-access_log combined env=!nosave" >> /etc/httpd/conf/vhost.conf
echo "</VirtualHost>" >> /etc/httpd/conf/vhost.conf
# 사용자별 Webalizer 설정
echo "LogFile /var/log/httpd/$1-access_log" >> /etc/webalizer/$1-webalizer.conf
echo "LogType clf" >> /etc/webalizer/$1-webalizer.conf
echo "OutputDir /home/$1/public_html/weblogs" >> /etc/webalizer/$1-webalizer.conf
echo "HistoryName webalizer.hist" >> /etc/webalizer/$1-webalizer.conf
echo "Incremental yes" >> /etc/webalizer/$1-webalizer.conf
echo "IncrementalName webalizer.current" >> /etc/webalizer/$1-webalizer.conf
echo "HostName $1.websamo.net" >> /etc/webalizer/$1-webalizer.conf
echo "PageType htm*" >> /etc/webalizer/$1-webalizer.conf
echo "PageType cgi" >> /etc/webalizer/$1-webalizer.conf
echo "PageType php" >> /etc/webalizer/$1-webalizer.conf
echo "PageType php3" >> /etc/webalizer/$1-webalizer.conf
echo "/usr/local/bin/webalizer -c /etc/webalizer/$1-webalizer.conf" >> /root/cron/webalizer.cron
# logrotate 설정 추가
echo " " >> /etc/logrotate.d/apache
echo "/var/log/httpd/$1-access_log {" >> /etc/logrotate.d/apache
echo " missingok" >> /etc/logrotate.d/apache
echo " postrotate" >> /etc/logrotate.d/apache
echo " /usr/bin/killall -HUP httpd" >> /etc/logrotate.d/apache
echo " endscript" >> /etc/logrotate.d/apache
echo "}" >> /etc/logrotate.d/apache
echo " " >> /etc/logrotate.d/apache
echo "/var/log/httpd/$1-error_log {" >> /etc/logrotate.d/apache
echo " missingok" >> /etc/logrotate.d/apache
echo " postrotate" >> /etc/logrotate.d/apache
echo " /usr/bin/killall -HUP httpd" >> /etc/logrotate.d/apache
echo " endscript" >> /etc/logrotate.d/apache
echo "}" >> /etc/logrotate.d/apache
# 사용자별 사용량 체크 추가
echo "/usr/bin/du -sh /home/$1 >> /home/chicpro/usage.txt" >> /root/cron/usage.cron
# 안내페이지 생성
echo " <td><p><b>웹사모의 가족이 되신 것을 진심으로 축하드립니다!!<br>" >> /home/$1/public_html/index.html
echo " 현재</b>($dateis $timeis)<b> $1 님의 계정이 발급되었습니다.<br>" >> /home/$1/public_html/index.html
echo " 아래 내용은 신청하신 정보입니다.</b><br><br>" >> /home/$1/public_html/index.html
echo " ID : $1 / 신청하신 Password / E-mail : $3<br>" >> /home/$1/public_html/index.html
echo " 웹주소 : http://$1.websamo.net<br>" >> /home/$1/public_html/index.html
echo " FTP : ftp.websamo.net 포트 9585 / SSH : ssh.websamo.net 포트 22<br>" >> /home/$1/public_html/index.html
if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then
echo " 제로보드 설치지원 : <a href=http://$1.cable.websamo.net:9000/bbs/install.php target=_blank>제로보드설치</a><br><br>" >> /home/$1/public_html/index.html
else
echo " <br>" >> /home/$1/public_html/index.html
fi
echo " <b>기타 문의 사항은 </b><a href=http://websamo.net><b>http://websamo.net</b></a><b> 을 방문해 주시기 바랍니다</b></p>" >> /home/$1/public_html/index.html
echo " </td>" >> /home/$1/public_html/index.html
echo " </tr>" >> /home/$1/public_html/index.html
echo " </table>" >> /home/$1/public_html/index.html
echo " </td>" >> /home/$1/public_html/index.html
echo " <td bgcolor=#76CBED width=1></td>" >> /home/$1/public_html/index.html
echo " </tr>" >> /home/$1/public_html/index.html
echo " <tr>" >> /home/$1/public_html/index.html
echo " <td colspan=3><img src=title_error02.gif width=586 height=9 border=0></td>" >> /home/$1/public_html/index.html
echo " </tr>" >> /home/$1/public_html/index.html
echo " </table>" >> /home/$1/public_html/index.html
echo " </td>" >> /home/$1/public_html/index.html
echo " </tr>" >> /home/$1/public_html/index.html
echo "</table>" >> /home/$1/public_html/index.html
echo " </td>" >> /home/$1/public_html/index.html
echo " </tr>" >> /home/$1/public_html/index.html
echo "</table>" >> /home/$1/public_html/index.html
echo " </body>" >> /home/$1/public_html/index.html
echo "</html>" >> /home/$1/public_html/index.html
# 계정 발급 완료 메일 보내기
title="계정 발급 안내 입니다." # 메일 제목
echo " 계정 발급 및 세팅이 완료되었습니다." > /tmp/contents # 보낼 메일 내용
echo " ==================================" >> /tmp/contents # 보낼 메일 내용
echo " 계정 세팅이 완료 되었습니다. ($dateis $timeis)" >> /tmp/contents
echo " 아래는 신청하신 정보입니다." >> /tmp/contents
echo " 일치하지 않으면 메일 (chicpro@korea.com) 주세요." >> /tmp/contents
echo " " >> /tmp/contents
echo " ID : $1" >> /tmp/contents
echo " PASS : $2" >> /tmp/contents
echo " e-mail : $3" >> /tmp/contents
echo " " >> /tmp/contents
echo " WEB주소 : http://$1.websamo.net" >> /tmp/contents
echo " FTP주소 : ftp.websamo.net 포트 9585" >> /tmp/contents
echo " SSH주소 : ssh.websamo.net 포트 22" >> /tmp/contents
echo " " >> /tmp/contents
echo " 웹주소로 접속하면 안내페이지를 보실 수 있습니다." >> /tmp/contents
echo " " >> /tmp/contents
echo " 기타 궁금하신 점은 http://websamo.net 을 방문해주세요." >> /tmp/contents
cat /tmp/contents >> /tmp/data.txt
rm -f /tmp/contents
mail -s "$title" $3 < /tmp/data.txt
rm -f /tmp/data.txt
# 아파치 서버 재 구동
/etc/init.d/httpd restart
exit 0
else
echo " User $1 already exist!!"
exit 1
fi