Ubuntu18.10にapache2を導入してひととおり設定し終えるまで。

今回はUbuntu18.10にapache2を導入していきたいと思います。apache2の導入に関してはバージョンの違いととかはあまり気にしなくてもよいと思いますのでUbuntuの詳細情報はぬきにして、さっそくやってみたいと思います。

apache2とはなにか

筆者のようにあまり知識がないひとはapache2ってなんだ?というところからはじまります。apachewebサーバーソフトです。webサーバーはブラウザからのリクエストをうけて適切なwebページを返します。サーバーと呼ばれるコンピューターには必ずこのwebサーバーというソフトが入ってます。apacheはこのwebサーバーで一番のシェアをもっているみたいです。

筆者は専門家ではないので詳しいことはよくわかりませんが、おおむね話はあっていると思います。

httpdとはなにか

ネットの情報を調べているとhttpdというものをよく目にします。調べているとどうもhtppdとapacheを同じwebサーバーソフトでほぼほぼ同じもののようです。

CentOS,ScientificLinux では、httpd という名前のパッケージですが、 Debian,Ubuntu では、そのままapache2 という名前のパッケージになります。

なにか認識間違いしている部分もあるかもしれませんが、おおむねあっているとは思います。

Ubuntuにapache2を導入する

とりあえず導入していきたいと思います。下記のコマンドを打ちます

$ sudo apt-get install apache2

View post on imgur.com

うまくいったようです。バージョンを確認しておきます。

$ apachectl -v
Server version: Apache/2.4.34 (Ubuntu)
Server built:   2018-10-03T13:57:22

apacheの動作確認

apacheはインストールした段階ですでに動作しています。イメージしにくいですがインストールした段階でwebサーバーソフトが立ち上がっているということになります。http://localhost/にアクセスしてみます。↓

View post on imgur.com

成功したようです。ですが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などがないとそのままディレクトリが表示されてしまうようです。↓

View post on imgur.com

これを修正するにはapache2.confのIndexesと書いているところを消します。

View post on imgur.com

設定を変えたので/var/www/htmlにindex.htmlなどがなにもない状態でhttp://localhostにアクセスしてみます。(apacheの再起動を忘れずに) これでひとますはOKです↓

View post on imgur.com

hello worldの表示

apache2をインストールすると初期状態では /var/www/html/index.htmlがあります。http://localhostにアクセスするとこのindex.htmlが表示されるのでこれをコピーして編集したいと思います。

View post on imgur.com

編集しおわりましたのでhttp://localhostにアクセスしてみたいと思います。ちゃんと表示されました↓

View post on imgur.com

補足事項

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の設定はここで書いた以外にもたくさんあると思いますが、またなにかわかれば追加したいと思います。