人気記事

広告

記事検索

MOVION.netについて

WEB技術に関することや、気になるWEBサイトなどについて個人的なメモを残すためのブログです。

その他運営サイト

かかわっているサイト

2008年10月31日(金)

SubvrersionリポジトリとTracプロジェクト作成スクリプト(適当)

UbuntuにSubversionとtracのインストール
の続きです。

手動実行をただ単に書きならべただけですが、シェルスクリプトにしてみました。
もっとちゃんと工夫すれば、まともに使えるモノになるかも。

vi /usr/local/bin/make-svn-project.sh

  1. #!/bin/sh
  2.  
  3. #parameter settings
  4. REPO_NAME=$1
  5. ADMIN_USER=akira
  6. SVN_FILE_OWNER=akira
  7. SVN_FILE_GROUP=akira
  8. SVN_PATH=/var/svn
  9. TRAC_PATH=/var/www/trac
  10. #TRAC_TEMPLATES=/usr/share/trac/templates
  11. TRAC_TEMPLATES=/usr/share/trac-ja-resource/templates
  12. SVN_PASSWORD=/var/svn/passwd
  13.  
  14. #create svn repository
  15. /usr/bin/svnadmin create $SVN_PATH/$REPO_NAME
  16. chown -R $SVN_FILE_OWNER:$SVN_FILE_GROUP $SVN_PATH/$REPO_NAME
  17.  
  18. /usr/bin/svn mkdir file://$SVN_PATH/$REPO_NAME/trunk -m "make trunk dir"
  19. /usr/bin/svn mkdir file://$SVN_PATH/$REPO_NAME/branches -m "make branches dir"
  20. /usr/bin/svn mkdir file://$SVN_PATH/$REPO_NAME/tags -m "make tags dir"
  21.  
  22. #copy svn password file
  23. cp $SVN_PASSWORD $SVN_PATH/$REPO_NAME/conf/
  24.  
  25. #create trac
  26. /usr/bin/trac-admin $TRAC_PATH/$REPO_NAME initenv $REPO_NAME sqlite:db/trac.db svn $SVN_PATH/$REPO_NAME $TRAC_TEMPLATES
  27. chown -R www-data:www-data $TRAC_PATH/$REPO_NAME
  28.  
  29. #revoke on anoymous
  30. /usr/bin/trac-admin $TRAC_PATH/$REPO_NAME permission remove anonymous  REPORT_DELETE WIKI_CREATE WIKI_MODIFY REPORT_SQL_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY
  31.  
  32. #grant on admin user
  33. /usr/bin/trac-admin $TRAC_PATH/$REPO_NAME permission add $ADMIN_USER BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN MILESTONE_CREATE MILESTONE_DELETE MILESTONE_MODIFY MILESTONE_VIEW REPORT_ADMIN REPORT_CREATE REPORT_DELETE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW ROADMAP_ADMIN ROADMAP_VIEW SEARCH_VIEW TICKET_ADMIN TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN WIKI_CREATE WIKI_DELETE WIKI_MODIFY WIKI_VIEW
  34.  
  35. #restart apache
  36. /etc/init.d/apache2 restart

chmod 700 /usr/local/bin/make-svn-project.sh

でもって、削除スクリプトは以下。ディレクトリごと削除してるだけです。むしろこれは実行権限与えてない方がよいかも・・・。

vi /usr/local/bin/remove-svn-project.sh

  1. #!/bin/sh
  2.  
  3. #parameter settings
  4. REPO_NAME=$1
  5. ADMIN_USER=akira
  6. SVN_FILE_OWNER=akira
  7. SVN_FILE_GROUP=akira
  8. SVN_PATH=/var/svn
  9. TRAC_PATH=/var/www/trac
  10. #TRAC_TEMPLATES=/usr/share/trac/templates
  11. TRAC_TEMPLATES=/usr/share/trac-ja-resource/templates
  12.  
  13. #remove svn repository
  14. rm -rf $SVN_PATH/$REPO_NAME
  15.  
  16. #remove trac
  17. rm -rf $TRAC_PATH/$REPO_NAME
  18.  
  19. #restart apache
  20. /etc/init.d/apache2 restart

