LoginSignup
4
7

More than 5 years have passed since last update.

macOS MojaveにHomebrewでApacheをインストールする方法

Last updated at Posted at 2018-12-14
  • 使っているOS : macOS Mojave バージョン10.14.1

(しなくてもいいけど)事前準備をする

# アップデートしておく
$ brew update
Already up-to-date.
$ brew -v
Homebrew 1.8.5
Homebrew/homebrew-core (git revision 0b33e; last commit 2018-12-13)
Homebrew/homebrew-cask (git revision bd7c4; last commit 2018-12-14)

# Homebrewが元気かお医者さんに聞いておく
$ brew doctor
Your system is ready to brew.

# インストールしちゃってないか確認する
$ brew list | grep httpd
$

(決まっていればしなくてもいいけど)インストールするものを選ぶ

# 探す
$ brew search httpd
==> Formulae
darkhttpd                    httpd                        httpdiff                     libmicrohttpd                lighttpd                     mighttpd2

# いっぱいあるから一応見てみる
# Webサーバだけど違う
$ brew info darkhttpd
darkhttpd: stable 1.12 (bottled)
Small static webserver without CGI
https://unix4lyfe.org/darkhttpd/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/darkhttpd.rb
==> Analytics
install: 11 (30 days), 41 (90 days), 171 (365 days)
install_on_request: 11 (30 days), 40 (90 days), 166 (365 days)
build_error: 0 (30 days)

# いつものやつ
$ brew info httpd
httpd: stable 2.4.37 (bottled)
Apache HTTP server
https://httpd.apache.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/httpd.rb
==> Dependencies
Required: apr ✘, apr-util ✔, brotli ✘, nghttp2 ✘, openssl ✘, pcre ✘
==> Caveats
DocumentRoot is /usr/local/var/www.

The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in
/usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

To have launchd start httpd now and restart at login:
  brew services start httpd
Or, if you don`t want/need a background service you can just run:
  apachectl start
==> Analytics
install: 15,299 (30 days), 53,854 (90 days), 181,402 (365 days)
install_on_request: 11,811 (30 days), 40,493 (90 days), 126,112 (365 days)
build_error: 0 (30 days)

# なんか違う
$ brew info httpdiff
httpdiff: stable 1.0.0 (bottled), HEAD
Compare two HTTP(S) responses
https://github.com/jgrahamc/httpdiff
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/httpdiff.rb
==> Dependencies
Build: go ✘
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 3 (30 days), 14 (90 days), 73 (365 days)
install_on_request: 3 (30 days), 14 (90 days), 73 (365 days)
build_error: 0 (30 days)

# ライブラリだった
$ brew info libmicrohttpd
libmicrohttpd: stable 0.9.59 (bottled)
Light HTTP/1.1 server library
https://www.gnu.org/software/libmicrohttpd/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libmicrohttpd.rb
==> Options
--with-ssl
    Enable SSL support
==> Analytics
install: 873 (30 days), 3,174 (90 days), 31,195 (365 days)
install_on_request: 603 (30 days), 2,287 (90 days), 17,251 (365 days)
build_error: 0 (30 days)

Apacheをインストールする

$ brew install httpd
==> Installing dependencies for httpd: apr, openssl, brotli, c-ares, jansson, nghttp2 and pcre
==> Installing httpd dependency: apr
==> Downloading https://homebrew.bintray.com/bottles/apr-1.6.5.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring apr-1.6.5.mojave.bottle.tar.gz
==> Caveats
apr is keg-only, which means it was not symlinked into /usr/local,
because Apple`s CLT package contains apr.

If you need to have apr first in your PATH run:
  echo 'export PATH="/usr/local/opt/apr/bin:$PATH"' >> ~/.bash_profile

==> Summary
🍺  /usr/local/Cellar/apr/1.6.5: 60 files, 1.3MB
==> Installing httpd dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2q.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2q.mojave.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

openssl is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have openssl first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

For compilers to find openssl you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl/include"

==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2q: 1,794 files, 12.1MB
==> Installing httpd dependency: brotli
==> Downloading https://homebrew.bintray.com/bottles/brotli-1.0.7.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring brotli-1.0.7.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/brotli/1.0.7: 25 files, 2.2MB
==> Installing httpd dependency: c-ares
==> Downloading https://homebrew.bintray.com/bottles/c-ares-1.15.0.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring c-ares-1.15.0.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/c-ares/1.15.0: 72 files, 482.6KB
==> Installing httpd dependency: jansson
==> Downloading https://homebrew.bintray.com/bottles/jansson-2.12.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring jansson-2.12.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/jansson/2.12: 11 files, 157.5KB
==> Installing httpd dependency: nghttp2
==> Downloading https://homebrew.bintray.com/bottles/nghttp2-1.35.1.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring nghttp2-1.35.1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/nghttp2/1.35.1: 26 files, 2.7MB
==> Installing httpd dependency: pcre
==> Downloading https://homebrew.bintray.com/bottles/pcre-8.42.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pcre-8.42.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/pcre/8.42: 204 files, 5.5MB
==> Installing httpd
==> Downloading https://homebrew.bintray.com/bottles/httpd-2.4.37_1.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring httpd-2.4.37_1.mojave.bottle.tar.gz
==> Caveats
DocumentRoot is /usr/local/var/www.

The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in
/usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

To have launchd start httpd now and restart at login:
  brew services start httpd
Or, if you don`t want/need a background service you can just run:
  apachectl start
==> Summary
🍺  /usr/local/Cellar/httpd/2.4.37_1: 1,648 files, 26.9MB
==> Caveats
==> apr
apr is keg-only, which means it was not symlinked into /usr/local,
because Apple`s CLT package contains apr.

If you need to have apr first in your PATH run:
  echo 'export PATH="/usr/local/opt/apr/bin:$PATH"' >> ~/.bash_profile

==> openssl
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

openssl is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have openssl first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

For compilers to find openssl you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl/include"

==> httpd
DocumentRoot is /usr/local/var/www.

The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in
/usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

To have launchd start httpd now and restart at login:
  brew services start httpd
Or, if you don`t want/need a background service you can just run:
  apachectl start

インストール時の説明に沿ってPATHを設定する

keg-only について - 理系学生日記

apr(Apache Portable Runtime)

Apache Portable Runtime - Wikipedia

# apr is keg-only, which means it was not symlinked into /usr/local,
# because Apple`s CLT package contains apr.
# If you need to have apr first in your PATH run:
echo 'export PATH="/usr/local/opt/apr/bin:$PATH"' >> ~/.bash_profile

openssl

# openssl is keg-only, which means it was not symlinked into /usr/local,
# because Apple has deprecated(非推奨の) use of OpenSSL in favor(~の方を好む) of its own TLS and crypto libraries.
# If you need to have openssl first in your PATH run:
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
# For compilers to find openssl you may need to set:
echo 'export LDFLAGS="-L/usr/local/opt/openssl/lib"' >> ~/.bash_profile
echo 'export CPPFLAGS="-I/usr/local/opt/openssl/include"' >> ~/.bash_profile

インストールされたことを確認する

$ which httpd
/usr/local/bin/httpd

$ httpd -v
Server version: Apache/2.4.37 (Unix)
Server built:   Nov  8 2018 08:14:31

何も設定しないでApacheを起動すると普通にエラーになるので設定してから起動する

(必要な場合は)PHPを設定する

Apacheのhttpd.confにPHPを設定する方法 - Qiita

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7