hiki
hiki設置の手順
- rubyのインストール
wget https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p374.zip unar zxvf ruby-1.8.7-p374.zip cd ruby-1.8.7-p374 ./configure --prefix=/usr/local/ruby-1.8.7-p374 make sudo make install
- apache2の設定
sudo a2enmod userdir sudo a2enmod cgi sudo a2enmod info sudo a2enmod rewrite sudo a2enmod authz_groupfile sudo systemctl restart apache2
sudo vi /etc/apache2/mods-enabled/userdir.conf AllowOverride FileInfo AuthConfig Limit Indexes -> AllowOverride FileInfo AuthConfig Limit Indexes Options
- hikiのta.gzもしくはzipをダウンロードする。
https://ja.osdn.net/projects/hiki/downloads/43141/hiki-0.8.8.1.tar.gz/
- public_htmlの中で解凍・展開する。
- hikiディレクトリに入る。
mv dot.htaccess .htaccess mv hikiconf.rb.sample hikiconf.rb vi hikiconf.rb → hikidataの場所を, public_htmlの外に指定。 chmod og+w data -R mv data (↑で指定した場所) hiki.cgiの最初の行を以下のように変更: #!/usr/bin/env /usr/local/ruby-1.8.7-p374/bin/ruby
ポイント:
- ソースファイルのダウンロード元 → http://hikiwiki.org/ja/
- インストール方法 → http://hikiwiki.org/ja/install.html
- dataディレクトリは, 内容も含めて, www-dataというユーザか書き込み権限を持ってなければダメ。なので, 全ユーザに書き込み権限を出しておくか, もしくは所有者をwww-dataにしてしまう(sudo chown www-data data -R)。
- 設置時にエラーが出てうまくいかないときは, /var/log/apache2/error.logも見るべし。
- サーバー(デーモン設定)のエラーでうまくいかないこともある。/etc/apache2/あたりのconファイルのAllow Overrrideの引数をAllにしてデーモン再起動するとよい。
編集のテキストボックスを大きくする方法: (2010/09/29 奈佐原)
$ vi theme/hiki/hiki.cssで, form.update textarea { display: block; margin-left: 0em; margin-bottom: 0em; width: 90%; height: 40em; } とかにする。 template/edit.htmlにも, <textarea cols="120" rows="40" name="contents"> とあるが, あまり関係ないみたい。
管理者(admin)のパスワードを忘れた時は?
サーバーにコンソール(Unix シェル)で入って, hikidataの中のhiki.confのpassword=の行を削除すれば, パスワードがリセットされる。
エラー
大抵はファイルアクセスの権限が原因。
こんなエラー↓の場合もそれ。dataディレクトリ全体をwww-dataの所有にすれば解決する。
Operation not permitted - /home/.../pair_paper_review (Errno::EPERM) /usr/local/ruby-1.8.7-p72/lib/ruby/1.8/fileutils.rb:1270:in `utime' /usr/local/ruby-1.8.7-
hiki-1.0.1
注意! hiki-1.0.1はユーザー管理ができないらしい(プラグインがコケる)。→ 早晩, wikiスパムにやられてしまうので, 開放系ではhiki-1.0.1を使わない方がよいかも。
- Ubuntu 14.04以降ではrubyのバージョンが上がったため, そのままではhikiは1.0以上でないとうまくいかない(解決法ある。後述)
- hiki-1.0.1は文字コードが変わったので, それまでのバージョンのhikiのデータをそのまま移行することはできない。
- tools/convert.rbというコマンドで文字コード変換できるが, トラブル多い。
- 特に, info.dbは別に文字コード変換してやる必要がある。http://www.gfd-dennou.org/member/murashin/memo/hiki-1.0.0-install-log.htmlのconvert_info_db.rbというのをtools/にコピーして使うべし。← うまく動かない時は, エラーまわりの3行くらいをコメントアウトするとよい。
- さらに, hiki-1.0.0にはバグあり: http://www.itline.jp/~svx/diary/?date=20150227
書き込み時に「指定されたタイトルは既に存在しています」と出て書き込めない。↓解決策 /usr/share/hiki/hiki # diff -bc command.rb.org command.rb *** command.rb.org 2014-01-17 01:02:29.000000000 +0900 --- command.rb 2015-02-27 17:28:04.915669859 +0900 *************** *** 553,558 **** --- 553,559 ---- end p = (@db.select {|p| p[:title] and unescape(p[:title]) == page})[0] + p.force_encoding('UTF-8') if p != @p and p != nil return p end
- 移行後のdataディレクトリ内の中身は, textとinfo.dbを残して全部消すと良いかも(cacheとか残ってるとトラブルの元)?
Ubuntu 14.04でhikiの旧バージョンを動かす。
- 前述したように, hiki-1.0.1は何かとトラブルが多いので, できるなら旧バージョンを使いたい。
- しかしUbuntu 14.04でデフォルトで入るのはruby-1.9系。この上では旧バージョンのhiki-0.8系とかは動かない。
- そこで, 旧バージョンのrubyを/usr/localあたりにソースから入れればOK。
- public_html/hiki/hiki.cgiの先頭行を以下のように変える(例):
#!/usr/bin/env /usr/local/ruby-1.8.7-p72/bin/ruby
- そうすれば, 問題なくhiki-0.8系が使える!
Keyword(s):
References:[とらりもんHOME]