2006年度 基礎ゼミ 【知的システムデザイン研究室】

第2回 ホームページゼミ

ゼミ担当者: 牧野浩之,橋本篤,上村英里沙
指導院生: 朝山絵美,平岩健一郎,西村悟
開催日: 2006年6月06日



1 アクセス制限

一般に公開しているWebページには誰でも閲覧することが可能となっている.しかし本研究室では,ISDLレポートやBlog等にアクセス制限を行うことによって特定のユーザのみを閲覧可能としている.本章ではアクセス制限の方法や,制限を行う際に必要となる.htaccessファイルの作成方法について解説する.

1.1 アクセス制限とは

アクセス制限とは,あるWebページを特定のアドレスを持ったホストやパスワード認証を通過したユーザのみに閲覧を許可するようにする機能のことである.つまり“見る許可”を限定するものがアクセス制限である.Webサーバにapachを用いている場合,アクセス制限は「.htaccessファイル」を作成することで簡単に行うことができる.
 本研究室では,インターネット上にWebページを公開している.Webページ内には研究に関する内部向けの情報も一部掲載しているため,第3者が容易に閲覧できる状態は望ましくない.したがって,特定ページへのアクセスを,指定したドメインのみに許可したり,特定のドメインからのアクセスを拒否する必要がある.また,ID及びパスワードを持っているユーザにのみアクセスを許可するなどの設定も可能である.

1.2 .htaccessファイル

1.2.1 .htaccessファイルとは

.htaccessファイルとはWebサーバの動作をディレクトリ単位で制御するためのファイルである..htaccessファイル内にアクセス制限に関する設定を記述して,アクセス制限を行いたいディレクトリに.htaccessファイルを置くことによってアクセス制限を可能としている.

1.2.2 制限基準と制限対象

アクセス制限には,制限基準と制限対象がそれぞれ2種類存在する.制限基準に関しては,以下の2種類がある.


制限対象に関しては,以下の2種類がある.


制限基準及び制限対象にどのような組み合わせを用いるかは,.htaccessの記述による.3.3節では,実際にファイルの作成方法について説明する.

1.3 制限基準

1.3.1 IDとパスワードによる制限

.htaccessファイルの記述例をFig1.1に示す.


Fig1.1 .htaccessファイルの例
 
・AuthUserFile
パスワードリストファイルの場所(パス)が記述されている.パスワードリストファイルは慣習的に.htpasswdが使われている.パスワードリストファイルについては3.4節で述べる.
  
・AuthName
アクセス制限が設定されているディレクトリ(フォルダ)にアクセスすると,ID及びパスワードを聞かれる.この時にダイアログボックスに表示されるメッセージが記述されている.
   
・AuthType
認証の種類を指定する.Fig1.1ではBasic認証を用いている.Basic認証とは,Webサイトの閲覧に使うプロトコル「HTTP」が備える,最も基本的なユーザ認証方式である.アクセスの制限されたWebページにアクセスしようとすると,Fig1.2のようなダイアログが表示され,IDとパスワードを正しく入力しない限り,コンテンツにアクセスできないようにする仕組みになっている.

・require valid-user
この記述により,IDとパスワードを持つすべてのユーザのアクセスを許可している.また,valid-userを特定のユーザIDとすることで,そのユーザにのみにアクセスを許可することもできる.


Fig1.2 ドメインによる制限方法(アクセス可能)

1.3.2 ドメインによるアクセス制限方法

■特定のドメインからのみアクセス可能とする方法■

アクセス制限をかける際,特定のドメインを指定して制限をかけることができる.たとえば,“*.doshisha.ac.jp”からアクセスしているユーザのみ許可する際の.htaccessの記述例はFig1.3のようになる.


Fig1.3 ドメインによる制限方法(アクセス可能)
 
・order deny,allow
優先順位を決める.この場合,アクセス拒否(deny),アクセス許可(allow)の順になる.

・deny from all
基本的にすべてをアクセス拒否する.

・allow from .doshisha.ac.jp
ドメイン“*.doshisha.ac.jp”であるユーザのアクセスのみを許可する.


■特定のドメインからのアクセスを拒否する方法■

 特定のドメインからのアクセスを拒否のみすることもできる.たとえば,“*.doshisha.ac.jp”からアクセスしているユーザだけに見られないようにする際の.htaccessの記述例はFig1.4のようになる.


Fig1.4 ドメインによる制限方法(アクセス拒否)
 
・order allow,deny
優先順位を決める.この場合,アクセス許可(allow),アクセス拒否(deny)の順になる.

