Windows10にApache2.4(アパッチ)をインストールした時の手順など


Windows10にApache 2.4(アパッチ)をインストールした時のメモ書きです。

 

PHP設定がまだの人は、こちらのページを参考に設定を済ませておきましょう。

WINDOWS 10 にPHP 5.6 (5.6.35)の環境を構築した時のメモ書き

 

2014年位からApacheのhttpdのインストーラーが提供されなくなりました。

The Apache Software Foundation自体が、

ApacheHaus

Apache Loung

XAMPP

などのサードパーティー製を使って頂戴とアナウンスしています。

では、順を追って手順をまとめていきます。

Apache 2.4(アパッチ2.4)を実際にWindows 10にインストールする

https://www.apachehaus.com/cgi-bin/download.plx

にアクセスします。

今回は、

Apache 2.4.33 x64

をダウンロードします。

ドイツ国旗のマークをクリックしモジュールをダウンロードします。

しばらくすると

httpd-2.4.33-o102o-x64-vc14-r2.zip

のダウンロードが完了します。

因みに、昔のApacheは、*.msi形式でダウンロードできました。

それをキックするとインストーラが立ち上がってインストールする形式でしたが、2018年現在では、zipファイルを解凍してそれをインストールしたいパスに直接移動して使う形式になりました。

解凍するとこんな感じです。readme_first.htmlと言うのが入ってますが気にしなくて大丈夫です。

こんな感じで移動させます。

C:\Users\{user_name}\Downloads\httpd-2.4.33-o102o-x64-vc14-r2\Apache24\conf

の中に

httpd.conf

というファイルがあります。がこれは大事なファイルなのでどこかにコピーしてバックアップしておきましょう。

httpd.conf_

バックアップする時には、この様に最後に「_」を付けておくと分かり易くて良いです。

Apacehの設定ファイルを書き換える

httpd.confの内容を書き換えていきます。

行の頭に#をつけてコメントアウトしている方が、変更前のデフォルトの値です。#Define SRVROOT “/Apache24”
Define SRVROOT “C:/Program Files/Apache24”

こんな感じで書き換えます。

¥(円マーク)ではなく、/(半角スラッシュ)でパスは指定します。くれぐれも注意しましょう!!

#ServerAdmin admin@example.com
ServerAdmin virusvirus99@yahoo.co.jp

適当なメールアドレスを指定します。

LoadModuleの部分に以下コードを追加します。

各自のPHPのインストールディレクトリにパスは指定し直してください。

AddTypeを2行追加します。

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndexにindex.phpを追加します。

設定ファイルの末尾に以下1行を追加します。

PHPのパスは各自の環境に合わせてください。

PHPIniDir “C:/php/5.6”

あとは、代表的なログ機構であるアクセスログとエラーログも設定しておきましょう。

#CustomLog “logs/access.log” common
CustomLog “C:/Program Files/Apache24/logs/access.log” common

#ErrorLog “logs/error.log”
ErrorLog “C:/Program Files/Apache24/logs/error.log”

大体こんな感じです。

運用して行く中で追加でhttpd.confファイルの設定が必要になる場合があります。

ぐぐって必要に応じて書き換えていきましょう。

この記事ではすごく基本的な部分だけ説明しています。

ここまでで基本的なApacheの記述は完了です。

続いて設定内容にミスが無いかテストしていきます。

Windows10にインストールしたApacheの設定に不備が無いかテストする

Windows + R → cmd 

でDOS画面を起動します。

cd C:\Program Files\Apache24\bin

→パス移動

httpd -t

→テスト起動

※サイト上では、「\(バックスラッシュ)」になっていますが、DOSでコマンド発行をする場合、パス区切りはここでは、¥(半角円マーク)で区切ります。

Syntax OKと出ればしっかり設定が出来ています。

httpdと入力し正常に起動するか確認します。

C:\Program Files\Apache24\bin>httpd
(OS 5)アクセスが拒否されました。 : AH00091: httpd: could not open error log file C:/Program Files/Apache24/logs/error.log.
AH00015: Unable to open logs

この様なエラーが出る場合があります。

これは、logファイルへApacheが書き込みをしようとした時にWindowsの邪魔なセキュリティ機構が働いてしまった事が原因です。

エラーが出る場合には、

そんな場合には

logディレクトリの上で右クリックしプロパティ画面を開きます。

セキュリティタブを選択して

ALL APLICATION PACKAGES

制限されたすべてのアプリケーション パッケージ

CREATOR OWNER

SYSTEM

Administrators(XXX)

Users(XXX)

TrustedInstaller

 

それぞれを選択し編集ボタンを押してから、フルコントロール許可を入れます。

Windows 10になってからLinuxの様に色々な権限周りの制約が多くなりました。

自宅サーバとして運用する訳では無いのに、あまりセキュリティガチガチにされるとうざいです。

権限設定が終わったら今度は、

httpdコマンドを実行してDOS画面が待機状態になれば大丈夫です。

そして

http://localhost/

ブラウザに localhost と打ち込んでアクセスしてみましょう。

Apache Haus という画面が表示されればOKです。

英語では、Houseですがドイツ語ではHaus(ハオス)になります。

アパッチを止める場合、

DOS画面上で

Control + C 

を押せば止まります。

 

PHPがブラウザ上でも認識されるかテストする

C:\Program Files\Apache24\htdocs

の中にtest.phpファイルを作成します。

<?php

phpinfo();

?>

と入力しブラウザから

http://localhost/test.php

にアクセスしてみます。

こんな感じで表示されれば全てOKです。

ServiceメニューにApacheを登録する

SeriviceにApacheを登録しておくと便利です。

その手順をざっくり説明します。

Windows + X A

で、監理者権限でWindows PowerShellが起動します。

Windows PowerShellはDOSの後継バージョンみたいな物です。

慣れるとDOSより使い勝手が良いです。

起動したら

cd “C:\Program Files\Apache24\bin”

で移動して

.\httpd -k install

と入力し実行します。

Installing the ‘Apache2.4’ service
The ‘Apache2.4’ service is successfully installed.
Testing httpd.conf….
Errors reported here must be corrected before the service can be started.

と出ればOKです。

サービスの中に

因みにDOSからコマンド発行を行う場合は、次のコマンドを使ってください。

httpd -k install

DOSは古いので、Windows PowerShellを使った方が良いでしょう。

サービスを起動して、正常にApacheがサービスに登録されている事を確認します。

ApacheMonitorを起動すると

こんな感じで

Start

Stop

Restart

と3つのボタンがありますが、これをクリックするだけで開始・停止・再起動を行う事が出来てかなり便利です。

 

また、不定期にまとめていきます。

by  ノウハウツリーの管理人

 


Windows 10 にPHP 5.6 (5.6.35)の環境を構築した時のメモ書き


古いPHP 5.6 をWindows10 64bit環境に構築した時の備忘録です。

PHPモジュールのダウンロードを行う

以下からPHPのモジュールをダウンロードします。

https://windows.php.net/download/

VC11 x64 Thread Safe (2018-Mar-30 00:05:38)

という項目があります。

そこのZipをクリックしてダウンロードします。

No Thread Safe ではなく Thread Safe です。

しばらくすると

php-5.6.35-Win32-VC11-x64.zip

がダウンロードされます。

解凍します。

PHPの実行にあたりWindows環境では、日本語などのマルチバイト文字が含まれていると正常に動作しない場合があります。

そこで、Cドライブ直下に以下の通りディレクトリを作成します。

c:\php\5.6

その中に解凍して出来たPHP関連のファイルを全て移動させま

す。

こんな感じです。

php.iniの基本設定

Windowsでphpを動かす場合、php.iniに必要に応じて色々と設定を行っていきます。

php.iniを書き換えたらApacheを再起動する必要があります。

再起動しないとphp.iniの書き換えは反映されないので注意しましょう。

PHPを展開したパス上に

php.ini-development

→開発環境

php.ini-production

→本番環境

の2つのphp.iniの雛形があります。

php.ini-development をコピーして php.ini にリネーム保存します。

php.iniに設定情報を記述していきます。

date.timezone

date.timezoneの部分を

date.timezone = “Asia/Tokyo”

と書き換えます。date関数などを使う場合には設定をする必要があります。

extension_dir

; extension_dir = “ext”

となっているのを
extension_dir = “C:\php\5.6\ext”

に書き換えます。

phpの拡張ライブラリを使用する場合には、extension_dirでローカルのパスを指定し直します。

extension=php_gd2.dll

