WindowsでWebサーバを構築する
出典: Sarabande Wiki
Windows XPでWebサーバの構築を行い、PHP+MySQLの開発環境を整える。開発支援のためにSubvesion・Trac・MediaWikiを導入する。
|
動作確認環境
- Windows XP
- XAMPP1.6.3α(Apache HTTPD 2.2.4 + Openssl 0.9.8e+ MySQL 5.0.43 + PHP 5.2.3)
- Subversion 1.4.5 & Python Binding(Apache2.2・Python2.5対応)
- Python 2.5.1&win32all(Python for Windows extensions)
- mod_python 3.31(Apache2.2 Python2.5対応)
同時接続数について
Windowsではライセンスにより同時接続数が制限されている。ネットワーク経由の同時接続はWindows XP Home Editionの場合は5で Windows XP Professionalの場合は同時接続数が10である。同時アクセス数を調べるには下記の人力検索はてなの記事を参照。
- http://support.microsoft.com/default.aspx?scid=kb;ja;314882
- WindowsVista、XPでは、同時接続数が10に制限されています。- 人力検索はてな
GnuWin32とcURL
WebアプリケーションはUnix系のOSを前提にしているのでdiff3やtarなどネイティブのWindowsには存在しないコマンドが多く存在する。GnuWin32は大量のUniz系のコマンドツールを一括導入することが出来る。cURLは各種プロトコルをサポートするライブラリでパッケージのダウンロードなどに利用される。PHP関数(PHP: CURL, Client URL Library 関数 - Manual)やMac OS Xにも導入されている。
XAMPP
よりxampp-win32-1.6.3a-installer.exeを入手してインストール。
バーチャルホスト
localhostでサブドメインを利用する場合、次のようにバーチャルホストを設定した。編集が終わったらApacheを再起動する。
httpd-vhosts.conf(C:\xampp\apache\conf\extra)
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost>
my.cnf
my.cnf(C:\xampp\mysql\bin)をテキストエディタで編集する。エクスプローラ上のファイル名はmyとなっていることに注意。エクスプローラから編集に移るためには右クリック→「送る」→「テキストエディタ」。編集が終わったらMySQLを再起動させる。もし再起動をさせようとしても正常に動作をせずクラッシュしてしまう場合は、設定が正しくないので再編集を行う。
キャラクタセット・照合順序
[client] default-character-set=utf8 [mysqld] default-character-set=utf8 #character-set-server = latin1 #collation-server = latin1_general_ci [mysqldump] default-character-set=utf8
InnoDB
トランザクションをサポートしているInnoDBストレージエンジンを有効にする。なおデフォルトのストレージエンジンはMyISAMである。
skip-innodb # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = C:/xampp/mysql/data/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = C:/xampp/mysql/data/ innodb_log_arch_dir = C:/xampp/mysql/data/
MySQLで利用できるストレージエンジンはMySQL AB :: MySQL 5.1 リファレンスマニュアル :: 13.2 サポートされたストレージエンジンを参照
php.ini
php.ini(C:\xampp\apache\bin)でディレクティブを変更することでPHPの内部動作を変えることが出来ます。ディレクティブの一覧はPHP: php.ini ディレクティブ - Manualで見ることが出来ます。php.iniはC:\xampp\phpにもありますが、こちらはコマンドライン用です。編集が終わったらApacheを再起動させます。
マルチバイトのエンコーディング
PHPで扱うマルチバイト文字のエンコーディングに関するディレクティブを設定します。
mbstring.language = Japanese mbstring.internal_encoding = UTF-8
mbstring.languageはmbstring で使用される言語設定(NLS)のデフォルト値、mbstring.internal_encodingは内部文字エンコーディングのデフォルト値を表します。マルチバイトのディレクティブの詳細な説明はPHP: マルチバイト文字列関数 (mbstring) - Manualで見ることが出来ます。文字のエンコーディングはiconvを通しても設定することが出来ます。
PEAR
Pythonとmod_python
Python&Python for Windows extensions(pywin32)
http://python.org/download/releases/2.5.1/ よりpython-2.5.1.msiを、http://sourceforge.net/project/showfiles.php?group_id=78018 よりpywin32-210.win32-py2.5.exeをダウンロードしてインストール。
setuptools
setuptools 様々なPythonライブラリのインストールを簡略化できる。
http://peak.telecommunity.com/dist/ez_setup.py をez_setup.pyとして保存してから
mod_python
http://ftp.riken.jp/net/apache/httpd/modpython/win/3.3.1/
よりmod_python-3.3.1.win32-py2.5-Apache2.2.exeをダウンロードしてインストール。インストーラ中にApacheのインストール先が聞かれたら「C:\xampp\apache」を入力する。Apacheのモジュールとして読み込むためにはhttp.confに
LoadModule python_module modules/mod_python.so
を追記して再起動する。
http://localhost/xampp/phpinfo.php
のapache2handlerの項目でmod_python/3.3.1が表示されていることが確認できる。
SubverionとPythonバインディング
セットアップ
subversion ドキュメント & ファイル: Windows Apache 2.2.xよりsvn-win32-1.4.5.zipとsvn-win32-1.4.5_py25.zipを入手して解凍をするとsvn-win32-1.4.5が出てくる。svn-python-1.4.5.win32-py2.5.exeからswig-バインディングを導入するのであれば、svn-win32-1.4.5_py25.zipは不要である。今後の利便を考えてそのファイルをSubversionにリネームする。コマンドで行うと以下の通り。
curl -O http://subversion.tigris.org/downloads/1.4.5-win32/apache-2.2/svn-win32-1.4.5.zip
curl -O http://subversion.tigris.org/downloads/1.4.5-win32/apache-2.2/svn-win32-1.4.5_py25.zip
unzip -o svn-win32-1.4.5.zip
unzip -o svn-win32-1.4.5_py25.zip
rename svn-win32-1.4.5 Subversion
swig-bindingの導入(svn-win32-1.4.5_py25.zipによる方法)
svn-python-1.4.5.win32-py2.5.exeからインストールした場合はこの作業は不要である。svn-win32-1.4.5_py25.zipからインストールする場合はlibsvnにあるdll拡張子を持つファイルをpyd拡張子にリネームする。
cd Subversion¥python¥libsvn
ren _*.dll *.pyd
正常に作成されたか次のコマンドで確認することが出来る。
dir *.dll *.pyd /b
libsvn_swig_py-1.dll
_client.pyd
_core.pyd
_delta.pyd
_fs.pyd
_ra.pyd
_repos.pyd
_wc.pyd
svnとlibsvnのコピー
svnとlivsvn(Subversion\python\)をC:\Python\Lib\site-packagesにコピーする
mod_authzとmod_dav_svn.so
XAMPPには既にmod_authzとmod_dav_svn.soが用意されているのでこの作業は不要です。
Subversion\binにあるmod_authz_svn.soとmod_dav_svn.soをC:\xampp\apache\modulesディレクトリに、libdb44.dllをC:\xampp\apache\binディレクトリにコピーする。http.conf(apache\conf)でモジュールの読み込みを指定して再起動させる。
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
<dvi class="caution"> SubvesionとApacheのバージョンが合わないために再起動をしなくなることがあります。その場合はXAMPPのインストールからやり直しになります。 </div>
Subversionの配置
通常のプログラムファイルと同様に、SubversionをC:Program Filesに配置する。
環境変数の設定
コマンドプロンプトから利用できるように環境変数を設定する。環境変数は「スタート」→「マイコンピュータ」→「システム情報を表示する」→「詳細設定」→「環境変数」→「システム環境変数」から行う。PATHは既に存在するので、既存の変数の後ろに追加する。APR_ICONV_PATHは新規作成する必要がある。編集が終わったら「OK」をクリックして設定を反映させる。
PATH C:¥Program Files¥Subversion¥bin APR_ICONV_PATH C:¥Program Files¥Subversion¥iconv
Apacheによるリポジトリの公開
C:\svn\reposにリポジトリを作成する
md C:\svn
svnadmin create C:\svn\repos
Subversionの慣例に従って、trunk、tags、brachesディレクトリを作成する。
svn mkdir file://localhost/c:/trac/repos/trunk -m "trunkディレクトリを作成"
svn mkdir file://localhost/c:/trac/repos/tags -m "tagsディレクトリを作成"
svn mkdir file://localhost/c:/trac/repos/braches -m "branchesディレクトリを作成"
http.conf(apache\conf)の末尾の方にsvnリポジトリに対するLocationディレクティブを追加する。
http.conf
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath "c:/svn" </Location>
Apacheを再起動して次のURLにアクセスする。
http://localhost/svn/repos/
参考 Apache2(Windows版)でSubversionをネットワークに対応 - てんぷらメモ
TortoiseSVN
TortoiseSVNはSubversionのグラフィカルインターフェイスである。32bitであるならば、http://tortoisesvn.net/downloads から本体と言語パックをダウンロードしてインストールして再起動をする。
- TortoiseSVN-1.4.5.10425-win32-svn-1.4.2.msi
- LanguagePack-1.4.5.10425-win32-ja.exe
Winmerge日本語版
WinMerge 日本語版からWinMerge 2.6+-jp-1(リリース版)日本語版 インストーラをクリックしてWinMerge-2.6.0.0-jp-1-Setup.exe.zipを入手。解凍したあと、インストーラを起動させてインストール。インストール時に「TortoiseSVNと連携させる」をチェックする。インストールして再起動したあとに「設定」→「差分ビューワ」を見てWinmergeのパスが設定されていたらOK。
xdocdiff
xdocdiff -TortoiseSVNでWord, Excel, pdfのdiffを見るツール-からxdocdiff113b.exe を入手。ダブルクリックしてインストーラを起動させてインストールする。
svnserverサーバにアクセスする
svnserverをデーモンとして起動させるとTortoiseSVNのリポジトリブラウザからsvnプロトコルでソースコードを閲覧することが出来る。C:\svn\reposをローカルホストのルートにする場合は次のように--rootルートスイッチを指定する。
svnserve -d -r C:\svn\repos
この状態から何もないところで右クリックをして「TortoiseSVN」→リポジトリブラウザから次のURLを入力する。
svn://localhost
参考 TortoiseSVNマニュアルの「3.2. svnserve ベースのサーバ」
Trac
PHP関連ではsymfony・Doctrine・CreoleとPropelなどが採用している。上記のPythonおよびSubverionとPythonバインディングの設定を行っていることを前提とする。
ツールの導入
Python2.5ではpysqliteが標準搭載
Python2.5からはpysqlite(およびSQLite)が標準で組み込まれているので、最新版を利用したいのでなければ別にインストールする必要がなくなった。(PySqlite - The Trac Project - Trac)
0.11dev vs 0.10
現在の開発版は0.11、安定版は0.10である。導入作業は0.11の方が少なくなっている。0.11になりclearsilver(C言語)からGeshi(Python)に置き換わり、シンタックスハイライトがSilverCityからpygmentsがデフォルトになっている。またWeb Admin プラグインがあらかじめ組み込まれている。対して0.10ではドキュメントの日本語訳がある。
0.11系の導入
- http://trac.edgewall.org/wiki/TracOnWindows/Python2.5
- http://trac.edgewall.org/wiki/TracSyntaxColoring
Genshi(テンプレート言語)
Pygments(オプション・シンタックスハイライト)
MySQLdb(オプション)
デフォルトのSQLiteのかわりにSQLiteで動作させる場合。
http://sourceforge.net/project/showfiles.php?group_id=22307
よりMySQL-python-1.2.2.win32-py2.5.exeを入手してインストール。
Trac
easy_install trac
0.10系の導入
http://trac.edgewall.org/wiki/TracInstall
必須
ClearSilver
現在公式サイトでPython2.5に対応したものが配布されていないので
KnowLog: Win32 binary of ClearSilver 0.10.4 for Python 2.5からClearSilver-0.10.4.win32-py2.5.zipを入手する。解凍して出てきたneo_cgi.pydとneo_cgi.pyd.md5sumをC:\Python\Lib\site-packagesにコピーする。
オプション
Docutils
http://docutils.sourceforge.net/ よりダウンロードしたdocutils-snapshot.tgzを解凍するとdocutilsが出てくる。コマンドプロンプトを立ち上げ
cd docutils
python setup.py install
SilverCity(シンタックスハイライト)
http://sourceforge.net/project/showfiles.php?group_id=45693 SilverCity-0.9.7.win32-py2.5.exeをダウンロードしてインストール。
Trac
http://www.i-act.co.jp/project/products/products.html よりtrac-0.10.4-ja-1.zipをダウンロードして解凍する。その後コマンドプロンプトで
cd trac-0.10.4-ja-1
python setup.py install
プロジェクトの作成
MySQLデータベースの作成
デフォルトのSQLiteの代わりにMySQLを使う場合はデータベースを作成する。
mysql -u root -p CREATE DATABASE tracdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON tracdb.* TO tracuser@localhost IDENTIFIED BY 'password'; \q
trac-adminによるプロジェクトの作成
C:\tracフォルダ内にプロジェクト以外のフォルダが存在する場合、ウェブブラウザでプロジェクトの一覧を見るときにエラーが表示されます。(tracの動作には支障ないようですが、なるべくtracフォルダ内にはprojectフォルダ以外は設置しない方が無難でしょう。)
プロジェクト用のフォルダをC:\trac\project
とします。リポジトリはWindowsでWebサーバを構築する#Apacheによるリポジトリの公開の設定を前提とします。
md C:\trac\project
trac-adminコマンドによってC:\trac\projectにプロジェクトを作成する。
trac 0.11では
trac-admin C:\trac\project initenv
trac 0.10では
python C:\Python\scripts\trac-admin c:\trac\project initenv
でウィザードを立ち上げて質問に答える。今回行った設定は以下の通りでSubversionのリポジトリ以外はデフォルト。
セットアップウィザード
以下はセットアップの間に質問される内容です。
Project Name [My Project]>
プロジェクト名を決めます。デフォルトで構いません。
Database connection string [sqlite:db/trac.db]>
データベースの接続文字列です。デフォルトはsqliteを選択しファイル名はtrac.dbとしています。trac.dbはC:\trac\project\dbに保存されます。MySQLを使う場合は
mysql://DBユーザ名:DBユーザのパスワード@localhost:3306/データベース名
Repository type [svn]>
リポジトリのタイプです。デフォルトのsvn(Subversion)を選択します。
Path to repository [/path/to/repos]> C:\svn\repos
リポジトリへのパスです。先ほどsvnadminで作成したC:\svn\reposを選択します。
Templates directory [C:\python\share\trac\templates]>
テンプレートのディレクトリです。デフォルトを選択します。
サーバのセットアップ
Apacheとmod_pythonで動かす
0.10系ではシンタックスハイライトの構文を含むwikiテキストを保存するときにコマンドプロンプトのウィンドウがたくさん立ち上がって消えるという現象に遭遇しました。tracdでは起こりませんでした。0.11devでpygments(0.11ではデフォルト)を導入したところこの現象はなくなりました。それぞれのツールがサポートしているシンタックスハイライトはhttp://trac.edgewall.org/wiki/TracSyntaxColoring で見ることが出来ます。
http://trac.localhost/からアクセスできるようにする(バーチャルホスト)
バーチャルホストで設定する方法。 httpd-vhosts.conf(C:\xampp\apache\conf\extra)
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost * > DocumentRoot "C:/xampp/htdocs" ServerName trac.localhost <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv "C:/trac/project" PythonOption TracUriRoot / </Location> </VirtualHost>
DocumentRoot "C:/xampp/htdocs"を"C:/trac/project"にした場合編集・ログインが出来ませんでした。
hosts(C:\WINDOWS\system32\drivers\etc)
127.0.0.1 localhost 127.0.0.1 trac.localhost
設定が終わったらApacheを再起動してブラウザからhttp://trac.localhostにアクセスする。
参考
http://localhost/trac/からアクセスできるようにする。
http.confにtracに関するディレクティブを記述します。
LoadModule python_module modules/mod_python.so <Location "/trac"> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracUriRoot "/trac" PythonOption TracEnvParentDir c:/trac </Location>
作業が終わりましたら、Apacheを再起動してブラウザでアクセスする。
CGIの設定でMultiViewsがあると表示されないようです。
tracdで動かす
tracdコマンドを使用することでapache無しで動作させることが出来る。tracdでtracを動作させるためには以下のコマンドを入力してブラウザで http://localhost:8000/ (もしくはhttp://127.0.0.1:8000/ )にアクセスする。
python C:\Python\scripts\tracd --port 8000 c:\trac\project
trac0.11系ではtracd.exeが作成されているので
tracd --port 8000 c:\trac\project
tracdを停止させるにはコマンドプロンプト上で「Ctrl」+「C」を押す。
CGIで動かす
非常に遅く現実的ではない。trac.cgi(C:\Python\share\trac\cgi-bin)をhtdocsにコピーする。
trac.cgiを以下のように変更する。
try: import os os.environ['TRAC_ENV'] = "C:/trac/project" from trac.web import cgi_frontend
ブラウザで次のURLにアクセスする。
http://localhost/trac.cgi
サイトの設定
ユーザの権限
0.11では匿名ユーザ(anonymous)で編集できなくなっている。匿名ユーザに編集権限を与えるにはtrac-adminコマンドで設定を行う。例えば、匿名ユーザにページ作成(WIKI_CREATE)、修正(WIKI_MODIFY)、削除(WIKI_DELETE)の権限を与えるには
trac-admin C:\trac\project permission add anonymous WIKI_CREATE WIKI_MODIFY WIKI_DELETE
TracPermissionsページに記載されている権限は以下の通り。
WIKI_VIEW | 存在するwikiページを閲覧する |
WIKI_CREATE | 新しいwikiページを作成する |
WIKI_MODIFY | wikiページを変更する |
WIKI_DELETE | wikiページと付属物を削除する |
WIKI_ADMIN | すべてのWIKI_*パーミッションに加えて、リードオンリーのページも管理する。 |
ユーザ認証
以下はmod_pythonでhttp://localhost/trac/でアクセスできる場合の設定。
http.conf
<LocationMatch "/[^/]+/login"> AuthType Basic AuthName "Trac" AuthUserFile C:/trac/.htpasswd Require valid-user </LocationMatch>
パスワードの追加
cd C:\xampp\apache\bin
htpasswd -c C:/trac/.htpasswd ユーザ名
権限の追加
trac-admin C:\trac\project permission add ユーザ名 WIKI_ADMIN
参考
Charsbar::Note - tracの管理機能をインストしてみた
trac.iniの設定
trac.ini(C:\trac\project\conf)を以下のように変更した。
日本語を使えるようにする
[trac] default_charset = japanese.shift_jis
ヘッダのロゴのリンク先を変更
[header_logo] link = http://localhost/trac/project/ #mod_pythonで動かす場合 #link = http://localhost/trac/ #CGIで動かす場合
CSSのカスタマイズ
CSSをカスタマイズするにはtrac.css(C:\Python\Lib\site-packages\Trac-0.11dev_r6038-py2.5.egg\trac\htdocs\css)を編集する。例えばこのサイトと同じフォントの設定をするには
body, th, td { /*font: normal 13px Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;*/ font-family : 'ヒラギノ角ゴ Pro W3' , 'Hiragino Kaku Gothic Pro' , "MS Pゴシック", "MS PGothic", sans-serif ;*/ }
プラグイン導入
Graphviz http://trac-hacks.org/wiki/GraphvizPlugin
インストール
cd graphvizplugin\0.9
python setup.py bdist_egg
cp dist/graphviz-0.6.6-py2.3.egg C:\trac\project\plugins
trac.ini
[graphviz] cache_dir = C:\trac\project\cache\graphviz cmd_path = C:\Graphviz\bin cache_manager = yes cache_max_size = 10000000 cache_min_size = 5000000 cache_max_count = 2000 cache_min_count = 1500
Graphvizは通常C:\Program Files\ATT\Graphviz\binにインストールされるが ファイル名に空白文字が入るために正常に動作しなかったので Graphviz\binをC:/にコピー&ペーストした。
動作の確認
{{{ #!graphviz digraph G {Hello->World->Graphviz->Rules} }}}
参考
- ソフト/Bug Tracking/trac/GraphvizPlugin - discypus
- 0.9/README.txt
- trac 0.10 dev on Windows
- Debian GNU/Linux 等に関する Unix 系の設定メモ
SVNウェブインターフェイス
WebSVN
SubversionリポジトリをWebで表示できる。PEARのプロジェクト( http://svn.pear.php.net/ )で利用されている。 似たような製品としてViewVC( http://www.viewvc.org/ )がある。svnlookを使用するため、safe modeでは現在動作しない(install.htmlより)
SVNでダウンロードする
svn co http://websvn.tigris.org/svn/websvn/trunk/ websvn
ユーザ名はguest、パスワードは空白。
WebSVN2.0の不具合の対処
WebSVN2.0に移行すると以下のようにPEAR_Configを要求される不具合が発生する。
Fatal error: Cannot redeclare class Config in C:\xampp\php\PEAR\Config.php on line 44
対応策はinclude/setup.phpの
require_once 'config.php';
を
require_once dirname(__FILE__).'/config.php';
に置き換える。もしくは直接パスを書いて指定することも出来る。
require_once 'C:/xampp/htdocs/websvn/include/config.php';
config.inc
distconfig.inc(websvn/include)
のコピーをconfig.inc
として保存して、以下のような設定を行う。
C:\PROGRA~1
はC:\Program Files
のDOS形式の表示である。
$config->setServerIsWindows(); //Subversionのパス $config->setSVNCommandPath('C:/PROGRA~1/Subversion/bin'); //書くコマンドツールのパス $config->setDiffPath('C:/gnuwin32/bin'); $config->setEnscriptPath('C:/gnuwin32/bin'); $config->setSedPath('C:/gnuwin32/bin'); $config->setTarPath('C:/gnuwin32/bin'); $config->setGZipPath('C:/gnuwin32/bin'); $config->addRepository('リポジトリ", 'file://localhost/c:/svn/repos/'); //$config->setTemplatePath("$locwebsvnreal/templates/Standard/"); $config->setTemplatePath("$locwebsvnreal/templates/BlueGrey/"); $config->setInputEncoding('UTF-8'); $config->setContentEncoding('UTF-8'); include 'languages/japanese.inc';
動作確認
http://localhost/websvn/
にブラウザでアクセスする。
ViewVC
MediaWikiの開発チームやPHPコアチームが採用している。
ダウンロード&インストール
svn co http://viewvc.tigris.org/svn/viewvc/trunk/ viewvc
ユーザ名はguest、パスワードは空。
cd viewvc
python viewvc-install
インストール先が尋ねられるので、C:\Program Files\viewvc
とした。
viewvc.conf
c:/svn/reposにリポジトリを作成したとするとviewvc.conf(C:\Program Files\viewvc
)の設定は以下の通り。
#cvs_roots = cvs: /home/cvsroot svn_roots = svn: c:/svn/repos
c:/svn/reposにリポジトリを作成するには以下の通り。
md C:\svn\repos
svnadmin create C:\svn\repos
慣例的に作成されるtrunk、tags、branchesディレクトリを作成するには以下の通り。
svn mkdir file://localhost/c:/svn/repos/trunk -m "created trunk"
svn mkdir file://localhost/c:/svn/repos/tags -m "created tags"
svn mkdir file://localhost/c:/svn/repos/branches -m "created branches"
http.conf
Apacheのhttp.conf(Apache/conf)を以下のように設定して再起動する。
LoadModule python_module modules/mod_python.so ScriptAlias /viewvc "C:/Program Files/viewvc/bin/mod_python/viewvc_mp.py" <Location /viewvc> AddHandler mod_python .py PythonPath "[r'C:\\Program Files\\viewvc\\bin\\mod_python']+sys.path" PythonHandler handler PythonDebug On AddDefaultCharset UTF-8 Order allow,deny Allow from all </Location>
アクセス
以下のURLにブラウザでアクセスする。
http://localhost/viewvc/
参考
- http://arkiv.netbsd.se/?ml=viewcvs-users&a=2007-04&t=3849264
- http://terai.xrea.jp/Subversion/ViewVC.html#nbafcc40
- http://terai.xrea.jp/Subversion/Apache2.html
MediaWiki
Wikipediaを筆頭に世界でもっとも記事が量産しているwikiクローン。企業の導入実績としてはAdobe LabsやIntel、データベースではOracle、ブラウザ開発でMain Page - MozillaWiki、Linuxディストリビューション関連ではopenSUSE、Ubuntuの非公式ユーザガイド。デスクトップツールではOpenOfficeやEclipseなど。
データベースの作成
wikidbデータベースとwikiuserユーザ(パスワードはpassword)を作成して、操作に必要な権限をwikiuserに付与します。
mysql -u root -p create database wikidb; grant create, select, insert, update, delete, alter, lock tables on wikidb.* to 'wikiuser'@'localhost' identified by 'password'; \q
インストール
MediaWikiをsvnコマンドでダウンロードしてmediawikiフォルダに収納します。
cd c:\xampp\htdocs
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 mediawiki
http://localhost/mediawiki
ブラウザでアクセスをしてインストールウィザードの作業を行って下さい。データベースの項目で「Storage Engine:InnoDB」 「Database character set:Experimental MySQL 4.1/5.0 UTF-8」を選択する。インストールウィザードが終わったら、mediawiki\configに生成されたLocalSettings.phpをmediawikiディレクトリに移動させます。
cd mediawiki\config
mv LocalSettings.php ../
LocalSettings.php
MediaWikiを参照して下さい。
AdminSettings.php
mantenanceディレクトリにあるメンテナンススクリプトを実行できるようにAdminSettings.sampleからAdminSettings.phpを作成して次のコンフィギュレーション変数を各自の環境(MySQLのユーザ名とパスワード)に合わせて設定します。
$wgDBadminuser = 'wikiadmin'; $wgDBadminpassword = 'adminpass';
アップデート
一定の期間が経過して新しいバージョンが公開されたときにsvn updateコマンドでアップデートします。
cd mediawiki
svn up
次にデータベースのスキーマもアップグレードします。
php maintenance/update.php --quick
以上の作業を終えたら、wikiにブラウザでアクセスをして動作を確認して下さい。
MoinMoin
MoinMoinをWindowsとmod_pythonで動作させる。MoinMoinはUbuntuの公式サイトに採用されている。
インストールとセットアップ
http://moinmoin.wikiwikiweb.de/MoinMoinDownload からmoin-1.5.8.tar.gzをダウンロードして解凍。
cd moin-1.5.8
python setup.py install
セットアップ
cd C:\
md moin\mywiki
md moin\mywiki\data
md moin\mywiki\underlay
cd C:\Python\share\moin
xcopy data C:\moin\mywiki\data /E
xcopy underlay C:\moin\mywiki\underlay /E
copy config\*.* C:\moin\mywiki\*.*
copy server\*.* C:\moin\mywiki\*.*
wikiconfig.py(C:\moin\mywiki)
詰めて書くと以下の通り。
# -*- coding: utf-8 -*- sitename = u'Untitled Wiki' logo_string = u'<img src="/moinwiki/common/moinmoin.png" alt="MoinMoin Logo">' data_dir = 'C:\moin\mywiki\data' data_underlay_dir = 'C:\moin\mywiki\underlay' url_prefix = '/moinwiki' language_default = 'ja'
http.conf
データディレクトリの設定
Alias /moinwiki/ "C:/Python/share/moin/htdocs/" <Directory "C:/Python/share/moin/htdocs"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
mod_pythonの設定
LoadModule python_module modules/mod_python.so <Location /mywiki> SetHandler python-program # Add the path of your wiki directory PythonPath "['C:\moin\mywiki'] + sys.path" PythonHandler MoinMoin.request::RequestModPy.run </Location>
アクセス
http://localhost/mywiki/
インストール後の設定
ユーザの作成
http://localhost/mywiki/UserPreferences
スーパーユーザを追加するには
superuser = [u"スーパーユーザ名", ]
参考
- http://moinmoin.wikiwikiweb.de/MoinMoin/InstallDocs#win32apache-install
- http://moinmoin.wikiwikiweb.de/HelpOnInstalling/ApacheWithModPython