・allow from all
基本的にすべてのアクセスを許可する.

・deny from .doshisha.ac.jp
ドメイン“*.doshisha.ac.jp”であるユーザからのアクセスを拒否する.


「deny from ...」や「allow from ...」は複数書くことができる.またIPアドレスを直接指定することもできる.

1.4 制限対象

■ファイルへのアクセス制限■

通常,.htaccessを設置したディレクトリ以下すべてにアクセス制限がかかるが,ファイル単位でのアクセス制限も可能である.ファイル単位でのアクセス制限を行いたい場合の例をFig1.5に示す.


Fig1.5 htmlファイルの制限
 
・<Files ファイル名>〜</Files>
ファイル名(secret.html)へのwww経由でのアクセスを制限する.


1.5 パスワードリストファイル

1.5.1 パスワードリストファイルとは

 パスワードリストファイルとは,アクセスを許可されたユーザのIDとパスワードの書かれたファイルのことである.パスワードリストファイルをFig3.6に示す.コロンの左がID,右が暗号化されているパスワードである.


Fig1.6 パスワードリストファイル

1.5.2 パスワードリストファイルの作成方法

パスワードリストファイルは,「htpasswd」というコマンドを使って作成できる.作成の記述例をFig1.7に示す.


Fig1.7 パスワードリストファイルの作成
 
・$ htpasswd -c [ファイル名] [ID]
パスワードリストファイルを新規作成する.

・New password:[パスワード]
パスワードを設定する.

・Re-type new password:[パスワード]
パスワードを再入力する.

・Adding password for [ID]
このメッセージが表示されていれば終了である.

$ ls -a と入力し,ディレクトリの中に.htpasswdができていれば完成である.これはブラウザからアクセスできないディレクトリ下(public_htmlより上の階層)におくこと.


2.Blogの導入


2.1 Blogとは

Blogとは,WeBlogを訳した言葉の略で,Web上に残される記録という意味をもつ. 個人や数人のグループで運営され,日記だけでなく時事ニュースや専門的トピックスに関して自らの専門や立場 に根ざした分析や意見を表明したり,他のサイトの著者と議論したりする形式が多く取られている.

2.2 Blogの機能と特徴

BlogはWeb日記や紙の日記と異なり,内容が広く一般に公開されており,他のサイトからリンクされたり論評されたりする. 以下にBlogの主な特徴について述べる.

2.3 Blogの分類

Blogの作成方法は大きく分けて2つに分類できる.Web上のサービスを利用するタイプと,もう一方は 自分でサーバにツールをダウンロードして設置するタイプである. 本研究室では後者のタイプをとっており, Blog作成ソフトで最も多く使われているMovable Typeを使用している.

2.4 Movable Typeの機能と特徴

Movable Typeは,データが構造化されていることで無駄が少なく, 多くのユーザが利用しているため情報が豊富であり, トラックバックやプラグイン(ユーザが機能を追加できる)が用意されている. また,機能拡張やバグフィックスの問題など,将来的にも 安心できるという利点がある.Movable Typeの機能と特徴を以下に述べる.

2.5 知的システムデザイン研究室におけるBlogのポリシー

本研究室のBlogは研究室外向けのページと,研究室内向けのページがあり, 研究室内向けのページには共通のログインネーム・パスワード認証をかける必要がある. これは,想定しない読者がページを閲覧することによって起こる問題を防ぐためである.また, Blogを設置した場合,設置者は責任を持って内容の管理を行わなければならない. Blogを管理していく上で主に留意しておく事項について以下に述べる.

2.6 Movable Typeの設置方法

以下のMovable Typeの設置方法を解説する.

2.6.1 TypeKeyの登録

MovableTypeをダウンロードするためには,TypeKeyに会員登録する必要がある.ブログへコメントを書く際にもTypeKeyでの認証が必要となる場合がある.なお,登録は無料である. 登録はhttp://www.sixapart.jp/typekey/へアクセスし,Fig2. 1に示す「新規登録」をクリックすることにより登録ができる.

Fig2.1 TypeKeyへの登録

2.6.2 MovableTypeのダウンロード

TypeKeyへの登録が完了した後,http://www.sixapart.jp/movabletype/download-mt.htmlにアクセスし, Fig2. 2に示すようにダウンロードページへアクセスする.

Fig2.2 MovableTypeのダウンロード

ダウンロードするMovableTypeの種別はFig2. 3に示すように「限定個人ライセンス(無償) 」を選択する.

