httpd(Apache)のインストール・設定
   「RaspberryPiを使ってWebサーバーを立てる」第3回です。今回はいよいよwebサーバーを立てていきます。全体の目次はこちらです。
〇目次
- httpd(Apache)のインストール
 - httpdの設定ファイルを編集
 - ドキュメントルートの所有権変更
 - テストページ削除
 - 設定ファイルにエラーがないか確認
 - html(css,jsなども)フォルダをアップロード
 
〇今回使うコマンド
- yumコマンド
 - viコマンド
 - systemdコマンド
 - chownコマンド(初めて)
 - 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」について軽く説明します。
   削除ができたら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!」と表示されれば完了です。
  
  
0 件のコメント:
コメントを投稿