画像生成をPHPで行う場合、php_gd2.dllのコメントを外して画像ライブラリを有効にする必要があります。php_gd2.dllが無効の状態で画像生成系のコードを書くと

Fatal error: Call to undefined function imagecreate() in

といったエラーが出てしまいます。

 

環境変数でPATH(パス)を通す

タスクバー上にある〇をクリックして、

コントロールパネル

と入力します。

すると、コントロールパネルのリンクが表れるのでクリックします。

コントロールパネルが起動したら

システムとセキュリティ > システム 

と辿ります。

システムの詳細設定をクリックします。

システムのプロパティダイアログが起動したらその中にある

環境変数(N)…

をクリックします。

環境変数のダイアログが起動したら、その下部分に

システム環境変数(S)

という項目があります。

右側のスライダーを下にずらすと

Pathが見つかるので、選択し

編集(I)…をクリックします。

環境変数名の編集ダイアログが起動します。

新規(N)ボタンをクリックします。

ダイアログの下部分に入力枠が現れるので、さっき移動させたPHPのパス

c:\php\5.6

を指定し、OKボタンをクリックします。

これでPHPのパス通し(環境変数の設定)は完了です。

PHPのパスが正常に通ったか確認する

Windows + R

をクリックして、

cmd

と入力しOKボタンを押します。

これは、WindowsにおいてDOS画面を起動するショートカットコマンドです。

DOS画面が起動したら

php -v

と入力し実行します。PHPのバージョンを確認するコマンドです。

PHP 5.6.35(cli) (built : Mar 29 2018 14:27:15 )

Zend Engine v2.6.0, Copyright(c) 1998-2016 Zend Technologies 

こんな感じで表示されればOKです。

[test.php]

<?php

$s = “はげ”;

var_dump($s);

?>

こんな感じで、PHPファイルを作成してDOSから

php test.php

とコマンド発行します。

パスを通す事によってDOS画面からphpと入力した時に

c:\php\5.6 

の中にある php.exeを使ってPHPスクリプトが実行される様になります。

初心者の中にはパスを通すという意味がちょっと分かり辛いという人も多いかもしれませんが、要はこんな事です。

あとは、Apacheなどをインストールして実際にブラウザからPHPのテスト実行をすると良いでしょう。

ApacheとPHPを連動させる

ここまででPHP設定が出来たので実際にApacheと連動させ、ブラウザ上でも正常動作する事を確認したい場合、次のApache環境構築のページを参照ください。

WINDOWS10にAPACHE2.4(アパッチ)をインストールした時の手順など

 

 


PHPエラー【File “XXX” is writeable by group】suPHP 0.7.1 Internal Server Errorが出る場合の対処方法


WEBサーバでPHPのテストスクリプトを動かそうとしたところ

Internal Server Error
File “XXX” is writeable by group

suPHP 0.7.1

というエラーが出ました。

少しはまってしまったので対処方法をメモしておきます。

ぐぐってみたのですが、意外と日本語のページでこのエラー対処方法を解説しているサイトがありませんでした。

そもそもエラーの原因

PHPではディレクトリやファイルに過剰にアクセス権限を与えてしまうとこのエラーが出る様です。

権限を必要最低限にする事でエラーは出なくなりました。

実際にエラーを消す為に行った内容

TeraTermでサーバにroot権限で接続します。

そしてPHPファイル(ここでは、test.php)の上位階層(test_directory)に対して

chmod 711 test_directory

を発行し権限711を与えます。

次にcd コマンドで test_directoryに移動し

chmod  700 test.php

を発行します。

親ディレクトリ権限 → 711

PHPファイルの権限 → 700

にしました。

これでエラーは出なくなりました。

はまった人は参考にしてみてください。

実は、このエラー解消方法は海外サイトを見て見つけました。

やっぱり調べ事をする際には、母数がたった1億しか無い日本語ではなく、数十億人が使っている英語圏のサイトで調べると早いですね。

注意事項

root権限でphpファイルを作成すると

UID of script “xxx/index.php” is smaller than min_uid

というエラーが出る場合があります。

その場合の対象方法は、こちらのページにまとめています。

合わせて確認してください。

【PHPエラー】500 INTERNAL SERVER ERROR : UID OF SCRIPT “/HOME/XXX/NEWFILE.PHP” IS SMALLER THAN MIN_UID