Tracのインストール

2011/06/29

プロジェクト管理とバグ追跡の「Trac」をインストールする。
「ubuntu」というサーバ?(マシン?)にインストールすることに。

aptitude(パッケージマネージャーの操作)のインストール?

「aptitude(パッケージの管理ツール?ソフト?)」をまずはインストール

$ sudo apt-get install aptitude

aptitudeとは

よくわかんない。よくわかんないけど、インストールしようとしているパッケージに必要な各パッケージを勝手にインストールしてくれるモノらしい。

今回は「Trac」というパッケージをインストールしようとしている。
この「Trac」は「Apache」とかが必要。
「aptitude」というヤツを使えば「Trac」をインストールする際に「Apache」とかをインストールしてくれるらしい。

aptitudeのコマンド一覧

とりあえず一部だけ。

$ aptitude search [キーワード]
パッケージの名称に[キーワード]を含むものを一覧表示
$ aptitude show [パッケージ]
[パッケージ]の詳細
$ aptitude install [パッケージ]
[パッケージ]のインストール
$ aptitude remove [パッケージ]
[パッケージ]の削除(設定ファイルは削除しない)
$ aptitude purge [パッケージ]
[パッケージ]の削除(設定ファイルも削除)
$ aptitude reinstall [パッケージ]
[パッケージ]を再インストール

aptitudeでTracのインストール

「Trac」のパッケージの名称(?)を探す

パッケージの名称に「trac」を含むものをとりあえず探す。

$ sudo aptitude search trac

「trac」という名称(?)だったのでインストールする。

「tarc」という語句を含むパッケージ一覧から「Trac」と思わしきものはそのままの「trac」。
ということで「trac」をインストール。
※ついでに必要な諸々(apacheとか)があるなら勝手にインストールしてもらう。

$ sudo aptitude install trac

インストール先

インストールしたけどドコにインストールされたのかが分からないのでその調査。

$ sudo dpkg -L trac

debian系とRedHat系で違うらしい。

▼「ubuntuなどdebian系」の場合
$ sudo dpkg -L [パッケージ名]

▼「CentOSなどRedHat系」の場合
$ sudo rpm -ql [パッケージ名]

Tracの設定(1)

リポジトリを作成

ファイルの保存場所の作成?

$ sudo mkdir /var/svn
$ sudo svnadmin create /var/svn/repository

Tracを作成

意味がわからない。

$ sudo mkdir /var/www/trac
$ sudo trac-admin /var/www/trac/repository initenv

なんか色々聞かれるけど「Path to repository」だけ答えればいいらしい。
「作成したリポジトリ」を指定(/var/svn/repository)。

Project Name [My Project]>
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]> /var/svn/repository

TracのオーナーをApacheに変更

$ sudo chown -R www-data:www-data /var/www/trac

Tracの設定(2) ユーザー管理

anoymous権限を剥奪

何やってるかなんては分からない。Tracのレポート削除、WIKI作成とかはanoymousで出来ないようにしてる?

$ sudo trac-admin /var/www/trac/repository/ permission remove anoymous REPORT_DELETE WIKI_CREATE WIKI_MODIFY REPORT_SQL_VIEW TICKET_APPEND TICKET_CREATE TICKET_MODIFY

権限の確認

$ trac-admin /var/www/trac/repository permission list anonymous

なんか…失敗してる?

Command failed: The user user requires read _and_ write permissions to the database file /var/www/trac/repository/db/trac.db and the directory it is located in.

「sudo」をつけていなかったのが原因っぽい

$ sudo trac-admin /var/www/trac/repository permission list anonymous

色々出てきたけど…「anonymous」の権限の一部を剥奪したっぽい?

全権限をもつユーザの追加

とりあえず…ユーザ名「test」でやってみる。

$ sudo trac-admin /var/www/trac/repository permission add test 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

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

ユーザ名「test」のパスワードの指定。

$ sudo mkdir /var/trac
$ sudo htpasswd -c /var/trac/.htpasswd test

ユーザ名「test」と入力したパスワードを変換した文字列が「/var/trac/」の中の「.htpasswd」っていうファイルに記載される。

Apacheの設定

trac用の設定ファイルの作成

$ sudo vi /etc/apache2/sites-available/trac

記載する内容は下記。

  • <Location />
  • SetHandler    mod_python
  • PythonHandler trac.web.modpython_frontend
  • PythonOption  TracEnvParentDir /var/www/trac
  • PythonOption  TracUriRoot      /
  • </Location>
  •  
  • <locationMatch "/[[:alnum:]]+/login">
  • AuthType Basic
  • AuthName "trac"
  • AuthUserFile /var/trac/.htpasswd
  • Require valid-user
  • </locationMatch>
  • 何かを紐付け?

    何をやってるかはわからないけど…紐付けしてるのかな…?

    シンボリックリンクの作成

    $ sudo ln -s /etc/apache2/sites-available/trac /etc/apache2/sites-enabled/010-trac

    wikiの何か。

    $ sudo trac-admin /var/www/trac/repository wiki load /usr/share/pyshared/trac/wiki/default-pages

    「/usr/share/pyshared/trac/wiki/default-pages」は「aptitude install trac」をやったときに作られたファイル・フォルダ群。
    「wiki」の「default」を指定する必要があるっぽいので「/usr/share/pyshared/trac/」の中にあった「wiki/default-pages」を指定。

    テンプレートの指定?

    $ sudo cp /usr/share/pyshared/trac/templates/* /var/www/trac/repository/templates/

    「/usr/share/pyshared/trac/templates/」は「aptitude install trac」をやったときに作られたファイル・フォルダ群。
    「templates」を指定する必要があるっぽいので「/usr/share/pyshared/trac/」の中にあった「templates」を指定。

    apacheの再起動

    $ sudo /etc/init.d/apache2 restart

    …なんかエラーっぽいのが出てきた。

    Syntax error on line 3 of /etc/apache2/sites-enabled/010-trac:
    Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration
    Action ‘configtest’ failed.
    The Apache error log may have more information.
    …fail!

    「Invalid command 'PythonHandler'」を訳すと「PythonHandler」が「無効なコマンド」らしい。
    「perhaps misspelled or defined by a module not included in the server configuration」を訳すと「サーバの構成に含まれていないモジュール」らしい。

    mod_pythonをインストール

    $ sudo apt-get install libapache2-mod-python

    apacheの再起動の再挑戦

    $ sudo /etc/init.d/apache2 restart

    なんか…できたっぽい?

    ブラウザからアクセス

    「http://IPアドレス/リポジトリ」でいけるっぽい。

    今回は「リポジトリフォルダ」を「repository」で作成していたので「http://IPアドレス/repository」でアクセス。

    なんかそれっぽいのが表示された。
    ログインとかもできたけど英語…。

    Tracの日本語化

    新着(ニュース関連以外)

    2018-07-26
    年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
    2018-05-16
    PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
    2018-03-05
    Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
    2018-02-23
    プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
    2017-12-13
    jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい