IT pass HikiWiki - [ITPASS2016]Hiki のインストールと設定 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
= Hiki のインストールと設定
*/home/itpass/ftp/server/2015/hiki-update-files ~itpass/ftp/server/2016/hiki-update-files-2016 (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.
# * ika-itpass の /home/itpass/ftp/server/2015/hiki-update-files ~itpass/ftp/server/2016/hiki-update-files-2016 をディレクトリごと/usr/local/hiki/ に置く.
== 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 はバックアップをとっておく.
*ファイルを開きhiki-update-files-2016 の 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 の作成|URL:#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
* 書き込みテスト
= Hiki のインストールと設定
*
* 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 はバックアップをとっておく.
*
* 場所は以下の通り.
/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 の作成|URL:#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
* 書き込みテスト