水瓶座列車

どこまで行けるか、とりあえず発車します。

Webサーバーを構築する手順(Raspberry Pi とUbuntu)

 

Raspberry Pi (以下ラズパイ)やLinuxで勉強できることの1つにWebサーバー構築がありますが、

ここでは、代表的なWebサーバーであるApache2とNginxの構築手順を書いていきます。

Webサーバーがあると、HTML/CSSJavaJavaスクリプトなどを勉強することができます。

基本的には、ローカル環境(LAN内)で動作することが良いですが、インターネット(WAN)上に外部公開することも可能です。

また、インターネット(WAN)上にWebサーバーを公開するやり方は、Webサーバー構築以外の知識や手順が必要になりますので、

どのようにやれば良いかの足掛かりとして、少しだけ触れたいと思います。

 

それでは、ラズパイでWebサーバーのApache2とNginxを構築する手順について書いていきます。

使用環境は、ラズパイでRaspberry Pi OS を使用しますが、

Raspberry Pi OSのベースであるUbuntu OSでも同様の手順で構築できます。

 

 

 

 

1.Apache2とNginxの比較について

 

先ほども言いましたが、代表的なWebサーバーは、Apache2とNginxですが、

それぞれの特徴について、メリット・デメリットとして下表にまとめてみました。

 

サーバー名 メリット デメリット
Apache2

・長く使用されているので安定性がある。

・豊富なモジュールと拡張機能がある。

・動的コンテンツの処理に適している。

・Nginxより処理速度が低い場合がある。

・Nginxよりメモリ使用量が多い場合がある。

Nginx

・Apache2より処理速度が速い

・Apache2よりメモリ使用量が少ない。

・静的コンテンツの処理に適している。

・動的コンテンツの扱いは適していない。

・Apache2より機能が少ない。

 

 

次項から、Apache2とNginxの構築手順を書いていきますが、

自分が使用したいWebサーバーの構築手順を見て頂ければと思います。

 

 

2.Apache2の構築手順

 

Apache2のインストール手順

 

Apache2のインストールは、下記で行います。

$ sudo apt install -y apache2

 

インストールが完了した瞬間から、Apache2が動作し、自動起動設定になっています。

 

 

Apache2の動作確認手順

 

ブラウザからラズパイのIPアドレスを入力してアクセスします。

下図のように、Apache2のデフォルトサイトが表示されたら動作確認は完了です。

 

 

Apache2の設定ファイル

 

apache2の設定ファイルなどは、/etc/apache2フォルダ配下にあります。

Webサーバーの設定としては、apache2.confファイルを、

サイトの設定としては、sites-availableフォルダ配下のファイルをよく触ります。

設定内容の説明については、ここでは省略します。

 

また、設定ファイルを変更した場合は、Apache2サーバーを再起動が必要な場合があります。

Apache2サーバー再起動は、下記で行います。

$ sudo systemctrl restart apache2

 

 

3.Nginxの構築手順

 

Nginxのインストール手順

 

Nginxのインストールは、下記で行います。

$ sudo apt install -y nginx

 

インストールが完了した瞬間から、Nginxが動作し、自動起動設定になっています。

 

 

Nginxの動作確認手順

 

ブラウザからラズパイのIPアドレスを入力してアクセスします。

下図のように、Nginxのデフォルトサイトが表示されたら動作確認は完了です。

 

 

Nginxの設定ファイル

 

Nginxの設定ファイルなどは、/etc/nginxフォルダ配下にあります。

Webサーバーの設定としては、nginx.confファイルを、

サイトの設定としては、sites-available/defaultファイルをよく触ります。

設定内容の説明については、ここでは省略します。

 

また、設定ファイルを変更した場合は、Nginxサーバーを再起動が必要な場合があります。

Nginxサーバー再起動は、下記で行います。

$ sudo systemctrl restart nginx

 

 

 

4.Apache2とNginxの自動起動・停止設定

 

Apache2やNginxは、インストールした時点で、自動起動ONの状態になっています。

 

自動起動をOFFにする設定は、それぞれ下記を実行します。

$ sudo systemctl disable apache2
$ sudo systemctl disable nginx

 

