&pgid;
 
 ** ÇØ·Ê [#vb25c3cb]
 - ¥¢¡¼¥¯¥¦¥§¥Ö¤Ç¤Ï¥×¥í¥¸¥§¥¯¥È¤´¤È¤Ëtrac¤äSVN¥ê¥Ý¥¸¥È¥ê¤òÊÌÅÓÀߤ±¤Æ±¿±Ä¤·¤Æ¤¤¤Þ¤¹¡£
 - ¤³¤ì¤Þ¤Ç¤Ï¡¢ËèÅÙ¥×¥í¥¸¥§¥¯¥È¤Î³«»Ï»þ¤Ë¡¢[[trac/¥¤¥ó¥¹¥È¡¼¥ë¡¢ÀßÃÖ¡¢¥×¥é¥°¥¤¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¢¤½¤Î¤Û¤«½é´üÀßÄê¤Þ¤Ç]]¤Ë¤¢¤²¤¿Âбþ¤ò¼êÆ°¤Ç¹Ô¤¦¡¢¤È¤¤¤¦Èó¾ï¤Ë¥¢¥Û¤Ê¤³¤È¤ò¤ä¤Ã¤Æ¤¤¤Þ¤·¤¿ &sad;
 - ²ñ¼Ò¤Î¥ï¡¼¥¯¥Õ¥í¡¼¤È¤·¤Æ¡¢Ëè²ó¹Ô¤¦¶È̳¤òtracÆâ¤Ëticket¤äwiki¤È¤·¤Æ¤¢¤é¤«¤¸¤á¥»¥Ã¥È¤·¤Æ¤ª¤­¡¢¤½¤ì¤ò¥Á¥§¥Ã¥¯¥ê¥¹¥È¤È¤·¤Æ»È¤ª¤¦¡¢¤È¤¤¤¦¤³¤È¤ò¤ä¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¿÷·Á¤Îtrac¤òÍÑ°Õ¤·¤Æ¤ª¤¤¤Æ¡¢¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤¬»Ï¤Þ¤Ã¤¿¤é¡¢¤½¤ì¤òÊ£À½¤·¤Æ¡¢trac¤òÀßÃ֤Ǥ­¤ë¤è¤¦¤Ë¤·¤¿¤¤¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
 - ¤½¤ì¤ò¼«Æ°²½¤¹¤ë¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤¿¤Î¤Ç¸ø³«¤·¤Þ¤¹
 
 
 ** »È¤¤Êý [#ie0a1a53]
 - ¼¡¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
 -- ¼Â¹Ô¥³¥Þ¥ó¥É¤Î³Îǧ
  setup_project [¥×¥í¥¸¥§¥¯¥È̾]
 -- ¼ÂºÝ¤Î¼Â¹Ô
  eval `setup_project [¥×¥í¥¸¥§¥¯¥È̾]`
  setup_project [¥×¥í¥¸¥§¥¯¥È̾] > ¤Ê¤Ë¤«Å¬Åö¤Ê¥Õ¥¡¥¤¥ë; sh ¤Ê¤Ë¤«Å¬Åö¤Ê¥Õ¥¡¥¤¥ë
 
 ** ¤ä¤Ã¤Æ¤¯¤ì¤ë¤³¤È [#z4574cd4]
 -- ¥×¥í¥¸¥§¥¯¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®
 -- SVN¥ì¥Ý¥¸¥È¥ê¤ÎºîÀ®
 -- ¿÷·Átrac¤ÎÊ£À½¤È¥»¥Ã¥È¥¢¥Ã¥×
 -- ºÆµ¯Æ°
 
 #blikimore
 
 '' COLOR(red):°Ê²¼°ìÉô¤â¤¦¸Å¤¯¤ÆÆ°¤«¤Ê¤¤¤È¤³¤í¤â¤¢¤ê¤Þ¤¹¤±¤ÉÂçÂΤ³¤ó¤Ê´¶¤¸¤Ã¤Æ¤³¤È¤Ç''
 
 ** ½é´ü²½ [#d83fae26]
  # ¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤è¤êÀßÄê
  # Îã: hogehoge
  PROJECT_NAME=$1
  
  # ¥×¥í¥¸¥§¥¯¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î·èÄê
  # Îã: /var/www/projects/h/hogehoge
  PROJECT_ROOT=/var/www/projects
  PROJECT_NAME_FIRST_CHAR=`perl -e "print substr(${PROJECT_NAME}, 0, 1)"`
  PROJECT_DIR=${PROJECT_ROOT}/${PROJECT_NAME_FIRST_CHAR}/${PROJECT_NAME}
  
  # ¥Ñ¥¹¥ï¡¼¥É¤ÎÀ¸À®
  # Îã) XXXXXX
  PASSWORD=`mkpasswd`
  
  # SVN¥Ç¥£¥ì¥¯¥È¥ê¤Î·èÄê
  # Îã: /svnroot/projects/hogehoge
  SVN_DIR=/svnroot/projects/${PROJECT_NAME}
  
  # trac¥Ç¥£¥ì¥¯¥È¥ê¤Î·èÄê 
  # Îã: /var/www/projects/h/hogehoge/trac
  TRAC_DIR=${PROJECT_DIR}/trac
  
  # trac¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾
  # Îã: hogehoge_trac
  TRAC_DB=${PROJECT_NAME}_trac
  
  # PostgreSQL¤ÎURI
  # Îã: postgres://hogehoge:XXXXXX@localhost/hogehoge_trac
  POSTGRES_URI=postgres://${PROJECT_NAME}:${PASSWORD}\@localhost/${TRAC_DB}
  
  # Project trac URL
  # Îã: http://hogehoge.ark-web.jp
  PROJECT_TRAC_URL=http://XXXXXXXXXXXXXX
  
  # ¿÷·Átrac¤Î¥Ñ¥¹
  SAMPLE_PROJECT_TRAC_DIR=${PROJECT_ROOT}/s/sample/trac
  
  # ¿÷·Átrac¤Îsvn¥Ñ¥¹
  SAMPLE_PROJECT_SVN_DIR=/svnroot/projects/sample
  
  # ¿÷·Átrac¤ÎDB¥Ñ¥¹¥ï¡¼¥É
  SAMPLE_PROJECT_TRAC_DB_PASSWORD=XXXXXX
  
  # ¥×¥í¥¸¥§¥¯¥ÈÍÑ¥¢¥«¥¦¥ó¥È¤ÎUID¤Î¼èÆÀ¡£5000ÈÖÂæ¤Î°ìÈÖÂ礭¤Ê¿ô + 1                                                            
  # Îã: 5023
  PROJECT_USER_ID=`cut -d ':' -f 3 /etc/passwd  | sort -n | grep -E '^5...' | tail -1`
  PROJECT_USER_ID=`expr $PROJECT_USER_ID + 1`
 
 ** ¥×¥í¥¸¥§¥¯¥È¥¢¥«¥¦¥ó¥È¤ÎºîÀ® [#kf2446a0]
  echo useradd -u ${PROJECT_USER_ID} -g staff -d ${SVN_DIR} ${PROJECT_NAME}
 
 ** ¥×¥í¥¸¥§¥¯¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ® [#hacf1e4b]
  echo mkdir -p ${PROJECT_DIR}/htdocs
  echo chown -R ${PROJECT_NAME}:staff ${PROJECT_DIR}
  echo chmod g+w -R ${PROJECT_DIR}
 
 ** SVN¥ì¥Ý¥¸¥È¥ê¤ÎºîÀ® [#i2d69458]
  echo svnadmin create --fs-type fsfs ${SVN_DIR}
  echo chown -R ${PROJECT_NAME}:staff ${SVN_DIR}
  echo chmod -R g+w ${SVN_DIR}
 
 ** PostgreSQL¤ÎÀßÄê [#a752b271]
  # CREATE USERʸ¤Ë¤¹¤ì¤Ð¥Ñ¥¹¥ï¡¼¥É¤òµá¤á¤é¤ì¤Ê¤¯¤Æ¤¹¤à¤ó¤À¤±¤É¤ä¤Ã¤Æ¤Ê¤¤
  echo sudo -u postgres createuser -S -D -R -P ${PROJECT_NAME}
  echo sudo -u postgres createdb --owner=${PROJECT_NAME} ${TRAC_DB}
 
 ** trac¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊ£À½ [#c4b5f34b]
  echo cp -a ${SAMPLE_PROJECT_TRAC_DIR} ${TRAC_DIR}
  echo chown -R ${PROJECT_NAME}:staff ${TRAC_DIR}
  echo chmod -R g+w ${TRAC_DIR}
  echo chmod ugo+w ${TRAC_DIR}/attachments
  echo chmod ugo+w ${TRAC_DIR}/log
  echo rm -rf ${TRAC_DIR}/plugins
  # ¥×¥é¥°¥¤¥ó¤Ï¿÷·Á¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ë¤·¤Æ¤ª¤¯
  echo ln -s ${SAMPLE_PROJECT_TRAC_DIR}/plugins ${TRAC_DIR}/plugins
 
 ** trac¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊ£À½ [#z98e4817]
  # PGPASSWORD´Ä¶­ÊÑ¿ô¤ò»È¤¨¤Ð¥Ñ¥¹¥ï¡¼¥É¤òµá¤á¤é¤ì¤Ê¤¤¤è¤¦¤Ë¤Ç¤­¤ë¤±¤É¤ä¤Ã¤Æ¤Ê¤¤
  # »²¹Í) ´Ä¶­ÊÑ¿ô
  # http://www.postgresql.jp/document/pg653doc/ej/programmer/libpq-envars.htm
  echo "pg_dump -O -U sample sample_trac > /tmp/.setup_project_sample_trac.sql"
  echo "psql -U ${PROJECT_NAME} ${TRAC_DB} < /tmp/.setup_project_sample_trac.sql"
  echo "rm -f /tmp/.setup_project_sample_trac.sql"
 
 
 ** ¥»¥Ã¥È¥¢¥Ã¥× [#w5e8a0bf]
  # trac.ini¤ÎÊѹ¹
  echo perl -pi -e \'s!^name = sample!name = ${PROJECT_NAME}!\' ${TRAC_DIR}/conf/trac.ini
  echo perl -pi -e \'s!^database = postgres://sample:${SAMPLE_PROJECT_TRAC_DB_PASSWORD}\@localhost/sample_trac!database = ${POSTGRES_URI}!\' ${TRAC_DIR}/conf/trac.ini
  echo perl -pi -e \'s!^repository_dir = ${SAMPLE_PROJECT_SVN_DIR}!repository_dir = ${SVN_DIR}!\' ${TRAC_DIR}/conf/trac.ini
  echo perl -pi -e \'s!^url = http://example.org!url = ${PROJECT_TRAC_URL}!\' ${TRAC_DIR}/conf/trac.ini
  echo perl -pi -e \'s!^link = http://example.org/!link = ${PROJECT_TRAC_URL}!\' ${TRAC_DIR}/conf/trac.ini
 
 ** ¥¨¥ó¥È¥ê¡¼¥Ý¥¤¥ó¥ÈÍѤÎfcgi¤ÎÀßÄê [#sf1104c5]
  echo cp /usr/share/trac/cgi-bin/trac.fcgi ${PROJECT_DIR}/htdocs/trac
  cat <<EOB                                                                                                                    
  cat <<EOF | patch -d ${PROJECT_DIR}/htdocs/                                                                                  
  *** trac.orig   2008-03-05 11:57:50.000000000 +0900
  --- trac      2008-03-05 11:56:57.000000000 +0900
  ***************
  *** 15,20 ****
  --- 15,23 ----
    #                                                                                                                          
    # Author: Jonas BorgstrC6m <jonas@edgewall.com>                                                                            
  
  + import os
  + os.environ['TRAC_ENV'] = "${TRAC_DIR}"
  +
    try:
        from trac.web import fcgi_frontend
        fcgi_frontend.run()
  EOF                                                                                                                          
  EOB                                                                                                                          
  
  cat <<EOB                                                                                                                    
  cat > ${PROJECT_DIR}/htdocs/.htaccess <<EOF                                                                                  
  <Files trac>
   SetHandler fcgid-script
  </Files>
  EOF                                                                                                                          
  EOB
 
 ** ºÆµ¯Æ° [#lc30a97f]
  echo "/etc/init.d/httpd restart"
 
 #blikifooter(»ÖÅÄ)
 
 tag: [[trac>tag/trac]], [[¥Í¥Ã¥È¥ï¡¼¥¯>tag/¥Í¥Ã¥È¥ï¡¼¥¯]]

¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¥¢¡¼¥¯¥¦¥§¥Ö¤Î¥µ¡¼¥Ó¥¹¤ä¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤Á¤é