トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

BugTrack-plugin/218

ページの作成や編集にはユーザ登録が必要です。

初期設置用のスクリプト(Perl版)

  • 投稿者: あき
  • カテゴリ: 新規
  • 優先度: 低
  • 状態: 提案
  • 日時: 2005年07月03日 23時28分16秒

 内容

FSWikiCGIの面倒な初期設定を可能な限り自動で行ってしまおう、という発想の元で作成した環境構築&初期設定ツールです。

初期設置用のスクリプトを参考に、より初心者にも手軽に導入できるように、との思いを込めて作成しました。デフォルトページの作成等、少し過保護過ぎるくらいの設定までやってしまっています。(初心者の方には、これくらいやってあげた方が親切なのかな、と思いましたので・・・)

設定ファイル(setup.dat)の設定内容に従ってチェック及び環境構築を行いますので、デフォルトの構成以外でも利用できます。(リリース後暫くはバグがある可能性も高いのであまり強くは言えませんが、)既に構成された動作中の環境で実行することで、安全性をより高められるかもしれません。

初心者、及び中級者の初期導入時の負担を軽減できれば幸いです。

  • 必須ディレクトリを自動生成します。
  • .htaccessファイルを自動生成します。
  • パーミッションを設定します。
  • デフォルトページ(Menu, Header, Footer)を自動生成します。
  • CGIスクリプト(wiki.cgi)の先頭行をチェックし、必要であれば正しいパスに差し替えます。
  • UNIX系、Windows系の両方で動作します。

以下、スクリプト内のヘルプからの抜粋です。

【起動パラメータ】
 setup.pl [ -h ] | [ <cgi_fname> ]
   [ -h ]            ヘルプ詳細表示(指定時、他のパラメータは無視されます)
   [ <cgi_fname> ]   FSWikiCGI名(省略時、対話式。デフォルト「wiki.cgi」)

【機能概要】
FSWikiの初期実行環境を設定します。
設定ファイル(デフォルト名:setup.dat)の設定内容に従ってチェック及び設定
を行います。
.htaccessファイルや、デフォルトページ(Menu, Header, Footer)を自動生成
します。
CGIスクリプト(デフォルト名:wiki.cgi)の先頭行をチェックし、必要であれば
差し替えます。
CGIスクリプト(デフォルト名:wiki.cgi)と設定ファイル(デフォルト名:
setup.dat)の関係が正しければ、各種ディレクトリ構成や、ファイル名を
変更していても動作します。

 1. CGIスクリプトの存在確認
    カレントディレクトリにCGIスクリプトが存在するか確認します。
 2. 設定ファイル(setup.dat)の所在取得
    wiki.cgiのソースを参照し、setup.datの所在を取得します。
 3. 必須ディレクトリ生成
    setup.dat の設定に従って、ディレクトリ(backup, attach, pdf, log)
    を生成します。
 4. 各種ディレクトリの存在確認
    setup.dat の設定に従って、ディレクトリ(lib, data, backup, attach, pdf, 
    tmpl, log, theme, config, plugin)の存在を確認します。
 5. wiki.cgiの先頭行確認
    wiki.cgiの先頭行に、実行可能なPerlのパスが指定されているか確認します。
    正しいパスが指定されていない場合はwiki.cgiを差し替えます。
 6. .htaccessファイル生成
    apacheサーバ用に、.htaccessファイルを生成します。
 7. デフォルトページ生成
    デフォルトページとして、Menu, Header, Footer を生成します。
 8. パーミッションの設定
    UNIX系環境では、各ディレクトリ及び各ファイルのパーミッションを設定しま
    す。(Windows系環境の場合無視されます)

【注意事項】
 CGIスクリプト(デフォルト名:wiki.cgi)とlibディレクトリが存在する
 場所に本スクリプト(setup.pl)を置いて、その場所で実行して下さい。

【使用例】
 setup.pl  wiki.cgi

 更新履歴