再び自動起動をONにする設定は、それぞれ下記を実行します。

$ sudo systemctl enable apache2
$ sudo systemctl enable nginx

 

 

また、自動起動をOFFにしても現在実行されているサーバーは、停止しません。

一時的に、サーバーを停止したい場合は、それぞれ下記を実行します。

$ sudo systemctrl stop apache2
$ sudo systemctrl stop nginx

 

また、停止しているサーバーを起動したい場合は、それぞれ下記を実行します。

$ sudo systemctrl start apache2
$ sudo systemctrl start nginx

 

 

補足で、上記コマンド内のサーバー名をapache2.serviceやnginx.serviceとしても大丈夫です。

 

 

5.HTML/CSSファイルの置き場所について

 

自分で作成したHTMLファイルを表示させるには、/var/www/htmlフォルダにHTMLファイルを置きます。

2項や3項のWebサーバー動作確認で表示されていたHTMLファイルは、

Apache2:/var/www/html/index.html

Nginx:/var/www/html/index.nginx-debian.html

です。

 

これらのHTMLファイルをデフォルトページとしている設定ファイルは、

Apache2:/etc/apach2/mod-available/dir.conf

Nginx:/etc/nginx/sites-available/default

です。

 

WebサーバーがHTMLファイルを表示する際には、/var/www/htmlフォルダ内に、

特定のファイルがあるかをApache2やNginxが判断して表示しています。

その特定ファイルとは、Apache2の場合、dir.confファイルに、

「 DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm 」

の記述があり、

index.htmlから順にファイル名を検索して、初めに存在したファイルをブラウザに表示します。

Nginxも同様にdefaultファイルに記述されています。

 

自分のサイトを作成する場合には、Apache2のindex.htmlファイルやNginxのindex.nginx-debian.htmlファイルをバックアップしておいて、

これらの同様のファイル名で、自分のサイト内容に書き換える方法が簡単です。

 

また、/var/www/htmlフォルダ以下で、サイト毎にフォルダを作成したり、

画像ファイルや動画ファイルなどは、dataフォルダを作成して分けたりなど、

自分でフォルダ構成を考えてサイト作成を行うと良いです。

 

 

6.Webサーバーの外部公開について

 

ローカル環境(LAN)内のWebサーバーをインターネット(WAN)上に外部公開する場合には、

DDNS、ポート開放などの知識や設定、プロバイダのルールを事前に確認しておく必要があります。

 

Webサーバーのドメイン名をインターネット(WAN)上に公開するためにDDNSを使用するのですが、

永続的に外部公開したい場合には、有料のDDNSを使用する方が良いです。

ただ、どのような感じなのかテスト的に触ってみたい場合には、無料のDDNSがあります。

無料のDDNSを使用した外部公開の手順については、

無料のDDNSを取得してバッファローのルーターに設定する手順 - 水瓶座列車

で書いていますので、参考にしてみてください。

また、この記事内でも書いていますが、ポート開放にはセキュリティのリスクがありますので、

注意してください。

 

 

7.Apache2とNginxの共存について

 

Apache2とNginxを2つ同時に動作させることは、ポートを変えることでできますが、

ほとんどの場合は、1台のパソコンに1つのWebサーバーを稼働させる方が、設定や運用がやりやすいです。

 

 

8.最後に

 

Webサーバーの構築自体は、簡単ですが、その後の設定やサイト運営のやり方について、

作業がやりやすいやり方を見つけておくと良いです。

サーバー上のHTMLファイルを追加したり、編集は、Sambaサーバーを使用して、Windowsパソコン上で行うと楽です。

 

 

<関連・おすすめ記事>

Linux勉強用の中古パソコンおすすめショップランキング - 水瓶座列車

HTML/CSSを独学で勉強するための始め方 - 水瓶座列車

RaspberryPi (ラズパイ)の購入時に最低限必要なものとおすすめセット - 水瓶座列車

Raspberry Pi (ラズパイ)で役に立つ書籍のおすすめランキングベスト5 - 水瓶座列車

Raspberry Pi (ラズパイ) にOSをインストールする手順 - 水瓶座列車