とらりもんHOME  Index  Search  Changes  Login

とらりもん - hiki Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!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