setup.pl(1107)
初版リリース。
setup_rev01.zip(1689)
下記不具合修正。(初版のままでも、通常は特に問題ありません)
  • Windowsのcygwin上ではOSの判定をUnixと判定し、メッセージをEUCコードで出力してしまっていた。
  • ./lib/Jcode.pmが存在しないと、動作しなかった。
  • .htaccessの閲覧を拒否するファイル名拡張子に「bak」「tmpl」を追加
  • エラー発生時(必須ディレクトリ非存在時、ディレクトリ作成失敗時)に、エラーは表示するが、そのままスルーして正常終了になる不具合があった。
  • サイドメニューの「プラグインは存在しません。」の位置変更。←編集し易い位置に移動しただけ

 ライセンス

GPLでお願いします。

 対応バージョン

3.5.7、3.5.8で動作確認しました。3.5.X系なら動作すると思います。

 コメント

  • 作成途中段階ではUNIX環境でも動作確認してましたが、リリース時点ではUNIX環境での確認は行えておりません。明日にでも確認します。 - あき (2005年07月03日 23時35分28秒)
  • スクリプトですが次の環境で動きました.Vine Linux 3.1,FSWiki 3.5.8.設定がかなり楽になりました.初心者向けによいですね. - katsu03 (2005年07月04日 00時54分03秒)
  • さっそくのコメントありがとうございます。どんなに素晴らしいツールでも、設置に手間取るようでは核心に触れる前に挫折してしまう人もいるでしょうからね。理想は、コマンド一つでFSWikiを稼動させられるようになることです。 - あき (2005年07月04日 07時50分59秒)
  • UNIX環境でも動作確認しました。特に問題はありませんでした。 .htaccessの設定がまだ甘い気がしますが、折々対応していきます。 - あき (2005年07月04日 10時31分55秒)
  • FSWiki 3.5.8,PlamoLinux3.3ベースの環境で利用させていただきました。"perl setup.pl"として実行しました。大変便利です。 - oi21 (2005年07月05日 22時46分31秒)
  • 何点か修正しました。修正内容については更新履歴をご覧下さい。setup_rev01.zip です。 - あき (2005年08月01日 23時26分49秒)
  • 皆様のご意見をお寄せ下さい。デフォルトページの(勝手な)自動生成等、現状のまま、あった方がよいでしょうか? それとも、ユーザに選択を促す方が親切でしょうか? 新規ユーザの導入時の負担を少しでも減らしたいと考えています。気が付いたことがあれば何でもご意見・ご要望、よろしくお願い致します。 - あき (2005年08月01日 23時34分32秒)
  • いつの間にか「状態」が完了になっていました。コメントに記入がありませんので、誰かが誤って変更したのだと判断し、元に戻しておきます。 - あき (2005年08月01日 23時38分51秒)
  • カレンダと掲示板を追加して使っています。参考にならないと思いますが、変更内容を添付しておきます。oi21_change.txt - oi21 (2005年08月12日 10時55分37秒)
  • プラグインのtag2も入れてます。これが最初からあると重宝します。 - oi21 (2005年08月12日 11時03分46秒)
  • tag2プラグインを最初から、というのは不可です。tag2プラグインは標準添付のプラグインではありませんので・・・。ですが、これだけ要望があるということは、やはりこういった方向への展開も考えるべきなのかもしれませんね。考えてみます。 - あき (2005年08月14日 20時59分29秒)
  • すみません、レンタルサーバー(たとえばAAA!CAFEなど)でも出来るものなのでしょうか? - フク (2005年09月01日 22時08分04秒)
  • 現状ではシェルが解放されていないと利用できませんね。cgi版を作れば利用できる様になると思いますが... - typer (2005年09月01日 22時28分28秒)
  • そうですか、残念。更なるバージョンアップを期待してます。 - フク (2005年09月01日 22時50分10秒)
  • はあ、期待されちゃった。(^o^) CGI版かぁ、技術的にセキュリティ面をうまくカバーできるのか、その辺が未知数なんですよね。何が可能なのも、分かんないし…。でも、実際対応してるツールもあることだし、挑戦してみる価値があるのかな?UTF文字コードへの対応も結局おろそかになってしまってるし…。(おぉー駄目だ、最近何もかも中途半端になりつつある。←いや、その前にいろんなのに手出し過ぎ)ですが、計画には入れておきます。 - あき (2005年09月02日 00時12分11秒)
  • D:/usr/Apache2/htdocsで展開し、 setup.plを実行した結果エラーになります。考えられる理由はなんでしょうか?(エラーには“本スプリクトの存在するディレクトリーで実行してください”となってますが、ディレクトリーは同じ場所です)なお、OSはWinXP Proです。 - 深水 (2005年09月23日 22時18分36秒)
  • FSWikiの全ファイルコピーした場所、setup.plをコピーした場所、setup.plを実行した場所、全てが「D:/usr/Apache2/htdocs」で合ってますでしょうか? 上記エラーは、setup.plをパス指定で実行した場合に出るエラーです。setup.plが存在する場所に移動して「perl setup.pl」を実行して下さい。「perl ./setup.pl」では駄目かもしれません。 - あき (2005年09月24日 11時04分47秒)
  • 全て、同じディレクトリーです。あと、「perl setup.pl」では”内部・外部コマンド操作可能プログラム・バッチファイルとして認識できません”と出るので、実行はファイル指定のみで「setup.pl」で行った結果のエラーです。 - 深水 (2005年09月24日 17時50分05秒)
  • なるほど、再現しました。Windows上では挙動が異なるのですね。(余計な制限を設けないように)当スクリプトの改造が必要です。ただ、「perl setup.pl」でエラーが出る件に関しては、Perlが上手くインストールされているか疑問です。(パスが通っていませんね) 暫定対応として、「\usr\bin\perl.exe setup.pl」のように、Perlの実行ファイルをフルパスで指定して実行してみて下さい。 - あき (2005年09月25日 21時05分08秒)
  • 対応ありがとうございました。Perlを指摘どおり、フルパスで指定した結果、実行できました。再度、Perlのインストールを行ったのちに「Perl setup.pl」で可能かを見てみます。対応ありがとうございました - 深水 (2005年09月25日 23時24分54秒)
  • パスを通すか否かは、インストール時にチェックボックスで選択できますね。「Choose Setup Options」という画面で「□Add Perl to the PATH environment variable」をチェックしていないと追加されないようです。 - あき (2005年09月27日 12時01分50秒)
  • wiki.cgiが書き換える際、文字化けする(?)らしく、wiki.cgiの記述が正しく行われない現象が出ました。おそらく私の環境の問題だとは思いますが、文字化け関係って難しいっすね;; - もんぷち (2005年11月10日 23時53分32秒)
  • 実行すると表示される内容が文字化けする、ということでしょうか? Unix系のシステムでしたら「perl setup.pl | nkf」などとすると一応表示できるようになるはずです。(おそらくですが…) 文字化けしてても、CGIがwiki.cgiっていうデフォルト名なら単にEnterキー押すだけで正しく動作しますので、もしよろしければ試してみて下さい。今これのCGI版を作成しています。CGI版なら文字化けは無いはずです。設計で悩みすぎて殆ど進んでないのですが…。1日でも早く公開できれば、と思っています。 - あき (2005年11月11日 00時25分40秒)
  • ん? でも読み返してもみると何だか症状が違う気がするなぁ・・・。「wiki.cgiが書き換える際」ってどのような動作のことをを仰っているのでしょうか? - あき (2005年11月11日 00時28分09秒)
  • 本スクリプトのCGI版を作成しました。BugTrack-plugin/252です。 - あき (2006年01月24日 06時58分44秒)
お名前: コメント:
oi21_change.txt setup.pl setup_rev01.zip

最終更新時間:2007年03月07日 00時29分02秒