Fig2.3 限定個人ライセンスを利用する

ダウンロードするファイルの形式はFig2.4に示すようにzip形式を選択する.

Fig2.4 zipファイルをダウンロード

ダウンロードが完了したらダウンロードしたファイルを解凍する.

2.6.2 MovableTypeの設定

解凍したファイルの中に「mt-config.cgi-original」という設定ファイルを開いて以下のように変更する. (ユーザ名の部分は自分のユーザ名に置き換える)

28行目のCGIPath(実行ファイルを置く場所)を以下のように変更する.

  CGIPath http://www.example.com/cgi-bin/mt/
                ↓
  CGIPath http://mikilab.doshisha.ac.jp/~hmakino/mt/


70行目のDataSource(ブログデータの保存場所)のコメントアウトを外して以下のように変更する.

   # DataSource /path/to/database/directory
                ↓
   DataSource /home/hmakino/db


186〜190行目の設定のコメントアウトを外す.

  # DBUmask 0022
  # HTMLUmask 0022
  # UploadUmask 0022
  # DirUmask 0022
       ↓
   DBUmask 0022
   HTMLUmask 0022
   UploadUmask 0022
   DirUmask 0022

編集が終わったら,保存して,「mt-config.cgi-original」のファイル名を「mt-config.cgi」に変更する.

2.6.3 サーバへのアップロード

WinSCPでmikilabにログインして,/home/hmakinoに「db」ディレクトリを作成し,パーミッションを755にする. 次に, /home/hmakino/public_htmlの中に,「mt」ディレクトリを作成し,パーミッションを755に設定する.
なお,ディレクトリを作成するにはF7キーを押す.パーミッションを変更するには該当のディレクトリを選択して,F9キーを押し,プロパティを開いてFig2.5に示すように「0755」と入力する.

Fig2.5 パーミッションの変更

次に,MovableTypeのファイルをFig2.6に示すように,/home/hmakino/public_html/mtの中に転送する. その後,ディレクトリや.cgiのファイルのパーミッションを755に設定する.

Fig2.6 転送完了

2.6.4 MovableTypeの初期化

アップロードが完了したら,http://mikilab.doshisha.ac.jp/~hmakino/mt/にアクセスして,MovebleTypeの初期化を行う.ログイン画面が表示されたら,ユーザ名「Melody」,パスワード「Nelson」でログインする.
次に,Fig2.7〜Fig2.9に示すようにメイン・メニュー右下の「投稿者」をクリックしてログイン名とパスワードを変更する.

Fig2.7 ユーザ名とパスワードの変更(1)

Fig2.8 ユーザ名とパスワードの変更(2)

Fig2.9 ユーザ名とパスワードの変更(3)

次に,メイン・メニューに戻りFig2.10に示すように「設定」ボタンをクリックし,ブログの設定を行う. 設定画面で「公開」リンクをクリックし,Fig2.11に示すように,
サイトURL欄に「http://mikilab.doshisha.ac.jp/~hmakino/blog/」と入力し,
サイトパス欄には「/home/hmakino/public_html/blog」と入力する.
「変更を保存」ボタンを押し「サイトを再構築」をクリックする.
(blogの部分を他の名前にすると好みのアドレスでブログを公開できる)

Fig2.10 ブログ公開の設定

Fig2.11 パスの設定

ブログの設定は以上である.「新規エントリー」からブログの投稿ができる.

2.7 研究室内向けのBlogにアクセス制限をかける方法

本研究室内では研究室内向けのBlogにアクセス制限をかける必要性がある..htaccessファイルをFig2.12のように記述することでアクセス制限をかけることができる.

Fig2.12 .htaccessファイルの記述例

作成した.htaccessファイルはFig2.13のようにBlogが設置されているフォルダ内に入れる.

Fig2.13 .htaccessファイルの設定場所

なお,研究室内向けのBlogに関しては研究室内で統一されているため,パスワードリストファイルの作成は必要ありません.



3 Wiki

3.1 Wikiとは

Wiki(ウィキ)とは,Webブラウザから簡単にWebページの発行や編集などを行なえるWebコンテンツ管理システムのことで,WebサーバにインストールしてWebブラウザから利用する.柔軟性が高く,手軽に始められて操作が簡単なことから,メモ帳代わりや,簡易なコンテンツ管理システムに利用されている.

