WindowsにApache 2.4.37をインストール

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

本記事は「Windows11開発環境の構築ガイド : PHP / WEBアプリ開発 編」です。

PHPでWEBシステム / WEBアプリを開発していくにはWEBサーバが必要になります。
WEBサーバーにはApacheのほかnginxなど選択肢はあるのですが、一般的なレンタルサーバに導入しやすくするため Apache を採用しています。

本記事はWindows11ではなくWindows10を用いた説明になっています。
Windows10 も Windows11 も手順は同じですので「Windows10」の個所を「Windows11」と読みかえて進めてください。

本記事の特徴

Apache 2.4.37のインストール

本記事ではApacheのインストールについて扱います。

ZIPファイルによるインストールとします。インストーラによるウィザード形式でのインストールではありません。

Windows10へのインストール

本記事ではWindows10へのインストールを行っていきます。
※Windows11でも同じ手順で進めることができます。

VMware、VirtualBox、Dockerのような仮想環境だったり、物理的なLinuxサーバを立てたりせずにWindows機一台でLAMP環境を完結させます。
あ、LAMPじゃなくってこの場合WAMPですね。

複数バージョンの共存

共存させる意味については下記をご覧ください。
開発環境を構築する上での考え方

ただ僕の使い方では、Apacheを複数バージョン共存する必要がありませんでした。
現在は2.4系だけを動かしている状態です。

Apacheそのものを研究しているときは複数バージョン入れると便利かもしれません。

Apacheを利用して動くもの、PHP、Perl、html、css、javascript、rubyなどがメインならApacheは1つだけでバーチャルホストで分ければ良いですね。

ということで当サイトとしては共存させる可能性を残しつつ、対応自体は必要になったら考えようと思います。

前提

本記事は制作・開発や動作確認などローカル環境での用途を目的としています。
本番サーバへの利用を考えている場合は本記事の内容に加えセキュリティ対応など必要な処置を行ってください。

Windows10 Pro 64bit へのインストールを行います。
そのため、ダウンロードファイルの選択などで「64bit」を選択する場面があります。
お使いのパソコンが32bitの場合は読み替えてご覧ください。

※Windows 11 からは「32bit」が無くなり「64bit」だけになりましたので、「64bitを選ぶ」という選択も無くなっています。もし必要なときは「64bit」を選択してください。

ダウンロード

Windows版は、Apache Loungeからダウンロードします。
http://www.apachelounge.com/

※古いバージョンのダウンロード方法を調べていたのですが、古いバージョンのダウンロードは用意されていないようです。
バージョンが上がり、2.4.37 が無くなっていても、2.4.xx のバージョンであれば同じように進めていけると思います。

左メニューの「Downloads 」をクリックします。

左メニューに、VC15、VC14、VC11が選べます。
本記事ではVC15を選択して進めていきます。

VC15を選択する理由は、PHPをCGI版としてインストールする予定であることと、単純に新しい方が良いということです。

VCの意味は次のとおりでコンパイルするのにどのVisual Studioのバージョンを使ったかということです。

  • VC15 ・・・Visual Studio C 2017
  • VC14・・・ Visual Studio C 2015
  • VC11・・・ Visual Studio C 2012

PHPをモジュール版でインストールする場合は、PHPのほうのVCと合わせて考える必要があります。
でも、PHPを複数バージョン同居するつもりなので本記事の趣旨としてはモジュール版の選択は無いことになります。

「httpd-2.4.37-win64-VC15.zip」をクリックします。

「名前を付けて保存」になりますので、ダウンロードフォルダを選んで「保存」をクリックします。

インストールする場所について

インストールする場所は好きな場所で構いません。
本記事では説明のため次の場所にインストールすることにします。

フォルダ名はzipと同じ名前にします。

httpd本体 (app)

G:\app\httpd-2.4.37-win64-VC15

本体とは基本的にzipを解凍したそのままのファイルです。

ユーザーデータ (app_data)

G:\app_data\httpd-2.4.37-win64-VC15

ユーザーデータは、データファイルそのものやログファイルなど新しく作られていくファイルになります。

本記事では本体とユーザーデータを分けますが、分けない場合は好みの場所で(本体と同一ディレクトリでも)大丈夫です。

インストール

解凍して配置

ダウンロードした「httpd-2.4.37-win64-VC15.zip」を本体のフォルダにそのまま解凍します。

下図のようになります。

パス設定の変更と追加

次のファイルを編集します。好みのテキストエディタを使ってください。

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

httpdの場所を変更

「Apache24」のパスを変更します。
フォルダの区切り \ (円記号)は / (スラッシュ)に変えます。

# Define SRVROOT "c:/Apache24"
Define SRVROOT "G:/app/httpd-2.4.37-win64-VC15/Apache24"

データフォルダ用の定数を追加

「USER_DATA_ROOT」という独自の定数でデータフォルダのパスを設定します。

Define USER_DATA_ROOT "G:\app_data\httpd-2.4.37-win64-VC15"

ログの出力先を変更

ログフォルダの新規作成

ログはデータフォルダに出すようにします。
logs フォルダを作成していない場合はエクスプローラから作成しておきます。作成していないとhttpdの起動時にエラーで起動できません。

G:\app_data\httpd-2.4.37-win64-VC15\logs

httpd.confの変更

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

元の内容は # でコメントにして残し、次の行に新しい設定を加えます。
行番号は追加後の行番号です。

# ErrorLog "logs/error.log"
ErrorLog "${USER_DATA_ROOT}/logs/error.log"
# CustomLog "logs/access.log" common
CustomLog "${USER_DATA_ROOT}/logs/access.log" common
#CustomLog "logs/access.log" combined
#CustomLog "${USER_DATA_ROOT}/logs/access.log" combined
Include conf/extra/httpd-mpm.conf

extra\httpd-mpm.confの変更

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\extra\httpd-mpm.conf
# PidFile "logs/httpd.pid"
PidFile "${USER_DATA_ROOT}/logs/httpd.pid"

extra\httpd-ssl.confの変更

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\extra\httpd-ssl.conf
#SSLSessionCache        "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
SSLSessionCache        "shmcb:${USER_DATA_ROOT}/logs/ssl_scache(512000)"
#SSLStaplingCache "shmcb:${SRVROOT}/logs/ssl_stapling(32768)"
#SSLStaplingCache "shmcb:${USER_DATA_ROOT}/logs/ssl_stapling(32768)"
# ErrorLog "${SRVROOT}/logs/error.log"
ErrorLog "${USER_DATA_ROOT}/logs/error.log"
# TransferLog "${SRVROOT}/logs/access.log"
TransferLog "${USER_DATA_ROOT}/logs/access.log"
# CustomLog "${SRVROOT}/logs/ssl_request.log" \
CustomLog "${USER_DATA_ROOT}/logs/ssl_request.log" \

extra\httpd-vhosts.confの変更

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\extra\httpd-vhosts.conf
# ErrorLog "logs/dummy-host.example.com-error.log"
ErrorLog "${USER_DATA_ROOT}/logs/dummy-host.example.com-error.log"
# CustomLog "logs/dummy-host.example.com-access.log" common
CustomLog "${USER_DATA_ROOT}/logs/dummy-host.example.com-access.log" common
# ErrorLog "logs/dummy-host2.example.com-error.log"
ErrorLog "${USER_DATA_ROOT}/logs/dummy-host2.example.com-error.log"
# CustomLog "logs/dummy-host2.example.com-access.log" common
CustomLog "${USER_DATA_ROOT}/logs/dummy-host2.example.com-access.log" common

mod_expires モジュールを有効化

ExpiresActive、ExpiresByType、ExpiresDefault と Cache-Control の max-age このあたりの設定を行えるようにします。

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

先頭の # を削除します。

LoadModule expires_module modules/mod_expires.so

mod_headers モジュールを有効化

X-Frame-Optionsレスポンスヘッダを使えるように有効化します。

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

先頭の # を削除します。

LoadModule headers_module modules/mod_headers.so

mod_rewrite モジュールを有効化

RewriteEngineを使えるように有効化します。

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

先頭の # を削除します。

LoadModule rewrite_module modules/mod_rewrite.so

SSL有効化

設定の変更

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

先頭の # を削除します。

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so

530行目はもともとコメントになっていると思います。
httpd-ssl.conf はデータフォルダのほうに作ることにします。

#Include conf/extra/httpd-ssl.conf
Include "${USER_DATA_ROOT}/conf/httpd-ssl.conf"

httpd-ssl.confの作成

次のテキストファイルを作成します。

G:\app_data\httpd-2.4.37-win64-VC15\conf\httpd-ssl.conf

次の内容にします。

Listen 443

SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

SSLHonorCipherOrder on 

SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3

SSLPassPhraseDialog  builtin

SSLSessionCache        "shmcb:${USER_DATA_ROOT}/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

これは、extra\httpd-ssl.conf をコピーしてきて、<VirtualHost default:443> から </VirtualHost> の範囲を削除し、 # で始まるコメント行を取り除いたものと同じです。

cgi-binを無効にする

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

先頭に # を付けて無効化します。

# ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
# <directory "${srvroot}="" cgi-bin"="">
#     AllowOverride None
#     Options None
#     Require all granted
# </directory>

インストールファイルの作成と実行

インストールファイルの作成

次のテキストファイルを作成します。

G:\app\httpd-2.4.37-win64-VC15\install.bat

次の内容にします。

@ECHO OFF

SET BIN_TARGET=%~dp0/Apache24/bin/httpd.exe

g:
%BIN_TARGET% -n"httpd2.4.37" -k install

pause

5行目 Gドライブにあるので g: しています。環境により変えてください。

6行目 -n で「httpd2.4.37」の名前で実行するようにしています。
タスクマネージャーとかにはこの名前で出てきます。

インストールの実行

作成した install.bat を右クリックして「管理者として実行」します。

実行するとコマンドプロンプトが開いて↓のように出てきます。

とりあえずインストールは成功しています。

ただ、httpd.conf に設定忘れがあったのでエラーになってますね・・
ServerName を加えておきます。

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf
#ServerName www.example.com:80
ServerName localhost

アンインストールファイルの作成

インストールファイルを作ったのでアンインストールファイルも作っておきます。こちらはアンインストールの必要ができてからでも構いません。

次のテキストファイルを作成します。

G:\app\httpd-2.4.37-win64-VC15\uninstall.bat

次の内容にします。

@ECHO OFF

SET BIN_TARGET=%~dp0/Apache24/bin/httpd.exe

g:
%BIN_TARGET% -n"httpd2.4.37" -k uninstall

pause

5行目 Gドライブにあるので g: しています。環境により変えてください。

今はアンインストールしないので、実行はしません。

ステータス確認ファイルを作成

httpd -S をバッチファイルにしたものです。

次のテキストファイルを作成します。

G:\app\httpd-2.4.37-win64-VC15\httpd_-S.bat

次の内容にします。

@ECHO OFF

SET BIN_TARGET=%~dp0/Apache24/bin/httpd.exe

g:
%BIN_TARGET% -S

pause

5行目 Gドライブにあるので g: しています。環境により変えてください。

こちらは普通にファイルをダブルクリックすると、結果が出てきます。

Apache Monitorのショートカットを作成

ApacheMonitorを起動しやすい場所に置きます。

G:\app\httpd-2.4.37-win64-VC15\Apache24\bin\ApacheMonitor.exe

こちらのファイルを右クリックして「ショートカットの作成」を選択します。

ショートカットファイルができるので、好みの場所に移動します。

G:\app

こちらにも置いておくと便利です。
下図はショートカットファイルを「ApacheMonitor」にリネームしています。

起動と停止と再起動

ApacheMonitorの起動

ApacheMonitorを起動していない場合は、↑で作ったショートカットファイルをダブルクリックして起動します。

タスクバーのところにアイコンが出てるので、右クリックして「Open Apache Monitor」をクリックします。
※左クリックだとメニューが異なります

Apache Service Monitor が起動しました。

Service Status のところに「httpd2.4.12」が見えているのは、
「httpd2.4.12」 と 「httpd2.4.37」 の両方がインストールされているからです。

詳しくは「Apache 2.4.12 から Apache 2.4.37 にアップデート」をご覧ください。

httpd2.4.37を手動で起動する

ということで起動してみます。

「httpd2.4.37」のほうをクリックして選択しておいて、右のボタンから「Start」をクリックします。

起動したらブラウザから、 http://localhost/ もしくは
http://127.0.0.1/ で確認してみます。

「It works!」と表示できたらOKです。

httpd2.4.37を手動で再起動する

起動と同じ要領で、Apache Service Monitor から「Restart」ボタンをクリックします。

設定ファイルを書き換えたりしたときは、ここから再起動します。

httpd2.4.37を手動で停止する

起動と同じ要領で、Apache Service Monitor から「Stop」ボタンをクリックします。

自動起動の設定

Windows10の起動と同時にApache2.4.37が自動で起動するように設定します。

Apache Service Monitor の右の「Service」ボタンをクリックします。

サービスの画面が出ますので、「httpd2.4.37」を選択して「スタートアップの種類」を「自動」にします。

この図では、httpd2.4.12 も同居している状態です。
httpd2.4.12 は自動起動しないように「無効」にしています。

※本記事では、同居というか「切り替えて使う」という意味でしています。2つのバージョンを同時に起動したい場合はポートの設定でいけると思いますが本記事の目的から外れますので説明は省きます。

バーチャルホストを有効にする

ディレクトリの作成

次のディレクトリを作成します。

G:\app_data\projects
G:\app_data\projects\exampl.com
G:\app_data\projects\exampl.com\logs
G:\app_data\projects\exampl.com\public_html
G:\app_data\projects\exampl.jp
G:\app_data\projects\exampl.jp\logs
G:\app_data\projects\exampl.jp\public_html
G:\app_data\projects\exampl.net
G:\app_data\projects\exampl.net\logs
G:\app_data\projects\exampl.net\public_html
G:\app_data\temp
G:\app_data\ssl
G:\app_data\vhosts
G:\app_data\www
G:\app_data\www\default
G:\app_data\www\default\logs
G:\app_data\www\default\public_html

次のようになります。

それぞれ次のように使い分けます。

projects案件ごと、ドメインごとのデータ。ドキュメントルートもこの下になる。
ssl証明書ファイル(crt、key)
tmep一時ファイル
vhostsバーチャルホストの設定。1ファイル1ドメイン。
wwwその他web関係

httpd-vhosts.conf の作成

データフォルダのほうに、次のテキストファイルを作成します。
本体にある conf/extra/httpd-vhosts.conf は使いません。

G:\app_data\httpd-2.4.37-win64-VC15\conf\httpd-vhosts.conf

次の内容にします。
コメントのところは今は有効にせずにコメントのままにしておきます。
あとで行う作業のときに説明いたします。

# Virtual Hosts

#############################################################
#       default directory
#############################################################
<directory "G:/app_data/www/default/public_html">
    Options Includes ExecCGI  FollowSymLinks
    AllowOverride All
    # Require ip 127.0.0.1
    # Require ip 192.168.1.0/24
    # DirectoryIndex index.php index.html index.htm index.cgi
    # AddHandler fcgid-script .php
    # FcgidWrapper "G:/app/php/php-5.6.8-Win32-VC11-x64/php-cgi.exe" .php
</directory>


#############################################################
#       default http
#############################################################
<virtualhost *:80="">
    DocumentRoot "G:/app_data/www/default/public_html"
#    ServerName localhost
</virtualhost>


