Apacheは、Webサーバです。
- 正式名称 : Apache HTTP Server
「Apacheという名前はインディアン部族、Apacheに対する敬意の念をあらわすため選んだ」らしいです。
Webサーバで利用されているアプリケーションで、Netcraft社によるとシェアはここ数年下がりつつあるとはいえそれなりにあります。
Web Server Survey | Netcraft
Webサーバは、HTMLファイルやそれに付随する画像などのファイルをクライアントコンピュータに配信するサーバコンピュータのことです。
インストールの方法
起動と停止の方法
ターミナルを使います。
# 起動する $ apachectl start # 停止する $ apachectl restart # 再起動する $ apachectl restart
Apacheを起動してからブラウザで「http://localhost:80」を表示すると「It works!」と表示されます。
Apacheを設定してみる
どこに「It works!」が書かれているのでしょう?こういった情報はApacheの設定ファイルで確認できます。
設定ファイルの名前は「httpd.conf」です。
設定ファイルは、Macにデフォルトで入っているApacheの場合は「/etc/apache2/httpd.conf」です。ただ「etc」というディレクトリは「Finder」では見えないのでターミナルで開きます。
$ open /etc/apache2/
アクセスするポート番号をListenに設定します。
# # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80
設定するポート番号の注意 : 80番はよく他のアプリケーションに使われています。
環境によっては「It works!」が表示されない事があります。原因は沢山あるのですが、1つにポート番号があります。
例えば、「Listen 80」と httpd.conf に設定したとします。これはApacheが 80番 のポートを使いますよってことです。
ところが、意外と他のアプリケーションが 80番を使っていてApacheが80番を使えず起動できないことがあります。
qiita.com
まずは現在使われているポート番号を調べます。
Macでは Network Utility を使います。
何のアプリケーションとポート番号がバッティングしているか判ったら方法は2つ
① 使っているアプリのポート番号を変更する
② Apacheのポート番号を変更する
②の場合は、「Listen 80」の 80 を変更します。
「8080」あたりが無難です。
そして、Apacheを再起動するとポート番号のバッティングが治ります。
表示するファイルを格納するディレクトリをDocumentRootに設定します。
# # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/Library/WebServer/Documents"
「/Library/WebServer/Documents」を開いてみると「index.html」というファイルが入っています。ここに「It works!」が書かれています。
< html >< body><h1 >It works!</h1></body></html>
DirectoryIndexに設定されたファイルがデフォルトで表示されます。
ここまででDocumentRootに設定されたディレクトリにある「index.html」が表示されたことがわかりました。
この「index.html」を指定するのがDirectoryIndexになります。
「http://localhost:80/」のようにファイル名が指定されない場合はDirectoryIndexに設定されたファイル名が返されて「http://localhost:80/index.html」となります。
# # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html </IfModule>