Mac OSX 10.5 LeopardでRails環境を整える〜Tracのインストール
前回に引き続き、今度はTracというプロジェクト管理ツールを導入してみた。(以前から憧れていたのです。)個人で開発している時でも、開発の手順や必要な機能をリストアップしておくと、今何をするべきかわかりやすくて、無駄な遠回りをしなくても済むのだ。bsjournalの時は、スティッキーズでメモしたり、ノートに書き出したりしていたのでした。これをwebベースで効率的に管理してくれるのがTracなのだと思って、期待して、今回インストールしてみることに。
Tracのインストール方法は、Trac本家のTracOnOsxNoFinkやTracOnOsxFromSourcesにかなり詳しく書いてある。(英語の情報ですが...。)試しにOSX 10.4 Tiger環境にインストールした時は、ちゃんと動くようになった。ところが、OSX 10.5環境ではmakeでことごとくエラーになり、正常にインストールすることが出来なかった...。
あきらめかけたその時に、一つのアイディアが浮かんだのでした。OSX 10.4のTrac環境をコピーしてしまえば良いのではないかと...。(これはOSX10.5をインストール直後だから出来る方法。いろいろなソフトウェアをインストースした後では、必要なファイルを削除してしまうかも...。)淡い期待の中で、早速作業開始!
OSX 10.4環境の作成
OSX 10.4環境にTracのインストール
上記で新規インストールした10.4環境から起動して...
ダウンロードするファイル
ファイル名 | ダウンロードページ |
---|---|
neon-0.27.2.tar.gz | http://www.webdav.org/neon/ |
swig-1.3.31.tar.gz | http://www.swig.org/download.html |
subversion-1.4.4.tar.gz | このページ |
subversion-deps-1.4.4.tar.gz | このページ |
clearsilver-0.10.5.tar.gz | http://www.clearsilver.net/downloads/ |
docutils-0.4.tar.gz | http://docutils.sourceforge.net/ |
pysqlite-2.3.5.tar.gz | http://initd.org/tracker/pysqlite/wiki/pysqlite |
trac-0.10.4.tar.gz | http://trac.edgewall.org/wiki/TracDownload |
# swig-1.3.31.tar.gzとdocutils-0.4.tar.gzを除いて、以下のcurlコマンドをコピーして実行すれば、デスクトップに一括ダウンロードされる。 cd ~/Desktop curl http://www.webdav.org/neon/neon-0.27.2.tar.gz > neon-0.27.2.tar.gz curl http://subversion.tigris.org/downloads/subversion-1.4.4.tar.gz > subversion-1.4.4.tar.gz curl http://subversion.tigris.org/downloads/subversion-deps-1.4.4.tar.gz > subversion-deps-1.4.4.tar.gz curl http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz > clearsilver-0.10.5.tar.gz curl http://initd.org/pub/software/pysqlite/releases/2.3/2.3.5/pysqlite-2.3.5.tar.gz > pysqlite-2.3.5.tar.gz curl http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz > trac-0.10.4.tar.gz
ソースコードの準備
ファインダーでの操作...
- ~/trac_srcフォルダを作って、ダウンロードしたファイルはすべてその中に入れた。
- まず、subversion-deps-1.4.4.tar.gzをダブルクリックで解凍。
- subversion-1.4.4フォルダが出現するので、フォルダ名をsubversion-deps-1.4.4に変更しておく。
- 次に、subversion-1.4.4.tar.gzをダブルクリックで解凍。
- subversion-1.4.4フォルダが出現するので、その中に、最初に解凍したsubversion-deps-1.4.4フォルダの中身をすべて移動する。
- 上記以外はまとめて選択して、ダブルクリックで解凍しておくだけでOK。ここまでで、ダウンロードしたファイルはすべて解凍された状態になっている。
インストール
ターミナルでの操作...
- あとはひたすら configure、make、make install の繰り返し。以下は自分が入力した軌跡。長いですが、#コメント以下のブロックごとにコピー&ペーストを繰り返せば良いと思う。
# 'neon'のインストール cd ~/trac_src/neon-0.27.2 ./configure --with-ssl make sudo make install # 'swig'のインストール cd ~/trac_src/swig-1.3.31 ./configure --with-python=/usr/bin/python make sudo make install # 'subverion'のインストール cd ~/trac_src/subversion-1.4.4 GXX=yes ./configure --without-berkeley-db --enable-swig-bindings=python --with-swig=/usr/local/bin/swig PYTHON=/usr/bin/python PYTHON2=/usr/bin/python2.3 make sudo make install # 'swig-py'のインストール(上記subversionと同じディレクトリの中で。) make swig-py sudo make install-swig-py echo /usr/local/lib/svn-python > /Library/Python/2.3/site-packages/svn-python.pth # 'clearsilver'のインストール cd ~/trac_src/clearsilver-0.10.5 ./configure --prefix=/usr/local --with-python=/usr/bin/python --disable-ruby make # pythonコマンドの存在するディレクトリの違いを、以下の処理で吸収しているようだ。 # this is a hack to fix the files that want to run '/usr/local/bin/python' # when it should just be '/usr/bin/python' as per the configure line above if [ -f /usr/bin/python -a ! -e /usr/local/bin/python ]; then sudo ln -s /usr/bin/python /usr/local/bin/python fi sudo make install # 'docutils'のインストール cd ~/trac_src/docutils-0.4 sudo python setup.py install # 'pysqlite'のインストール cd ~/trac_src/pysqlite-2.3.5 sudo python setup.py install # 最後に'trac'のインストール cd ~/trac_src/trac-0.10.4 sudo ./setup.py install # 最後の最後に以下の1行も忘れずに処理! # make these available in '/usr/local/bin/' # this assumes that '/usr/local/bin/' is in the user's path to run tracd / trac-admin sudo ln -s /System/Library/Frameworks/Python.framework/Versions/Current/bin/trac* /usr/local/bin
tracの環境設定
引き続きターミナルでの操作...
# ~/.bash_profileに以下のコマンドサーチパスを追加する。 export PATH=/usr/local/bin:$PATH # ターミナルを再起動してから以下のコマンドを実行 cd svnadmin create svn cd svn # ~/svn/tracディレクトリを作成して、tracの初期設定ファイルを作成する。 mkdir trac trac-admin trac initenv # 上記コマンドで、以下の質問が始まるので順に回答する。 Creating a new Trac environment at /Users/bebe/svn/trac Trac will first ask a few questions about your environment in order to initalize and prepare the project database. Please enter the name of your project. This name will be used in page titles and descriptions. Project Name [My Project]> # 何も入力せずにenterキーを押した。プロジェクト名: My Projectが設定された。 Please specify the connection string for the database to use. By default, a local SQLite database is created in the environment directory. It is also possible to use an already existing PostgreSQL database (check the Trac documentation for the exact connection string syntax). Database connection string [sqlite:db/trac.db]> # 何も入力せずにenterキーを押した。 Please specify the type of version control system, By default, it will be svn. If you don't want to use Trac with version control integration, choose the default here and don't specify a repository directory. in the next question. Repository type [svn]> # 何も入力せずにenterキーを押した。 Please specify the absolute path to the version control repository, or leave it blank to use Trac without a repository. You can also set the repository location later. Path to repository [/path/to/repos]> /Users/zari/svn/ # 左記のようにリポジトリを絶対パスで入力した。 Please enter location of Trac page templates. Default is the location of the site-wide templates installed with Trac. Templates directory [/System/Library/Frameworks/Python.framework/Versions/2.3/share/trac/templates]> # 何も入力せずにenterキーを押した。 Creating and Initializing Project ...(途中省略)... --------------------------------------------------------------------- Project environment for 'My Project' created. You may now configure the environment by editing the file: /Users/zari/svn/trac/conf/trac.ini If you'd like to take this new project environment for a test drive, try running the Trac standalone web server `tracd`: tracd --port 8000 /Users/zari/svn/trac Then point your browser to http://localhost:8000/trac. There you can also browse the documentation for your installed version of Trac, including information on further setup (such as deploying Trac to a real web server). The latest documentation can also always be found on the project website: http://trac.edgewall.org/ Congratulations!
使ってみる
ここまでの作業で問題なければ、Congratulations! と表示される。あとは上記に書いてあるように、以下のコマンドを実行。
tracd --port 8000 ~/svn/trac
その後ブラウザを起動して、http://localhost:8000/trac にアクセスしてみる。
Tracのwikiページが表示された!以上、ここまででMac OSX 10.4環境へのTracインストール完了。
OSX 10.5環境の作成
OSX 10.5環境にTracのインストール
インストールしたばかりのMac OSX 10.5を起動して...
インストール
OSX 10.4にインストールしたTrac環境を、OSX 10.5にコピーしてみた。10.4と10.5は関係するディレクトリ構成が微妙に違いっているので試行錯誤してしまったが、以下のようにやってみた。(Tracのインストールに関係したと思われるファイルを変更日で確認して、10.5環境へコピーしているだけです。)
以下、Finderでの操作...
- /usr/local
- 10.4の/usr/local
/binを開いて、すべて選択。10.5の/usr/local/binフォルダにコピーした。- 10.5のusrフォルダは、移動 >> フォルダへ移動... を選択。/usr と入力して「移動」ボタン。これで不可視状態だったusrフォルダに移動出来る。
- 10.4のusrフォルダのパスは、/Volumes/OSX10.4/usr になる。(ハードディスクボリューム名が OSX10.4 の場合)
- /Library/Python/2.3/site-packages
- 10.4の上記フォルダを開いて、すべて選択。10.5の/Library/Python/2.3/site-packagesフォルダと/Library/Python/2.5/site-packagesフォルダの両方にコピーした。
- /System/Library/Frameworks/Python.framework/Versions/2.3
- 10.4の上記フォルダを開いて、すべて選択。10.5の/System/Library/Frameworks/Python.framework/Versions/2.3フォルダへコピーした。
- 今度は、10.4の上記フォルダのうち、以下のファイルだけ選択。
- 10.5の/System/Library/Frameworks/Python.framework/Versions/2.5フォルダへコピーした。
- /System/Library/Frameworks/Python.framework/Versions/2.3/bin
- 10.4の上記フォルダを開いて、以下のファイルだけ選択。(直前にインストールした状態で、変更日が「今日」のファイルを選択した。)
- rst2html.py
- rst2latex.py
- rst2newlatex.py
- rst2pseudoxml.py
- rst2s5.py
- rst2xml.py
- trac-admin
- tracd
- 10.5の/System/Library/Frameworks/Python.framework/Versions/2.5/binフォルダへコピーした。
以上で、力任せのコピー作業完了!
tracの環境設定
10.4の時と同じように設定してみた。
使ってみる
10.4の時と同じように利用してみた。
webブラウザで確認する限り、ちゃんと動いているようだが、tracd --port 8000 ~/svn/tracを実行後のログが気になる。
tracd --port 8000 /Users/zari/svn/trac /Library/Python/2.5/site-packages/trac/web/clearsilver.py:128: RuntimeWarning: Python C API version mismatch for module neo_util: This Python has API version 1013, module neo_util has version 1012. import neo_cgi /Library/Python/2.5/site-packages/trac/web/clearsilver.py:128: RuntimeWarning: Python C API version mismatch for module neo_cs: This Python has API version 1013, module neo_cs has version 1012. import neo_cgi /Library/Python/2.5/site-packages/trac/web/clearsilver.py:128: RuntimeWarning: Python C API version mismatch for module neo_cgi: This Python has API version 1013, module neo_cgi has version 1012. import neo_cgi 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac/chrome/common/trac.ico HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac/chrome/common/css/wiki.css HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac/chrome/common/js/trac.js HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac/chrome/common/css/trac.css HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac/chrome/common/css/code.css HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:42] "GET /trac/chrome/common/trac_banner.png HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:43] "GET /trac/chrome/common/topbar_gradient.png HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:43] "GET /trac/chrome/common/extlink.gif HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:43] "GET /trac/chrome/common/dots.gif HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:43] "GET /trac/chrome/common/trac_logo_mini.png HTTP/1.1" 200 - 127.0.0.1 - - [05/Nov/2007 10:21:43] "GET /trac/chrome/common/topbar_gradient2.png HTTP/1.1" 200 -
最初にアクセスした時に、RuntimeWarning: Python C API version mismatch for moduleという警告が3件表示されている。調べてみたが、この警告がどんな影響をもたらすのか分からなかった。とりあえず、webブラウザからは正常に操作出来るようなので、このまま使ってみることにする。