IT pass HikiWiki - [EPA2008b]Hikiのページ毎の基本設定 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
以下では, /home/itpass/hiki に Hiki 用の資源を置くことと仮定し,
このページのような Hiki 環境を整えるのに必要な作業を記す.
Hiki によって作成, 変更される資源は CVS によって管理するようにする.
== Hiki用ディレクトリの作成
Hiki 用のディレクトリを作成する.
(以降では, ユーザは itpass だと仮定しての作業を書いている).
$ cd /home/itpass
$ mkdir hiki
$ chmod 2775 hiki
== hikisetup による初期設定
先ほど修正した hikisetup コマンドを用いて, 必要なファイルを
/home/itpass/hiki 以下にインストールする. データパスはデフォルト
のものを選ぶ.
$ cd /home/itpass/hiki
$ hikisetup --lang ja
INFO: hiki basedir is /home/itpass/hiki
Please input data_path [/home/itpass/hiki/data]:
すると, 以下のようなファイル群が作成される.
$ tree -a
.
|-- .htaccess
|-- data/
| `-- backup/
|-- hiki.cgi*
|-- hikiconf.rb
`-- theme/
|-- hiki/
| |-- README
| `-- hiki.css
`-- hiki_base.css
== ディレクトリ構成の変更とパーミッション設定
ディレクトリ構成は以下のようにする.
/home/itpass/hiki/cgi/ cgi 本体や設定ファイル, テーマを格納
data/ hiki のデータ (展開される場所)
cvsroot/ hiki のデータのリポジトリ
公開の際には, /home/itpass/hiki/cgi に対して
/home/itpass/public_html/hiki というシンボリックリンクをはる.
Web からは http://epa.scitec.kobe-u.ac.jp/~itpass/hiki へと
アクセスすることで Hiki ページを見ることが出来るようになる.
またパーミッション, 所有者, 所有グループは以下のようにする.
/home/itpass/hiki/ rwxrwsr-x itpass itpass
cgi/ rwxrwsr-x itpass itpass
data/ rwxrwsr-x www-data www-data
cvsroot/ rwxrwsr-x www-data www-data
作業例を以下に述べる. ただし, cvsroot に関しては別途 cvs コマンド
から作成するため, 下記の ((<[EPA2008b]Hikiのページ毎の基本設定#cvsroot の作成>)) を参照のこと.
=== hikisetup で作成されたファイルの移動
$ cd /home/itpass/hiki
$ mkdir cgi
$ mv .htaccess hiki.cgi hikiconf.rb theme cgi/
$ chmod -R g+w cgi
$ chmod 2775 `find cgi/ -type d`
=== data ディレクトリのパーミッション設定
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/itpass/public_html
$ ln -s ../hiki/cgi hiki
== CVS のインストール
CVS をシステムにインストールする. Debian の場合には cvs パッケージを
インストールすればよい.
# apt-get install cvs
リポジトリの場所を問われた場合, 作成しないと答える.
(後で別途作成するため).
== cvsroot の作成
Hiki のデータは CVS で管理する. ここでは CVS データを管理するための
CVS レポジトリの作成を行う. 作成は以下のコマンドで可能である.
$ sudo cvs -d /home/itpass/hiki/cvsroot init
作成後, このディレクトリに関しても権限を www-data に渡す.
$ cd /home/itpass/hiki
$ sudo chown -R www-data:www-data cvsroot
$ sudo chmod 2775 `find cvsroot/ -type d`
cvsroot の中身のファイルに関してはグループ書き込み権限は不要である.
(ディレクトリに対しては, 上記のようにグループ書き込み権限が必要である).
== ファイルへのアクセス制御の設定
/usr/local/apache2/etc/httpd.conf の末尾に
<Directory "/home/itpass/public_html/hiki">
AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>
という記述があるかどうか確認し, なければ付け足す.
(itpassの場合は既に
((<[EPA2008b]apache2のインストールと設定#設定ファイルの編集>))
で作業したはずなので確認するだけでよい)
== CGI の基本動作のチェック
Apache を再起動し,
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki
へアクセスし, トップページが見えることを確認する.
なお, この初回アクセス時に /home/itpass/hiki/data/
以下に, cache, info.db, text 等のファイルが自動的に
作成されるはずである. これらに関するパーミッションも再度設定する.
$ cd /home/itpass/hiki
$ sudo chown -R www-data:www-data data
$ sudo chmod -R g+w data
$ sudo chmod 2775 `find data/ -type d`
== RD 形式で記述するための作業
RD 形式で記述できるようにする.
/home/itpass/hiki/cgi/hikiconf.rb の末尾に
# RD 形式で記述するための設定
# header_depth では '=' を <h2> にするよう設定
@style = 'rd+'
@options['rd.header_depth'] = 2
を追加する. header_depth では = を <h2> にするように設定した.
ファイルの書き換えが終われば変更作業は完了である.
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki
へアクセスしてみる. この際, 「Error! Please edit this page again.」
のようなメッセージが表示される場合には, 一度 data 領域以下を
((<URL:#hikisetup による初期設定>)) の状態に戻す (data および data/backup
以外のファイルやディレクトリを消す) と良い.
当然ながら, まだ CVS 管理していないため, 消したデータは戻らないので,
データを書き溜めた後にこれを行う際には注意せよ.
== 管理者用パスワードの設定
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki
へアクセスし, 右上の「管理」から環境設定ページへ移動し,
左側の「パスワード」から管理者用パスワードを設定する.
なお, 管理者のアカウント名は admin である. ここでパスワードを設定する
と, 以後管理ページに移動するには右上の「ログイン」ボタンからログインす
る必要がある. その際にはアカウント名 admin と設定したパスワードが必要
になる.
== htaccess ファイルによるパスワード制限
これは, ページ全体の閲覧にパスワード制限を設けるための設定である.
この ((<IT pass HikiWiki|URL:/~itpass/hiki>)) には設定していないが,
閲覧自体に制限をする際には以下を参照せよ.
ここでは, /~epalab/hiki へパスワード制限を掛けることにする.
まず, /home/epalab/hiki/cgi/.htaccess を編集する.
$ cd /home/epalab/hiki/cgi
$ vi .htaccess
以下を追加する.
AuthType Basic
AuthName "EPA-Lab. Hikiwiki"
AuthUserFile /home/epalab/.htpasswd-hiki
Require user XXXXXXXX
XXXXXXXX にはユーザ名を与える. その後, 以下のコマンドで
パスワードファイルを作成する. コマンド入力後にパスワードを
2 回聞かれるのでパスワードを入力する.
$ htpasswd -c /home/epalab/.htpasswd-hiki XXXXXXXX
パスワードの設定が完了したら再度
http://epa.scitec.kobe-u.ac.jp/~epalab/hiki
へアクセスし, パスワード制限がかかっているかを確認する.
== シンボリックリンクファイルの公開許可
シンボリックファイルを公開可能にするため, .htaccess の編集を行う.
$ cd /home/itpass/hiki/cgi
$ vi .htaccess
以下の一行を .htaccess に追加する.
Options +FollowSymLinks
なお, 元ファイルとシンボリックリンクとで所有者が異なる場合に
公開を許可しないようにしたければ,
Options +SymLinksifOwnerMatch
とすればよい.
== 文字コードの設定
ページのキャラクタセットを EUC-JP にセットする.
/home/itpass/hiki/cgi/hikiconf.rb に元から以下のような
記述があるので, @charset の前のシャープマークを削除し,
設定を有効にする.
# ページのキャラクタセット【オプション】
#@charset = 'EUC-JP'
== CVS によるページ管理
((<[EPA2008b]Hikiのページ毎の基本設定#cvsroot の作成>)) で作成した cvsroot 以下で,
Hiki ページを管理するための手引きを以下に記す.
=== hiki/data/text の import
現在 /home/itpass/hiki/data/text 以下に存在するデータを
cvsroot 以下に格納する.
$ cd /home/itpass/hiki/data/text
$ sudo -u www-data cvs -d /home/itpass/hiki/cvsroot import -m 'Initial import' hiki v_targ r_tag
格納後, そのデータをチェックアウトしておくこと.
(次回の編集時に競合を起こすため).
$ cd ../
$ sudo -u www-data cvs -d /home/itpass/hiki/cvsroot co -d text hiki
=== hikiconf.rb の編集
/home/itpass/hiki/cgi/hikiconf.rb の末尾に
#
# CVS によるページの管理
#
@repos_type = 'cvs'
@repos_root = '/home/itpass/hiki/cvsroot'
を追加する. cvsroot の場所は ((<[EPA2008b]Hikiのページ毎の基本設定#cvsroot の作成>)) で作成した
ディレクトリを指定すること.
=== CGI 側からの設定
編集履歴を表示するために, 管理画面の左側の「プラグイン選択」を選び,
"history.rb" にチェックをつけて OK ボタンを押す. これでプラグインの
導入は終了である.
=== CVS のテスト
CGI からページの作成や編集を行ってみよう.
history.rb プラグインを導入したため, ページを選択すると
右上に「編集履歴」というボタンが追加されている.
これを選ぶと, 過去の履歴や比較などを行うことが可能になっている.
== ページの基本情報の設定
Hiki の Top から admin でログインし, 「管理」メニューから
基本情報を設定する. 以下は設定例である.
基本:
サイト名:
IT pass Hikiwiki
著者名:
IT pass members
メールアドレス
xxxx@xxxxxxx.xx.xx
更新をメールで通知
非通知
== CGI からの環境設定
Hiki の Top から admin でログインし, 「管理」メニュー
へ移動後, 「表示設定」へ移動し, 以下の設定を行う.
* サイドバーの設定:
使用する
* オートリンクの利用:
使用する
* WikiName によるリンク機能の利用:
使用する
== スタイルシートの変更
Hiki のテーマとして佐々木氏謹製の graph-paper を改変した
epa-itpass を使う. スタイルシート本体と関連する画像は
((<URL:/~itpass/hiki/theme/epa-itpass/>))
から入手できる.
/home/itpass/hiki/cgi/theme/epa-itpass を作成し,
上記から入手できるファイル群をこのディレクトリ以下に置く.
$ mkdir ~itpass/hiki/cgi/theme/epa-itpass
これが完了したら, ブラウザから hiki のページを開き,
admin でログインして [管理] メニューの [表示設定] でテーマとして
Epa-itpass を選択し, 「OK」ボタンをクリックする.
== 編集ユーザ制限
プラグインとして edit_user.rb を使用する.
必要なユーザを「ユーザの追加」から追加し,
「編集の制限」で「登録ユーザのみ編集できるように制限しますか?」
で「はい」を選択する.
== 編集ユーザのパスワードを各自で設定可能にする
上記の edit_user.rb では, 管理者アカウント admin になり, 「ユーザ編集」
からアカウントとパスワードの設定を行う. しかしこの場合, 各ユーザが自
分のパスワードの変更などを行うのに管理者アカウントのパスワードを知って
いなければならず, つまるところ全てのユーザが管理者アカウントのパスワー
ドを知っていなければならない. これはアカウント管理上よろしくない.
そこで, 各ユーザが自身の編集ユーザ作成やパスワード設定を可能にできるよう
にする. 方法は以下のようにする.
なお, 各ユーザが行う作業に関しては
((<[TEBIKI]Hikiの編集ユーザのパスワード設定>)) にまとめてあるので
そちらを参照のこと.
* 各ユーザは, 自分のホームディレクトリ以下にパスワードファイル
~/.hiki-passwd を作成する. ファイルの書式は Apache に同梱される
htpasswd コマンドで作成されるものと同じとする.
(作り方は任意だが, htpasswd で作成するのが最も容易だろう).
* CRON で定期的に, 各 Hiki ページでスクリプト (下記参照)
を実行し, その Hiki ページを
管理するグループに含まれるユーザのホームディレクトリ以下の
~/.hiki-passwd を読み込み, パスワードを集積した後, パスワードの
管理ファイルである data/hiki.conf のパスワードエントリを上書きする.
* data/hiki.conf へのパスワードエントリ上書きルールは以下の通り.
なお, 以下での「編集ユーザ」は data/hiki.conf 内のパスワード
エントリに含まれる (= CGI を編集できる) ユーザのことを指す.
また, ここでの「ユーザ」は, Hiki ページの管理グループ (例えば itpass)
のメンバーと仮定する. (メンバーか否かは, /etc/group の itpass
のエントリにメンバーとして含まれているか否かで判断する).
* 個々のユーザの ~/.hiki-passwd の有無に関わらず,
既存の編集ユーザの削除は行わない.
(削除は管理者が CGI 上から手動で行う).
* あるユーザがまだ編集ユーザには含まれておらず,
かつそのユーザのホームディレクトリに ~/.hiki-passwd ファイルが
作成されている場合, そのユーザを data/hiki.conf の
パスワードエントリに追加する.
* あるユーザはすでに編集ユーザに含まれており,
そのユーザの ~/.hiki-passwd の内容と data/hiki.conf の
パスワードエントリが異なる場合, data/hiki.conf のそのユーザの
欄を上書きする. 中身が同じ場合は何もしない.
上記の「スクリプト」には, このために作成した
((<hiki-passwd-collector.rb|URL:../epa/hiki_pagesetup/hiki-passwd-collector.rb>))
を用いる. これを data ディレクトリ以下に置く.
data ディレクトリ以下は www-data ユーザの管理下なので,
所有者及びグループは www-data とする.
$ wget http://epa.scitec.kobe-u.ac.jp/~itpass/epa/hiki_pagesetup/hiki-passwd-collector.rb
$ cp hiki-passwd-collector.rb /home/itpass/hiki/data/
$ chmod 755 /home/itpass/hiki/data/hiki-passwd-collector.rb
$ sudo chown www-data:www-data /home/itpass/hiki/data/hiki-passwd-collector.rb
以下のコマンドで, www-data ユーザとして CRON の設定を行う.
なお, 以下のようにコマンドした際には, 環境変数 EDITOR
で設定されるエディタで開かれるため, エディタにこだわりがある場合は
この環境変数を設定してからこのコマンドを実行すること.
$ sudo -u www-data crontab -e
以下のように書き込み, 保存と終了を行う.
25 3 * * * umask 002; cd /home/itpass/hiki/data && /usr/bin/ruby ./hiki-passwd-collector.rb -b -q -o hiki.conf -g itpass
この設定は,
* 毎日 03/25 分に
* umask 002 を設定 (作成されるファイルにグループ書き込み権限をつける)
* /home/itpass/hiki/data へ移動後
* ruby で hiki-passwd-collector.rb を実行する
(オプションの詳細は, このコマンドに -h をつけた際に表示される
ヘルプを参照のこと).
* -b: バックアップファイルを作る
* -q: メッセージを表示しない
* -o hiki.conf: hiki.conf ファイルの変更を行う
* -g itpass: itpass グループに含まれるユーザのパスワードファイルを探査
を意味する. crontab ファイルの書き方に関しては,
((<crontab (5)|URL:http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html>))
を参照のこと.
[((<EPAサーバ構築ドキュメント>)) へ戻る]
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
以下では, /home/itpass/hiki に Hiki 用の資源を置くことと仮定し,
このページのような Hiki 環境を整えるのに必要な作業を記す.
Hiki によって作成, 変更される資源は CVS によって管理するようにする.
== Hiki用ディレクトリの作成
Hiki 用のディレクトリを作成する.
(以降では, ユーザは itpass だと仮定しての作業を書いている).
$ cd /home/itpass
$ mkdir hiki
$ chmod 2775 hiki
== hikisetup による初期設定
先ほど修正した hikisetup コマンドを用いて, 必要なファイルを
/home/itpass/hiki 以下にインストールする. データパスはデフォルト
のものを選ぶ.
$ cd /home/itpass/hiki
$ hikisetup --lang ja
INFO: hiki basedir is /home/itpass/hiki
Please input data_path [/home/itpass/hiki/data]:
すると, 以下のようなファイル群が作成される.
$ tree -a
.
|-- .htaccess
|-- data/
| `-- backup/
|-- hiki.cgi*
|-- hikiconf.rb
`-- theme/
|-- hiki/
| |-- README
| `-- hiki.css
`-- hiki_base.css
== ディレクトリ構成の変更とパーミッション設定
ディレクトリ構成は以下のようにする.
/home/itpass/hiki/cgi/ cgi 本体や設定ファイル, テーマを格納
data/ hiki のデータ (展開される場所)
cvsroot/ hiki のデータのリポジトリ
公開の際には, /home/itpass/hiki/cgi に対して
/home/itpass/public_html/hiki というシンボリックリンクをはる.
Web からは http://epa.scitec.kobe-u.ac.jp/~itpass/hiki へと
アクセスすることで Hiki ページを見ることが出来るようになる.
またパーミッション, 所有者, 所有グループは以下のようにする.
/home/itpass/hiki/ rwxrwsr-x itpass itpass
cgi/ rwxrwsr-x itpass itpass
data/ rwxrwsr-x www-data www-data
cvsroot/ rwxrwsr-x www-data www-data
作業例を以下に述べる. ただし, cvsroot に関しては別途 cvs コマンド
から作成するため, 下記の ((<[EPA2008b]Hikiのページ毎の基本設定#cvsroot の作成>)) を参照のこと.
=== hikisetup で作成されたファイルの移動
$ cd /home/itpass/hiki
$ mkdir cgi
$ mv .htaccess hiki.cgi hikiconf.rb theme cgi/
$ chmod -R g+w cgi
$ chmod 2775 `find cgi/ -type d`
=== data ディレクトリのパーミッション設定
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/itpass/public_html
$ ln -s ../hiki/cgi hiki
== CVS のインストール
CVS をシステムにインストールする. Debian の場合には cvs パッケージを
インストールすればよい.
# apt-get install cvs
リポジトリの場所を問われた場合, 作成しないと答える.
(後で別途作成するため).
== cvsroot の作成
Hiki のデータは CVS で管理する. ここでは CVS データを管理するための
CVS レポジトリの作成を行う. 作成は以下のコマンドで可能である.
$ sudo cvs -d /home/itpass/hiki/cvsroot init
作成後, このディレクトリに関しても権限を www-data に渡す.
$ cd /home/itpass/hiki
$ sudo chown -R www-data:www-data cvsroot
$ sudo chmod 2775 `find cvsroot/ -type d`
cvsroot の中身のファイルに関してはグループ書き込み権限は不要である.
(ディレクトリに対しては, 上記のようにグループ書き込み権限が必要である).
== ファイルへのアクセス制御の設定
/usr/local/apache2/etc/httpd.conf の末尾に
<Directory "/home/itpass/public_html/hiki">
AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>
という記述があるかどうか確認し, なければ付け足す.
(itpassの場合は既に
((<[EPA2008b]apache2のインストールと設定#設定ファイルの編集>))
で作業したはずなので確認するだけでよい)
== CGI の基本動作のチェック
Apache を再起動し,
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki
へアクセスし, トップページが見えることを確認する.
なお, この初回アクセス時に /home/itpass/hiki/data/
以下に, cache, info.db, text 等のファイルが自動的に
作成されるはずである. これらに関するパーミッションも再度設定する.
$ cd /home/itpass/hiki
$ sudo chown -R www-data:www-data data
$ sudo chmod -R g+w data
$ sudo chmod 2775 `find data/ -type d`
== RD 形式で記述するための作業
RD 形式で記述できるようにする.
/home/itpass/hiki/cgi/hikiconf.rb の末尾に
# RD 形式で記述するための設定
# header_depth では '=' を <h2> にするよう設定
@style = 'rd+'
@options['rd.header_depth'] = 2
を追加する. header_depth では = を <h2> にするように設定した.
ファイルの書き換えが終われば変更作業は完了である.
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki
へアクセスしてみる. この際, 「Error! Please edit this page again.」
のようなメッセージが表示される場合には, 一度 data 領域以下を
((<URL:#hikisetup による初期設定>)) の状態に戻す (data および data/backup
以外のファイルやディレクトリを消す) と良い.
当然ながら, まだ CVS 管理していないため, 消したデータは戻らないので,
データを書き溜めた後にこれを行う際には注意せよ.
== 管理者用パスワードの設定
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki
へアクセスし, 右上の「管理」から環境設定ページへ移動し,
左側の「パスワード」から管理者用パスワードを設定する.
なお, 管理者のアカウント名は admin である. ここでパスワードを設定する
と, 以後管理ページに移動するには右上の「ログイン」ボタンからログインす
る必要がある. その際にはアカウント名 admin と設定したパスワードが必要
になる.
== htaccess ファイルによるパスワード制限
これは, ページ全体の閲覧にパスワード制限を設けるための設定である.
この ((<IT pass HikiWiki|URL:/~itpass/hiki>)) には設定していないが,
閲覧自体に制限をする際には以下を参照せよ.
ここでは, /~epalab/hiki へパスワード制限を掛けることにする.
まず, /home/epalab/hiki/cgi/.htaccess を編集する.
$ cd /home/epalab/hiki/cgi
$ vi .htaccess
以下を追加する.
AuthType Basic
AuthName "EPA-Lab. Hikiwiki"
AuthUserFile /home/epalab/.htpasswd-hiki
Require user XXXXXXXX
XXXXXXXX にはユーザ名を与える. その後, 以下のコマンドで
パスワードファイルを作成する. コマンド入力後にパスワードを
2 回聞かれるのでパスワードを入力する.
$ htpasswd -c /home/epalab/.htpasswd-hiki XXXXXXXX
パスワードの設定が完了したら再度
http://epa.scitec.kobe-u.ac.jp/~epalab/hiki
へアクセスし, パスワード制限がかかっているかを確認する.
== シンボリックリンクファイルの公開許可
シンボリックファイルを公開可能にするため, .htaccess の編集を行う.
$ cd /home/itpass/hiki/cgi
$ vi .htaccess
以下の一行を .htaccess に追加する.
Options +FollowSymLinks
なお, 元ファイルとシンボリックリンクとで所有者が異なる場合に
公開を許可しないようにしたければ,
Options +SymLinksifOwnerMatch
とすればよい.
== 文字コードの設定
ページのキャラクタセットを EUC-JP にセットする.
/home/itpass/hiki/cgi/hikiconf.rb に元から以下のような
記述があるので, @charset の前のシャープマークを削除し,
設定を有効にする.
# ページのキャラクタセット【オプション】
#@charset = 'EUC-JP'
== CVS によるページ管理
((<[EPA2008b]Hikiのページ毎の基本設定#cvsroot の作成>)) で作成した cvsroot 以下で,
Hiki ページを管理するための手引きを以下に記す.
=== hiki/data/text の import
現在 /home/itpass/hiki/data/text 以下に存在するデータを
cvsroot 以下に格納する.
$ cd /home/itpass/hiki/data/text
$ sudo -u www-data cvs -d /home/itpass/hiki/cvsroot import -m 'Initial import' hiki v_targ r_tag
格納後, そのデータをチェックアウトしておくこと.
(次回の編集時に競合を起こすため).
$ cd ../
$ sudo -u www-data cvs -d /home/itpass/hiki/cvsroot co -d text hiki
=== hikiconf.rb の編集
/home/itpass/hiki/cgi/hikiconf.rb の末尾に
#
# CVS によるページの管理
#
@repos_type = 'cvs'
@repos_root = '/home/itpass/hiki/cvsroot'
を追加する. cvsroot の場所は ((<[EPA2008b]Hikiのページ毎の基本設定#cvsroot の作成>)) で作成した
ディレクトリを指定すること.
=== CGI 側からの設定
編集履歴を表示するために, 管理画面の左側の「プラグイン選択」を選び,
"history.rb" にチェックをつけて OK ボタンを押す. これでプラグインの
導入は終了である.
=== CVS のテスト
CGI からページの作成や編集を行ってみよう.
history.rb プラグインを導入したため, ページを選択すると
右上に「編集履歴」というボタンが追加されている.
これを選ぶと, 過去の履歴や比較などを行うことが可能になっている.
== ページの基本情報の設定
Hiki の Top から admin でログインし, 「管理」メニューから
基本情報を設定する. 以下は設定例である.
基本:
サイト名:
IT pass Hikiwiki
著者名:
IT pass members
メールアドレス
xxxx@xxxxxxx.xx.xx
更新をメールで通知
非通知
== CGI からの環境設定
Hiki の Top から admin でログインし, 「管理」メニュー
へ移動後, 「表示設定」へ移動し, 以下の設定を行う.
* サイドバーの設定:
使用する
* オートリンクの利用:
使用する
* WikiName によるリンク機能の利用:
使用する
== スタイルシートの変更
Hiki のテーマとして佐々木氏謹製の graph-paper を改変した
epa-itpass を使う. スタイルシート本体と関連する画像は
((<URL:/~itpass/hiki/theme/epa-itpass/>))
から入手できる.
/home/itpass/hiki/cgi/theme/epa-itpass を作成し,
上記から入手できるファイル群をこのディレクトリ以下に置く.
$ mkdir ~itpass/hiki/cgi/theme/epa-itpass
これが完了したら, ブラウザから hiki のページを開き,
admin でログインして [管理] メニューの [表示設定] でテーマとして
Epa-itpass を選択し, 「OK」ボタンをクリックする.
== 編集ユーザ制限
プラグインとして edit_user.rb を使用する.
必要なユーザを「ユーザの追加」から追加し,
「編集の制限」で「登録ユーザのみ編集できるように制限しますか?」
で「はい」を選択する.
== 編集ユーザのパスワードを各自で設定可能にする
上記の edit_user.rb では, 管理者アカウント admin になり, 「ユーザ編集」
からアカウントとパスワードの設定を行う. しかしこの場合, 各ユーザが自
分のパスワードの変更などを行うのに管理者アカウントのパスワードを知って
いなければならず, つまるところ全てのユーザが管理者アカウントのパスワー
ドを知っていなければならない. これはアカウント管理上よろしくない.
そこで, 各ユーザが自身の編集ユーザ作成やパスワード設定を可能にできるよう
にする. 方法は以下のようにする.
なお, 各ユーザが行う作業に関しては
((<[TEBIKI]Hikiの編集ユーザのパスワード設定>)) にまとめてあるので
そちらを参照のこと.
* 各ユーザは, 自分のホームディレクトリ以下にパスワードファイル
~/.hiki-passwd を作成する. ファイルの書式は Apache に同梱される
htpasswd コマンドで作成されるものと同じとする.
(作り方は任意だが, htpasswd で作成するのが最も容易だろう).
* CRON で定期的に, 各 Hiki ページでスクリプト (下記参照)
を実行し, その Hiki ページを
管理するグループに含まれるユーザのホームディレクトリ以下の
~/.hiki-passwd を読み込み, パスワードを集積した後, パスワードの
管理ファイルである data/hiki.conf のパスワードエントリを上書きする.
* data/hiki.conf へのパスワードエントリ上書きルールは以下の通り.
なお, 以下での「編集ユーザ」は data/hiki.conf 内のパスワード
エントリに含まれる (= CGI を編集できる) ユーザのことを指す.
また, ここでの「ユーザ」は, Hiki ページの管理グループ (例えば itpass)
のメンバーと仮定する. (メンバーか否かは, /etc/group の itpass
のエントリにメンバーとして含まれているか否かで判断する).
* 個々のユーザの ~/.hiki-passwd の有無に関わらず,
既存の編集ユーザの削除は行わない.
(削除は管理者が CGI 上から手動で行う).
* あるユーザがまだ編集ユーザには含まれておらず,
かつそのユーザのホームディレクトリに ~/.hiki-passwd ファイルが
作成されている場合, そのユーザを data/hiki.conf の
パスワードエントリに追加する.
* あるユーザはすでに編集ユーザに含まれており,
そのユーザの ~/.hiki-passwd の内容と data/hiki.conf の
パスワードエントリが異なる場合, data/hiki.conf のそのユーザの
欄を上書きする. 中身が同じ場合は何もしない.
上記の「スクリプト」には, このために作成した
((<hiki-passwd-collector.rb|URL:../epa/hiki_pagesetup/hiki-passwd-collector.rb>))
を用いる. これを data ディレクトリ以下に置く.
data ディレクトリ以下は www-data ユーザの管理下なので,
所有者及びグループは www-data とする.
$ wget http://epa.scitec.kobe-u.ac.jp/~itpass/epa/hiki_pagesetup/hiki-passwd-collector.rb
$ cp hiki-passwd-collector.rb /home/itpass/hiki/data/
$ chmod 755 /home/itpass/hiki/data/hiki-passwd-collector.rb
$ sudo chown www-data:www-data /home/itpass/hiki/data/hiki-passwd-collector.rb
以下のコマンドで, www-data ユーザとして CRON の設定を行う.
なお, 以下のようにコマンドした際には, 環境変数 EDITOR
で設定されるエディタで開かれるため, エディタにこだわりがある場合は
この環境変数を設定してからこのコマンドを実行すること.
$ sudo -u www-data crontab -e
以下のように書き込み, 保存と終了を行う.
25 3 * * * umask 002; cd /home/itpass/hiki/data && /usr/bin/ruby ./hiki-passwd-collector.rb -b -q -o hiki.conf -g itpass
この設定は,
* 毎日 03/25 分に
* umask 002 を設定 (作成されるファイルにグループ書き込み権限をつける)
* /home/itpass/hiki/data へ移動後
* ruby で hiki-passwd-collector.rb を実行する
(オプションの詳細は, このコマンドに -h をつけた際に表示される
ヘルプを参照のこと).
* -b: バックアップファイルを作る
* -q: メッセージを表示しない
* -o hiki.conf: hiki.conf ファイルの変更を行う
* -g itpass: itpass グループに含まれるユーザのパスワードファイルを探査
を意味する. crontab ファイルの書き方に関しては,
((<crontab (5)|URL:http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html>))
を参照のこと.
[((<EPAサーバ構築ドキュメント>)) へ戻る]