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
=======================================================================================================
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
23 | php.ini 옵션 중 short_open_tag | jook | 2009.02.12 | 28548 |
22 | Debian에서 apm 설치할때의 패키지 목록 | jook | 2008.12.27 | 21356 |
21 | Debian 에서 mod_rewrite 활성화 하기 | jook | 2008.12.12 | 20970 |
20 | ModSecurity 설치 해보기 | sylee | 2008.09.11 | 39098 |
19 | 보안을 위한 php.ini 설정 | HOSTWAY | 2008.07.31 | 27533 |
18 | 보안 서버 구축 - TOMCAT | 호스트웨이 | 2008.07.08 | 30328 |
17 | 아파치와 tomcat 연동 | 호스트웨이 | 2008.07.01 | 26879 |
» | 웹 계정 추가 스크립트 | jook | 2008.07.01 | 28470 |
15 | 홈페이지 포워딩 하기 | jook | 2008.05.21 | 31885 |
14 | 웹접속 속도가 느려 졌을때 점검 해보기 | sylee | 2008.05.20 | 62231 |
13 | 아파치 가상 호스트 설정 해보기 | sylee | 2008.05.20 | 26955 |
12 | APM 설치 | 호스트웨이 | 2008.05.19 | 24950 |
11 | apache + resin 연동하여 설치하기 | 호스트웨이 | 2008.05.19 | 34267 |
10 | http://도메인/~계정으로 접근하기 | sylee | 2008.05.15 | 24243 |
9 | 업로드 디렉토리의 .php파일을 text처럼 인식하기 | sylee | 2008.05.15 | 25296 |
8 | 아파치 에러 코드 | sylee | 2008.05.15 | 32295 |
7 | ab 사용방법 | sylee | 2008.05.15 | 30038 |
6 | apache2.x - 보안서버 구축하기 | sylee | 2008.05.15 | 24231 |
5 | apache1.3 + mod_ssl - 보안서버 구축하기 | sylee | 2008.05.15 | 21325 |
4 | 아파치 환경설정 파일분석 1번째 | sylee | 2008.05.14 | 22628 |