この記事の対象者は、Mac で開発環境設定の一部として Apache Web サーバーをインストールしたいウェブ開発者です。

PHP 開発者であれば、この記事は Homebrew と PECL を使用して PHP をインストールする手順を説明する次の記事への前提条件となります。 その記事へのリンクはこのページの下にあります。

開発者として、私は以前、MacBook Pro の OS にプリロードされているバージョンの Apache に依存していました。 macOS のセキュリティ ルールが常に変化しているため、私はアプローチ全体を変更し、代わりに Apache の配布バージョンを無効にして、完全に Homebrew からのセットアップを使用することを決定しました。 この新しいアプローチにより、バージョン管理により柔軟性が増し、すべての macOS バージョンで動作し続けることができます。

これらの手順は、macOS 10.13 High Sierra および 10.14 Mojave で同じように動作します。 それ以前のバージョンの macOS ではテストしていませんが、同様に動作するはずです。 また、この記事を使用するために OS をフレッシュ インストールから始める必要はありませんが、Mojave へのアップグレードとフレッシュ インストールを比較すると、奇妙なことが起こっています (たとえば、アップグレード後に mod_deflate.so モジュール拡張ファイルが完全に欠落しているなど)。 フレッシュ インストールをお勧めしますが、アップグレードに挑戦する場合は、いくつかのファイルとパスを追跡する覚悟が必要です。

始めましょう!

Get the Latest OS Updates

新しい OS をインストールしたばかりの場合は、おそらくこれを行う必要はないでしょう。

Install Xcode

もし、Xcode アプリケーション全体をインストールしたくない場合は、Homebrew install コマンドで必要な基本的な Xcode Command Line Tools をインストールすることができるので問題ありません。 しかし、特に Mojave を実行している場合は、フルインストールすることをお勧めします。

xcode-select --install

Install Homebrew

The following command will install Homebrew.

(Please note the following command is a single line that have wrapped due to page width constraint in Medium.

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Create Apache Log File Directories

Apache には独自のログ ディレクトリがあらかじめ設定されていますが、必要なときに簡単に見つけられるよう、独自の “/usr/local/log/” フォルダを作成します。 次の記事に移って PHP をインストールする場合、PHP ログもこの同じログファイルの場所を使用し、すべてのログを一箇所に集めることになります。

以下の手順に従って、適切なディレクトリを作成し、そのパーミッションを設定します。

$ sudo mkdir /usr/local/log$ sudo mkdir /usr/local/log/httpd$ sudo chgrp -R staff /usr/local/log/httpd$ sudo chmod -R ug+w /usr/local/log/httpd/

Install and Configure Apache

macOS 10.13 High Sierra および 10.14 Mojave には、Apache がプレインストールされています。 しかし、配布されているバージョンを使用するのではなく、Homebrew を介して Apache をインストールし、ポート 80 で実行するように設定します。

すでにプリインストールされた Apache を実行している場合、最初にそれをシャットダウンし、自動ロード スクリプトを削除する必要があります。

(2番目のコマンドは、Medium のページ幅の制約のために折り返された1行であることに注意してください)。

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

次に、Homebrew が提供する新しいバージョンの Apache をインストールします。

$ brew install httpd

それが完了したら、以下のコマンドを実行して Apache サービスを開始し、ログイン時に自動的に再起動するようにします。 すでに起動しているはずですので、ブラウザで http://localhost:8080 をポイントすると、 “It works!” というシンプルなヘッダーが表示されるはずです。

注意:現在、ポート 8080 を指定しています。 次のステップでそれを変更するつもりです。 これで Web サーバーが動作するようになったので、いくつかの設定を変更して、より好みに合うように……いや、本当に私の好みだけですが……動作するようにしたいと思います。)

Apache 設定ファイルを開いてみましょう。

$ open -e /usr/local/etc/httpd/httpd.conf

Change the Listening Port

下にスクロールして “Listen 8080” という行を探し、次のように変更します;

Listen 80

Enable Useful Apache Modules

次に、次の 2 つの便利な Apache モジュールを有効にすることができます。 次の 2 行を検索し、最初のハッシュタグ “#” を削除してコメントを解除できます。

ヒント: deflate 行は LoadModule セクションの中央にあり、rewrite 行は LoadModule セクションの一番下にあります。

LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

Change Apache User and Group Settings

デフォルトでは Apache をユーザー _www およびグループ _www として実行します。 このユーザーとグループの設定は、ホーム ディレクトリのファイルにアクセスしようとするときに、パーミッションの問題を引き起こします。

httpd.conf ファイルを約 1/3 ほどスクロールすると、Apache を実行するユーザーとグループを設定する 2 行が見つかります。 これらをあなたのユーザアカウントに合うように変更します。 your_username は MacBook のユーザ名で置き換え、staff というグループ名を使います。

User your_username
Group staff

Set Apache Server Admin and Server Name

Find the “ServerAdmin” line and enabling it by removing the leading hashtag “#” (if necessary) and then change the email to your own:

ServerAdmin [email protected]

最初のハッシュタグ “#” を削除して、Apache サーバー名を localhost に変更し、設定内で有効にします:

ServerName localhost

ドキュメント ルート、ディレクトリ、オーバーライドの変更

次に、Apache 用ドキュメント ルートを変更するつもりです。 これは、Apache がファイルを提供するために探すフォルダです。 デフォルトでは、ドキュメントルートは /usr/local/var/www として設定されています。 開発環境を作成しており、できるだけ多くのフォルダパーミッションの問題を避けたいので、ドキュメントルートをホームディレクトリ (これはまもなく作成します) のフォルダに変更します。

DocumentRoot "/Users/your_username/Sites"

次に、DocumentRoot 行のすぐ下にあるタグの参照も変更する必要があります。 これは、新しいドキュメント ルートを指すように変更する必要があります:

<Directory "/Users/your_username/Sites">;

同じブロックに、AllowOverride 設定があります。

AllowOverride All

Set Apache Error Log Location

最後に、Apache エラーログの場所を、以前に作成したフォルダに設定します。 少し下にスクロールして、「ErrorLog」の行を見つけ、次のように変更します:

ErrorLog "/usr/local/log/httpd/error_log"

保存してテキストエディタを終了します。

Create a Sites Folder

次の2行を使って、「サイト」フォルダを作成し、インデックスファイルを追加してください。html ファイルを追加します。

(2番目のコマンドは、Medium のページ幅の制約のために折り返された1行であることに注意してください。

$ mkdir ~/Sites
$ echo "<h1>It Works in my Sites Folder</h1>;" > ~/Sites/index.html

Restart Apache

ここで、構成設定が正しいことを確認するために、再起動します:

$ sudo apachectl -k restart

新しい場所のローカルホストにアクセスしてみてください。 http://localhost

これがうまくいって、「サイト フォルダで動作しています」というメッセージが表示されたら、おめでとうございます。

エラーが発生した場合、原因は httpd.conf ファイル内のディレクトリ エントリで使用されるダブルクォートである可能性があります。 テキストエディタがラテン文字タイプの引用符に変換してしまうことがあります。 この引用符はオプションで、削除することができます。 ダブルクォートを削除して Apache を再起動してみてください

.

admin

コメントを残す

メールアドレスが公開されることはありません。

lg