自分のパソコンをサーバに







Apache



JAPAN Apache USERS GROUP


これを入れたパソコンはサーバーとして使えます。




ダウンロードのページからファイルをダウンロードします。ソースからコンパイルする環境がない人は迷わず、EXEファイルやMSIファイルになっているものを選ぶべし。Index of /dist/httpd/binaries/のなかに各OSごとのファイルがあります。ダブルクリックで簡単インストールです。


そしてインストールが済んだら次に設定を変えます。
C:\Program Files\Apache Group\Apache\conf\httpd.conf をエディターで開く。
そして次の個所を変更する。


# 「DirectoryIndex」に「index.php」を追加
DirectoryIndex index.html index.htm index.cgi index.php

# 「AddType xxx」がたくさん書かれているあたりに以下の行を追加
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php "/php/php.exe" 
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl

#php5とApache2を使用する場合は「LoadModule」がたくさんかかれているあたりに以下の行を追加
LoadModule php5_module c:/php/php5apache2.dll

#Perlまでのパスを設定します。

#   #!c:/program files/perl/perl
#        ↓
    #!c:/Perl/bin/perl


#Perl/CGIを実行できるディレクトリを変更します。
#
#    ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"
#       ↓
     ScriptAlias /cgi-bin/ "C:/www/cgi-bin/"


#それに伴い、ディレクトリの属性を設定する箇所も変更します。

#    <Directory "C:/Program Files/Apache Group/Apache/cgi-bin">
#       AllowOverride None
#       Options None
#       Order allow,deny
#       Allow from all
#   </Directory>
#        ↓
    <Directory "C:/www/cgi-bin">
        AllowOverride None
        Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>


#拡張子が「cgi」「pl」であればPerlを実行するよう設定します。

    # To use CGI scripts:
    #
    #AddHandler cgi-script .cgi
        ↓
    # To use CGI scripts:
    
    AddHandler cgi-script .cgi .pl


#ドキュメントルートを変更します。

#   DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs"
#   ↓
    DocumentRoot "C:/www/cgi-bin/"

#それに伴い、ディレクトリの属性を設定する箇所も変更します。

#   <Directory "C:/Program Files/Apache Group/Apache/htdocs">
#   ↓
    <Directory "C:/www/cgi-bin/">




<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
   ↓
<Directory "C:/www/cgi-bin/">
    Options FollowSymLinks
    AllowOverride None
</Directory>






これを上書きしたあと、Apachを再起動します。(スタート→プログラム→Apach HTTP Server → Control Apach Server →Restart)

PHP5の場合はモジュールがロードされないかなにかでエラーになるのでPHPを入れた後でテストします。

また、たとえばC:\www\cgi-bin というフォルダーを作ります。(フォルダーは自分の好きな名前を付けて好きな場所においてもかまいません。今回はC:\www\cgi-binというフォルダーを使って説明します。フォルダー名や場所を変更した場合は上の該当個所も変更してください。)
そして、自分が設定したフォルダーにおいたファイルがちゃんと見えれば完了です。試しに次のソースをindex.htmlで保存してフォルダーの中に入れてみましょう。


サンプルソース

<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=SHIFT_JIS">
    <title>サンプルソース</title>
  </head>
<body>
<h1>Apacheインストール大成功!!!</h>
</body>
</html>



ブラウザーのアドレス欄に http://localhost と入力してみましょう。先ほどのファイルが以下のように見えたらインストール完了です。







PHP



ついでにPHPも入れちゃいましょう。


PHP

ここのサイトからzip packageというファイルをダウンロードします。packageとついたファイルで無いと肝心のdllが入ってない〜といって慌てることになります。(経験済み)

インストールの方法は


まず C:\php というフォルダを作成します。 ダウンロードしたファイルを解凍します。
解凍後、C:\phpにすべてのファイルを移動します。
次に C:\php\php.ini-dist を Windows へコピーします(C:\windows)。NT系は WINNT へコピーします。
コピーしたphp.ini-dist のファイル名を php.ini に変更します。
それから C:\php\php4ts.dll(php5で、MySQLを使用する場合はphp5ts.dllとlibmysql.dll)をSystemディレクトリ(C:\WINNT\system32 or C:\windows\system32 or C:\windows\system)へコピーします。
次に先ほどのphp.iniをエディタで編集します。お勧めはTeraPadです。Vectorで探してください。検索が楽です。




