dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

xamppとxoopsで自宅サーバーを外部公開して遊ぶ手順

xoops cube 日本サイトのフォーラムに投稿した記事を少し加筆して再掲します。

xamppとxoops自宅サーバーを外部公開して遊ぶ手順をメモしておきます。
xamppやxoops関連の記事を検索しても結構すっきりしなかったので・・・。

<前提条件>
windows7 64bit
・windowsファイアウォールが稼動している
・ルータ有りの自宅内LAN環境
・自宅内LANにおいて当該PCは固定IPアドレス 192.168.**.**
・XAMPP Windows版 1.7.7
XOOPS Cube Legacy 2.2.0
・又は、XOOPS Cube 2.2 Distribution Pack 2012 pack2012rev509rc2.zip

<手順>
<無料ダイナミックDNSDDNS)をゲットする>
家サーバー・プロジェクト(ieServer.Net)にてDDNSをゲット。
DiceのHPからMSI Packageの方をゲットして、定期的にDDNSの登録を更新する仕組みにする。

<xamppをインストールする>
・普通にインストールする。
xoopsから外部にメールを送信できるようにしなければならないが、自宅内LANからPHPのmail()関数やsendmailで外部の認証が必要なSMTPサーバー(googleとか)を利用することは不可能なので、mercuryの使用が必須。
・xamppのコントロールパネルからmercuryを起動して、Adminボタンを押す。
 Configuration→MercuryS SMTP Server→Connection control にてRelaying control のチェックを全部外す。
・C:\xampp\apache\conf\httpd.conf をテキストエディタで開き、
 176行目付近のサーバー名の指定を書き換える。
  ServerName [上でゲットしたDDNS]:80
・C:\xampp\php\php.ini をテキストエディタで開き、
 516行目付近のerror_reportingを
   error_reporting = E_ALL & ~E_NOTICE
 1002行目付近のdate.timezoneを
   date.timezone = Asia/Tokyo
 に書き換える。
・ブラウザからhttp://localhost/xampp/ にアクセスし、セキュリティ関係の設定をする。
 セキュリティページの中段にあるhttp://localhost/security/xamppsecurity.php のリンクから、MYSQL のroot のパスワードを設定する。
 ついでにXAMPPのディレクトリ制御の方もユーザとパスワードを設定する。
・C:\xampp\htdocs  直下のファイル(フォルダーではない)を全部消すか、全く別の所に移す。

<hostsにDDNSを追加>
・C:\Windows\System32\drivers\etc\hosts をテキストエディタで開き、DDNSとPCの固定IPアドレスを紐付ける。
  192.168.**.**  [上でゲットしたDDNS]

<ルータの設定>
・外部からのHTTP(TCPポート:80)アクセスを当該PCに繋ぐために、ネットワーク設定でアドレス変換テーブルを作成し、設定する。

xoopsをインストールする>
xoopsのファイルを配置する。
  例えば、
    C:\xampp\htdocs\xoops\ の下に、htmlの下のファイルを、
    C:\xampp\xoops_trust_path\xoops の下に、xoops_trust_pathの下のファイルを
  コピーする。
・xamppのコントロールパネルからApacheMySqlとMercuryを起動する。
・ブラウザからhttp://localhost/xoops/ にアクセスする。
・はい、はい、はい、と進めればインストールが進む。
 「データベース、およびパス・URLの設定」のページが重要。
  データベースサーバのホスト名: localhost
  データベースユーザ名:     root
  データベースパスワード:    上で設定したパスワード
  データベース名:        例えば xoops とする。
  XOOPS Cubeへのパス:
   上記の例では C:/xampp/htdocs/xoops となる。
  XOOPS_TRUST_PATH へのパス:
   上記の例では C:/xampp/xoops_trust_path/xoops とする。
  XOOPS CubeへのURL:
   上記の例では http://[上記でゲットしたDDSN]/xoops とする。
・後は指示に従って進めるのみ。

以上で当該PC及び、外部からは http://[上記でゲットしたDDSN]/xoops で繋がります。
LAN内の他のPCからアクセスする場合はhosts に上記同様追記するしかないでしょう。
尚、最新のDNSサーバ機能付きルータの場合はこの限りではないかもしれません。

注意:
 外部公開するということはハッキング行為を受ける可能性が大ですから、セキュリティ対策について勉強して万全を期すか、どうでもよいPCでお遊びとするかの選択が必要です。
あくまでも自己責任でどうぞ。