ラズベリーパイでWEBサーバーを構築しよう!<Apache編>

0
19563
Apache Fabshop

ラズベリーパイなら自宅で簡単にインターネット環境を作れる!

ラズベリーパイで最もよく使われるRaspberry Pi OSはLinuxベースのOSです。Linuxはインターネット上で最も多く利用されているOSで、ホームページなどの基盤であるウェブサーバーやDNSサーバー、FTPサーバー、メールサーバーなど様々なサービスを提供しています。サーバーとはこのようにインターネット上のサービスを提供するものをいいます。

ラズベリーパイでWebサーバーを作る

Webサーバーとは、インターネット上のウェブサイトなどを構築するときに必要なサービスで、Webサーバーを構築したコンピュータ内にHTML文書を保管しておくことで、一般にその文書を公開して閲覧できるようになります。これがインターネット上のウェブページという事になります。Webサーバーはインターネット上で情報公開したりデータのやり取りをする最も利用されているサービスとも言えます。

ラズベリーパイを使ってWWWを学ぶ

ラズベリーパイでインターネット上のウェブサーバーを構築したりHTML文章を作成したり、ウェブプログラムなどを作成したりすることで、ネットワークやWWW(World Wide Web)の基本的な仕組みなどを簡単に再現して学ぶことができます。

Webサーバーにはどのようなものがあるか?

今回はウェブサーバーを構築しますが、ウェブサーバーには主に以下のようなものがあります。

  • Apache
  • Nginx
  • Microsoft IIS

今回はこの中で、インターネット上で最も利用されているWebサーバー「Apache」を設定してみます。Apache

ラズベリーパイでWebサーバー「Apache」を設定する

Apacheのインストールの前にRaspberry Pi OS のアップデートとアップグレードを行います。これは何やるときでも定番の作業です。

$ sudo apt update

$ sudo apt upgrade

すべてのアップデートが終了したらApacheのインストールを行います。現在Apacheはバージョン2系になっています。

$ sudo apt install apache2

これでインストールが完了してapacheサーバーが起動しています。

Apacheサーバーの起動を確かめる

プロセスを確認する

Apacheサーバーの起動を確かめるにはpsコマンドを使って起動を確かめる事ができます。psコマンドは現在inux上で動作しているプロセスを確認するためのコマンドです。以下の様にオプションをつけて実行します。

$ ps agx

以下の様にapacheの起動が確認できます。

Apache Fabshop

WEBサービスが始まっているかを確認

まずは、ブラウザを開いてlocalhostに接続してウェブサーバーが起動しているかどうかを確認します。ラズベリーパイ上でWEBブラウザを立ち上げてURL入力欄に「localhost」と入力し、「ENTERキー」を押します。

以下のように「Apache2 Debian Default Page」が表示されればWebサーバーが起動しHTMLファイルで書かれたファイルが表示されています。

Apache Fabshop

ちなみに、このデフォルトページは初期設定では、/var/www/html ディレクトリの中にある「index.html」というファイルを表示しています。

他のコンピュータからもアクセスしてみる

ラズベリーパイを使っている人なら他にも手持ちのコンピュータやスマートフォンをお持ちでしょう。ラズベリーパイがネットワークに接続されていれば、そのラズベリーパイのIPアドレスをブラウザに入力すれば同じ画面が表示されます。

Apache Fabshop

図は今回の家庭内LANの状況です。ラズベリーパイをWEBサーバーにするのですが、WEBサーバーにしただけだとインターネット側からは通常「ルーター」がファイアーウォールになってアクセスできません。あくまで、自宅内だけのネットワーク内でのWEBサーバーです。

まず、ifconfig コマンドで自分のIPアドレスを調べてみましょう。

$ ifconfig

今回はWiFiを利用しているためwlan0という欄にIPアドレスが表示されていますが、ラズベリーパイを有線で接続している場合には「eth0」欄にIPアドレスが表示されます。

Apache Fabshop

今回のIPアドレスは「192.168.1.23」という事がわかります。このIPアドレスを他のパソコンやスマートフォンのブラウザからアクセスすると、同じ画面が表示されるはずです。

Apacheがきっちりウェブサーバーの仕事をしていることが分かりました。次に設定を見てみましょう。

Apacheの細かい設定を行うには

ドキュメントルートについて

先ほど、Apacheのデフォルトページが「/var/www/html 」の中にありますとお伝えしました。このディレクトリの事をドキュメントルートと呼び、ウェブサイトなどの情報をHTML形式でこのディレクトリに入れておけばアクセスしてだれでも表示することができます。

デフォルトページ「index.html」というファイルがブラウザに表示されたファイルになりますが、ここには設定ファイルが「/etc/apache2/」というフォルダの中にありますと書かれています。このフォルダに移動してみます。

$ cd /etc/apache2

このディレクトリ内のファイルリストを「ls」コマンドで見てみます。

$ ls

すると以下の様に表示されています。「apache2.conf」とありますが、このファイルがメインの設定ファイルになります。この設定ファイルをviやnanoエディタで編集することで、ウェブサーバーのチューニングなどを行う事ができます。

webサーバー Fabshop

ドキュメントルートを変更したい場合

ここで、現在のデフォルトドキュメントルート「/var/www/html」を自分で決めたディレクトリに変更したい場合、このファイル一覧の中にある「sites-available」ディレクトリ内にある「000-default.conf」ファイルをviやnanoエディタなどで編集します。

※このようなサーバー設定に関わるファイルをいじる場合は間違った設定にするとLinuxシステム自体に様々な影響を及ぼすことがあるため、必ずバックアップ(コピー)を取ってから作業するようにしましょう。

まずはsites-availableディレクトリに移動します。

$ cd sites-available

設定ファイルは管理者権限でないと編集できませんのでsudoでコピーを実行します。

$sudo cp 000-default.conf 000-default_backup.conf

今回はnanoエディタで見てみましょう。

$ sudo nano 000-default.conf

この中にあるDocumentRoot /var/www/html を書き換える事で自分の好きなディレクトリを指定することができます。

設定ファイルを書き換える場合は、慣れて来るまでは元々書かれていた設定情報は、先頭に「#」をつけてコメントアウトし、同様に書き加える事にしてデフォルトの設定が何だったのかをメモとして残しておくのが良いでしょう。

webサーバー Fabshop

<変更例>

ドキュメントルートの変更はできましたが、このディレクトリへのアクセス権なども書き換えてあげる必要があります。

アクセス権などはapache2.confで設定

この1つ上の階層のapache2.confのDocumentRootの設定を変更することで、新しいドキュメントルートへの設定も変更できます。

$ cd ..

$ sudo cp apache2.conf apache2_backup.conf

$ sudo nano apache2.conf

この設定ファイルのかなり下の方に<Directory /var/www/> に対するアクセス権の設定が書かれています。先ほどの変更例では、この/var/www 以下にディレクトリを作って変更するという設定でしたので、このままで問題ないのですが、全然違うディレクトリに設定する場合などはここを書き換えます。

webサーバー Fabshop

ドキュメントルートについては特別な理由がない限り、最初は変更する必要などはありません。

更に高度なウェブサーバーを構築していくために!

簡単なホームページの作成やHTML、CSSなどの勉強を行いたいのならこのようにApacheを起動するだけで十分に楽しめます。しかしウェブサーバーの初期設定状態は、HTMLの閲覧だけで他の殆どの機能が利用できないようになっています。そのためには、他のソフトウェアをこのサーバーで動作させたり、機能を追加したり、他のサーバーを起動したりする必要があります。

以上、ラズベリーパイでapacheを動かすのと主な設定ファイルの解説でした。