#############################################################
#       default https
#############################################################
# <virtualhost *:443="">
#     DocumentRoot "G:/app_data/www/default/public_html"
# #    ServerName localhost
#     LogLevel warn
#     SSLEngine on
#     SSLProtocol all -SSLv2 -SSLv3
#     SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
#     SSLCertificateFile      "G:/app_data/ssl/example.com.crt"
#     SSLCertificateKeyFile   "G:/app_data/ssl/example.com.key"
#     <files ~="" "\.(cgi|shtml|phtml|php3?)$"="">
#         SSLOptions +StdEnvVars
#     </files>
#     SetEnvIf User-Agent ".*MSIE.*" \
#         nokeepalive ssl-unclean-shutdown \
#         downgrade-1.0 force-response-1.0
# #    ErrorLog G:/app_data/www/default/logs/ssl_error_log
# #    TransferLog G:/app_data/www/default/logs/ssl_access_log
# #    CustomLog G:/app_data/www/default/logs/ssl_request_log \
# #        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
# </virtualhost>


#############################################################
#       project root directory
#############################################################
<directory "g:="" app_data="" projects"="">
    Options Includes ExecCGI  FollowSymLinks
    AllowOverride All
</directory>


#############################################################
#       include
#############################################################
Include "G:/app_data/vhosts/*.conf"

設定の変更

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

先ほど作った httpd-vhosts.conf をインクルードするようにします。

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Include "${USER_DATA_ROOT}/conf/httpd-vhosts.conf"

※ G:\app_data\vhosts にファイルが何もないとApacheが起動できません。とりあえず起動させたいときは、G:\app_data\vhosts /test.conf を作成する。ファイルの中身は空で構いません。

ドメインごとの設定ファイル

バーチャルホスト設定は、1ファイル1ドメインとして作成するようにします。
複数ドメインで1つのシステムを構築するような場合は、1ファイル1サイト、1ファイル1システムで良いと思います。

ここではまず、雛形となる汎用的な設定ファイルを作成します。

新しいバーチャルホスト設定を追加するときはここで作った雛形をコピーして書き換えるような流れになります。

次のテキストファイルを作成します。

G:\app_data\vhosts\_sample.conf.txt

ファイル名は「アンダーバー、サンプル、ドット、コンフ、ドット、ティエックスティ」です。

アンダーバーで始めることでエクスプローラで名前順に並べたとき先頭に来るようにします。

拡張子 txt なのは、とりあえず .conf で終わらさないためです。
拡張子 conf にするとhttpdから読み込まれますが、サンプルファイルを読み込ませたくないので拡張子を変えます。

テキストエディタで開き、次の内容にします。

# CLIENT NAME   : ローカルホスト
# GROUP NAME    : ローカルホスト
# PROJECT NAME  : ローカルホスト
# CREATE UPDATE : 2018-12-31
# LAST UPDATE   : 2018-12-31


##############################################################################
#       directory
##############################################################################
<directory "g:="" app_data="" projects="" exampl.com="" public_html"="">
#    AddHandler server-parsed html
#    AddHandler server-parsed php
#    AddOutputFilter INCLUDES .html
    AddHandler cgi-script .cgi
#    AddHandler fcgid-script .php
#    AddHandler fcgid-script .php .html
#    FcgidWrapper "G:/app/php/php-7.2.2-Win32-VC15-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-7.1.4-Win32-VC14-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-7.0.13-Win32-VC14-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-7.0.8-Win32-VC14-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-5.6.31-Win32-VC11-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-5.6.8-Win32-VC11-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-5.5.23-Win32-VC11-x64/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-5.4.43-Win32-VC9-x86/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-5.3.13-Win32-VC9-x86/php-cgi.exe" .php
#    FcgidWrapper "G:/app/php/php-4.3.9-Win32/php-cgi.exe" .php
    DirectoryIndex index.php index.html index.htm index.cgi
    Options Includes ExecCGI  FollowSymLinks
    AllowOverride All
    Require ip 127.0.0.1
