【注意】これはWindowsに実行形式で登録する方式ではありません。新しいバージョンを常に使いたい人向けです。
(私個人としては、開発環境の作成が主な用途です。)レジストリに残らないので。
初心者の方には、「EXE」形式でのインストールを推奨致します。
職業柄、プログラム開発を頼まれるときにインフラ部分も込みだと思っているお客様が多い。
大きい企業だとキチンと部が分かれているのだが、中小企業にそれを期待してはならない・・・。
Webサービスで有名な「Apache2.4.17」のインストールと設定について書いてみる。
(実際、今ハマっているからとは言えない・・・。)
まず、Apacheファイル自体をダウンロードする。
(これはググれば、すぐに出てくるので割愛)
Apacheのバージョンとインストール先のOSによって困難の度合いが変わる。
サーバーに入れる場合だが、通常はLinux系が多いのでそんなに苦労しないのだがWindowsになった途端に難易度が向上する、実に納得できない。
今回の環境は以下の通り
OS:Windows10 Home
Apache:2.4.17(VC14)
⇒何故か最新大好きな私はVC14を入れていた・・・。
https://www.apachelounge.com/download/
単にApacheをZIP形式でダウンロードして、解凍したフォルダを「c:\Program Files」配下に置けばソレで終わりだと思っていた。甘かった・・・。
態々インストーラー無しにしたのは、レジストリ等に跡がずっと残るのは嫌なので必要な時だけ利用する方針です。
1.設定ファイルの編集
Apacheには「httpd.conf」と言う設定ファイルが存在する。
基本的にメモ帖でも良いのだが、メモ帖は文字コードが「SiftJIS]しか扱えないので別にテキストエディターをダウンロードする事をお勧めします。
<<Part1>>
【必須1】37行目あたりを「ServerRoot “C:/Program Files/Apache/Apache24/htdocs”」に変更してみた。
【任意2】210行目あたりを「ServerAdmin nosakio@yahoo.co.jp」に変更
【必須3】219行目あたりを「ServerName localhost:80」に変更
【必須4】243行目あたりを「DocumentRoot “C:/Program Files/Apache/Apache24/htdocs”」に変更
【必須5】244行目あたりを「<Directory “C:/Program Files/Apache/Apache24/htdocs”>」に変更
これで基本設定は終わりなので、コマンドプロンプトから起動してみる。
まず、コマンド位置を変更。
→「cd c:\Program Files\Apache\Apache24\bin」
そして、「httpd」を入力して、「Enter」キーを押す。
それで終わるはずだった(
結果は無常にシンタックスエラー
ServerRootにそんなディレクトリは無いと?
よくよく確認してみる、パスの区切りを¥にしてみたり、もう一度入力しなおしてみる。
でもシンタックスエラー((
ヲカシイ、XAMPばっかり使っている為、すぐにはわからない。
よく考えよう、Linuxの場合は全く問題ないのでOSの可能性がある。
WindowsのUACを忘れていた!
確か「Program Files」配下は凄くセキュリティが厳しいとか(
よって、Apacheインストール場所をCドライブ直下に変更してみる。
→「c:\Apache\Apache24」
※インストール場所を変更したので、【必須1】【必須4】【必須5】を変更してください。
再び、「httpd」コマンドをコマンドプロンプトから叩いてみる。
→「c:\Apache\Apache24\bin httpd」
シンタックスエラーは消えた・・・やったぜ!
そして、無常に新しいエラーが・・・。
OS 10013
AH00072
AH00451
AH00015
この世に神はいないと思った瞬間だった。
どうやら80番ポートを私に許可なく誰かが使っているらしい。
犯人探しが始まった!
まずは基本通り、「netstat」コマンドでポートを利用しているアプリの「PID」を探す。
「0.0.0.0:80 PID 4」だった。
今度は「tasklist」コマンドで「PID 4」を探す。
「SYSTEM」が使っている事が判明した。
・・・・何だよソレ?
タスクマネージャーを起動すると「NT kernel & system」らしい。
止めたらヤバいよね、コレ。
しかし何者かが80番を使っているのは確かなので、「NT kernel & system」を利用しているサービスを探してみる。
まず「World Wide Web Publishing Service」が起動していた、Windows10ではデフォルトで自動起動らしい。
試しに「World Wide Web Publishing Service」を止めてみる。
画面にApacheに対するWindowsFirewall許可を求める画面が表示された。
犯人確定。
ブラウザで「127.0.0.1」を叩く、無事動作を確認できました。
Windows上のApacheなのでPHPのタイプはもちろんスレッドセーフ版です。
そして気が付きました、Apache2.4.17がVC14だと言う事に・・・。
PHP7にしないとダメなのか!
【補足】2016/4/2
実用上はデスクトップに以下のバッチファイルを作成して、Apacheを使う時に起動してます。
—————
rem Apache2.4.17の起動
cd C:/Apache/Apache24/bin
httpd
—————-
Apache2.4をWindowsサービスに登録してみる。
コマンドプロンプトから実行
—————
cd Apache
cd Apache24
cd bin
httpd.exe -k install -n “Apache24”
—————
サービスとしては登録されました。
コマンドプロンプト上はエラーが表示されております・・・。
Errors reported here must be corected before the service can be started
この英語メッセージを直訳すると「httpd.confをテストしています。ここで見つかったエラーは、(Apache)サービスを開始する前に修正すべきです。」なので無視して宜しいかと。
ちなみに一度登録したサービスを削除したい場合は以下の通り。
———————
sc.exe delete Apache24
———————
コメント(0)
コメントを受け付けておりません。