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

第2回 ホームページゼミ

ゼミ担当者: 平岩健一郎, 朝山絵美, 小國寿将, 西村悟
指導院生: 平井聡, 池田聡, 高畑泰祐
開催日: 2005年6月17日



1.blogの導入


1.1 blogとは

blogとは,Web上に残すlog(Weblog)の略で,ある話題について自分の考えなどのコメントをつけてウェブを 使って発信するものである. 個人や数人のグループで運営され,内容としては時事ニュースや専門的トピックスに関して自らの専門や立場 に根ざした分析や意見を表明したり, 他のサイトの著者と議論したりする形式が多く取られている.

1.2 blogの機能と特徴

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

1.3 blogの分類

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

1.4 Movable Typeの機能と特徴

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

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

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

1.6 blogの設置方法

以下のURLにblogの設置マニュアルがある.設置マニュアルを参考にblogの設置が行うこと.

http://mikilab.doshisha.ac.jp/dia/wiki/homepage/blog.html



2 Wiki

2.1 Wikiとは

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

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

2.2 Wikiの特徴

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

2.3 Wikiの種類

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

2.4 Wikiの使用方法

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

2.4.1 ページの編集

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

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


fig2.1 編集前

fig2.2 編集画面

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


fig2.3 編集後

2.4.2 ページの新規作成

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

2.4.3 更新履歴を見る

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

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


fig2.9 更新履歴

2.4.4 リンクを貼る

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

[[リンク名:URL]]

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

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

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


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


fig2.11 リンク

2.4.5 ファイルの添付

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

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


fig2.12 ファイルの添付

2.4.6 画像の表示

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

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


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


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

2.4.7 ページの凍結

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

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


fig2.15 ページの凍結


fig2.16 凍結されたページ

2.4.8 ページの削除

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


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

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


fig2.18 ページの削除

2.5 その他の使い方

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

2.6 参考サイト



3 アクセス制限

本章では,Webページに関するアクセス制限について説明する.アクセス制限とは,他人からのアクセスを禁止することができるもので,本研究室においてはISDLレポートやblogなどに制限をかける必要がある.アクセス制限の方法や,制限を行う際に必要となる.htaccessファイル及びパスワードリストファイルの作成方法についても解説する.

3.1 アクセス制限とは

アクセス制限とは,特定のページへのアクセス,つまり“見る許可”を限定するものである.本研究室では,インターネット上にWebページを公開するため,apacheというアプリケーションを使用しWebサーバを運用している.研究に関する内部向けの情報も一部掲載しているため,第3者が閲覧できる状態は望ましくない.したがって,特定ページへのアクセスを,指定したドメインのみに許可したり,特定のドメインからのアクセスを拒否する必要がある.また,ID及びパスワードを持っているユーザにのみアクセスを許可するなどの設定も可能である.

3.2 アクセス制限の種類

アクセス制限は,「.htaccessファイル」と「パスワードリストファイル」の2つのファイルを作成することで簡単に行うことができる.まず,アクセス制限を行いたいディレクトリに.htaccessファイルを置く. .htaccessファイルとは,アクセス制限に関する設定を記述しておくファイルである.次に制限をかけたディレクトリへのアクセスを許可するユーザを指定するため,パスワードリストファイル(慣習的に.htpasswdが使われる)の作成を行う.パスワードリストファイルとは,アクセスを許可されたユーザーのIDとパスワード(を暗号化したもの)が書かれたファイルのことである.

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


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


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

3.3 アクセス制限の方法

3.3.1 制限基準

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

■.htaccessファイルの作成方法■

以下に.htaccessファイルの記述例を示す.

上記をテキストエディタに貼り付けファイル名を.htaccessとし,アクセス制限をかけたいディレクトリ内にアップロードする.

 
・AuthUserFile
パスワードリストファイルが置いてある場所(パス)を記述する.

   例) アカウント名“asayama”のホームディレクトリにパスワードリストファイル
     (.htpasswd)を置いている場合
      AuthUserFile /home/asayama/.htpasswd   
・AuthName
アクセス制限が設定されているディレクトリ(フォルダ)にアクセスすると,ID及びパスワードを聞かれる.この時にダイアログボックスに表示されるメッセージを記述する.

   例)AuthName Members only!! Please input ID and password.とした場合
      表示されるダイアログボックスをFig.1に示す.

