apache2が起動しなくて時間を浪費した
Mac Yosemite には最初から apache2 がインストールされてるので、起動すれば動く(はずである)。
$ sudo apachctl start
apache を起動して http://localhost/ にアクセスしても、エラーで接続できない。
http://localhost/
Page load failed with error: ネットワーク接続が切れました。
apache の設定が悪いのかと思って確認するけど、悪いところはなさそうだし。
sudo vi /etc/apache2/httpd.conf
再起動してもダメだし。
$ sudo apachectl restart
特にエラーも出ない。
ログを確認してみると、そもそもログに何も出力されてない!
ファイル更新時刻がはるか昔。
以前は動いてたことがわかるが、たぶんYosemiteにしてから Mac の apache2 は使ってないと思われ。
$ ls -l /private/var/log/apache2/
起動してみる。
sudo apachectl start Password: /System/Library/LaunchDaemons/org.apache.httpd.plist: Operation already in progress
動いとる?
$ ps ax | grep httpd 2675 s002 U+ 0:00.00 grep httpd
プロセスがいませんが。。。(;^ω^)
apache2 を再インストールしてみる。
$ brew tap homebrew/apache2 ==> Tapping homebrew/apache Cloning into '/usr/local/Library/Taps/homebrew/homebrew-apache'... remote: Counting objects: 14, done. remote: Compressing objects: 100% (9/9), done. remote: Total 14 (delta 7), reused 6 (delta 5), pack-reused 0 Unpacking objects: 100% (14/14), done. Checking connectivity... done. Tapped 11 formulae (47 files, 200K)
brew search で確認。
$ brew search httpd darkhttpd homebrew/apache/httpd24 lighttpd homebrew/apache/httpd22 libmicrohttpd mighttpd2 homebrew/head-only/httpdiff
インストールスタート!
$ brew install httpd24 ==> Installing httpd24 from homebrew/homebrew-apache ==> Tapping homebrew/dupes Cloning into '/usr/local/Library/Taps/homebrew/homebrew-dupes'... (略) pcre/8.37/bin/pcregrep: Failed to create dir 'pcre/8.37'Can't create 'pcre/8.37/bin/pcregrep' pcre/8.37/bin/pcretest: Failed to create dir 'pcre/8.37'Can't create 'pcre/8.37/bin/pcretest' tar: Error exit delayed from previous errors. Error: Failure while executing: tar xf /Library/Caches/Homebrew/pcre-8.37.yosemite.bottle.tar.gz Warning: Bottle installation failed: building from source. ==> Downloading https://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2 ######################################################################## 100.0% Error: Permission denied - /usr/local/Cellar/pcre/8.37
怒られたのでぐぐってみたら、chown しろと書いてあった。
$ sudo chown -R `whoami` /usr/local
もっかいやってみる。
$ brew install httpd24 ==> Installing httpd24 from homebrew/homebrew-apache ==> Installing dependencies for homebrew/apache/httpd24: pcre, homebrew/dupes/zlib ==> Installing homebrew/apache/httpd24 dependency: pcre ==> Downloading https://homebrew.bintray.com/bottles/pcre-8.37.yosemite.bottle.tar.gz Already downloaded: /Library/Caches/Homebrew/pcre-8.37.yosemite.bottle.tar.gz ==> Pouring pcre-8.37.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/pcre/8.37: 146 files, 5.9M ==> Installing homebrew/apache/httpd24 dependency: homebrew/dupes/zlib ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/dupes/zlib-1.2.8.yosemite.bott ######################################################################## 100.0% ==> Pouring zlib-1.2.8.yosemite.bottle.tar.gz ==> Caveats This formula is keg-only, which means it was not symlinked into /usr/local. OS X already provides this software and installing another version in parallel can cause all kinds of trouble. Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables: LDFLAGS: -L/usr/local/opt/zlib/lib CPPFLAGS: -I/usr/local/opt/zlib/include ==> Summary 🍺 /usr/local/Cellar/zlib/1.2.8: 9 files, 392K ==> Installing homebrew/apache/httpd24 ==> Downloading https://archive.apache.org/dist/httpd/httpd-2.4.12.tar.bz2 ######################################################################## 100.0% ==> ./configure --enable-layout=Homebrew --enable-mods-shared=all --enable-unique-id --enable-ssl - ==> make ==> make install ==> Caveats To have launchd start homebrew/apache/httpd24 at login: ln -sfv /usr/local/opt/httpd24/*.plist ~/Library/LaunchAgents Then to load homebrew/apache/httpd24 now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.httpd24.plist ==> Summary 🍺 /usr/local/Cellar/httpd24/2.4.12: 211 files, 4.5M, built in 6.6 minutes
インストール成功したらしい。
スタートしてみる。
$ sudo apachectl start Password: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using MacbookPro.local. Set the 'ServerName' directive globally to suppress this message
怒られた。
ぐぐったらエライ人が教えてくれた。
≫Apacheのエラー:Could not reliably determine the server’s fully qualified domain name… – DACELO SPACE
けど、解決できんw
/etc/hosts から余計なのを削除したのに、この警告が消えないの。
なんでやねん!
httpd.conf に ServerName を設定しても消えんし。
ServerName 192.168.0.10
とりあえず動いたから放置する。