とらりもんHOME  Index  Search  Changes  Login

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にしてデーモン再起動するとよい。

編集時のログイン時間を長くする方法:

$ vi hiki/auth/typekey.rb
@login_timeout = 60 * 90 # ここの数値を大きく!

編集のテキストボックスを大きくする方法: (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系が使える!

Debian wheezyでhiki-1.0.1

sudo apt-get install ruby rubu-hikidoc docdiff
Last modified:2021/08/23 10:45:54
Keyword(s):
References:[とらりもんHOME]