先日修理してYosemiteになったiMac(20-INCH MID 2007)をWebサーバーにしてみた記録。
Apacheの起動と停止
HDDを交換して無事復活した我が家のiMac(20-INCH MID 2007)-Yosemite、ふと思い立ってWebサーバーにも活用しようかと思い調べてみると、なんとMacにはWebサーバーのApacheが標準で入っているじゃないですか。
早速起動してみる。
ターミナルから”sudo /usr/sbin/apachectl start”を実行して動作を確認。
アパッチのバージョンも確認。
ターミナルから”httpd -v”を実行
さすが最新のOS、バージョンも新しめのApache/2.4.9でした。
ブラウザからも確認。
Safariでhttp://localhostへアクセス。
起動確認終了。
Apacheを止めるときは”sudo /usr/sbin/apachectl stop”
ブラウザからも確認
Safariでhttp://localhostへアクセス。
起動/停止用のエイリアス作成
いちいちターミナルを立ち上げて起動するのはめんどくさいのでもっと簡単に起動できるようにコマンドファイルを作成してマウスの操作だけで起動、停止が出来るようにしてみました。
まず書類の所にWebフォルダを作成
次にテキストエディタでApache起動用ファイルを作成。
内容は
#!/bin/bash
sudo /usr/sbin/apachectl start
これを”apache_start.command”の名前で先ほど作成したWebフォルダに保存。
ついでに停止用のファイルも作成。
内容は
#!/bin/bash
sudo /usr/sbin/apachectl stop
これもWebフォルダに”apache_stop.command”の名前で保存。
これでターミナルを使用しないで起動・・・・出来ません。
ファイルをクリックすると
となるはずです。
そこで作成した”apache_start.command”ファイルに実行権限を付与します。
ターミナルから”sudo chmod u+x /Users/user0x/Documents/Web/apache_start.command”を実行します。
※ターゲットファイルのパス”user0x“の所はMacのユーザー名になります
※実行権限を外すときは”sudo chmod u+x /Users/user0x/Documents/Web/apache_start.command”
同じ様に停止用のファイルにも実行権限を付与します。
ターミナルから”sudo chmod u+x /Users/user0x/Documents/Web/apache_stop.command”を実行します。
コマンドが反映されているかを確認します
目的のファイルの最後部に*マークが付いていればOKです。
これでクリックすると以下のウィンドウが立ち上がってAapaceが起動します。
これでターミナルを起動することなくApacheの起動/停止が出来るようになりました。
DocumentRoot(公開フォルダ)へのエイリアス作成と権限付与
ローカル内でFTPとか面倒なのでapacheのDocumentRoot(公開フォルダ)へのエイリアスを作成します。
Finderのメニュー”移動”から”フォルダへ移動”をクリック
フォルダの場所を入力の欄に/Library/WebServerと入力して”移動”
開いたフォルダ内のDocumentsのフォルダをOption キーと Command(⌘)キーを押したまま、先ほど作成したWebフォルダにドラッグしてマウスボタンを放した後にOption キーと Command キーを放します。
これで公開フォルダへのアクセスが楽になりました。
しかしこれで終わるとDocumentsフォルダにアクセスするたびにパスワードを入力する羽目になるのでDocumentsフォルダを右クリックして情報を見るを開き”共有とアクセス権”の所へ自分を追加しておきます。
最後に念のため、ディスクユーティリティからディスクのアクセス権を検証を実行。
“ACLが見つかりましたが、予期していたものではありませんでした”との結果。
ACLについて調べてみるとAppleのSupportページにこんな回答が。
“Mac OS X:ディスクユーティリティのアクセス権の修復で無視しても構わないメッセージが表示される”
最後の所に”これらのメッセージは無視して構いません。また、「ACL は見つかりましたが…」から始まるすべてのメッセージも無視できます。”とある。
無視しても構わないと言われてもとりあえず”ディスクのアクセス権を修復”をクリック。
修復できたみたい。
基本的な設定は以上で終了。(PHPとかは動かないのでまた今度)