サーバーってなんなんだろうね
題名通りそんなお話をします。サーバーソフトを導入してみたよという何のひねりもないお話をしますよ。
僕がよくわからないPHPプログラムを書き続けることをはじめて半年ぐらいの時間が経ちました。いまだに僕はApacheだとかTomcatだとかを使わずにphp -S localhost:ポート番号
でよくわからないものを作っていました。
しかしながらXAMPPというPHP環境構築欲張りセットを導入したにもかかわらず使わないのもアレですので、これからはこいつもちゃんと使ってあげようと思ったのでした。というわけで、Web系なプログラムを書いているのに一切触れてこなかったApacheについに触ってしまったよというお話を以下にだらだらと書いていきます。以前にもApacheこんな機能付いてるじゃん使ってみたのような記事は書いた記憶が…。
でも、ちゃんと言語とひも付けて使うのははじめてだし改めて説明を……。
Apache
Apache HTTP Server(アパッチ エイチティーティーピー サーバ)は、世界中でもっとも多く使われているWebサーバソフトウェアであり、大規模な商用サイトから自宅サーバまで幅広く利用されている。単にApacheとも称されている。
よくわかんないこと書いてますが、本来Web上で走らせるプログラムやサービスを作るときはサーバーという環境を用意しないと動きません。そのために利用される環境構成のツールの一つとしてこんなのあるよということ言ってるんだと思います。ちなみに、本番環境(インターネット)でも耐えうるようなツールなので、今日もどこぞでこいつを使ってインターネットにホームページを公開しているところもあるんじゃないかな。
準備編
特に無いです。
XAMPPを入れると勝手についてきますという認識です。単体で欲しい場合は公式から持ってきましょう。
XAMPP
XAMPP Installers and Downloads for Apache Friends
ローカル環境を作って適当に遊ぶときにデフォルトの80番ポートだと競合しやすいので、httpd.confのListenあたりを好きな数字に変えておくと良いかもしれない。
何かを作って遊びます
最近まで、サーバーソフトで遊んでも何も面白く無いから記事にしづらいなとか思ってたんですよね。でも、丁度Apacheでなくては行けない理由を見つけてしまったので遊んでみました。
.htaccessのはなし
.htaccess
.htaccessとは、WebサーバーのApacheにおける、サーバーのディレクトリごとの設定情報を記しておくためのファイルのことである。分散設定ファイルと形容されることもある。
ということだそうです。ざっくりいうとページ移動の制限設定ファイルといった感じです。
色々と書き方はあるそうですが、こちらでサクッと作れてしまうようなので使っていきましょう(未検証)。
.htaccess ファイルを簡単作成「.htaccess Editor」
というわけで、こんなのを作ってみました。
.htaccess
<Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes DirectoryIndex hello.php order deny,allow
ファイル一覧表示させない、デフォルトページをindex.htmlにするようにしました。
早速確認してみます。
――と、その前に確認のためのファイルを作っていきます。
hello.php
<!DOCTYPE html> <html> <head> <title>こんにちワールド</title> <link rel="shortcut icon" href="" > </head> <body> <p><?php echo 'Hello'; ?></p> </body> </html>
shindex.php (デフォルト以外のページ:確認用)
<!DOCTYPE html> <html> <head> <title>世紀末インデックス</title> <link rel="shortcut icon" href="#" > </head> <body> <p><?php echo 'お前はすでに死んでックス'; ?></p> </body> </html>
そして、試しにこんな階層のフォルダを作ってみます。
otameshi
├ .hteacess
├ hello.php
└ shindex.php