kanonをmacへインストールしようとしてみた
気の迷いで、macにkanonをインストールしてみようと思っちゃいました。
以下、作業メモ的ななにかです。
インストールの前提
OSの判定
uname -a |grep Darwin
httpd.conf
- mod_wsgiのインストールが完了すると以下のようなメッセージが表示される。なんで、mod_wsgi.soをロードする必要があるっぽい。あと、httpd.confは直接編集する必要があるみたい。つまりは、httpd.conf.rhel をまんま使えばok
########################################################
# To enable mod_wsgi add
# LoadModule wsgi_module modules/mod_wsgi.so
# to your apache2 config file:
# /opt/local/apache2/conf/httpd.conf
########################################################
mac対応版kanon-setupを実行(sudoして実行する必要あり)
- これで準備が整ったので以下のコマンドを実行!
sudo ./kanon-setup
- インストール時に、いやーなメッセージがでてるけど、メッセージはインストールできたといっている。信じて先に進みます(信じる力が大切だね!)
cp: var/*: No such file or directory
プロジェクト作ってみる
- testというプロジェクトを作ってみる
- 以下のような表示がでるので、使ったこともないMercurialを選択(笑)
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
Kanon プロジェクト作成ツール
(C)2011 Kanon Project☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
このツールはKanonのプロジェクトを作成するツールです。
ガイドに従って、情報を入力するとプロジェクトを作成することができます。
- -
リポジトリのタイプを入力してください。* svn : Subversion
* hg : Mercurial
* bzr : Bazaar
* (なし) : バージョン管理システムを使いませんリポジトリタイプ:
- 以下のようなメッセージがでるので、経験したこともないscrumを選択(笑)
テンプレートを入力してください。標準のテンプレートは下記の通りです。
* default : 標準のテンプレートです。課題管理・簡易バグ管理・
ガントチャートやカレンダーでのタスク管理に利用します。
* scrum :スクラム開発のテンプレートです。バックログの管理や
バーンダウンチャートでのタスクの管理に利用します。このマシンでは、下記のテンプレートを利用することができます。
default
scrum
テンプレート:
- 確認画面がでるので、迷わず進む。いけばわかるさ
テンプレート: scrum
scrum
プロジェクト名: test
リポジトリタイプ: hg
テンプレート: scrum上記のプロジェクトを本当に作成していいですか(y/n)
- そうすると、パーミッションがないというようなエラーメッセージが延々と表示されます。涙目で見守りましょう!
- どうみても終わっていないのですが、以下のようなメッセージも表示されます。「そんな慰めはいらねーよ」とつぶやきながら、涙をぬぐいます
プロジェクトのセットアップは終わりしました。
下記のURLでアクセスしてください。
(リポジトリタイプがbazaarの場合、リポジトリURLにtrunkを付けるとtrunkにアクセスできます)
sudoして、プロジェクト作ってみる
- test2というプロジェクトを作ってみる
- 以下のようなメッセージがでます
/opt/kanon/bin/kanon-create-project: line 154: hg: command not found
chown: apache.apache: Invalid argument
プロジェクトの生成と初期化
デフォルトの Wiki ページのインストール
CamelCase インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/CamelCase
InterMapTxt インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/InterMapTxt
InterTrac インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/InterTrac
InterWiki インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/InterWiki
PageTemplates インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/PageTemplates
RecentChanges インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/RecentChanges
SandBox インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/SandBox
TitleIndex インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TitleIndex
TracAccessibility インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracAccessibility
TracAdmin インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracAdmin
TracBackup インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracBackup
TracBrowser インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracBrowser
TracCgi インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracCgi
TracChangeset インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracChangeset
TracEnvironment インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracEnvironment
TracFastCgi インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracFastCgi
TracFineGrainedPermissions インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracFineGrainedPermissions
TracGuide インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracGuide
TracImport インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracImport
TracIni インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracIni
TracInstall インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracInstall
TracInterfaceCustomization インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracInterfaceCustomization
TracJa インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracJa
TracLinks インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracLinks
TracLogging インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracLogging
TracModPython インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracModPython
TracModWSGI インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracModWSGI
TracNavigation インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracNavigation
TracNotification インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracNotification
TracPermissions インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracPermissions
TracPlugins インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracPlugins
TracQuery インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracQuery
TracReports インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracReports
TracRepositoryAdmin インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracRepositoryAdmin
TracRevisionLog インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracRevisionLog
TracRoadmap インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracRoadmap
TracRss インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracRss
TracSearch インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracSearch
TracStandalone インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracStandalone
TracSupport インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracSupport
TracSyntaxColoring インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracSyntaxColoring
TracTickets インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracTickets
TracTicketsCustomFields インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracTicketsCustomFields
TracTimeline インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracTimeline
TracUnicode インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracUnicode
TracUpgrade インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracUpgrade
TracWiki インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracWiki
TracWorkflow インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/TracWorkflow
WikiDeletePage インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiDeletePage
WikiFormatting インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiFormatting
WikiHtml インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiHtml
WikiMacros インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiMacros
WikiNewPage インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiNewPage
WikiPageNames インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiPageNames
WikiProcessors インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiProcessors
WikiRestructuredText インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiRestructuredText
WikiRestructuredTextLinks インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiRestructuredTextLinks
WikiStart インポート元 /Users/hoge/.python-eggs/Trac-0.12.1ja1-py2.6.egg-tmp/trac/wiki/default-pages/WikiStart
- -
注意: リポジトリのインデックスに失敗しました。
これにはいくつかの原因が考えられます: リポジトリの種類が間違っている、
このリポジトリのためのライブラリが用意されていない、
指定したリポジトリのパスに実際のリポジトリがない…現状でも Trac を使い始める事はできますが、
リポジトリブラウザを有効にするために、
trac.ini ファイルの [trac] repository_type と repository_path の
設定を再度確認する必要があります。
- -
Trac Environment 'test2' ができました。
今後、この環境の設定をする場合は、次のファイルを利用します:
/var/opt/kanon/trac/test2/conf/trac.ini
あなたがこの新しいプロジェクトのテストを考えているなら、
スタンドアロンウェブサーバ `tracd` を試してみてください:tracd --port 8000 /var/opt/kanon/trac/test2
それから、ブラウザで http://localhost:8000/test2 にアクセスします。
インストールしたバージョンに合わせた今後のセットアップ情報などが含まれた、
ドキュメントが閲覧できます。(例えばウェブサーバで公開する手順など)最新のドキュメントは、プロジェクトのウェブサイトから入手できます:
Congratulations!
Gijiroku インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/Gijiroku
GijirokuTemplate インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/GijirokuTemplate
MyTickets インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/MyTickets
Release インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/Release
Rules インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/Rules
SearchHyperEstraier インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/SearchHyperEstraier
TLSetup インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/TLSetup
WikiStart インポート元 /etc/opt/kanon/trac-template/scrum/trac-wiki/WikiStartTiming and Estimation needs an upgrade
Upgrading Database
Creating bill_date table
Creating report_version table
Upgrading report_version table to v4
Dropping report_version table
Upgrading reports
Upgrading fields
Upgrading usermanual
Done Upgrading
Attempting to create the burndown table
Attempting to modify the milestone table
アップグレードが終了しました。次のコマンドを実行すると Trac のドキュメントをアップグレードできます:
trac-admin /var/opt/kanon/trac/test2 wiki upgrade
終了しました。
chown: apache.apache: Invalid argumentプロジェクトのセットアップは終わりしました。
下記のURLでアクセスしてください。
(リポジトリタイプがbazaarの場合、リポジトリURLにtrunkを付けるとtrunkにアクセスできます)プロジェクト管理 : http://[サーバ名]/trac/test2
リポジトリ : http://[サーバ名]/hg/test2
- 以下の場所で、落ちているみたいですね。
hg init $KANON_VAR/hg/$PROJECT_NAME chown $APACHE_USER.$APACHE_USER -R $KANON_VAR/hg/$PROJECT_NAME
- ここで、冷静になって、kanon-setupと同じディレクトリをながめてみます。pkglist.rhel、pkglist.ubuntuというファイルが見つかりますね。
- この二つの中身をのぞいてみましょう。まずは、pkglist.rhel
httpd
python-setuptools
sqlite
mod_dav_svn
mod_wsgi
subversion
mercurial
bzr
gcc
- 次に、pkglist.ubuntu
python-dev
python-setuptools
libapache2-mod-wsgi
apache2
mercurial
subversion
python-pysqlite2
sqlite3
python-subversion
python-excelerator
libapache2-svn
gcc
bzr
- はーん、なるほどね〜。そういえば、そんなことをしている箇所があったのを忘れてた・・・・・・・・・・おいら、泣いてもいいよね
- というわけで、MacPortsのリストを作ってインストールするようにして、必要があればスクリプトに細かな修正していけばmacでも動くようになるんじゃないかな〜、ってことがわかりました。あとは頼みます(笑)
- ちなみに、自分が実行したkanon-setupはこんな感じ。「### install ubuntu package」あたりをみると涙がさそわれますな〜
#!/bin/bash export KANON_OPT=/opt/kanon export KANON_VAR=/var/opt/kanon CHECK_UBUNTU=`uname -a |grep ubuntu` CHECK_DEBIAN=`uname -a |grep debian` CHECK_MAC=`uname -a |grep Darwin` if [ "$CHECK_UBUNTU" != '' ] then OS='ubuntu' APACHE_USER=www-data elif [ "$CHECK_DEBIAN" != '' ] then OS='ubuntu' APACHE_USER=www-data elif [ -f /etc/redhat-release ] then OS='rhel' APACHE_USER=apache elif [ "$CHECK_MAC" != '' ] then OS='mac' else echo "サポートされていないOSです。" echo "現在サポートされいているOSは、" echo "" echo " * Ubuntu 10.10 Server" echo " * Debian GNU/Linux, kfreebsd 6.0" echo " * RedHat Enterprise Linux 6.0" echo " * Oracle Enterprise Linux 6.0" echo "" echo "です。" exit fi if [ "$USER" != 'root' ] then echo "rootでコマンドを実行してください。" fi if [ -d /opt/kanon ] then echo "==========================================================================" echo "注意!! このマシンには既にKanonがインストールされているかも。確認してね♪" echo "==========================================================================" fi echo "" echo "このコマンドはKanonをインストールするよ。" echo "既にkanonインストールされている場合は、上書きされて消えちゃうの。" echo -n "Kanonをインストールする?(y/n) " read YN if [ "$YN" != "y" ] then echo "インストールを中断したよ。" exit fi ### install ubuntu package if [ "$OS" = 'ubuntu' ] then apt-get update apt-get -y install `cat pkglist.ubuntu` elif [ "$OS" = 'rhel' ] then yum -y install `cat pkglist.rhel` fi ### install files cp -fr opt/* /opt cp -frn etc/* /etc cp -frn var/* /var ### setup configuration export PYTHONPATH=/opt/kanon/lib/python2.6:/opt/kanon/lib/python2.6/site-packages cp resource/dot.pydistutils.cfg ~/.pydistutils.cfg ## setup sitecustomize for python if [ -f /etc/python2.6/sitecustomize.py ] then CHK=`grep "setdefaultencoding" /etc/python2.6/sitecustomize.py` if [ "$CHK" = '' ] then cat opt/kanon/lib/python2.6/site-packages/sitecustomize.py >> /etc/python2.6/sitecustomize.py fi fi ### install python components easy_install --prefix $KANON_OPT http://svn.edgewall.org/repos/genshi/tags/0.6.0/ easy_install --prefix $KANON_OPT http://ftp.edgewall.com/pub/babel/Babel-0.9.5.zip easy_install --prefix $KANON_OPT http://www.i-act.co.jp/project/products/downloads/Trac-0.12.1.ja1.zip easy_install --prefix $KANON_OPT xlrd bzr co lp:trac-bzr /tmp/trac-bzr-install easy_install --prefix /opt/kanon /tmp/trac-bzr-install rm -fr /tmp/trac-bzr-install ### install trac plugins easy_install --prefix $KANON_OPT http://svn.edgewall.com/repos/trac/plugins/0.12/mercurial-plugin #resource/pluginsディレクトリのプラグインをインストール pushd . cd resource/plugins for i in `ls -1 .` do cd $i;python setup.py install --prefix=/opt/kanon cd .. done cd ../.. # install plugins from web site rm -fr /tmp/kanon_build for i in `cat pluginlist` do cd /tmp svn co $i kanon_build cd kanon_build python setup.py install --prefix=/opt/kanon cd .. rm -fr kanon_build done popd ### setup apache and restart if [ "$OS" = 'ubuntu' ] then if [ ! -f /etc/apache2/sites-available/kanon ] then cp resource/httpd.conf.ubuntu /etc/apache2/sites-available/kanon fi a2enmod expires a2enmod auth_digest a2ensite kanon service apache2 stop service apache2 start elif [ "$OS" = 'rhel' ] then CHK=`grep "Kanon" /etc/httpd/conf/httpd.conf` if [ "$CHK" = '' ] then cat resource/httpd.conf.rhel >> /etc/httpd/conf/httpd.conf fi echo 0 > /selinux/enforce echo "SELinuxが無効化されました" service httpd stop service httpd start elif [ "$OS" = 'mac' ] then CHK=`grep "Kanon" /opt/local/apache2/conf/httpd.conf` if [ "$CHK" = '' ] then cat resource/httpd.conf.rhel >> /opt/local/apache2/conf/httpd.conf fi /opt/local/apache2/bin/apachectl stop /opt/local/apache2/bin/apachectl start fi # データディレクトリが存在しない場合作成 if [ ! -d "$KANON_VAR/trac" ] then mkdir -p "$KANON_VAR/trac" fi if [ ! -d "$KANON_VAR/hg" ] then mkdir -p "$KANON_VAR/hg" fi if [ ! -d "$KANON_VAR/bzr" ] then mkdir -p "$KANON_VAR/bzr" fi if [ ! -d "$KANON_VAR/svn" ] then mkdir -p "$KANON_VAR/svn" fi echo "Kanon Team Conductorのインストールが完了しました。" echo $KANON_OPT"/bin/kanon-create-project コマンドでプロジェクトを作成してください。"