Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

Connection Type

Cygwin で Apache と PHP を速攻セットアップする - ネーテルス Cygwin で Apache と PHP を速攻セットアップする - ネーテルス
本サイトではアフィリエイト広告を利用しています

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, ソフトウェア, 設定
-, , , ,