古いPCを再利用!Linuxで自宅Webサーバーを自作する方法
自宅でWebサーバーを運用してみたいと思ったことはありませんか?最も手軽な方法は、使わなくなったパソコンにLinuxをインストールすることです。Linuxはシンプルなので構築も難しくなく、低コストでWebサイトやブログを公開できます。
ここでは、Linux Webサーバーの構築手順をわかりやすく解説します。
LinuxでWebサーバーを自作するには
自宅で稼働させるLinux Webサーバーを構築するには、ハードウェアとOSが必要です。さらに、Webサーバーソフトウェアのインストールと、インターネットからサーバーへアクセスするための設定も行います。
これらの作業は、次の4つのステップに整理できます。
- 古いパソコン(または不要になったパソコン)を用意する
- Linux OSをインストールする
- Webサーバーソフトウェア(Apache、PHP、MySQL)をセットアップする
- インターネットからサーバーにアクセスできるようにする
それでは始めましょう。
1. Linux Webサーバー用の古いパソコンを探す
Webサーバーとして使うパソコンを選ぶ前に、OSの最低動作要件を確認しておきましょう。Ubuntuは人気ですが、軽量とは言えません。そこでおすすめなのがLubuntuです。Ubuntuと同じコードベースを基盤とした、より軽量なディストリビューションです。
Lubuntuのシステム要件
Lubuntuの最低動作要件は以下の通りです。
- 512MHzデュアルコア以上のプロセッサ(1GHz推奨。Ubuntuの場合は2GHz)
- 4GBのシステムメモリ
- 25GB以上の空きHDD容量
- 32bit版(古いPC向け)と64bit版から選択可能
引き出しの奥に眠る古いPCや、リサイクルショップで安く手に入れた一台が役立つかもしれません。また、Raspberry PiにLinux Webサーバーを構築するのも良い選択肢です。この小型コンピュータは30ドル以下で入手でき、古いハードウェアでうまくいかないときの頼れる代替手段になります。
候補は古いWindows PCだけではありません。2006年以前のPowerPCプロセッサ搭載のApple MacやMacBookでもLinuxを動かせます。
Ubuntuと同様、Lubuntuは幅広いビデオカード、ハードディスク、その他のハードウェアに対応しています。手持ちのハードウェアで動作するか確認したい場合は、Live CD(ライブメディア)を起動して試してみましょう。
24時間365日サーバーを稼働させる予定なら、風通しの良い場所に設置することが大切です。特に夏場は熱がサーバーの大敵となるため、エアコンの効いた部屋に置くのが理想的です。
2. Linux OSをインストールする
Lubuntuのインストールは簡単です。まずISOファイルをダウンロードし、DVDまたはUSBメモリに書き込みます。
これらのディスクイメージには最新版のソフトウェアが含まれているため、インストール後に必要なアップグレードはごくわずかです。パソコンが対応していれば64bit版を、非対応なら32bit版を使用してください。
準備ができたらインストールメディアを挿入してパソコンを再起動します。光学ドライブやUSBから起動するためにBIOS設定の変更が必要な場合は、事前に変更しておきましょう。機種によっては、起動デバイスの選択メニューを直接開ける場合もあります。
インストールメディアが起動したら「Install Lubuntu」を選択します。案内に従って「インストール中にアップデートをダウンロードする」と「サードパーティ製ソフトウェアをインストールする」にチェックを入れ、「ディスク全体を使用する」を選択します。
なお、この操作を行うと、そのパソコン上の既存のOSはすべて消去される点に注意してください。その他のオプションは、希望する設定に従って進めてください。Webサーバー用途ではホームフォルダの暗号化は不要です。インストールが完了したら再起動しましょう。
再起動後はアップデートを確認します。「システム > 管理 > アップデートマネージャー > アップデートをインストール」の順に進みます。アップデート適用後、再起動が必要になる場合があります。
3. Linux Webサーバーソフトウェアをインストールする
他の選択肢もありますが、多くのWebサイトはApache、MySQL、PHPの組み合わせ(通称LAMP)で動作しています。
これら3つのツールは、ソフトウェアセンターからまとめてインストールできます。「システム > 管理 > Synapticパッケージマネージャ」から起動しましょう。ここで必要なソフトウェアを導入します。
以下のパッケージ名を検索してインストールしてください。それぞれ関連する依存パッケージも自動的に追加されます。apache2、php5、php5-mysql、mysql-server。「変更を適用」でインストールが始まります。
パッケージはまもなくダウンロード・インストールされます。途中でMySQLの「root」パスワードを求められるので入力してください。再起動は不要です。
コマンドラインから一括インストールすることもできます。ターミナルを開いて以下のコマンドを実行しましょう。
sudo apt install lamp-server^ -y
※本記事の手順はLubuntu 19.04時点のものです。新しいバージョンではPHPのパッケージ名が「php7.x」「php8.x」などに変わっている場合があるため、環境に合わせて読み替えてください。
Webサーバーをテストしよう!
サーバー上でFirefoxを開き、https://127.0.0.1/ にアクセスすればインストールを確認できます。https://localhost/ でも同じです。
「It works!」というメッセージが表示されれば、Webサーバーが正常に稼働しています!ApacheとMySQLはバックグラウンドで動作し、起動時に自動的に立ち上がります。これで /var/www 内のファイルを編集すれば、ブラウザを更新するだけで変更がサイトに反映されます。
サーバーのローカルIPアドレスを調べる
サーバーが動作するようになったら、次は外部からアクセスできるようにする段階です。そのためにも、定期的なセキュリティパッチの適用でサーバーを常に最新状態に保つことが重要です。
まず、サーバーのローカルIPアドレスを確認し、後で参照できる固定のものに設定します。現在のIPアドレス(ルーターから割り当てられたもの)は、ネットワーク情報ボックスで確認できます。
ネットワーク接続アイコンをクリックし、「接続情報」を選択すると、現在のIPアドレス、ネットワークアダプタ、ブロードキャストアドレス、ゲートウェイ、DNSサーバーが表示されたウィンドウが開きます。IPアドレスを控えておきましょう。
次に、ローカルネットワーク内で静的IPアドレスを使うよう接続設定を編集します。今度は右クリックして「接続を編集」を選び、該当するアダプタ名(例:eth1)の設定を開きます。
「IPv4」タブを開き、「方式」を「手動」に変更します。「追加」をクリックして、先ほど確認した接続情報を入力します。ただし、IPアドレスの入力方法が少し異なる点に注意してください。最初の3つのオクテット(ドットで区切られた数字)はそのままにし、最後の数字を254未満の大きめの数値に変更します。
手動で割り当てるIPアドレスが、ネットワーク内でまだ使われていないことを確認することが重要です。不安な場合は250のような大きめの番号を選びましょう。これがあなたの静的なローカルIPアドレスになります。
Webフォルダを共有する
サーバーへのアクセスやファイルのアップロードにはいくつかの方法があります。ここではフォルダ権限の重要性を示すため、Webフォルダの共有を例に説明します。
この方法を使うのは、サーバーがプライベートネットワーク上にある場合のみにしてください。部外者が接続して共有フォルダにアクセスできないことを必ず確認しましょう。
まず、Webフォルダの権限を緩めます。Ctrl + Alt + Tでターミナルを開き、以下のコマンドを入力します。
sudo chmod 777 /var/www
パスワードを求められるので入力します。正しければ権限が更新されます。
次にファイルブラウザで/var/を開きます。wwwフォルダを右クリックし、「共有のオプション」を選択します。セキュリティ設定として、パスワードあり・なしで共有できます。ユーザー名とパスワードなしで共有するには「ゲストアクセス」を選択します。
これで、自分も他の人もパスワードなしでファイルにアクセスできるようになります。そのため、セキュリティの観点からはパスワード付きでの共有が推奨されます。あわせて「このフォルダ内でのファイルの作成と削除を他のユーザーに許可する」にもチェックを入れましょう。共有ディレクトリ経由での書き込みが可能になります。
ファイルを閲覧するには、ネットワークの場所 //localhost/www を開きます。
セキュリティ設定によっては、パスワードを求められるか、そのままファイルにアクセスできます。これらはブラウザで https://localhost/ (または設定した静的IPアドレス)から見られるのと同じファイルです。
ポートフォワーディングでLinuxサーバーを公開する
IPアドレスが決まったら、次に理解すべき重要な概念がポートフォワーディングです。インターネットに接続しているすべての人は何らかのIPアドレスの背後にいます。ほとんどの家庭用回線(および多くの企業回線)では、パソコンのIPアドレスは実際にはインターネットに直接露出していません。
では、Webサイトへの訪問者はどうやってサーバーにたどり着くのでしょうか?それを実現するのがポートフォワーディングです。
サーバーのポートは家のドアや窓のようなもので、セキュリティ上も重要な意味を持ちます。各ポートは、サーバー上で動作する異なるサービスへの入り口になります。Webサーバーはデフォルトでポート80を使用します。
これを有効にするには、ルーターの管理画面にログインする必要があります。詳細はルーターの取扱説明書を確認してください(機種によっては背面にIPアドレスが印字されています)。管理画面内に「ポートフォワーディング」や「アプリケーション」といった項目があるはずです。
TCPポート80への通信を、先ほど設定した静的IPアドレスへ転送するように設定します。ルーターごとに操作方法が異なるため、詳しくは各製品のマニュアルを参照してください。
Linux Webサーバーに固定ホスト名を与える
多くの家庭用ルーターは、動的IPと呼ばれる方式でISPに接続しています。つまり、ルーターの公開側IPアドレスは一定期間(通常1週間程度)ごとに変わってしまうのです。
これを回避するのがDynDNSのようなダイナミックDNSサービスです。サイトにDynDNSのURLを設定しておけば、常駐クライアントアプリのおかげで、公開IPアドレスが変わってもURLは常にあなたのLinuxサーバーを指し続けます。
こうして、訪問者は https://yourhostname.dyndns.org のようなアドレスで、外部からあなたのWebサーバーにアクセスできるようになります。なお、ISPがルーターへのポート80をブロックしている場合は、代わりにポート8080などをポート80へ転送しましょう。これにより https://yourhostname.dyndns.org:8080 でサイトにアクセスできます。
Linux Webサーバーの完成!
これでWebサーバーのセットアップは完了です。あとはプログラミングや、好きなソフトウェアの導入に集中できます!
ブログソフトを動かしてもよし、フォーラムや掲示板を開設してもよし。Mastodonのようなソーシャルネットワークやポートフォリオサイトをホストするのも面白いでしょう。すべてはあなた次第です。
最近では、ほとんど何でもWebサイトのホストにできます。たとえばAndroidスマホをWebサーバーに変えることも可能です。ぜひ試してみてください。
-
Linuxホームサーバーを安全に守るための完全ガイド
ホームサーバーを構築する理由はたくさんあります。メディアサーバー、ファイルサーバー、あるいはローカルバックアップサーバーとして活用することもできるでしょう。基本的に、インターネット上に置く必要のないファイルは、すべてホームサーバー向きのデータだと言えます。最近ではLinuxを使ったホームサーバーの構築自体は比較的簡単になりました。しかし、そのサーバーを安全に保ち続けることは別問題です。セキュリティは重要であると同時に、決して簡単ではないテーマなのです。必要最小限のものだけをインストールするホームサーバーのセキュリティを維持する最も簡単な方法の一つは、最初の段階からセキュリティを意識することです
-
Raspberry PiでNASサーバーを自作する方法!Sambaを使った構築手順を徹底解説
NAS(Network Attached Storage:ネットワーク接続ストレージ)とは、ローカルネットワーク経由でアクセスできるドライブのことです。いわば「家庭用クラウドストレージ」のような存在で、PCの容量では足りないファイルの保存や、複数デバイス間でのファイル共有に最適です。Raspberry Piをお持ちなら、安価かつ簡単にNASサーバーを自作できます。 構築方法はいくつかありますが、最も人気があるのはOpenMediaVault(OMV)とSambaの2つです。この記事ではSambaを採用します。その理由は、現在使っているRaspbian(Raspberry Pi OS)環境の