WikiはWard Cunningham氏が「WikiWikiWeb」というWebサイトで使っていたプログラムが原型で,同氏がこれを公開したことから多くのWikiクローンプログラムが作成され,様々な環境に移植されている.そのほとんどはフリーウェアとして配布されており,簡単に入手して導入することができる.ちなみに,「Wiki」はハワイ語の「Wikiwiki」が語源で,「速い」「急ぐ」「形式張らない」といった意味がある.

3.2 Wikiの特徴

Wikiには以下のような特徴がある.

3.3 Wikiの種類

Wikiは3.1節で述べたように,多くのWikiクローンプログラムが作成され,そのほとんどがフリーウェアとして公開されているため,様々な種類が乱立している.以下に代表的な国内産Wikiを挙げる.

3.4 Wikiの使用方法

本節ではPukiwikiを例に,Wikiの基本的な使用方法を以下のように述べる.なお,他のWikiでは用語が異なる場合もあるが,基本的な使用方法は同じである.

3.4.1 ページの編集

本項では,すでに存在するページを編集する方法について述べる.

まず,Fig3.1にあるように,ページ上部の「編集」をクリックすると,Fig3.2のような編集画面が表示される.


Fig3.1 編集前


Fig3.2 編集画面

本文の編集が完了したら,Fig3.2に示す「ページの更新」をクリックをすると,ページを更新する事ができる.Fig3.3に編集後に表示される画面を示す.


Fig3.3 編集後

3.4.2 ページの新規作成

本項では,新規にページを作成する方法について述べる.ページを新規作成するには,何も無い状態から作成する方法,ある語をキーワード化して作成す方法,「?」マークから作成する方法の3つの方法がある.以下で各方法について述べる.

3.4.3 更新履歴を見る

本項では,すでに存在するページを編集する方法について述べる.

Wikiでは,今回の更新で文のどこが変更されたのか知る事ができる.

ページ上部の「差分」をクリックするとFig3.9に示すような画面が表示される.ここでは,「追加された行」と「削除された行」が色分けされて表示されているので,文のどこが変更されたのかを知る事ができる.


Fig3.9 更新履歴

3.4.4 リンクを貼る

本項では,すでに存在するページを編集する方法について述べる.

Wikiでは,リンクを貼ることができる.

[[リンク名:URL]]

と書くとリンクを貼ることができる.

※http:は自動的にリンクになる.

Fig3.10では,本文中の「同志社大学」に同志社大学のホームページへのリンクを貼っている.リンクを貼った結果をFig2.11に示す.


Fig3.10 編集画面(リンクを貼る)


Fig3.11 リンク

3.4.5 ファイルの添付

本項では,すでに存在するページを編集する方法について述べる.

Wikiでは,ページにファイルを添付する事ができる.

ページ上部の「添付」をクリックすると,Fig3.12のような画面が表示される.ここで,「参照」から添付したいファイルを指定して「アップロード」をクリックすると,ページにファイルが添付される.


Fig3.12 ファイルの添付

3.4.6 画像の表示

本項では,すでに存在するページを編集する方法について述べる.

Wikiでは,画像を表示する事ができる.画像の表示の仕方には2種類あり,リンク先の画像をそのまま表示する方法と,自分で添付した画像を表示する方法がある.以下に各方法について述べる.

Fig3.13ではそれぞれの方法で画像を表示させている.ここでは,リンク先の画像として,同志社大学ホームページのトップページにある画像を表示させている.また,sim_doshisha.JPGという画像を添付して,その画像を表示させている.その結果がFig3.14である.


Fig3.13 編集画面(画像表示)


Fig3.14 画像が表示されたページ

3.4.7 ページの凍結

本項では,すでに存在するページを編集する方法について述べる.

Wikiは誰もがページを作成,編集できるという特徴を持つが,パスワードを用いてこれを禁止する事もできる.

ページ上部の「凍結」をクリックし,パスワードを入力する事により,ページを凍結させる事ができる.Fig3.15,Fig3.16にこの様子を示す.凍結を解除したい場合は,ページ上部の「凍結」が「凍結解除」に変化しているので,凍結する時と同じ要領でパスワードを入力し,凍結解除する.


Fig3.15 ページの凍結


Fig3.16 凍結されたページ

3.4.8 ページの削除

削除したいページで,ページ上部の「編集」をクリックする.Fig3.17のように編集画面でテキストボックスを空にする.


Fig3.17 編集画面(ページの削除)

ページを更新するとFig3.18に示すようにページが削除される.


Fig3.18 ページの削除

3.5 その他の使い方

Wikiは2.4節の基本的な使用方法以外にも,以下に挙げるような様々な拡張機能を持っている.

3.6 参考サイト