[Memo2016][ITPASS]Hiki のインストールと設定(まとめ)
Hiki のインストールと設定
- /home/itpass/ftp/server/2015/hiki-update-files (2014 年度に村上(真)さんが用意してくださったファイル)に変更を加えた hiki-update-files-2016 に 2016 年度のサーバ再構築作業で使ったファイルがある.
- git log を確認したところ, 2016 年 1 月に Hiki が更新され, ディレクトリの構造が変わっている.
- 具体的には, /usr/local/hiki の下に昨年度までにはなかった lib/hiki ディレクトリがあり, いくつかのファイルやディレクトリが /usr/local/hiki から /usr/local/hiki/lib/hiki に移動したようである
Hiki のインストール
ファイルの取得
- hiki をインストールした.
# apt-get install bundler ruby-dev libmysqld-dev # apt-get autoremove (不要なパッケージを削除) # rehash (bash では不要) # cd /usr/local/ # git clone https://github.com/hiki/hiki.git # cd hiki # bundle install # ln -s hikiconf.rb.sample hikiconf.rb.sample.ja
- 途中以下のメッセージがでるが先に進む.
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.
hiki の環境設定
Table を使えるようにするための設定
- hiki-update-files-2016 内の table_form_rd.rb を以下の場所に置く.
# cp table_form_rd.rb /usr/local/hiki/misc/plugin/
- session.rb と 00default.rb のバックアップをとる(念のため).
$ cd /usr/local/hiki $ sudo mkdir backup $ cd backup $ sudo cp ../lib/hiki/session.rb . $ sudo cp ../lib/hiki/plugin/00default.rb .
- hiki-update-files-2016 内の session.rb と 00default.rb を以下の場所に置く.
/usr/local/hiki/lib/hiki/session.rb /usr/local/hiki/lib/hiki/plugin/00default.rb
- rdtool と rttool のインストール
# apt-get install rdtool rttool
formatter.rb について
- デフォルトのものを用いる.
- 場所は以下の通り.
/usr/local/hiki/lib/hiki/style/rd+/formatter.rb
hiki-update-files-2016 内の rd2html.rb を以下の場所に置く.
- デフォルトのものではなく, hiki-update-files-2016 の rd2html.rb を用いる.
- デフォルトのもの, /usr/local/hiki/lib/hiki/style/rd+/rd2html.rb はバックアップをとっておく.
- ファイルを開き, require 'style/rd+/anchorlist' が require 'hiki/style/rd+/anchorlist' となっていることを確認する.
- 場所は以下の通り.
/usr/local/hiki/lib/hiki/style/rd+/rd2html.rb
/usr/local/hiki/hiki-update-files-2016/hikisetup の確認
- 38 行目
Dir.glob(File.join(HIKIDIR, "lib/hiki/messages/*.rb")).map{ |s| s.scan(%r!([^/]+)\.rb$!).first }
- 52 行目
@plugin_path = '/usr/local/hiki/lib/hiki/plugin' if ! @plugin_path
- 108 行目
#!/usr/bin/ruby -I{HIKIDIR}/lib
- 135 行目
cp "/usr/local/hiki/dot.htaccess", ".htaccess"
ファイルを置き換える.
$ sudo cp /usr/local/hiki/hiki-update-files-2016/hikisetup /usr/local/bin/
確認作業
chikuwa2 ユーザで hiki ページを作成し, Hiki のトップページにアクセスできるか確認する(参考: [TEBIKI]Hikiのページ毎の基本設定).
- chikuwa2 のホームディレクトリに public_html ディレクトリを作成し, ブラウザからアクセスできるかどうかを確認する.
- Hiki 用のディレクトリを作成する.
$ cd ~chikuwa2 $ mkdir hiki $ chmod 2775 hiki
- hiki ディレクトリに移動し, hikisetup を実行する.
$ cd /home/chikuwa2/hiki $ hikisetup --lang ja INFO: hiki basedir is /home/chikuwa2/hiki Please input data_path [/home/chikuwa2/hiki/data]:
hikisetup による初期設定
- hikisetup コマンドを用いて, 必要なファイルを /home/chikuwa2/hiki 以下にインストールする. データパスはデフォルトのものを選ぶ.
$ cd /home/chikuwa2/hiki $ hikisetup --lang ja INFO: hiki basedir is /home/chikuwa2/hiki Please input data_path [/home/chikuwa2/hiki/data]:
- 以下のコマンドで作成されたファイル群を表示できる.
$ tree -a
ディレクトリ構成の変更とパーミッション設定
大まかには次の三点を行う.
ディレクトリ構成を以下のようにする.
/home/chikuwa2/hiki/cgi/ cgi 本体や設定ファイル, テーマを格納 data/ hiki のデータ (展開される場所) cvsroot/ hiki のデータのリポジトリ
パーミッション, 所有者, 所有グループを以下のようにする.
/home/chikuwa2/hiki/ rwxrwsr-x itpass itpass cgi/ rwxrwsr-x itpass itpass data/ rwxrwsr-x www-data www-data cvsroot/ rwxrwsr-x www-data www-data
- 公開に際して, /home/chikuwa2/public_html/hiki から /home/chikuwa2/hiki/cgi にシンボリックリンクをはる.
具体的な作業例を以下に述べる. ただし, cvsroot に関しては別途 cvs コマンド から作成するため, 下記の #cvsroot の作成 を参照のこと.
hikisetup で作成されたファイルの移動
$ cd /home/chikuwa2/hiki $ mkdir cgi $ mv .htaccess hiki.cgi hikiconf.rb theme cgi/ $ chmod -R g+w cgi $ chmod 2775 `find cgi/ -type d`
data ディレクトリのパーミッション設定
- www-data に書き込み/読み込み権限を渡す.
$ sudo chown -R www-data:www-data data $ sudo chmod -R g+w data $ sudo chmod 2775 `find data/ -type d`
public_html 以下からのシンボリックリンクの作成
$ cd /home/chikuwa2/public_html $ ln -s ../hiki/cgi hiki
CVS 管理の準備
CVS のインストール
Hiki のデータを CVS で管理する. そのために, CVS をシステムにインストールする. Debian の場合には cvs パッケージをインストールすればよい.
# apt-get install cvs
リポジトリの場所を問われた場合は作成しないと答える (後で別途作成するため).
cvsroot の作成
CVS データを管理するための CVS レポジトリの作成を行う.
$ sudo cvs -d /home/chikuwa2/hiki/cvsroot init
作成後, cvsroot ディレクトリに関しても権限を www-data に渡す.
$ cd /home/chikuwa2/hiki $ sudo chown -R www-data:www-data cvsroot $ sudo chmod 2775 `find cvsroot/ -type d`
cvsroot の中にあるファイルに関してはグループ書き込み権限は不要である. (ディレクトリに対しては, 上記のようにグループ書き込み権限が必要である).
ファイルへのアクセス制御の設定
/usr/local/apache2/conf/httpd.conf に以下を加える.
<Directory "/home/chikuwa2/pulic_html/hiki"> AllowOverride ALL Options -MultiViews </Directory>
CGI の基本動作のチェック
Apache を再起動 ([ITPASS2011a]apache2のインストールと設定#動作チェック を参照)して
https://133.30.109.21/~chikuwa2/hiki
へアクセスし, Hiki のトップページが見えることを確認する.
なお, この初回アクセス時に /home/chikuwa2/hiki/data/ 以下に, cache, info.db, text 等のファイルが自動的に 作成されるはずである. これらに関するパーミッションも再度設定する.
$ cd /home/chikuwa2/hiki $ sudo chown -R www-data:www-data data $ sudo chmod -R g+w data $ sudo chmod 2775 `find data/ -type d`
RD 形式で記述するための作業
- /home/chikuwa2/hiki/cgi/hikiconf.rb の末尾に以下を追加する. これにより, header_depth では = を <h2> にするように設定できる.
# RD 形式で記述するための設定 # header_depth では '=' を <h2> にするよう設定 @style = 'rd+' @options['rd.header_depth'] = 2
- hiki/lib/hiki/style/rd+/formatter.rb と hiki/lib/hiki/style/rd+/parser.rb を以下のように書き換える.
formatter.rb の書き換え
module Hiki module Formatter class RD < Base
となっているのを,
module Hiki module Formatter # class RD < Base class RDPLUS < Base
とする.
parser.rb の書き換え
module Hiki module Parser class RD
となっているのを,
module Hiki module Parser # class RD class RDPLUS
とする.
- 確認のためアクセスする.
https://133.30.109.21/~chikuwa2/hiki
- 書き込みテスト
Keyword(s):
References: