ネ実エロゲスレまとめWiki インストール/構築メモ

レンタルサーバーでWikiサイトを構築する時の手順と設定メモ。
ちなみに、Wikiサイトを構築するのはこれが初めて。

ここにあるのは、「ネ実エロゲスレまとめWiki」で実際にやった内容です。
構築するサイトによっては、この通りではうまくいかないこともあるかもしれません。また、サイトの運用の仕方に合わせて、設定を変更する必要もあると思います。

Wikiシステム

使用しているWikiシステム
PukiWiki Plus! 1.4.7plus-u2-eucjp

PukiWiki Plus!を使うことにした理由は、個人的に使うのに慣れていたから。
これまでエロゲ作品別板系のまとめサイトで何度か使ったことがあったのと、レビューWikiを置いてるWIKIWIKI.jp*PukiWiki Plus!を使っているため。

PukiWiki Plus!にはi18n版(国際化版)とeuc-jp版があるけど、ネ実エロゲスレまとめWikiではeuc-jp版を使用。
機能はi18n版のほうが豊富。しかし、修正や変更が頻繁でまだ不安定。情報も入手しにくい。
euc-jp版はユーザーが多くて情報を手に入れやすい。安定版としてリリースされていることもあって、euc-jp版を使うことにした。

サーバー

使用しているサーバー
さくらインターネット レンタルサーバー スタンダード

レビューWikiを作ったあたりから、“Wikiを作ることもあるかもしれない”と思ってライトコースからスタンダードコースに変更していた、さくらサーバーを使用。

ライトコースとスタンダードコースの大きな違いは次のようなもの。

  • ディスクサイズが1GB。(ライトは300MB)
  • サーバーあたりの収容人数の違いから、スタンダードのほうが負荷が小さい。(ライトはサーバあたり300人前後,スタンダードはサーバあたり100人前後)
  • シェルログインができる。(TELNETで入って作業ができる)
  • PHPが使用可能。(PHP 4.4.7が使用できる,CGIモードで動作)
  • MySQLが使用可能。

PukiWikiはPHPで動作するので、PHPが使えないといけない。(MySQLは使わない)
さくらのPHPはCGIとして動作することに注意が必要。*1

サーバーのOSはFreeBSD。
Linuxとあまり変わらないけど、一部コマンドに違いがある。

インストール

さくらレンタルサーバーでのアダルトコンテンツの扱い


エロゲネタを扱うので、サーバー運用業者のアダルトコンテンツの扱いはかなり重要。ある日突然、サイトが削除されるのも困る。

さくらサーバーでは、コンテンツの禁止事項は次のようになっている。(さくらのレンタルサーバ − ご利用にあたって
  1. 著作権や商標権、肖像権など第三者の権利を侵害する、または侵害するおそれのあるもの(ソフトウェアの不正コピーなど)
  2. 公序良俗に反するような写真を掲載するもの(アダルト系サイト・児童ポルノ等)
  3. 公序良俗に反するようなサイトへのリンクを中心としたもの
  4. 公序良俗に反するような広告バナーを多数設置しているもの
  5. 第三者への過度の誹謗中傷を含むもの
  6. 上記のほか、明らかにウェブスペースレンタルサービスの利用形態として好ましくないもの

エロネタについてはすでに問い合わせた人がいるようで、次の項目がガイドラインになっている。
  • 実写画像で、女性のバストトップ以上が露出している場合はNG。下着着用ならOK。
  • CGや文書には、特に制限はない。
  • イラストや小説のアダルトサイトにも、特に制限はない。(ただし、当然ながら合法の範囲内)

実に2次元にやさしいサーバー (^^)

インストール


インストールは、2通りのやり方がある。
アーカイブファイルをローカルで展開してサーバーに転送
ローカルでPukiWikiの設定をしてから、サーバーに乗せることができる。
Windows環境では、EUCの読み書きができるエディタが必要。Plus!は.gz.tgz形式でしか公開されていないので、.gz.tgzを展開できないといけない。また、UNIX系独特のファイル名にも注意。
転送時(または転送後)にファイルのパーミッションを正しく設定する必要がある。
アーカイブファイルをサーバーに転送してサーバー上で展開
設定は、アーカイブの展開後に行う。
viが使えないなら、FTPなどでローカルに持ってきてから編集しないといけない。
サーバーにもよるけど、基本設定でもアーカイブを展開するだけで動く。

手間としてはあまり変わらないけど、“.gz.tgzならUNIX上”という単純な理由で、アーカイブファイルをサーバーに転送してから展開することにした。

まずは、FTPでサーバーのwwwディレクトリに転送。*2

tarで展開する時は、pオプションをつけるとパーミッション付きで展開されるので楽ができる。

tar zxvfp pukiwiki-1.4.7plus-u2-eucjp.tar.gz

展開すると、pukiwiki-1.4.7plus-u2-eucjp というディレクトリができるので、これを公開予定のディレクトリ名(ネ実エロゲスレまとめWikiでは「ergwiki」)に変更。
手を抜いてFFFTPで名前変更した。

設定ファイルの変更(基本設定)

設定ファイルの変更(基本設定)


PukiWiki Plus!公式のインストール手順を元に、基本的な設定を編集。
pukiwiki.ini.php
サイトの管理人名(128-129行目)

// Site admin's name (CHANGE THIS)

$modifier = 'neneco';

管理人Webアドレス(131-132行目)

// Site admin's Web page (CHANGE THIS)

$modifierlink = 'http://neneco.sakura.ne.jp/ergwiki/';

管理人パスワード(240行目)

$adminpass = (省略)

管理人パスワードはMD5で変換した物を使うので、シェルからmd5コマンドを使って変換した。

md5 -spassword (passwordのチェックサムを求める)

パーミッションの変更(さくらインターネット用の設定)

パーミッションの変更(さくらインターネット用の設定)


さくらのレンタルサーバー(スタンダード)では、PHPはCGIとして動作する。
そのため、モジュール動作を前提としている初期状態のパーミッション(ファイルのアクセス権限)では動作しない。
さくらサーバーで動作させるには、CGIとして動くようにパーミッションを変更する必要がある。

PukiWikiのアーカイブをパーミッション付き展開すると、次のようなパーミッションになっている。

データ用のディレクトリ777
実効モジュール(*.php)のあるディレクトリ755
データファイル644 または 666
PHPファイル644

このうち最低限、PHPファイルに所有者の実行権限をつけて、755または705にしないといけない。(グループに実行権がある場合は動作しないらしい)

PHPファイルは複数のディレクトリにあって数も多いので、シェルスクリプトを作ってパーミッションの変更をした。

#!/bin/sh

chmod 707 attach/ backup/ cache/ counter/ diff/ trackback/ wiki/

chmod 705 image/ image/face/ lib/ plugin/ skin/

chmod 606 cache/*.dat

chmod 606 wiki/*.txt

chmod 705 *.php

chmod 705 lib/*.php

chmod 705 plugin/*.php

chmod 705 skin/*.php

スクリプトの内容を wikisetting.sh に保存して実行権をつけたあと、./wikisetting.sh で実行。

これで、次のように変わった。PHPファイル以外のパーミッションは個人的な好み。

データ用のディレクトリ707
実効モジュール(*.php)のあるディレクトリ705
データファイル606(または変更なし)
PHPファイル705

これで、ブラウザからアクセスした時に、ちゃんとWikiの内容が表示されるようになった。

作業に使用したソフト

追加設定/デザイン変更

pukiwiki.ini.php


PukiWikiの全体的な設定をするpukiwiki.ini.phpで、次のような設定を追加した。
ページタイトル
サイト全体のタイトルを設定。ブラウザのタイトルにも表示される。

$page_title = 'ネ実エロゲスレまとめWiki';

オートリンクの長さ
指定バイト数以上のキーワードが本文中あったら自動リンク。初期設定の5だと日本語3文字でリンクができるので、1文字分長くした。

$autolink = 7; // Bytes, 0 = OFF (try 5)

改行の処理
0:編集時の改行を無視する(Wiki表記で改行を入れたときのみ改行)。 / 1:編集時の改行も、自動で改行する(<BR />タグが入る)。

$line_break = 1;

見出しごとの編集
0:見出しごとの編集を使わない。 / 1:見出しごとに編集リンク(鉛筆マーク)を表示し、見出し単位で編集可能にする。

$fixed_heading_edited = 1;

スタイルシート(CSS)


PukiWiki Plus!標準のスキンと色使いは、オレンジを基調とした、やたらとハデな色使い。(PukiWiki Plus!公式サイトを参照)

でも私はが好きです。

ということで、青を基調にした色使いに変更。

ページの構成自体はそのままでもよかったので、変更するのはCSSファイルだけ。

変更するのは、skin/default.css ファイル。

試行錯誤しながら何度も変更したので、すでにどういう修正をしたのか覚えていません。

ひとまず、今見えてるようになりました。

色使いはほぼ納得できるものになったけど、一部CSSの反映がおかしい。

見出しの直後にリンクで始まる行リストを作ると、IE6では行間が詰まって表示されてしまう。(このページの、「作業に使用したソフト」「参考資料」の部分など)

スタイルシートやHTMLの構造上は問題ないはずで、原因不明。Dreamweaverのデザイン画面では、ちゃんと行間が開いて表示される。

今後の課題。

あとは、本文と見出しの間が少し開きすぎてるような気もする。

ナビゲーションバー


ページの先頭付近にある、メニューバーの部分を変更。

初期状態の並びは――

ホーム / 編集 / 差分 / バックアップ / 添付 / リロード / 新規 / 一覧 / 単語検索 / 最終更新 / ヘルプ

これを変更して――

ホーム / 新規 / 編集 / 添付 / 一覧 / 最終更新 / 差分 / バックアップ / 単語検索 / ヘルプ

なるべく似た機能で集めるようにしてみた。

メニュー


初期状態では、メニュー欄は出てないので、MenuBarページを作成。

ここもスタイルシートの反映が一部おかしかったりしたので、表示させながら default.css を修正。

メニューの作成に合わせて、MenuBar内にカウンターを設置。

メニューの一番下に、

T:(今日のアクセス数) Y:(昨日のアクセス数)

を表示するようにした。

これは、今日100人気100ページを作るためのもの。

今日100/人気100ページを追加


カウンターの値を元に、アクセスの多い順を表示するページを作成。

今日100は、今日1日分のアクセス順。

人気100は、これまでの累計アクセス数順。

やってることは、popularプラグインを置いてるだけ。

SPAM対策


Wikiは誰でも簡単に編集できるシステムなので、それだけSPAMも多い。blogでもあるコメントSPAMのほかにも、ページ作成/書換えSPAMや、ファイル添付SPAMがあったりもする。

そこで、SPAM対策を追加。

導入したのは、2chのWeb制作板PukiWikiユーザー質問箱」スレで話題に上がっていたspam_filter

インストールの仕方は、「美麻Wikiでシステム的に修正している点 - 美麻Wiki」を参照。

このWikiにインストールしたときは Plus! 1.4.7用パッチ済みファイルにミスがあって、手作業で設定ファイルを変更したけど、すでに修正版が公開済みなので、それを使うのが楽かも。

今は、spam_filterで次のような制限をかけている。
  • 拡張子が「.html」「.htm」の添付を拒否。
  • 内容にWiki記法ではないリンク用タグがあったら拒否。
  • 内容に日本語がない場合、URLが3件以上、またはブラウザ不明のものは拒否。
  • 送信内容にフォームに存在しないはずの項目があったら拒否。
  • ブラックリストにあるURLが書き込まれたら拒否。
  • ブラックリストにあるネームサーバーを使うURLが書き込まれたら拒否。

はじめは、ブラウザ名が不明な書き込みは全て拒否していたけど、それだと自分も書き込めなくなってしまった。

ブラウザにSleipnirを使っていて、ブラウザ情報を出さないようにしているので、それで弾かれたらしい。

セキュリティソフトによってはブラウザ情報を削るものもあるので、ちょっと影響が大きい。

ひとまず、ブラウザの判別は日本語が使われていない場合のみにした。

しばらくはこの状態で様子見。

SPAMが来るようなら、状況を見て追加対応。

作業に使用したソフト

  • FFFTP 1.92b (サーバーへのファイル転送)
  • UTF-8 TeraTerm Pro with TTSSH2 4.53 (シェル作業用)
  • EmEditor 6.00.3 (テキストエディタ,PukiWikiはEUCで書かれたファイルもあるため、EUCの読み書きができるテキストエディタが必要*3
  • Peggy Pro 4.55 (テキストエディタ,簡易Diff機能や正規表現置換が便利,もちろんEUCにも対応)
  • 紙copi 2.61 (表示したページを表示内容のまま取り込むのに使用)
  • Macromedia Dreamweaver 8PukiWikiで表示したページのCSS適用状態を確認するために使用)

参考資料

参考資料


PukiWiki Plus! 公式サイト
美麻Wikiでシステム的に修正している点 (spam_filter.php)
2ch Web制作板 PukiWikiユーザー質問箱 スレ
(書籍)

さくらのレンタルサーバ非公式FAQ
WIKIWIKI.jp* (「よくある質問」が便利)
とほほのWWW入門 (CSSの記述確認)


*1 最上位のプロコースだと、モジュールモードで使用できる。
*2 ディレクトリ=Windowsでいうフォルダ。厳密には違うけど。Windowsでは、フォルダ=エクスプローラーなどから見える「デスクトップ」を頂点にした論理的なファイル構造,ディレクトリ=ドライブ内に格納されている物理的なファイル構造、という違いがある。
*3 シェル上ではviが使えるので、viで編集できるならいらない。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS