【第3回】httpd(Apache)のインストール・設定

2022年3月21日月曜日

webサーバー

 httpd(Apache)のインストール・設定




 「RaspberryPiを使ってWebサーバーを立てる」第3回です。今回はいよいよwebサーバーを立てていきます。全体の目次はこちらです。

 〇目次

  1. httpd(Apache)のインストール
  2. httpdの設定ファイルを編集
  3. ドキュメントルートの所有権変更
  4. テストページ削除
  5. 設定ファイルにエラーがないか確認
  6. html(css,jsなども)フォルダをアップロード

 〇今回使うコマンド

  1. yumコマンド
  2. viコマンド
  3. systemdコマンド
  4. chownコマンド(初めて)
  5. rmコマンド(初めて)

 1.httpd(Apache)のインストール

 httpdをインストールするために以下のコマンドを実行します。
# yum -y install httpd

 Complete!と表示されればOKです。

 次にRaspberryPi起動時にwebサーバー(httpd)が自動起動するために以下のコマンドを実行します。
# systemctl enable httpd

 自動起動の設定がされたことを確認します。
# systemctl list-unit-files -t service

 httpd.serviceの行がenabledとなっていればOKです。

 httpdを起動していきます。以下のコマンドを実行して起動しましょう。
# systemctl start httpd

 Apacheのテストページにアクセスしてみましょう。ブラウザのURL欄にRaspberryPiのIPアドレスを入力してアクセスします。下のようなページが表示されれば正常にhttpdが起動できています。

 2.httpdの設定ファイルを編集

httpd(Apache)の設定ファイルは /etc/httpd/conf/httpd.conf にあります。この設定ファイルを変更します。下のコマンドを実行して設定ファイルを開きましょう。
# vi /etc/httpd/conf/httpd.conf

 設定ファイルを開くと長い文字が表示されると思います。見やすいように行番号を表示させてみましょう。コマンドモード(viコマンド実行直後の状態)で「:set numbre」と入力してみてください。左下に文字が打ち込めると思います。左下に打ち込めない場合は「Esc」を押した後、「:set number」と打ってください。行番号を非表示に戻したい場合は「:set nonumber」と打ってください。

 行番号が表示出来たら設定ファイルを変更していきます。ここでは以下の5項目を変更します。

1.servernameを変更


 最初にservernameを変更します。約96行目にあります。
#ServerName www.example.com:80
↓
ServerName www.ホスト名:80

ホスト名は自分の好きな名前にしてください。例えばYouTubeであれば「www.youtube.com:80」となります。

2.Optionsを変更

 次はOptionsの項目を変更します。約145行目にあります。
Options Indexes FollowSymLinks
↓
Options Includes ExecCGI FollowSymLinks

上で何をしたか説明します。
・変更前
 ・Indexes → ファイル一覧を表示する(セキュリティ上よくないので無効化)

 ・FollowSymLinks → シンボリック先へのアクセスを許可
 (「シンボリック」とはWindowsで言う「ショートカット」、Macで言う「エイリアス」です。)

・変更後
 ・Includes → SSIを有効化(SSIはHTMLにプログラムを埋め込む技術です。Javascriptはクライアント(閲覧者側の端末)で処理するのに対し、SSIはサーバー側で処理します。ただし現在はPHPなどが主流であり、SSIはあまり使われていないそうです。)

 ・ExecCGI → CGIスクリプトを許可(CGIを使うとカウンターやチャット、アンケートフォームなどに対応させることができます。)

このオプションについてさらに詳しく知りたい方はこちらを参考にしてみてください。

3.AllowOverrideを変更


 次はAllowOverrideを変更します。これはディレクティブの設定変更を許可するかしないかを設定するコマンドです。ディレクティブとは、コンパイラやプリプロセッサへ指示を与えるためのプログラムです。設定ファイルの約152行目にあります。
AllowOverride None
↓
AllowOverride All

4.IfModule dir_module内を変更


 次はこちらの項目に「index.php」を追加します。ついでにhtmlファイル名も変更しておきましょう。設定ファイルの約165行目にあります。
DirectoryIndex index.html
↓
DirectoryIndex 〇〇.html index.php

htmlファイルの名前は好きな名前に変更することが可能です。ただし、後ほど追加するhtmlファイルと同じ名前にしてください。phpファイルはindex.phpにしましょう。

5.文字化け対策


 最後に文字化け対策を行います。約317行目にある項目を以下のように変更しましょう。
AddDefaultCharset UTF-8
↓
#AddDefaultCharset UTF-8

 上では「#」とつけつことでコメントアウトしています。C言語で言う「//」です。ではなぜ文字化け対策で上のようにコメントアウトするのか、疑問に思うかもしれません。これはhtmlファイルでUTF-8以外のcharasetを記述した場合、htmlのcharasetではなくこの設定ファイルの文字コードが優先されてしまい、文字化けを起こすことがあるからです。

 3.ドキュメントルートの所有権変更


 今度はドキュメントルートの所有権を変更していきます。ドキュメントルートとは、Web上に公開することのできるディレクトリ(フォルダ)のルートのことです。以下のコマンドを実行しましょう。
# chown 一般ユーザー名 /var/www/html/

 一般ユーザー名のところには最初に決めたユーザー名を入力しましょう。
 今使ったコマンド「chown」についてはこちらのブログでまとめました。知ってて損はないので是非見てください。

 4.テストページ削除


 自分のローカルのアドレス(localhost か 192.168...)でRaspberryPiにアクセスするとApacheのテストページが表示されましたが、もう必要ないので削除します。以下のコマンドを実行して削除しましょう。
# rm -f /etc/httpd/conf.d/welcome.conf

 今使ったコマンド「rm」について軽く説明します。

 rmはファイルやディレクトリ(フォルダ)を削除するコマンドです。[]の箇所は省略できますがオプションなどについて詳しく知りたい方はこちらのブログを参考にしてみてください。
 削除ができたらhttpdを再起動させましょう。以下のコマンドを実行するとhttpdを再起動できます。
# systemctl restart httpd

 5.設定ファイルエラーがないか確認


 先ほど編集した設定ファイルにエラーがないか確認していきます。下のコマンドを実行して、「Syntax OK」と表示されれば問題ありません。もし表示されない場合はもう一度設定ファイルを確認してみましょう。
# httpd -t
Syntax OK

 6.html(css,jsなども)フォルダをアップロード


 今回はWindows(Mac)のパソコンでhtmlやcssなどを作成してRaspberryPiにアップロードします。まずは簡単なhtmlファイルを作成しましょう。メインのPCからメモ帳を開き、以下のひな型を入力しましょう。保存する時、ファイル名を先ほど設定ファイルで指定したファイル名にしましょう。ファイル名が間違っているとアクセスしたときに「Forbidden」とエラーになるので気を付けましょう。拡張子は「.html」です。
<html>
  <body>
    Hello World!
  </body>
</html>

 次に「WinSCP」というソフトをダウンロードします。このソフトはファイルを「SFTP」という通信方式を使います。似た名前で「FTP」という通信方式がありますが、実際は別物です。SFTPについてさらに詳しく知りたい方はこちらを参考にしてみてください。


 つまり、SFTPでファイルを送るときはSSHと同じ要領で接続します。

 winSCPが起動したらRaspberryPiに接続します。下のようなログイン画面が出ると思います。指定の通りに入力しましょう。一般ユーザーは最初に設定したrootではないユーザー名を入力しましょう。そのあと、「保存」を押します。

 「ログイン」を押します。

 もう一度パスワードを入力します。一般ユーザーのパスワードを入れましょう。

 接続出来たら /var/www/html のディレクトリに移動します。

 このディレクトリにドラッグアンドドロップするだけでアップロードできます。以上で完了です。確認のためにブラウザからRaspberryPiのIPアドレスを入力してアクセスしてみましょう。「Hello World!」と表示されれば完了です。
 
 <第2回                                第4回>

このブログを検索

ブログ アーカイブ

自己紹介

自分の写真
大学3年。小学のころから電子工作が好きです。現在はIoTデバイスの制作やドローンの制作などをしています。

連絡フォーム

名前

メール *

メッセージ *

QooQ