ファイルのダウンロード元はネットで再確認し、Apache、PHP、Perlの最新バージョンを取得する。
下記は2021年2月現在のDL先。DL後、以下の設定ファイルを参考にApacheとPHPを設定する。
Windows10(Home or Pro)のディレクトリは以下の通り。
C:/Apache24、 Apache2.4.46 アパッチサーバーフォルダ
...
Perl ActiePerl5.24.3 CGI動作用Perlフォルダ
php5 php5.2.17 2020年まで使用していた旧バージョンPHP
php56 php5.6.40 段階的にアップグレードするための確認用
php74 php7.4.14 段階的にアップグレードするための確認用
php80 php8.0.1 現在使用中のPHPフォルダ
...
usr CGIを動作させるための偽usrサイト、スペルはuserではない
...
D:/Website PHPドキュメントルートフォルダ → ここにWebサイトを設置する。
PATHの設定
コントロールパネル → システムの詳細設定 → 環境変数 → システム環境変数内のPATHを選び、編集
→ PATHの一覧表示 → 新規をクリック → 一覧に C:\php80 を追加する。
→ Perlも同様に、C:\Perl\bin、C:\Perl\site\bin の2つのPATHを追加。
Apache2.4.46 https://www.apachelounge.com/download/
Windows版は本家の apache.com サイトでは配布していないため、上記アパッチラウンジから取得。
x64-Windows版ダウンロードファイル:httpd-2.4.46-win64-VS16.zip
設定ファイル:C:/Apache24/conf/httpd.conf の内容を以下の通り書き換え設定する。
36行:Define SRVROOT "c:/Apache24" #が付いていれば外す
103行:LoadModule cgi_module modules/mod_cgi.so #が付いていれば外す
250行:# DocumentRoot "${SRVROOT}/htdocs" #でコメントアウト
251行:# <Directory "${SRVROOT}/htdocs"> #でコメントアウト
252行:DocumentRoot "D:/Website" 追加して、HPのルートDIRを自宅urlに変更
253行:<Directory "D:/Website"> 追加して、HPのルートDIRを自宅urlに変更
286行:DirectoryIndex index.html index.htm index.php を追加
369行:ScriptAlias / cgi-bin / "D:/Website" cgiのルートDIRを自宅urlに変更
385行:<Directory "${SRVROOT}/cgi-bin"> <... "D:/Website"> 自宅urlに変更する
389行:<Directory...> の下にOptions +ExecCGI を追記
434行:AddHandler cgi-script .cgi .pl #を外し、.pl を追加
540行:末尾行に以下の3行を追加し、PHP80と同期させる
LoadModule php_module "C:/php80/php8apache2_4.dll"
PHPIniDir "C:/php80"
AddHandler application/x-httpd-php .php
C:/Apache24/bin/ApacheMonitor.exe でタスクバーにApacheServiceMonitorを設置し、
タスクバーからServiceMonitorを起動し、Apacheの起動、再起動、停止を行える様になる。
Apacheの自動起動は、コマンドプロンプトを管理者として起動し、cd C:\Apache24/bin へ
ディレクトリを移動後、C:\Apache24\bin>httpd -k install でWinサービスに登録する。
正常に登録されると、Win管理ツール「サービス」で、Apach2.4が「実行中 自動」と表示される。
注:ポートを公開しない限り、外部からサーバーの中を見られたり、攻撃される事はありません。
Visual C++ 2015-2019 クリックでダウンロード → https://aka.ms/vs/16/release/vc_redist.x64.exe
PHP80の動作には、上記の最新版のVisual C++ 再配布可能パッケージが必要。
PHP8.0.1 https://windows.php.net/download/
Windows版のApache用は、VS16 x64 TreadSafe(非NTS)、php-8.0.1-Win32-vs16-x64.zip
設定ファイルは、C:/php80/php.in.developmentをコピーし、ファイル名を php.ini に書き換える。
その後、C:/php80/php.ini の内容を以下の通り書き換え設定する。
719行:default_charset = "UTF-8" ;を外し、"SJIS"に書き換える
745行:include_path = ".;c:\php\includes" Win用の;を外し、phpをphp80に書き換える
767行:extension_dir = "c:\php\ext" Win用の;を外し、c:\php80\ext に書き換える
918行以下の ; を外し、必要に応じて拡張モジュールを追加する
extension=ftp FTP操作関数
extension=gd2 画像処理関数
extension=mbstring 日本語文字列操作、●必須です
extension=exif デジカメ撮影情報操作、mbstringの後に記述する事
extension=mysqli データベース操作
extension=openssl SSL/TSL化に必要
970行:date.timezone = "Asia/Tokyo" ;を外し、Aisa/Tokyoを追記
1627行:mbstring.language = Japanese ;を外す
1665行:mbstring.detect_order = auto ;を外し、SJIS,UTF-8,EUC-JP,JISに変更
設定完了後、Apacheをstartまたはrestartし、ブラウザから http://127.0.0.1/ を呼び出すと
「It Works!」と表示される。
ActivePerl5.24 https://www.activestate.com/products/perl/downloads/
自己解凍ファイルを開き、インストールする、PATHの設定以外は、特に設定は必要ない。
CGIを外部サーバー(我が家はXrea.com)と共通の #!/usr/local/bin/perl で動く様にするために、
C:/usr/local/bin/ を作成し、中にperl.exeだけをコピーして入れておく。
本体のPerlへのPathが通っていれば、Perl.exeはどこに置いていても動作する。
|