#!/bin/sh # # tdiary-FreeBSD.sh - tDiary user directory copy script # # $FreeBSD$ # # usage: # % /usr/local/share/examples/tdiary/tdiary-FreeBSD.sh install # or # # /usr/local/share/examples/tdiary/tdiary-FreeBSD.sh USERid # USERNAME=$1 DIARYDIR=diary PUBLICHTML=public_html PREFIX=@@@@PREFIX@@@@ TDCONFIG=@@@@LANG@@@@ EXAMPLES=${PREFIX}/share/examples HOMEOWN=`grep ^$1: /etc/passwd | cut -f3 -d':'` HOMEGRP=`grep ^$1: /etc/passwd | cut -f4 -d':'` AUTHORN=`grep ^$1: /etc/passwd | cut -f5 -d':'` HOMEDIR=`grep ^$1: /etc/passwd | cut -f6 -d':'` HOSTSMTP=`hostname` cd ${EXAMPLES} if [ -z "$1" ]; then echo "Usage: `basename $0` {username} or install" exit 1 else if [ -z "${HOMEOWN}" ] ; then if [ "$1" = "install" ] ; then if [ $(id -u) -eq 0 ]; then echo "root can not use 'install' parameter." exit 1 fi else echo "User unknown or no exist User Directory -> " $1 "-" ${HOMEDIR} echo "Usage: `basename $0` {username} or install" exit 1 fi fi fi echo "************************************************************" echo "" case "$1" in root) echo "You can not copy ROOT Directory" exit 1 ;; install) HOMEOWN=`grep ^$USER: /etc/passwd | cut -f3 -d':'` HOMEGRP=`grep ^$USER: /etc/passwd | cut -f4 -d':'` HOMEDIR=`grep ^$USER: /etc/passwd | cut -f6 -d':'` # HOMEOWN=$USER # HOMEGRP=$GROUP # HOMEDIR=$HOME echo "HOME Directory : " ${HOMEDIR} USERNAME=$USER ;; *) echo "HOME Directory : " ${HOMEDIR} echo "USERNAME : " ${USERNAME} USERNAME=$USER ;; esac if [ -x ${HOMEDIR} ]; then if [ -z "$1" ]; then echo "Usage: `basename $0` {username} or install" exit 1 else echo "" echo "************************************************************" echo "Starting tDiary for FreeBSD user directory installation ..." echo "" if [ ! -e ${HOMEDIR}/${DIARYDIR} ]; then echo "Create ..." ${HOMEDIR}/${DIARYDIR} mkdir ${HOMEDIR}/${DIARYDIR} echo "Done" fi chmod o+rwx ${HOMEDIR}/${DIARYDIR} chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${DIARYDIR} if [ ! -e ${HOMEDIR}/${PUBLICHTML} ]; then echo "Create ..." ${HOMEDIR}/${USERNAME}/${PUBLICHTML} mkdir ${HOMEDIR}/${PUBLICHTML} chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML} echo "Done" fi echo "Copy tDiary ..." ${EXAMPLES}/tdiary/ echo " to " ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/ cp -pR ${EXAMPLES}/tdiary/ ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/ chown -R ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/ chmod o+rwx ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR} echo "Done" sed -e 's#'/home/foo/diary'#'${HOMEDIR}'/'${DIARYDIR}'#g' \ -e 's#smtp.example.net#'${HOSTSMTP}'#g' \ -e "s#foo@example.net#"${USERNAME}"@"${HOSTSMTP}"#g" \ -e "s#Your name#${AUTHORN}#g" \ -e "s#hogehoge diary#${AUTHORN} Diary#g" \ -e "s#http://www.example.net/~foo/#http://"${HOSTSMTP}"/~"${USERNAME}"#g" \ < ${EXAMPLES}/tdiary/tdiary.conf.sample > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-ja chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-ja if [ -e ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/.htaccess ]; then sed -e 's#foo#'${USERNAME}'#g' < ${EXAMPLES}/tdiary/dot.htaccess > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/dot.htaccess.orig chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/dot.htaccess.orig else sed -e 's#foo#'${USERNAME}'#g' < ${EXAMPLES}/tdiary/dot.htaccess > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/.htaccess chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/.htaccess fi sed -e 's#'/home/foo/diary'#'${HOMEDIR}'/'${DIARYDIR}'#g' \ -e 's#smtp.example.net#'${HOSTSMTP}'#g' \ -e "s#foo@example.net#"${USERNAME}"@"${HOSTSMTP}"#g" \ -e "s#Your name#${AUTHORN}#g" \ -e "s#foobar diary#${AUTHORN} Diary#g" \ -e "s#Foo\'s diary#${AUTHORN}\'s Diary#g" \ -e "s#http://www.example.net/~foo/#http://"${HOSTSMTP}"/~"${USERNAME}"#g" \ < ${EXAMPLES}/tdiary/misc/i18n/tdiary.conf.sample-en > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-en chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-en rm -f ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary-FreeBSD.sh if [ -e ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf ]; then echo "" else echo "Install ${TDCONFIG} ... Done" mv ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/${TDCONFIG} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf fi fi else echo "" echo "User unknown or no exist User Directory -> " $1 "-" ${HOMEDIR} echo "Usage: `basename $0` {username} or install" exit 1 fi echo "" echo "" echo "***" echo "You have to execute the following commands:" echo " % /usr/local/sbin/htpasswd -c" ${HOMEDIR}/.htpasswd ${USERNAME} echo "" echo "Be sure to read the ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/README" echo " file for additional information." echo "************************************************************" echo "" exit 0