Raspberry Pi4が手元で暇をしていたので、勉強がてらWebサーバ+WordPressをインストールし、ブログを始めることにしました。
インターネットで検索してみても理解できない作業や設定があったので、備忘録もかねて必要最低限の手順をまとめてみました。
本記事を参考にWebサーバを立ち上げる時は「セキュリティ関連の設定」まで行いましょう。
- Webサーバの立ち上げ(本記事)
- WordPressのインストール
- 追加設定(セキュリティ含む)の設定
今回はブログ用のWebサーバということで、常時起動+長期運用を鑑みて、Raspberry Pi4+SSDでWebサーバを構築します。
Webサーバの立ち上げ
Raspberry Pi4にOSをインストール
RaspberryPiImagerを使ってSSDに書き込み
まず、Raspberry Pi4(以降、ラズパイ)のOSをSSDに書き込みます。
書き込みは公式サイトから書き込み用のソフトウェアであるRaspberyPiImagerをインストールします。
https://www.raspberrypi.com/software
RaspberryPiImagerを起動すると、デバイスとOSとストレージを選択します。

「次へ」をクリックし、「設定を編集する」をクリックします。
※設定編集はOSインストール後にも変更できますが、ここで変更してしまうのが楽です。
私が設定変更したのは以下3か所です。
- ユーザ名・パスワード:必ず変更しましょう。※piはNG
- ロケール:Ajia/Tokyo、JP
- SSH:有効、パスワード認証



私の場合は、有線接続のためWiFi設定をしていませんが、WiFi接続する場合は、「WiFiを設定する」をチェックし、SSIDとパスワードを入力しておきましょう。
後はRaspberryPiImagerに沿ってインストールが完了すれば、OSのインストールは完了です。
インストールした媒体(今回はSSD)をラズパイに接続し、立ち上げることでラズパイのOSが起動します。
RaspberryPi4の初期設定
IPアドレスの固定
SSHの接続やWebサーバを外部に公開する時のために、ラズパイのIPアドレスを固定しておきます。
ラズパイのターミナルから以下コマンドを実行し、IPアドレスを固定化します。
※コマンドでは「192.168.0.20」に固定
sudo nmcli connection show
sudo nmcli connection modify ‘Wired connection 1’ ipv4.method manual ipv4.addresses 192.168.0.20/24 ipv4.gateway 192.168.0.1 ipv4.dns 192.168.0.1
「connection show」で有線接続のNAMEを確認します。
「connection modify」でIPアドレスを固定します。
※今回のNAMEは半角スペースを含んでいるため、シングルクォーテーションで囲む必要があり。

ラズパイを再起動し、IPアドレスが固定できていることを確認しましょう。
ラズパイの更新
初期インストール時だと最新化されていないため、以下コマンドを実行し、ラズパイを最新化します。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update
上記すべてのコマンドの実行が完了したら、ラズパイを再起動します。
sudo reboot
Webサーバの構築
Apacheのインストール
先駆者を参考にすると、Apacheとnginxが候補としてあがりますが、本記事では私が触ったことのあるApacheを採用します。
まずは、以下コマンドを実行し、Apacheをインストールします。
sudo apt-get install apache2
インストールが成功したら、ラズパイでローカルホスト(下記アドレス)にアクセスし、アパッチのデフォルトページが表示されたら成功です。
http://localhost/
また、下記index.htmlを編集することで表示内容を変更することが可能です。
/var/www/html/index.html
私の場合は、下記テストページに書き換えて確認しました。
sudo vi /var/www/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta charset="utf-8">
</head>
<body>
<h1>test</h1>
</body>
</html>
ファイヤーウォールのインストール
外部からの不要なアクセスを遮断するため、ファイアウォールをインストールします。
sudo apt-get install ufw
ファイアーウォールのインストールが完了したら、Webサーバにアクセスを許可するため、HTTPポートを空けておきます。
sudo ufw allow 80
外出先からサーバにアクセスする場合はSSHのポート(22番)へのアクセスも許可しておく必要があります。セキュリティ面を考えるとSSH接続用のポート番号は変更しておく方が安全です。
私の場合は、外部からのアクセスは今のところ考えていないのでSSHのポートは空けていません。
ポート開放の設定を有効にするため、有効化・再起動・設定の確認を行います。
sudo ufw enable
sudo ufw reload
sudo ufw status-
HTTPポートの80番のみ表示できていれば設定完了です。
ルータの設定
ここからは個人の状況により設定方法が異なるため細かい説明は省きますが、やるべきことは外部からアクセスされた際にラズパイにアクセスさせるためのポートマッピング(別名:ポート転送、ポートフォワーディング)の設定を行います。
ルータの設定としては「HTTPポートにアクセスが来た際に、ラズパイにアクセスさせる」という設定を追加します。
具体的には、「HTTPポート(80番)にアクセスされた場合、ラズパイ(192.168.0.20)にアクセスさせる」と設定します。
※SSHでアクセスする場合も、同様にポート番号とラズパイ(192.168.0.20)への設定を追加
Webサイトの確認
これまでの設定で、ラズパイをインターネットに公開する準備が整いました。
ちゃんと公開できているか下記手順に沿って確認します。
- ラズパイで「curl inet-ip.info」を実行し、グローバルIPアドレスを確認
- WiFiをOFFにしたスマホで上記グローバルIPアドレスに確認
- アクセスができれば成功
スマホでアクセスする際はWiFiをOFFにすることを忘れないようにしてください。
WiFiがONになっていると、グローバルIPアドレスでアクセスできません。
どうしてもWiFiをONにしてアクセスしたい場合は、ローカルIPアドレス(192.168.0.20)でアクセスしましょう。
コメント