#インストールしながらの日記作成してみる。成功しない可能性あり 2:10
作業ログ
- sudo aptitude install mercurial
atusi@kage:~$ sudo aptitude install mercurial [sudo] password for atusi: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています Reading state information... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 タグのデータベースを構築しています... 完了 以下の新規パッケージが自動的にインストールされます: kdelibs-data kdelibs4c2a kdiff3 libakode2 libarts1-akode libarts1c2a libartsc0 libaudio2 libavahi-qt3-1 liblua50 liblualib50 libopenexr2c2a libqt3-mt libsamplerate0 perl-suid 以下のパッケージが一時固定されています: libcdio6 libpcre3 libpcrecpp0 以下の新規パッケージがインストールされます: kdelibs-data kdelibs4c2a kdiff3 libakode2 libarts1-akode libarts1c2a libartsc0 libaudio2 libavahi-qt3-1 liblua50 liblualib50 libopenexr2c2a libqt3-mt libsamplerate0 mercurial perl-suid 0 個のパッケージを更新、 16 個を新たにインストール、 0 個を削除予定、3 個が更新されていない。 24.8MB のアーカイブを取得する必要があります。 展開後に 81.7MB のディスク領域が新たに消費されます。 続けますか? [Y/n/?] y 拡張状態情報を書き込んでいます... 完了 取得:1 http://security.ubuntu.com gutsy-security/main perl-suid 5.8.8-7ubuntu3.1 [31.9kB] 〜〜ざっくりんこ〜〜 Processing triggers for libc6 ... ldconfig deferred processing now taking place パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています Reading state information... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タグのデータベースを構築しています... 完了 atusi@kage:~$ hg Mercurial Distributed SCM basic commands: add add the specified files on the next commit annotate show changeset information per file line clone make a copy of an existing repository commit commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets init create a new repository in the given directory log show revision history of entire repository or files merge merge working directory with another revision parents show the parents of the working dir or revision pull pull changes from the specified source push push changes to the specified destination qdiff diff of the current patch qimport import a patch qinit init a new queue repository qpop pop the current patch off the stack qpush push the next patch onto the stack qrefresh update the current patch remove remove the specified files on the next commit revert revert files or dirs to their states as of some revision serve export the repository via HTTP status show changed files in the working directory strip strip a revision and all later revs on the same branch update update working directory view start interactive history viewer use "hg help" for the full list of commands or "hg -v" for details atusi@kage:~$
hgの動作チェック完了。インスコ超簡単
- tracのソースゲット&解凍
atusi@kage:~/local/src/trac$ wget http://ftp.edgewall.com/pub/trac/Trac-0.11b1.tar.gz --02:18:09-- http://ftp.edgewall.com/pub/trac/Trac-0.11b1.tar.gz => `Trac-0.11b1.tar.gz' ftp.edgewall.com をDNSに問いあわせています... 83.168.202.212 ftp.edgewall.com|83.168.202.212|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 634,125 (619K) [application/octet-stream] 100%[======================================================>] 634,125 159.84K/s ETA 00:00 02:18:13 (159.60 KB/s) - `Trac-0.11b1.tar.gz' を保存しました [634125/634125] atusi@kage:~/local/src/trac$ gunzip Trac-0.11b1.tar.gz atusi@kage:~/local/src/trac$ tar xvf Trac-0.11b1.tar
- tracのインストール
atusi@kage:~/local/src/trac/Trac-0.11b1$ sudo python setup.py install running install running bdist_egg running egg_info writing requirements to Trac.egg-info/requires.txt writing Trac.egg-info/PKG-INFO writing top-level names to Trac.egg-info/top_level.txt writing dependency_links to Trac.egg-info/dependency_links.txt writing entry points to Trac.egg-info/entry_points.txt reading manifest file 'Trac.egg-info/SOURCES.txt' writing manifest file 'Trac.egg-info/SOURCES.txt' installing library code to build/bdist.linux-i686/egg running install_lib running build_py creating build creating build/lib creating build/lib/trac copying trac/about.py -> build/lib/trac copying trac/core.py -> build/lib/trac 〜〜ざっくり〜〜 byte-compiling build/bdist.linux-i686/egg/trac/db/schema.py to schema.pyc creating build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/PKG-INFO -> build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/SOURCES.txt -> build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/dependency_links.txt -> build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/entry_points.txt -> build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/not-zip-safe -> build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/requires.txt -> build/bdist.linux-i686/egg/EGG-INFO copying Trac.egg-info/top_level.txt -> build/bdist.linux-i686/egg/EGG-INFO creating dist creating 'dist/Trac-0.11b1-py2.5.egg' and adding 'build/bdist.linux-i686/egg' to it removing 'build/bdist.linux-i686/egg' (and everything under it) Processing Trac-0.11b1-py2.5.egg creating /usr/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg Extracting Trac-0.11b1-py2.5.egg to /usr/lib/python2.5/site-packages Adding Trac 0.11b1 to easy-install.pth file Installing trac-admin script to /usr/bin Installing tracd script to /usr/bin Installed /usr/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg Processing dependencies for Trac==0.11b1 Searching for Genshi>=0.4.1 Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.4.4 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.4.4-py2.5.egg Processing Genshi-0.4.4-py2.5.egg Moving Genshi-0.4.4-py2.5.egg to /usr/lib/python2.5/site-packages Adding Genshi 0.4.4 to easy-install.pth file Installed /usr/lib/python2.5/site-packages/Genshi-0.4.4-py2.5.egg Finished processing dependencies for Trac==0.11b1 atusi@kage:~/local/src/trac/Trac-0.11b1$
エラーが全然でないな。山が無くてちょっと怖い
ここを参考にした。
atusi@kage:~/local/src/trac/mercurial-plugin-0.11$ sudo python setup.py install running install running bdist_egg running egg_info writing requirements to TracMercurial.egg-info/requires.txt 〜〜ざっくり〜〜 creating 'dist/TracMercurial-0.11.0.2-py2.5.egg' and adding 'build/bdist.linux-i686/egg' to it removing 'build/bdist.linux-i686/egg' (and everything under it) Processing TracMercurial-0.11.0.2-py2.5.egg Copying TracMercurial-0.11.0.2-py2.5.egg to /usr/lib/python2.5/site-packages Adding TracMercurial 0.11.0.2 to easy-install.pth file Installed /usr/lib/python2.5/site-packages/TracMercurial-0.11.0.2-py2.5.egg Processing dependencies for TracMercurial==0.11.0.2 Finished processing dependencies for TracMercurial==0.11.0.2 atusi@kage:~/local/src/trac/mercurial-plugin-0.11$
ふぅ、ちょっと疲れてきた。このまま続ける。
- tracの構築をしてみる。
root@kage:/var/trac# trac-admin /var/trac/kagerepo initenv Creating a new Trac environment at /var/trac/kagerepo 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]> kagerepo 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]> 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]> hg
ん?ここで行き詰まる。ローカルのリポジトリも作る前にtrac-admin動かしたのがまずいし、RepositoryTypeはなんて設定すれば良いんだ?とりあえづ、ぐぐる。
タイプは、hgでいいみたいだな。
リポジトリを作る。
root@kage:~# cd /var/ root@kage:/var# mkdir hg root@kage:/var# cd hg/ root@kage:/var/hg# mkdir kagerepo root@kage:/var/hg# cd kagerepo/ root@kage:/var/hg/kagerepo# hg init root@kage:/var/hg/kagerepo# ls -la 合計 12 drwxr-xr-x 3 root root 4096 2008-03-03 02:55 . drwxr-xr-x 3 root root 4096 2008-03-03 02:53 .. drwxr-xr-x 3 root root 4096 2008-03-03 02:55 .hg root@kage:/var/hg/kagerepo#
coし無くて良いのが便利なんだけど、imoprtもcoも無いところから始まるところに違和感がかなりある。が気にせずに進もう。
trac設定する2
oot@kage:/var/trac# trac-admin /var/trac/kagerepo initenv Creating a new Trac environment at /var/trac/kagerepo 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]> kagerepo 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]> 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]> hg 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]> /var/hg/kagerepo Creating and Initializing Project Installing default wiki pages /usr/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg/trac/wiki/default-pages/WikiHtml imported from WikiHtml 〜〜ざっくり〜〜 imported from RecentChanges Warning: Repository type hg not supported --------------------------------------------------------------------- Project environment for 'kagerepo' created. You may now configure the environment by editing the file: /var/trac/kagerepo/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 /var/trac/kagerepo Then point your browser to http://localhost:8000/kagerepo. 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! root@kage:/var/trac#
でけたっぽいな。
こっからが鬼門だよ・・・アパッチの設定に挑む。
やっぱり鬼門だった・・・あきらめて、tracdで運用して逃げる事にする。
ここまでに設定した事
>/var/trac/kagerepo/conf/trac.iniの設定を修正(hg対応)した。以下の物を追加した。
[components] tracext.hg.* = enabled [hg] # -- Show revision number in addition to the changeset hash show_rev = yes # -- Changeset hash format node_format = short # hex: Show the full SHA1 hash # short: Show a shortened hash for the changesets
起動してみるには
atusi@kage:/var/trac/kagerepo$ tracd --port 8080 . Server starting in PID 23186. Serving on 0.0.0.0:8080 view at http://127.0.0.1:8080/
ブラウザからアクセスしたり、コミットしてタイムラインみたりしてみたけど無事に起動できている様子。
今日はここまで・・・orz
今後の課題
- 日本語リソースへの差し替え
- apache2での運用
- /var/hg/kagerepo にDAVの設定
- ルータに設定してお外からアクセスできるようにする。
- リポジトリを rootで作ったせいで、.hgがroot700になったのをむりやり777にしてしまった。対応をする
こうやってみると、apache2のスキルが足りなさすぎる・・・
ちょっとドキュメント見たけど、dnsより難しそうだなぁ。
かなりびびってるけど、避けては通れないので明日じっくり設定してみよう。
ひとまず・・・3:43
トータル2時間23分かかった。
初めてのmercurialに挑んだ割には早くすんだ感じ。
(apache2あきらめたのが良かったな。うん。)
tracdのままだと、なんか問題有るのかな?使っても最大4人くらいなのでこのまま行ってしまいそう・・・