Index: TipAndDoc/tools/tool/buildrepos.sh
===================================================================
--- TipAndDoc/tools/tool/buildrepos.sh	(revision e135cc7fa07a7d689de6eb806ce5ee67ad77c5f9)
+++ TipAndDoc/tools/tool/buildrepos.sh	(revision e135cc7fa07a7d689de6eb806ce5ee67ad77c5f9)
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -x
+export LANG=C
+
+PROJECT_NAME="${1:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> [-noinit] "}"
+SUB_ROOTDIR="${2:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> [-noinit] "}"
+
+# stop script if "$1" exists
+isexist () {
+    if [ -e "$1" ] ; then
+        echo "$1" already exists
+        exit
+    fi
+}
+
+# set global environments
+NEWREPOS="/var/svn/${SUB_ROOTDIR}/${PROJECT_NAME}"
+REPOSBACKUP="/var/backups/svn/${SUB_ROOTDIR}/${PROJECT_NAME}"
+
+HOOKSKEL="/home/tools/svn/hooks"
+
+# check paths to be created
+isexist ${NEWREPOS}
+isexist ${REPOSBACKUP}
+
+# make repos
+mkdir -p ${NEWREPOS}
+svnadmin create --fs-type fsfs ${NEWREPOS}
+for HOOK in `ls ${HOOKSKEL}`; do
+  ln -s ${HOOKSKEL}/${HOOK} ${NEWREPOS}/hooks
+done
+mkdir -p ${NEWREPOS}/dav
+chgrp -R www-data ${NEWREPOS}
+chmod -R o-rw ${NEWREPOS}
+chmod -R g+ws ${NEWREPOS}/db
+chmod -R g+ws ${NEWREPOS}/dav
+
+# make repos backup
+mkdir -p ${REPOSBACKUP}/incremental
+chgrp -R www-data ${REPOSBACKUP}
+chmod -R g+ws ${REPOSBACKUP}
+
+if [ "$3" != "-noinit" ]; then
+    # initial commit
+    svn mkdir -m "REPOS init." file://${NEWREPOS}/trunk file://${NEWREPOS}/tags file://${NEWREPOS}/branches file://${NEWREPOS}/vendor
+fi
+
+
+echo "done"
+echo "${NEWREPOS} ${REPOSBACKUP} are created"
Index: TipAndDoc/tools/tool/buildtrac.sh
===================================================================
--- TipAndDoc/tools/tool/buildtrac.sh	(revision e135cc7fa07a7d689de6eb806ce5ee67ad77c5f9)
+++ TipAndDoc/tools/tool/buildtrac.sh	(revision e135cc7fa07a7d689de6eb806ce5ee67ad77c5f9)
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+set -x
+export LANG=C
+
+PROJECT_NAME="${1:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> <SUBDOMAIN> "}"
+SUB_ROOTDIR="${2:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> <SUBDOMAIN> "}"
+SUBDOMAIN="${3:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> <SUBDOMAIN> "}"
+
+# stop script if "$1" exists
+isexist () {
+    if [ -e "$1" ] ; then
+        echo "$1" already exists
+        exit
+    fi
+}
+
+# set global environments
+NEWTRAC="/var/trac/${SUB_ROOTDIR}/${PROJECT_NAME}"
+TRACBACKUP="/var/backups/trac/${SUB_ROOTDIR}/${PROJECT_NAME}"
+TRACINI="/home/tools/tool/trac.ini.build"
+SVNPATH="/var/svn/${SUB_ROOTDIR}/${PROJECT_NAME}"
+
+# check paths to be created
+isexist ${NEWTRAC}
+isexist ${TRACBACKUP}
+
+# make trac
+mkdir -p ${NEWREPOS}
+trac-admin ${NEWTRAC} initenv ${PROJECT_NAME} sqlite:db/trac.db svn ${SVNPATH}
+trac-admin ${NEWTRAC} permission add mitty TRAC_ADMIN
+chgrp -R www-data ${NEWTRAC}
+chmod -R o-rw ${NEWTRAC}
+chmod -R g-w ${NEWTRAC}
+chmod -R g+w ${NEWTRAC}/attachments
+chmod -R g+w ${NEWTRAC}/db
+chmod -R g+w ${NEWTRAC}/log
+
+# make trac backup
+mkdir -p ${TRACBACKUP}
+chgrp -R www-data ${TRACBACKUP}
+chmod -R g+ws ${TRACBACKUP}
+
+# modify trac.ini
+mv ${NEWTRAC}/conf/trac.ini ${NEWTRAC}/conf/trac.ini.original
+cp ${TRACINI} ${NEWTRAC}/conf/trac.ini
+sed -i s#PROJECT_NAME#${PROJECT_NAME}#g ${NEWTRAC}/conf/trac.ini
+sed -i s#SUBDOMAIN#${SUBDOMAIN}#g ${NEWTRAC}/conf/trac.ini
+sed -i s#SUB_ROOTDIR#${SUB_ROOTDIR}#g ${NEWTRAC}/conf/trac.ini
+sed -i s#SVNPATH#${SVNPATH}#g ${NEWTRAC}/conf/trac.ini
+chgrp -R www-data ${NEWTRAC}/conf/trac.ini
+chmod -R g+w ${NEWTRAC}/conf/trac.ini
+chmod    g+w ${NEWTRAC}/conf
+
+
+echo "done"
+echo "${NEWTRAC} ${TRACBACKUP} are created"
Index: TipAndDoc/tools/tool/trac.ini.build
===================================================================
--- TipAndDoc/tools/tool/trac.ini.build	(revision e135cc7fa07a7d689de6eb806ce5ee67ad77c5f9)
+++ TipAndDoc/tools/tool/trac.ini.build	(revision e135cc7fa07a7d689de6eb806ce5ee67ad77c5f9)
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+[header_logo]
+link = https://SUBDOMAIN.mitty.jp/trac/
+
+[inherit]
+file = /home/tools/trac/conf/trac.ini
+
+[project]
+descr = PROJECT_NAME
+name = PROJECT_NAME
+url = https://SUBDOMAIN.mitty.jp/trac/PROJECT_NAME/
+
+[trac]
+authz_file = /home/tools/passwd/svn-authz.SUB_ROOTDIR
+authz_module_name = PROJECT_NAME
+repository_dir = SVNPATH