; 「Off」を「On」へ変更
output_buffering     = Off

; 「On」を「Off」へ変更
magic_quotes_gpc = Off

; 変更
default_charset      = "Shift_JIS"

; 変更 PHP4
extension_dir = C:/php/extensions
;php5の場合はextension_dirを以下のように指定
extension_dir = "c:/php/ext"

; コメントを外す
extension=php_mbstring.dll

;Pearを使う場合以下に変更
include_path = ".;c:/php/includes;c:/php/pear"

;php5の場合extensionがいっぱい並んでいるところで使用するDBソフトを指定する
MySQLの場合以下のコメントアウトをはずす
extension=php_mysql.dll
PostgreSQLの場合以下のコメントアウトをはずす
extension=php_pgsql.dll


; 変更
; ここは初期値でコメントになっているので注意。
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input  = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none





*コメント −−− 行の頭にある特定の文字によってプログラムから無視されるもの。コメントにすると作者名やホームページアドレス、覚え書きを書くことができる。普段使わないものもコメントになっていることがあるので、使うときは『コメントをはずす』行の頭の1文字を削除すればつかえるようになる。コメントにする文字はプログラムの種類によって『//』や『#』などを使ったりする。見分け方は、なんだか意味がしっかりわかるような文章の前に必ずついている。だからすぐわかると思います。



そして、先ほど作ったindex.html のソースを以下のように書き換えます。

書き換え後

<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=SHIFT_JIS">
    <title>サンプルソース</title>
  </head>
<body>
<h1>PHPインストール大成功!!!</h>
<?php 
echo "今の時刻:" .date("Y/m/d H:i:s");
?>
</body>
</html>



そしてファイルの拡張子を変えます。index.htmlをindex.phpにします。
そして、またhttp://localhostにアクセスすると







Perl



も一つついでにPerlも入れちゃいましょう。

Active Perl



このページからダウンロードのコーナーを探して、MSI形式のファイルをダウンロードしてください。ダブルクリックでインストールが始まります。使用許諾事項に同意した後は全部Nextですすんでいってかまいません。(そのほうが後で楽です。慣れてきてから変更しましょう。)インストールが終わるとC:\Perlというフォルダーができています。その中にあるC:\Perl\bin\perl.exe というのがPerlの実行ファイルです。先ほどApacheで
#Perlまでのパスを設定します。

#   #!c:/program files/perl/perl
#        ↓
    #!c:/Perl/bin/perl
というように変更しましたが、意味はperl.exeのある場所を指定しているということです。もし、perl.exeのインストール先が違う場所に設定されたのであればこちらも変更してください。
そして、Apacheを再起動すると完了です。
C:\www/cgi-bin/フォルダーの中に入れたCGIが動作するようになります。


CGIのソースの一番最初に#!/Perl/bin/perlを入れてください。(もし perl.exeと cgiを別ドライブに置くのなら #! d:/usr/local/bin/perl のような記述になります)


もしも、CGIが動かずに403 Forbiddenが出た場合、httpd.confをまた編集します。


#httpd.confの#Directory部分 
#上の方に有る 
#<Directory />
#Options FollowSymLinks 
#AllowOverride None 
#</Directory>

#を以下のように書き換えます 
<Directory "c:/www/cgi-bin">
Options All 
AllowOverride All 
</Directory>




CGIのソースはネット上にたくさん公開されていますので、そちらを使ってください。

こうなると自サーバーでのホームページ運用も視野に入ってくるか・・・?

でもまだ、セキュリティーとか、ハングアップしたときの対応やら、無停電電源やらの知識やらの勉強をしていないので、まだまだこれからだなぁ〜。なんたって今入れたばっかりなんだから。

自サーバー運用のホームページ

宗次郎ライブ

犬の宗次郎さんの一日・・・。24時間ライブカメラです。なごむ・・・。ライブするページだけ自サーバー運用だそうです。(ほかのページはプロバイダーのスペース。)

「鷹の巣」の自宅サーバー

ここでいろいろお勉強をしなきゃ・・・。

当分PHPとCGIの実験場だけになる予感。




セキュリティーや無停電電源の用意が面倒ってときはホスティングっていう手も。


【SSLサーバ証明書】個人でも利用可能! クイックSSLプレミアム

今はやりのネットショップをひらくならSSLをつけると信用がアップ。こういう会社で取得するのもいいかも。

女の子お絵かき掲示板ナスカiPhone修理