2008.07.01 01:30
ftp 계정, DB 계정, 가상호스트 추가 스크립트
apache, mysql 등의 버전차이에 따라 정상적으로 동작하지 않을 수도 있음.. ^^
=======================================================================================================
#!/bin/sh
sleep 1
# 사용자 계정 추가
echo "ftp 계정을 추가하시겠습니까?(y/n)"
read answer1
while [[ "$answer1" != "y" && "$answer1" != "n" && "$answer1" != "Y" && "$answer1" != "N" ]]
do
echo "잘못 입력하셨습니다. y 나 n 으로 입력해 주세요."
read answer1
done
if [ "$answer1" = y -o "$answer1" = Y ]
then
echo "추가할 계정이름을 입력해 주세요."
read username
echo " "
echo "$username 에서 사용할 패스워드를 입력해 주세요."
if /usr/sbin/useradd $username; then
/usr/bin/passwd $username
chmod 701 /home/$username
echo "$username 계정이 생성되었습니다."
else
echo " "
echo "계정 생성에 실패 하였습니다. ERROR 라인을 확인 하시고 다시 시도하세요."
echo " "
fi
else [ "$answer1" = n -o "$answer1" = N ]
echo "ftp 계정을 생성하지 않습니다."
fi
sleep 1
echo " "
# Database 추가
echo "DB 계정을 추가 하시겠습니까?(y/n)"
read answer2
while [[ "$answer2" != "y" && "$answer2" != "n" && "$answer2" != "Y" && "$answer2" != "N" ]]
do
echo "잘못 입력하셨습니다. y 나 n 으로 입력해 주세요."
read answer2
done
if [ "$answer2" = y -o "$answer2" = Y ]
then
if netstat -nat | grep LISTEN | grep 3306 1>/dev/null
then
echo "추가할 DB명을 입력하고 엔터를 치세요."
read db
echo " "
echo "사용할 DB user명을 입력하고 엔터를 치세요."
read db_user
echo " "
echo "$db_user가 사용할 패스워드를 입력하고 엔터를 치세요."
read passwd
echo " "
echo "create database $db;" >> query
echo "use mysql;" >> query
echo "insert into user (host,user,password) values('localhost','$db_user',password('$passwd'));" >> query
echo "insert into db values('localhost','$db','$db_user','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');" >> query
echo "flush privileges" >> query
echo "mysql root계정의 패스워드를 입력 하세요."
echo "mysql root계정의 패스워드가 설정되어 있지 않다면, 그냥 엔터를 치세요."
if /usr/local/mysql/bin/mysql -u root -p < query; then
echo " "
echo "mysql db 및 계정이 추가 완료되었습니다. 아래와 같이 접속을 하세요."
echo " "
echo "/usr/local/mysql/bin/mysql -u $db_user -p $db"
echo " "
else
echo " "
echo "DB 생성에 실패 하였습니다. ERROR 라인을 확인 하시고 다시 시도하세요."
echo " "
fi
rm -rf query
else
echo "mysql 데몬이 실행되어 있지 않습니다."
echo "mysql 데몬을 실행합니다."
echo " "
/usr/local/mysql/share/mysql/mysql.server start
echo " "
echo "추가할 DB명을 입력하고 엔터를 치세요."
read db
echo " "
echo "사용할 DB user명을 입력하고 엔터를 치세요"
read db_user
echo " "
echo "$db_user가 사용할 패스워드를 입력하고 엔터를 치세요."
read passwd
echo " "
echo "create database $db;" >> query
echo "use mysql;" >> query
echo "insert into user (host,user,password) values('localhost','$db_user',password('$passwd'));" >> query
echo "insert into db values('localhost','$db','$db_user','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');" >> query
echo "flush privileges" >> query
echo "mysql root계정의 패스워드를 입력 하세요."
echo "mysql root계정의 패스워드가 설정되어 있지 않다면, 그냥 엔터를 치세요."
if /usr/local/mysql/bin/mysql -u root -p < query; then
echo " "
echo "mysql db 및 계정이 추가 완료되었습니다. 아래와 같이 접속을 하세요."
echo " "
echo "/usr/local/mysql/bin/mysql -u $db_user -p $db"
echo " "
else
echo " "
echo "DB 생성에 실패 하였습니다. ERROR 라인을 확인 하시고 다시 시도하세요."
echo " "
fi
rm -rf query
fi
else [ "$answer2" = n -o "$answer2" = N ]
echo "DB 계정을 생성하지 않습니다."
fi
sleep 1
echo " "
# 가상호스트 추가
echo "가상호스트 추가를 하시겠습니까?(y/n)"
read answer3
while [[ "$answer3" != "y" && "$answer3" != "n" && "$answer3" != "Y" && "$answer3" != "N" ]]
do
echo "잘못 입력하셨습니다. y 나 n 으로 입력해 주세요."
read answer3
done
if [ "$answer3" = y -o "$answer3" = Y ]
then
today=$(date +%y-%m-%d)
ip=$(ifconfig | grep Bcast | awk '{print $2}'|cut -d: -f2)
echo "추가할 도메인을 입력 하세요. ex) hostway.co.kr"
read domain
echo "DocumentRoot 디렉토리를 입력하세요. ex) /home/hostway/public_html"
read Documentroot
echo "관리자 e-mail 주소를 입력하세요. ex) admin@hostway.co.kr"
read "email"
if cat /usr/local/apache2/conf/httpd.conf | grep vhost | grep "#" 1>/dev/null
then
perl -pi -e 's/#Include conf/extra/httpd-vhosts.conf/Include conf/extra/httpd-vhosts.conf/g' /usr/local/apache2/conf/httpd.conf
mv /usr/local/apache2/conf/extra/httpd-vhosts.conf /usr/local/apache2/conf/extra/httpd-vhosts.conf-$today
echo "NameVirtualHost $ip" > /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " " >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo "<VirtualHost $ip>" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ServerAdmin $email" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " DocumentRoot $Documentroot" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ServerName $domain" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ServerAlias www.$domain" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ErrorLog logs/$domain-error_log" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " CustomLog logs/$domain-access_log common" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo "</VirtualHost>" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
sleep 1
echo "가상호스트 추가 작업이 완료되었습니다."
echo "ftp 접속을 하셔서 $Documentroot 디렉토리에 홈페이지 자료를 업로드 하시기 바랍니다."
/usr/local/apache2/bin/apachectl restart
else
cp /usr/local/apache2/conf/extra/httpd-vhosts.conf /usr/local/apache2/conf/extra/httpd-vhosts.conf-$today
echo " " >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo "<VirtualHost $ip>" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ServerAdmin $email" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " DocumentRoot $Documentroot" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ServerName $domain" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ServerAlias www.$domain" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " ErrorLog logs/$domain-error_log" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo " CustomLog logs/$domain-access_log common" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
echo "</VirtualHost>" >> /usr/local/apache2/conf/extra/httpd-vhosts.conf
sleep 1
echo "가상호스트 추가 작업이 완료되었습니다."
echo "ftp 접속을 하셔서 $Documentroot 디렉토리에 홈페이지 자료를 업로드 하시기 바랍니다."
/usr/local/apache2/bin/apachectl restart
fi
else [ "$answer3" = n -o "$answer3" = N ]
echo "가상호스트를 추가하지 않습니다."
fi
=======================================================================================================
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
83 | 웹접속 속도가 느려 졌을때 점검 해보기 | sylee | 2008.05.20 | 61951 |
82 | mod_rewrite 모듈 설치 및 기본 사용법 | sylee | 2009.07.02 | 39546 |
81 | ModSecurity 설치 해보기 | sylee | 2008.09.11 | 38946 |
80 | register_globals 옵션에 따른 변수 전달 | jook | 2009.02.19 | 35793 |
79 | apache + resin 연동하여 설치하기 | 호스트웨이 | 2008.05.19 | 34033 |
78 | 웹브라우저에서 디렉토리 리스트가 보일때 | hostway | 2008.05.14 | 32180 |
77 | 아파치 에러 코드 | sylee | 2008.05.15 | 32017 |
76 | 홈페이지 포워딩 하기 | jook | 2008.05.21 | 31772 |
75 | ab 사용방법 | sylee | 2008.05.15 | 29908 |
74 | 보안 서버 구축 - TOMCAT | 호스트웨이 | 2008.07.08 | 28546 |
73 | php.ini 옵션 중 short_open_tag | jook | 2009.02.12 | 28370 |
» | 웹 계정 추가 스크립트 | jook | 2008.07.01 | 28237 |
71 | Apache event MPM, Prefork MPM, Worker MPM 방식의 차이점 및 설치 시 설정 방법 | 호스트웨이 | 2014.07.20 | 28152 |
70 | 보안을 위한 php.ini 설정 | HOSTWAY | 2008.07.31 | 27389 |
69 | 아파치 가상 호스트 설정 해보기 | sylee | 2008.05.20 | 26821 |
68 | 아파치와 tomcat 연동 | 호스트웨이 | 2008.07.01 | 26730 |
67 | apache 가상호스트(virtualhost) 사용하기 | 호스트웨이 | 2013.06.03 | 26709 |
66 | PHP에서 MS-SQL 서버를 연동하기 위한 방법 | 호스트웨이 | 2012.04.13 | 26464 |
65 | 아파치2 에서 mod_cband 사용법 | sylee | 2009.06.05 | 25610 |
64 | 업로드 디렉토리의 .php파일을 text처럼 인식하기 | sylee | 2008.05.15 | 25163 |