自分で作ったアプリをWeb上のサーバーへアップロードすれば、世界中からアクセスできるため誰でも使えるようになります。
2022年1月現在では、Web上で利用できるサーバーの種類も多く、月額500円程度から契約できます。中でも有名なサービスは、AWS(アマゾン・ウェブ・サービス)ですよね。
また、個人なら無料で利用できる「Heroku(ヘロク)」というサービスもあります。いずれにしても、自分でサーバーの設定をしたり、アプリをアップロードしなければいけません。
もちろん、GoogleやYouTubeで検索すれば、アプリを公開する方法を調べることは可能です。しかし、サーバーの操作はLinuxのコマンドを使うため、知識がないまま操作するのは不安ですよね。
そこで、古いパソコンを使って自分でサーバーを作り、アプリを公開する練習をしてみませんか?LinuxのOS「Ubuntu(ウブントゥ)」を使えば、誰でもサーバーを無料で作ることができます。
さらに、サーバーを自分で作ることで基礎知識が身に付くため、実際にアプリをWeb上で公開する手順を確認できますよ。
この記事では、古いパソコンを使ってUbuntuサーバーを作る方法について解説しています。実際に自分でサーバーを作った経験をもとに、手順やエラーの解決方法などをまとめているので、ぜひ参考にしてください。
Ubuntuサーバーを作るための準備
まずはじめに、Ubuntuサーバーを作る準備について解説します。今回、サーバーを作るためにインストールするのは、「Ubuntu Server 20.04.3 LTS」です。
Ubuntuについて詳しく知りたい方は、公式サイト「Ubuntuとは」で確認してください。続いて、Ubuntuサーバーを作るために必要なものが3つあります。
- 古いパソコン
- USBメモリー
- インターネット環境
ここで、今回使ったパソコンのスペックも簡単にご紹介します。
スペック | 内容 |
---|---|
製造年 | 2008年 |
OS | Windows Vista |
CPU(動作周波数) | 1.86GHz |
メモリ | 2GB |
HDD | 約250GB |
無線LAN | IEEE802.11b・g |
現在販売されている一般的なパソコンより性能は大幅に劣りますが、問題なく動きました。準備するものは以上です。
Ubuntuサーバーを作る際の注意点
続いて、Ubuntuサーバーを作る際の注意点について解説します。主な注意点は3つあります。
- 古いパソコンのOSやデータは消える
- セキュリティは考えてない
- 開発環境やバージョンによって内容が異なる
古いパソコンにUbuntuサーバーをインストールすると、中に入っているデータが消えてしまいます。そのため、必要なデータは移動させておきましょう。
また、自分でサーバーを作って動かすことが目的なため、セキュリティは重視していません。本番環境でアプリを公開する場合は、セキュリティの確認をしてください。
最後に、パソコンの種類・インターネット環境・ソフトウェアのバージョンなどで、ファイル名やプログラムが異なります。ただ、基本的な内容は同じですので、ご自分の環境に合わせて対応してください。
それでは、実際にサーバーを作る手順に進みます。
Ubuntuサーバーを作る手順
ここからは、Ubuntuサーバーを作る手順をご紹介します。まずは、Ubuntuサーバーを作る手順を簡単にまとめておきます。
- インストール用のUSBを作成する
- Ubuntuサーバーをインストールする
- 初期設定をする
それでは、順番に解説していきます。
インストール用のUSBを作成する
はじめに、UbuntuサーバーをインストールするためのUSBメモリーを作成します。公式サイト「Ubuntuを入手する」にアクセスして、「Ubuntu Server 20.04.3 LTS」をダウンロードしてください。
次に、ダウンロードしたISOファイルをUSBに書き込みます。このとき、正しい方法で書き込まないと、USBを挿してもUbuntuをインストールできません。
僕の場合は、Macのターミナルを使って書き込みました。そこで、入力したコマンドを順番にまとめておきます。
// USBを挿し込む前と後で比較すると、disk番号がわかりやすいです。
$ diskutil list // USBのdisk番号を確認して↓の○に代入してください。
$ diskutil eraseDisk MS-DOS UNTITLED /dev/disk〇 // 初期化
$ diskutil unmountDisk /dev/disk〇 // マウント解除
// ddコマンドでUSBに書き込む(if=ISOファイルを指定 of=USBを指定)
$ sudo dd if=~/〇〇/〇〇.iso of=/dev/disk〇
$ diskutil eject /dev/disk○ // USB取り出し
なお、Linuxのコマンドは検索しても見つけにくいため、不安な場合は複数の記事で確認してください。
また、ISOファイルのパスがわからない場合は、Macなら下記の手順で確認できます。
- Finderを開き「表示」の「パスバーを表示」にする
- FinderでISOファイルを指定する
- Finderの下部にファイルパスが表示される
- ファイルパスを右クリックでコピーできる
ISOファイルをUSBに書き込んだら、Ubuntuサーバーのインストールへ進みます。ちなみに、フリーソフトでもUSBに書き込めるそうです。
Ubuntuサーバーをインストールする
続いて、Ubuntuサーバーをインストールしていきます。はじめに、インストールする方法を簡単にまとめておきます。
- USBを挿してパソコンを起動
- インストール時の設定
では、順番に解説します。
USBを挿してパソコンを起動
まず、インストールするパソコンにUSBを挿してから起動します。すると、自動的にUbuntuサーバーをインストールする画面が表示されます。
もし、通常の画面が表示される場合は、パソコンをBIOSで起動してください。BIOSとは、パソコンの電源を入れたとき最初に動くシステムです。
BIOSで起動させる方法はメーカーによって異なります。(例:電源を入れたあと、F2ボタンを数回押すなど)
BIOSで起動させたあとはBoot(起動)の項目を選択して、UbuntuのUSBを最初に読み込むように、設定を変更してください。(順番を変えるだけなので簡単です)
インストール時の設定
次に、インストール時の設定について解説します。Ubuntuサーバーをインストールする画面はすべて英語です。とはいえ、選択する項目は少ないため、英語が苦手でも問題ありません。
では、設定が必要な項目をまとめておきます。下記以外はすべて「Done」を選択します。
- language:English(日本語がないため)
- keyboard:Japanese
- OpenSSH:チェックをする
設定の途中で名前やパスワードを入力します。ログインするために必要なので、忘れないように注意してください。
このあとのアップデートやソフトウェアのインストールは、インターネットに接続して行います。パソコンとルーターをLANケーブルで繋げば、自動的にインターネットへ接続されます。
なお、インターネットに接続されてなくても、Ubuntuサーバーはインストール可能です。もちろん、最初からLANケーブルを繋いでおいても問題はありません。
インストールが終了したら「Reboot」を選択します。すると、Ubuntuサーバーが起動するので、そのまましばらく待ちましょう。
画面の表示が止まったらリターンキーを押し、名前とパスワードを入力すればログインできます。パスワードは表示されませんが、実際は入力されているので気にせず進めてください。
あわせて、シャットダウンのコマンドも覚えておきましょう。
$ shutdown -h now // すぐにシャットダウンする
Ubuntuサーバーのインストールが完了したら、初期設定へ進みます。
初期設定をする
Ubuntuサーバーをインストールしたあと、確認しておく設定は2つあります。
- アップデート
- ネットワーク
では、それぞれ簡単に解説していきます。
アップデート・アップグレードをする
Ubuntuのシステムを最新の状態に保つためには、アップデートが必要です。念のため、すぐに実行しておきましょう。
$ sudo apt update // 更新の確認
$ sudo apt upgrade // 更新を実行
ネットワークについて
続いて、ネットワークの確認です。ネットワークの状態は下記のコマンドで確認できます。
$ ip a
もし、IPv4のアドレスが表示されない場合は、このあとの設定変更やソフトウェアのインストールができない可能性があります。(原因不明のエラーで進めない場面が何度もありました)
そのため、LANケーブルの接続機器を変更するか、Wifiでインターネットに繋げてみてください。
Wifiでインターネットに接続する
では、UbuntuサーバーをWifiに接続する方法もご紹介します。まずは、Wifi用のインターフェイス名を確認します。
$ ls /sys/class/net
enp4s0 lo wlp20s0 // 実際に表示されたインターフェイス名
上記のインターフェイス名は、ネットワークの確認画面にも表示されています。どうやら、Wifiの場合は「w」で始まる名前のようです。
インターフェイス名がわかったら、次にWifiで接続するためのファイルを編集します。
$ ls /etc/netplan // ファイルを確認する
00-installer-config-wifi.yaml // ←対象のファイル
$ sudo vi /etc/netplan/00-installer-config-wifi.yaml
上記の「vi」は、Linuxのテキストエディターです。sudoで起動させることで、編集が可能になります。
viは少しクセがあるため、よく使うコマンドを載せておきます。
コマンド | 内容 |
---|---|
a | 編集モードに切り替える |
esc | 編集モードを終了する |
:wq return | 保存してviを閉じる |
:q return | 保存しないでviを閉じる |
:q! return | 保存しないで強制終了させる |
詳しく知りたい方は、Oracleヘルプセンター「vi 基本コマンドの一覧」で確認してください。Wifiに接続するためのコードは下記の通りです。
// 00-installer-config-wifi.yaml
# This is the network config written by 'subiquity'
network:
version: 2
wifis:
インターフェイス名:
dhcp4: true
optional: true
access-points:
"SSID名":
password: "Wifiのパスワード"
SSID名とパスワードは、お使いのルーターで確認してください。ファイルを保存して閉じたら、下記のコマンドを実行します。
$ sudo netplan generate // 設定ファイルを確認し出力する
$ sudo netplan apply // ネットワークの設定を適用する
なお、Ubuntuサーバーをインストールする際に、ネットワークでWifi接続を選択することも可能です。
効率よく開発する方法
最後に、Ubuntuサーバーを使いやすくするポイントについて解説します。効率よく開発を進めるためには、他のパソコンとSSHで接続して操作しましょう。
自分のパソコンから操作できると、マウスを使ったりコピペができるため便利です。SSHの接続方法はとても簡単です。
- 自分のパソコンのターミナルを開く
- $ ssh サーバー名@IPアドレス
- サーバーのパスワードを入力する
Ubuntuサーバーをインストールした直後なら、ファイアウォールが起動してないため、すぐに他のパソコンと接続できます。
さらに、テキストエディターとSSHで接続することも可能です。
VS CodeとSSHで接続する方法
続いて、テキストエディターの「VS Code」と接続する方法もご紹介します。主な手順は下記の通りです。
- 拡張機能「Remote–SSH」をインストール
- 左に追加された「リモートエクスプローラー」を選択する
- SSH TARGETSの歯車アイコンを押す
- /Users/〇〇/.ssh/configを選択する
- 接続するため、下記のコードを入力する
//SSH接続をするためのコード
Host 好きな名前を入れる
HostName IPアドレス
port SSHのポート番号(通常は22)
User ユーザー名
接続時にパスワードを入力すれば、VS CodeでUbuntuサーバーを操作できるようになります。マウスでファイルを選択・移動させたり、VS Codeのショートカットを使えるので便利です。
アプリを公開する練習をしよう
アプリを公開する方法はたくさんあります。クラウドサーバーを使えば、それほど利用料金もかかりません。
しかし、自分専用のサーバーを作れば、気軽に練習ができます。必要なものは古いパソコンとUSBメモリーだけです。
さらに、自分でサーバーを作ってエラーを解決するうちに、基礎知識が身に付きます。きっと、本番環境を構築するときの役に立つはずです。
自分でサーバーを作ることができたら、次はアプリを公開してみましょう。ただ、アプリをサーバー上で動かすためには、必要なソフトウェアをインストールしなければいけません。
なお、UbuntuサーバーにLaravelアプリを公開する方法については、⬇︎の記事で詳しく解説しているので、ぜひ参考にしてください。
どんどん新しいことにチャレンジして、自分の知識やスキルを増やし、レベルアップしていきましょう。