Fig.1 メッセージの表示例
・AuthType
認証の種類を指定する.ここではBasic認証を用いている.Basic認証とは,Webサイトの閲覧に使うプロトコル「HTTP」が備える,最も基本的なユーザ認証方式である.アクセスの制限されたWebページにアクセスしようとすると,Fig.1のようなダイアログが表示され,IDとパスワードを正しく入力しない限り,コンテンツにアクセスできないようにする仕組みになっている.
・require valid-user
この記述により,IDとパスワードを持つすべてのユーザのアクセスを許可している.また,valid-userを特定のユーザIDとすることで,そのユーザにのみにアクセスを許可することもできる.

   例)ユーザとしてcat,dog,birdがいるときにcatとbirdにアクセスを許可する場合
        valid-user cat,bird

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

パスワードリストファイルには,アクセス制限をかけたディレクトリにアクセスできるユーザ情報を記述する.「:」で区切り,左にID,右に暗号化されたパスワードを記述する.

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

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

   例)パスワードリストファイル名を.htpasswd,ユーザIDをdiadiaとした場合
      $ htpasswd -c .htpasswd diadia

※-cは新規作成する場合のオプションである.ユーザを追加する際,もしつけてしまうと元のファイルに上書きされてしまうので気をつけること.

$ ls -a と入力し,ディレクトリの中に.htpasswdができていれば完成である.


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

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

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

上記をテキストエディタに貼り付けファイル名を.htaccessとし,アクセス制限をかけたいディレクトリ内にアップロードする.

 
・order deny,allow
優先順位を決める.この場合,アクセス拒否,アクセス許可の順になる.
・deny from all
基本的にすべてをアクセス拒否する.
・allow from .doshisha.ac.jp
ドメイン“*.doshisha.ac.jp”であるユーザのアクセスのみを許可する.

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

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

上記をテキストエディタに貼り付けファイル名を.htaccessとし,アクセス制限をかけたいディレクトリ内にアップロードする.

 
・order allow,deny
優先順位を決める.この場合,アクセス許可,アクセス拒否の順になる.
・allow from all
基本的にすべてのアクセスを許可する.
・deny from .doshisha.ac.jp
ドメイン“*.doshisha.ac.jp”であるユーザからのアクセスを拒否する.

「deny from ...」や「allow from ...」は複数書くことができる.またIPアドレスを直接指定することもできる.
  例)IPアドレス172.20.11.92からのアクセスを拒否したい場合
     deny from 172.20.11.92


3.3.2 制限対象

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

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

例)secret.htmlへのアクセス制限(IPアドレス172.20.11.92からのアクセスのみ許可)

上記をテキストエディタに貼り付け,ファイル名を.htaccessとし,アクセス制限をかけたいディレクトリ内にアップロードする.

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


3.3.3 複合制限

異なったアクセス制限方法を同時に記述することも可能である.3.3.1項で述べてきたものを同時に用い,ドメインとID&PASSの両方で制限する際の.htaccessの記述例を示す.

この記述例に従って記述すると,“*.doshisha.ac.jp”から接続し,かつID&PASSを知っているユーザしかmikilaber.htmlを見ることはできないという制限がかかる.

3.4 アクセス制限の一連の流れ

ここでは,3.3節において説明したアクセス制限の方法を用いて,実際にアクセス制限をかける一連の手順を述べる.

1).htaccessの作成

テキストエディタ等で.htaccessファイルを作成する.例をFig.2に示す.


Fig.2 .htaccessファイルの例

2)パスワードリストファイル(.htpasswd)の作成

次にパスワードリストファイルを用意する.例をFig.3に示す.

例)作成先:*****.doshisha.ac.jp/~asayama/.htpasswd


Fig.3 パスワードリストファイルの例

3)アップロード

.htaccessを正しく設定した後,アクセス制限をかけたいディレクトリ(もしくは,制限をかけたいファイルがあるディレクトリ)に.htaccessをアップロードする.パスワードリストファイルに関しては,www経由でアクセスできない場所にアップロードするのが望ましい.

例)アップロード先:*****.doshisha.ac.jp/~asayama/public_html/weblog/.htaccess
           :*****.doshisha.ac.jp/~asayama/.htpasswd

以上で,ID&PASS及びドメインによるアクセス制限が可能となる.

4)確認

ブラウザでhttp://*****.doshisha.ac.jp/~asayama/weblog/を入力してみる.IDとパスワードの入力を促すダイアログボックスが表示される.設定したIDとPASSによって許可されれば,アクセス制限は正しく行えたことになる.もし,学外のプロバイダなどからつないでいればドメインによって拒否されるはずである.