웹마스터 팁

개인 서버를 운영하면서 계정 등록을 편하게 하기 위해 만들었습니다.
인터넷 이곳 저곳 뒤지면서 얻은 자료들을 짜깁기 해서 만들었네요.

#File Name : adduser
#!/bin/bash
# Usage : ./adduser id password e-mail
# 2002/11/3 최초 작성
# 2002/11/4 제로보드 설치지원 추가,
#                메일보내기 지원, 안내페이지 변경, 사용자 체크

# 날짜와 시간 얻기
dateis=$(date -I)
timeis=$(date | awk '{print $4}')

# 사용자 계정 생성 ( 사용자 체크 )
# public_html 은 /etc/skel/ 에 위치해서 계정생성시 자동으로 생성
# public_html 퍼미션은 /etc/skel 생성 후 퍼미션 지정 해주면 지정해준 퍼미션으로 생성됨
# user 추가시 해당 유저 디렉토리 퍼미션은 /etc/login.defs 에 UMASK    076 을 추가해 퍼미션이701 로 생성  된다.

        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/
                 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 디렉토리 생성 (webalizer 실행 결과 출력 디렉토리)
         mkdir /home/$1/public_html/weblogs

# Mysql 에 새로운 DB 를 추가합니다.
        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비밀번호 mysql < /tmp/mysql_dbusersetup_temp
        rm -f /tmp/mysql_dbusersetup_temp
        /usr/bin/mysqladmin -u root -p비밀번호 reload

# quota 설정
#         edquota -u $1

# 아파치 가상호스트 추가 (httpd.conf 마지막에 include conf/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 300M 1d" >> /etc/httpd/conf/vhost.conf
         echo "    ErrorLog /var/weblog/$1-error_log" >> /etc/httpd/conf/vhost.conf
         echo "    CustomLog /var/weblog/$1-access_log common env=!not_log" >> /etc/httpd/conf/vhost.conf
         echo "</VirtualHost>" >> /etc/httpd/conf/vhost.conf

# 사용자별 Webalizer 설정
        echo "LogFile        /var/weblog/$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/webalizer.cron

# 안내페이지( index.html) 생성
# /etc/skel/public_html 에 index.html 과 gif 파일 위치
# index.html 파일에 아래 안내페이지 내용 전의 tag 는 이미 포함되어 있음
# 아래 내용은 그 다음부터 추가되는 것임

        echo "                 <td><p><b>웹사모의 가족이 되신 것을 진심으로 축하드립니다!!<br>" >> /home/$1/public_html/index.html
        echo "                          현재($dateis $timeis) $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 / SSH : ssh.websamo.net <br>" >> /home/$1/public_html/index.html
        if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then
        echo "                          제로보드 설치지원 : <a href=http://$1.websamo.net/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) 주세요.</b>" >> /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 " >> /tmp/contents
        echo " SSH주소 : ssh.websamo.net " >> /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
제목 글쓴이 날짜
스크롤바색상바꿔주는프로그램(수정) [3] 이슈™ 2002.03.13
▩마우스 주위에 3D 처럼 뱅뱅도는 글자 [6] ▩윤미 2002.03.11
테두리가 스믈스믈한 -_-;; file 란즈 2002.03.02
빠르게 이동하는 텍스트 file 란즈 2002.03.02
깜박거리는 문자 [1] file 란즈 2002.03.02
강한 인상을주는 (?) 환영메세지 -_-; [5] file 란즈 2002.03.02
텍스트 지진(?)효과 내기 file 란즈 2002.03.02
페이지 사용안하고 팝업띄우기 [4] file 란즈 2002.03.02
▩물결 처럼 흐르는 것같은 이미지 슬라이드 쇼 [2] ▩윤미 2002.02.28
▩마우스를 대면 하이퍼텍스트 스크롤하는 법 (링크할수있음) ▩윤미 2002.02.28
▩시작 정지가 가능한 테이블 스크롤 메시지 ▩윤미 2002.02.27
▩휠마우스처럼 사용하기.. [6] ▩윤미 2002.02.26
▩두문장을 blur효과주며 보여주기 [3] ▩윤미 2002.02.26
▩자바스크립, 계산기 소스 (기본) [2] ▩윤미 2002.02.26
▩문서선택 &소스선택을 위한 셀렉트 스크립트 ▩윤미 2002.02.26
▩그림 슬라이드 되고, 마우스 대면 그림 멈추는 스크립트 [1] ▩윤미 2002.02.26
▩찾기 기능을 내 홈페이지에 넣어보자 [1] ▩윤미 2002.02.26
▩셀블렌딩( 테이블 색 서서히 변화주기효과) ▩윤미 2002.02.26
▩화면에 무자기로 뜨게하는 물방울 (다른 모양가능) ▩윤미 2002.02.26
▩키보드글씨가 그대로 화면에 나타나는 스크립트 [5] ▩윤미 2002.02.26