#    Require ip 192.168.1.0/24
</directory>


##############################################################################
#       http
##############################################################################
# SITE NAME  :  サイト名
# BASE URL   : /
<virtualhost *:80="">
    DocumentRoot "G:/app_data/projects/exampl.com/public_html"
    ServerName group-project-local.example.com
    ServerAlias group-project-local-1.example.com
</virtualhost>


##############################################################################
#       https
##############################################################################
# SITE NAME  :  サイト名
# BASE URL   : /
<virtualhost *:443="">
    DocumentRoot "G:/app_data/projects/exampl.com/public_html"
    ServerName group-project-local.example.com
    ServerAlias group-project-local-1.example.com
    LogLevel warn
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile      "G:/app_data/ssl/ssl-example.com_2.4.8.crt"
    SSLCertificateKeyFile   "G:/app_data/ssl/ssl-example.com-no-pass.key"
#     SSLCertificateChainFile "G:/app_data/ssl/ssl-example.com.ca"
    <files ~="" "\.(cgi|shtml|phtml|php3?)$"="">
        SSLOptions +StdEnvVars
    </files>
    SetEnvIf User-Agent ".*MSIE.*" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
#    ErrorLog G:/app_data/projects/exampl.com/logs/ssl_error_log
#    TransferLog G:/app_data/projects/exampl.com/logs/ssl_access_log
#    CustomLog G:/app_data/projects/exampl.com/logs/ssl_request_log \
#        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>

16~27行目「AddHandler fcgid-script」と「FcgidWrapper」の個所は、あとで出てくる「mod_fcgid」を行い、PHPのインストールをしてからコメントを外します。

PHPをCGIとして動くようにする

ダウンロード

公式サイトからダウンロードします。
https://www.apachelounge.com/download/

本記事では VC15 でインストールを進めているので VC15 のページを開きます。

少し下にスクロールすると「mod_fcgid-2.3.9-win64-VC15.zip」がありますのでクリックします。

「名前を付けて保存」になりますので、ダウンロードフォルダを選んで「保存」をクリックします。

解凍すると mode_fcgid-2.3.9 フォルダがあります。

mode_fcgid-2.3.9 フォルダの中に mod_fcgid.so がありますので、これをコピーして G:\app\httpd-2.4.37-win64-VC15\Apache24\modules に入れます。

fcgid.confの作成

データフォルダのほうに、次のテキストファイルを作成します。

G:\app_data\httpd-2.4.37-win64-VC15\conf\fcgid.conf

次の内容にします。

# mod fcgid
LoadModule fcgid_module modules/mod_fcgid.so

FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "G:/app_data/temp"
FcgidInitialEnv TMP "G:/app_data/temp"
FcgidInitialEnv windir "C:/WINDOWS"
FcgidMaxRequestsPerProcess 1000 
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

FcgidIdleTimeout 6000
FcgidProcessLifeTime 6000
FcgidMaxProcesses 50
FcgidMaxProcessesPerClass 8
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 6000
FcgidIOTimeout 6000
FcgidIdleScanInterval 10
# FcgidMaxRequestLen 314572800
# FcgidMaxRequestLen 943718400
FcgidMaxRequestLen 1610612736

FcgidInitialEnv RAILS_ENV production

httpd.confの変更

先ほど作った fcgid.conf をインクルードするようにします。

G:\app\httpd-2.4.37-win64-VC15\Apache24\conf\httpd.conf

ファイルの末尾に追記します。

# mod fcgid
Include "${USER_DATA_ROOT}/conf/fcgid.conf"

PHP本体のインストールは準備中

ここまでで、Apache と PHP を繋ぐところまでできました。

でも、PHP本体のインストールはまだです。

【宣伝】弊社では2000年台前半頃からPHPを扱っており古いシステムでも解析して直したり再活用を行うことができます。お使いのシステムに気になることがありましたらお気軽にお問い合わせください。