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

Cygwin Windows ソフトウェア 設定

Cygwin で Apache と PHP を速攻セットアップする

2020年4月14日

Cygwin を使って Apache を速攻セットアップする手順です。

設定環境


CYGWIN_NT-10.0 PC 3.1.4(0.340/5/3) 2020-02-19 08:49 x86_64 Cygwin
Apache/2.4.39 (Unix) May 1 2019 19:37:31
PHP 7.3.7 (cli) (built: Jul 21 2019 18:10:35) ( NTS )

本ページはこんな方におすすめ

  • Windows 上で httpd を動かしたい
  • Windows 上で WordPress のテストをしたい
  • Windows 上で PHP のテストをしたい

このページでは、Windows の Cygwin を使って、Apache をインストールして httpd が動かすところまでの手順です。
他のページも同時に参照していただければ、最終的には、PHP と MySQL(MariaDB) をインストールして、Apache で WordPress を動かすことが可能です。
単純に掲示板のようなスクリプトを運用したいのであれば、Windows ネイティブの httpd の方が安定します。しかし、一般のレンタルサーバー(X server など)は、ほとんどが Linux 系の OS に PHP+MySQL という組み合わせなので、手元にほぼ同等のシステムを作ってシュミレートする意味は大きく、Windows 系(Cygwin を通さない)ネイティブの httpd を構築するよりも、容易にサーバー込みのシミュレーションが可能です。

Apache を Cygwin でセットアップする手順

Apache と PHP はまとめて選択してインストールして問題ありません。別々にコンパイルしながらインストールするときは、PHP をインストーヘルしてから Apache をインストールするのが普通です。
ここでは、バイナリをそのままインストールするので、Apache と PHP を一気にインストールします。

まず httpd (Apache)をしっかり選択

Cygwin Apache
セットアップからインストールするのが簡単です。setup-x86_64.exe を起動してインストールする場合、上の赤枠のパッケージが必須になります。橙色のモジュールもインストールしておくのがおすすめです。

次に PHP をしっかり選択

Cygwin PHP インストール

Apache に続いて、インストールすべき PHP をしっかり選択します。マル1で「Full」ビューにして Search 欄に「PHP」と入れると候補が出てきます。必要なのはマル3の「php」(Categories:Interpreters, PHP)です。その他、マル3、4、5の「httpd-mod_php7」、「php-mysqli」、「php-pdo_mysqli」、「php-pgsql」、「php-pdo_pgsql」、「php-pdo_sqlite」などもインストールしておくと、手間が省けます。「php」以外は、後に必要になったときに別途インストールしても問題ありませんので、マル3の PHP だけは忘れずにインストールよるようにします。ちなみに、すべての「php-***」を一気にインストールしても問題ありません。

Apache を Cygwin で起動する手順

設定ファイル "httpd.conf" を編集する

"/etc/httpd/conf/httpd.conf"をエディタで開きます。vi や emacs を使わない人は、Windows のメモ帳、秀丸エディタ、EmEditor などで、"C:\Cygwin64\etc\httpd\conf\httpd.conf" を開いて編集します。
書き換える場所は、

 
#ServerName www.example.com:80

の箇所を

 
ServerName localhost:80

に書き換えます。他のノードからアクセスさせたり、外部公開を前提としている場合は、ネットワークアダプタ(LANカードやWi-Fiアダプタ)に割り当てたIPアドレス(192.168.0.4など)をlocalhost の代わりに書きます(192.168.0.4:80など)。ただし、この場合は固定アドレスにするかDHCPの場合も固定的にIPアドレスを割り当てるように設定しておくのが無難です(この例では常に 192.168.0.4 を割り当てるように設定)。

 

	LoadModule cgid_module modules/mod_cgid.so


	LoadModule cgi_module modules/mod_cgi.so

164行目あたりの cgi モジュールを有効にするため、コメント(#)を消しておきます。

もし、これから後の作業で apache を起動する際に "is mod_slotmem_shm loaded??" とエラーが出る場合は、147行目あたりの

 
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

 
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

として、コメント(#)を消しておきます。

さらに、今後 WordPress をインストールする予定のある方は、WordPress 用の設定を行っておきます。
デフォルトのドキュメントルートは "/srv/www/htdocs" になっています。実際は"C:\Cygwin64\srv\www\htdocs" になります。このディレクトリ(フォルダ)に置いた html ドキュメント(index.html)がデフォルトで表示されます。

ここでは、WordPress のスクリプトファイルを "C:\Cygwin64\srv\www\wordpress" に置くことを前提にします。

"httpd.conf" の最後尾に、以下の記述を追加します。

 
<Directory "/srv/www/wordpress">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

WordPress をテストすることを前提にしているので、セキュリティを緩く、徹底的にテストできるようにユーザー許可を広く許しています。

設定ファイル "php.ini" を編集する

PHP の設定ファイルはデフォルトでは /etc/php.ini になります。Windows エディタで直接編集するときは、C:\Cygwin64\etc\php.ini を直接触ることになります。
編集は必ずしも必要ありませんが、今後 WordPress のテストなどで使うつもりなら、以下のパラメーターを書き変えておくと楽にコトが進みます。

385 行目あたり、最大実行時間のデフォルトの 30 は少なすぎますので、

 
max_execution_time = 300

と 10 倍増しておきます。

402, 403 行目あたり、デフォルトの 1000 では少々少ないので、

 
max_input_vars = 1620

として、最大入力数を増やしておきます。

Apache の起動と停止コマンド

"/usr/sbin/" にはパスが通っていないことが多いので、プルパスで指定します。

 cygwin
$ /usr/sbin/httpd -k start	#Apacheの起動
$ /usr/sbin/httpd -k stop	#Apacheの停止

あるいは

 cygwin
$ /usr/sbin/apachectl start	#Apacheの起動
$ /usr/sbin/apachectl stop	#Apacheの停止

Apache を Windowsのサービスとして登録する

安定度はともかく、Windows の httpd サービスとして登録してしまえば、簡易 http サーバーとしても利用可能です。

 cygwin
$ cygrunsrv -I apache2 -d "Cygwin Apache2" -p /usr/sbin/httpd -a -DFOREGROUND -e "CYGWIN=server"
$ cygrunsrv -S apache2	#Apacheサービスの起動
$ cygrunsrv -E apache2	#Apacheサービスの終了:サービス終了
$ cygrunsrv -R apache2	#Apacheサービスの削除

Cygserver の起動はコマンドプロンプトから次のように行います。

 windows
$ net start cygserver
[st_af name="mo-alltext-techac-wp-php"]


関連記事
Cygwin
Windows に Cygwin をセットアップする入門編

Cygwin は Windows 上で Linux ディストリビューションと同様の機能が使えるようにする、オープンソース ...

続きを見る

-Cygwin, Windows, ソフトウェア, 設定
-, , , ,