あ、使い方は、
make-svn-project.sh プロジェクト名(兼リポジトリ名)
です。

2008年07月5日(土)

UbuntuにSubversionとtracのインストール

結構何回か同じことしてるけど、ネットなしでは設定できません・・・。

■参考サイト
Debian GNU/Linux etch に Trac をインストールしてみたよ

Subversion (via mod_dav_svn) + Trac (on mod_python) でオープンソース開発環境の構築 on FC6CommentsAdd Star

■各種インストール(パッケージ)

  1. sudo -s
  2. apt-get install subversion
  3. apt-get install subversion-tools
  4.  
  5. apt-get install trac
  6. apt-get install trac-ja-resource
  7.  
  8. apt-get install libapache2-mod-python
  9.  
  10. a2enmod mod_python
  11. a2enmod rewrite

(※mod_python等を無効にしたい場合のコマンドは、a2dismod)

■テスト用リポジトリ作成

  1. mkdir /var/svn/
  2. svnadmin create /var/svn/testrepos

■テスト用リポジトリに対応したtracを作成

  1. mkdir /var/www/trac/
  2. trac-admin /var/www/trac/testrepos initenv

「Path to repository」では上記で作成したsvnのリポジトリパスを指定。
最後に、「Congratulations!」とでればOK

あと、Apacheの実行ユーザになるようにオーナーを変更

  1. chown -R www-data:www-data /var/www/trac

■tracのユーザ管理

○anoymous権限の変更(というか剥奪)

  1. trac-admin /var/www/trac/testrepos permission remove anonymous  REPORT_DELETE WIKI_CREATE WIKI_MODIFY REPORT_SQL_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY

※権限確認
trac-admin /var/www/trac/testrepos permission list anonymous

○全権限を持つユーザの追加

  1. trac-admin /var/www/trac/testrepos permission add akira BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN MILESTONE_CREATE MILESTONE_DELETE MILESTONE_MODIFY MILESTONE_VIEW REPORT_ADMIN REPORT_CREATE REPORT_DELETE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW ROADMAP_ADMIN ROADMAP_VIEW SEARCH_VIEW TICKET_ADMIN TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN WIKI_CREATE WIKI_DELETE WIKI_MODIFY WIKI_VIEW

○パスワードファイルの作成

  1. mkdir /var/trac
  2. htpasswd -c /var/trac/.htpasswd akira

■Apacheとtracの設定

まずは、apacheのvirtualhostを設定。subversionにはsvn+sshとかで接続するので、apacheでの設定はしていません。
vi /etc/apache2/sites-available/trac

  1. <virtualHost *>
  2. ServerName trac.movion.mydns.jp
  3. DocumentRoot /var/www/trac
  4. <Location />
  5. SetHandler    mod_python
  6. PythonHandler trac.web.modpython_frontend
  7. PythonOption  TracEnvParentDir /var/www/trac
  8. PythonOption  TracUriRoot      /
  9. </Location>
  10.  
  11. <locationMatch "/[[:alnum:]]+/login">
  12. AuthType Basic
  13. AuthName "trac"
  14. AuthUserFile /var/trac/.htpasswd
  15. Require valid-user
  16. </locationMatch>
  17. </virtualHost>

一応、部分日本語対応して、apache再起動(reloadでいいはずだけど)

  1. ln -s /etc/apache2/sites-available/trac /etc/apache2/sites-enabled/010-trac
  2. trac-admin /var/www/trac/testrepos wiki load /usr/share/trac-ja-resource/wiki-default
  3. cp /usr/share/trac-ja-resource/templates/* /var/www/trac/testrepos/templates/
  4. /etc/init.d/apache2 restart

疲れたので、プロジェクト作成スクリプトとか、tracの設定とかは次回、の予定。

関連記事

SubvrersionリポジトリとTracプロジェクト作成スクリプト(適当)