この記事について
この記事では、サーバサイドでよく使うOSであるLinuxOSについて解説します。 一般的なのPC操作知識があればできるようにしていますので興味があれば是非読んでみてください。
LinuxOSとは
WindowsやMacといったOSの一種です。サーバサイドのシステムのOSとしてはWindowsなどよりも主流となっています。
今回扱うもの
Linuxというのは一つの系列で、様々なディストリビューションというパッケージが存在します。今回は、その中でもUbuntuというOSを使ってLinuxOSの利用体験をしようと思います。
また、コンピュータはご自身のMacやWindowsの入っているコンピュータを使います。MacやWindowsといったOSが入っていない実機に直接インストールして使うこともありますが、今回はVitualBoxというアプリケーションを使って仮想マシンを作り、MacやWindowsといった親機の上に立ち上げるようにします。
セットアップ
VirtualBoxインストール
VirtualBoxはこちらの公式サイトからダウンロードします。インストール時の設定は特にカスタマイズせず、デフォルトのままインストールで問題ありません。
Ubuntuのディスクイメージのダウンロード
続いてUbuntuをインストールするためのディスクイメージをダウンロードします。公式サイトのこちらからダウンロードできます。様々な種類がありますが、最新版のISOイメージのダウンロードをしてください。2020/09現在だと、「ubuntu-ja-20.04.1-desktop-amd64.iso(ISOイメージ)」が最新のISOイメージになります。
ちなみに、2.6GBあるため非常に時間がかかります。なるべくネットワーク環境の良い環境でダウンロードするようにしましょう。
VirtualBoxの設定
各種ダウンロードとインストールが終わったらVirtualBoxの設定をしていきましょう。
VirtualBoxを起動したら、青い「新規」のボタンを押しましょう。
オペレーティングシステムの種類の選択を要求されます。「my-ubuntu」など任意の名前を設定し、タイプはを「Linux」、バージョンを「Ubuntu(64-bit)」にしましょう。マシンフォルダは特に触る必要がありませんが、ここに設定データが保存されるのでもしも指定したい場合はフォルダを独自に作って指定してください。設定が完了したら「次へ」を押します。
メモリサイズを聞かれます。2048MBあれば大丈夫です。余力があればもっと大きくしても問題ありません。ただし、大きすぎると仮想マシンの起動中、親機を圧迫しますので注意しましょう。
仮想ハードディスクを作成するを選択して「作成する」を押してください。
「VDI」を選択して「次へ」を選択してください。
「可変サイズ」を選択してください。
デフォルトが10GBとなっていますが、そのままで問題ありません。「作成」を押します。
ここまで完成すると作成した仮想マシンが左側の灰色のリストに追加されます。このままですでに仮想マシンを起動することもできますが、後々ネットワーク操作をするため、ネットワークの設定に変更を加えます。黄色い歯車の「設定」アイコンを押してください。
設定の「ネットワーク」を設定し「アダプター1」の割り当てを「ブリッジアダプター」としてください。
以上でVirtualBoxの設定は完了です。
VirtualBox起動
ここからはVirtualBoxを起動してUbuntuのインストールをしていきます。
緑の矢印の「起動」を押してください。
初回は起動ハードディスクの選択を聞かれます。フォルダアイコンをクリックして起動ディスクイメージの選択をします。
光学ディスクの選択というメニューがでたら「追加」を押してください。
先ほどダウンロードしたディスクイメージを選択してください。これでUbuntuの起動ディスクを利用して起動できます。
Ubuntuのインストール
VirtualBoxアプリで作った仮想マシンが起動されます。続いて仮想マシンにUbuntuのOSインストールを行います。
上記の画面がでたらUbuntuのインストールをクリックしてください。
キーボードレイアウトを聞かれます。基本は修正不要で問題ありません。
通常のインストールを選択してください。
ディスクを削除してUbuntuをインストールを選択してください。なお、警告というやや怖い画面がでていますが結論として問題ありません。もしも実機にインストールするときは注意が必要ですが、今回は仮想マシンを作っているので問題ありません。
「ディスクに変更を書き込みますか」とでますが、続けるで問題ありません。
時刻設定のために居住都市を聞かれます。日本であれば「Tokyo」を選択しましょう。
アカウントの作成をします。半角英数字でアカウント名、パスワード作成を行います。
以上で設定終了でインストールが始まります。スペックによりますが時間がかかります。
インストールが完了すると、再起動を聞かれるので再起動しましょう。なお、再起動の際に「Press Enter」という表記がでることがありますがその際はそのまま指示に従ってEnterを押してください。
再起動後、ログイン画面がでます。先ほど作成したアカウントとパスワードでログインしましょう。
初回ログイン後の各種設定がきかれます。オンラインアカウントへの接続は「スキップ」で問題ありません。
「Livepatch」も特にセットアップせず右上の「次へ」を押してください。
「Ubuntuの改善を支援する」も特に修正せずそのまま右上「次へ」で問題ありません。
以上で準備完了です。
タイミングによっては、ソフトウェアアップデートを要求されますが、今回はお試しなので「後で通知する」で問題ありません。もっとも長期的に利用する想定でしたら、必ずアップデートするようにしましょう。
Ubuntuの操作
大変な作業であったと思いますが、以上でUbuntuの設定は完了しました。最初に、他のWindowsやMacのOSと同じ感覚で操作できることを確認するために基本操作をしてみましょう。
ブラウザを利用する
ブラウザはFirefoxがデフォルトで入っています。左上にFireFoxのアイコンがあるのでクリックしてみてください。ブラウザでインターネットが利用できることが確認できます。
Officeの利用
続いてOfficeが使えることを確認してみましょう。UbuntuにはMicroSoft Officeは入っていませんが、LibreOfficeという互換ソフトが入っています。
メニューにはないので、左下の9つの点のあるアイコンを押してください。ここからUbuntuに入っているアプリの一覧を見ることができます。
「libreoffice」と検索するとアプリがでてきます。Calcが表計算ソフト、Writerが文書作成ソフト、impressionがプレゼンテーションソフトです。
一例としてcalcを立ち上げてみます。MicrosoftのExcelと同じように扱うことができます。
シャットダウン
最後にシャットダウンは右上の三角形アイコンを押すと出てきます。「電源オフ/ログアウト」という選択肢があるのでそちらを選ぶことでシャットダウンできます。
もしも再度起動したい場合は、VirtualBoxのトップの起動を押せば今度はインストールなどの準備をせずにアカウントログインから始められます。
リモート操作をできるようにする
ここからはちょっとエンジニアリングっぽいことをやってみましょう。まずリモート操作をやってみます。ここからはコマンドライン操作があります。この記事にあるコマンドをそのまま打つだけで済むようにしてありますが、不安な方は必要に応じて以下の記事も併せて読んでみてください。
まずアプリ一覧から、端末を起動します。「terminal」で検索しようとすると出ると思います。
端末が開けました。こちらでコマンド操作を行っていきます。
コマンドライン操作が初めての方向けに解説しますと、この端末というアプリを使うことでコマンド入力によるコンピュータ操作ができます。各種コマンドを入力したあとEnterキーを押すことで各種コマンドが実行されます。
まずnet-toolsというコマンドラインアプリケーションをインストールします。現在動いている仮想マシンのネットワーク状況などを確認するツールです。以下のコマンドを打ってインストールしましょう。
$ sudo apt install net-tools
途中パスワードとインストールの可否が聞かれます。パスワードはログイン時に使ったパスワード、可否はYを入力したあとエンターを押してください。※パスワードについては、画面に出ませんが入力はされていますのでご安心ください。上記2つの質問を答えるとインストールが始まります。
完了したらifconfigというコマンドを打ってみてください。現在のネットワーク設定が確認できます。大事なのは2行目のinetから始まるIPアドレスです。画面上では192.168.2.111となっているものです。こちらは後々リモート操作で必要なのでメモするようにしておきましょう。
続いてリモートアクセスができるようにopenssh-serverをインストールします。先ほど同様に以下のコマンドを入力してインストールしましょう。
$ sudo apt install openssh-server
完了したら以下のコマンドを入力して設定、アプリケーションの再起動しましょう。
$ sudo systemctl enable ssh
$ sudo systemctl restart ssh
ここからは親機、または、ご自宅に同一Wifiでつながっているもう一台のPCがあればそちらで操作します。(以下リモート操作用のPCといいます。)
リモート操作用のPCの準備ができたら、MacならTerminal、WindowsならPowerShellなどのコマンド入力アプリケーションを開いて、以下のコマンドを打ちましょう。{アカウント名}となっているところは当該ubuntuでログインしているアカウント、{IPアドレス}は先ほど入力したIPアドレスを入れてください。
これでリモートからUbuntuの仮想マシンにログインして操作できるようになります。試しにリモート操作でtouchなどのコマンドでファイルを作成したあと、Ubuntuのデスクトップ上で確認してみてください。ファイル作成がされていることがわかります。
$ ssh {アカウント名}@{IPアドレス}
#例
$ ssh miyau@192.168.2.111
miyau@192.168.2.111's password: ←パスワードを聞かれます。パスワードを入力してエンターを押しましょう。
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-48-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Tue Sep 22 03:50:59 2020 from 192.168.2.108
#ログイン成功しました。
# ls や touchで各種操作ができることを確認してください。
miyau@miyau-VirtualBox:~$ ls
ダウンロード テンプレート デスクトップ ドキュメント ビデオ ピクチャ ミュージック 公開
miyau@miyau-VirtualBox:~$ touch test.txt
miyau@miyau-VirtualBox:~$ ls
test.txt ダウンロード テンプレート デスクトップ ドキュメント ビデオ ピクチャ ミュージック 公開
なお、ログアウトはexitというコマンドで接続を切ることができます。
$ exit
ログアウト
Connection to 192.168.2.111 closed.
Webサーバを立ち上げてみる
最後に簡単にWebサーバを立ち上げてみましょう。今回はapacheというソフトウェアを利用してサーバを立ち上げてみます。
早速apacheをインストールしてみましょう。以下のコマンドでインストールできます。なお今後こちらの操作については仮想マシンの端末上からでもリモート操作でも問題ありません。
$ apt install apache2
インストールが完了したら、cdコマンドで/var/www/htmlというフォルダに移動しましょう。ここのフォルダのファイルが公開されて、ブラウザでアクセスできるようになっています。試しに以下のコマンドを打って、ファイルを作ってみましょう。
# 公開フォルダに移動します。
$ cd /var/www/html/
# 公開フォルダは管理者でしかファイル作成できないためrootユーザーログインという管理者モードになります。
$ sudo su
#rootユーザーになったら試しに一つファイルを作ってみましょう。
$ echo "test" > test.html
#ファイル操作をしたらexitでrootユーザーをログアウトしましょう。
$exit
ファイルが作成できたらifconofigで確認したIPアドレスとファイルのパスをブラウザに入力してアクセスしてみましょう。以下のようにブラウザアクセスできるようになっていることが確認できます。
もしも自宅のWifiでスマートフォンやタブレットも接続していましたら、こちらのURLを打ち込めばアクセスできますので確認してみてください。
以上がapacheを使ったサーバ構築でした。
なお、以前以下の記事でNode.jsを利用したサーバアプリケーション開発を解説しました。こちらもUbuntu仮想マシン上でサーバ構築可能ですので、余力のある人はチャレンジしてみてください。
終わりに
以上で、LinuxOSの体験と、LinuxOSを使ったサーバの構築でした。ちなみに今回のサーバはWifiの自宅ネットワークに閉じています。実際にインターネットで公開する場合はセキュリティ設定など、より高度なことを知る必要があります。
また、そもそも以前以下の記事で紹介したように、今日ではサーバレンタルサービスがたくさんあります。今回のように一からLinuxOSをインストールしてセットアップする必要はほとんどなく、最低限の機能であれば無料のサービスでサーバを借りることができます。
しかしながら、自宅でDIYとしてネットワークを構築してみるなど応用の可能性が広がるだけでなく、上記のようなレンタルサーバを使っていたとしてもベースとなる教養として知っておくと役に立つものです。
この記事を通じて少しでもLinuxOSについて興味を持っていただければ幸いです。最後まで読んでいただきありがとうございました。
Photo by: Nicole De Khors on burst