今回はUbuntu18.10にapache2を導入していきたいと思います。apache2の導入に関してはバージョンの違いととかはあまり気にしなくてもよいと思いますのでUbuntuの詳細情報はぬきにして、さっそくやってみたいと思います。
apache2とはなにか
筆者のようにあまり知識がないひとはapache2ってなんだ?というところからはじまります。apacheはwebサーバーソフトです。webサーバーはブラウザからのリクエストをうけて適切なwebページを返します。サーバーと呼ばれるコンピューターには必ずこのwebサーバーというソフトが入ってます。apacheはこのwebサーバーで一番のシェアをもっているみたいです。
筆者は専門家ではないので詳しいことはよくわかりませんが、おおむね話はあっていると思います。
httpdとはなにか
ネットの情報を調べているとhttpdというものをよく目にします。調べているとどうもhtppdとapacheを同じwebサーバーソフトでほぼほぼ同じもののようです。
CentOS,ScientificLinux では、httpd という名前のパッケージですが、 Debian,Ubuntu では、そのままapache2 という名前のパッケージになります。
なにか認識間違いしている部分もあるかもしれませんが、おおむねあっているとは思います。
Ubuntuにapache2を導入する
とりあえず導入していきたいと思います。下記のコマンドを打ちます
$ sudo apt-get install apache2
うまくいったようです。バージョンを確認しておきます。
$ apachectl -v Server version: Apache/2.4.34 (Ubuntu) Server built: 2018-10-03T13:57:22
apacheの動作確認
apacheはインストールした段階ですでに動作しています。イメージしにくいですがインストールした段階でwebサーバーソフトが立ち上がっているということになります。http://localhost/にアクセスしてみます。↓
成功したようです。ですがhello worldのページを表示するところまでやりたいところです。そのまえにapacheの設定をみておきたいと思います。
apacheの設定
Ubuntuへapacheを導入するだけならすぐに終わるのですが、設定項目が多いのと意味もよくわからないので、重要そうな部分をまとめておきたいと思います。
security.confの編集
security.confを編集していきます。conf-availableとconf-enabledというフォルダがあり同じファイルが2つ存在するのですがこの話はよくわからずに解説しているサイトが多いので省略します。conf-enabledのほうを編集していけばよいようです。conf-enabledを編集する理由についてですが詳しいことが知りたい方は下記を参照してください。もしくは公式ドキュメントなどを参照してください。
https://teratail.com/questions/158810
ファイルの場所は以下にあります。
/etc/apache2/conf-enabled
なにを編集してどういう役割があるのかまとめました。
ServerTokens OS から ServerTokens Prodに変更 | Prod: ResponseHeader に含まれるServerの情報を最小限にする |
---|---|
ServerSignature ON から ServerSignature Offに変更 | Offにすることによってエラーページのフッターからバナー情報が消える |
apache2.confの編集
apache2.confは /etc/apache2/apache2.confにあります。/var/www/htmlにindex.htmlなどがないとそのままディレクトリが表示されてしまうようです。↓
これを修正するにはapache2.confのIndexesと書いているところを消します。
設定を変えたので/var/www/htmlにindex.htmlなどがなにもない状態でhttp://localhostにアクセスしてみます。(apacheの再起動を忘れずに) これでひとますはOKです↓
hello worldの表示
apache2をインストールすると初期状態では /var/www/html/index.htmlがあります。http://localhostにアクセスするとこのindex.htmlが表示されるのでこれをコピーして編集したいと思います。
編集しおわりましたのでhttp://localhostにアクセスしてみたいと思います。ちゃんと表示されました↓
補足事項
apacheの基本コマンド
sudo service apache2 start | apacheの起動 |
---|---|
sudo service apache2 stop | apacheの停止 |
sudo service apache2 restart | apacheの再起動 構文エラーがあると再起動できません |
apache2ctl configtest | 構文テストを行う |
シンボリックリンクとは
apacheを使っているとシンボリックリンクという聞きなれない言葉でてきます。このシンボリックリンクですがショートカットのようなものだとおもっておけばよいようです。
シンボリックリンク (symbolic link)とは
まとめ
apacheとはwebサーバーでredhat系だとhttpd、debian系だとapache2をインストールする。apache2をインストールしたら、情報漏れを防ぐために最初に設定を行う。
apacheの設定はここで書いた以外にもたくさんあると思いますが、またなにかわかれば追加したいと思います。
コメント