最近『Ubuntuサーバー徹底入門』を書かせていただきました。以前の『CentOS徹底入門』と同じく、Linuxの基本的な知識からサーバー構築・運用までを広く解説したトータルガイドブックです。
Linuxをサーバーとして利用したことがない人や、Linuxサーバーの経験はあるもののUbuntuサーバーを利用したことのない人でも戸惑わないよう、丁寧な解説を心がけました。Linuxの基本操作やネットワークの基礎もできるだけ解説しましたので、Linux入門書としても活用できます。
本記事では本書を読む前の準備運動として、「なぜ今Ubuntuなのか」「Ubuntuの魅力とは何なのか」をお話したいと思います。
そもそもUbuntuとは
Linuxには幾多のディストリビューション(配布形態)があります。ディストリビューションが異なると、使い勝手や操作体系が大きく異なることがあるのは、皆さんもご存知ではないでしょうか。
数年前まで、私は主にCentOSやFedoraなど、いわゆるRed Hat系ディストリビューションを中心に使っていました。知人や取引先が使っているのでそれに合わせていたのが主な理由ですが、Red Hat Linuxの時代からの慣れも大きな要因です。Debian系のディストリビューションにはなんとなく扱いにくい印象を持ち、敬遠していました。ところが今では、筆者の管理下にあるコンピューターの多くがUbuntuで動いています(ウブントゥと読み、南アフリカの言葉で「他者への思いやり」を意味します)。
UbuntuはDebian GNU/Linuxをベースとした、いわゆるDebian系ディストリビューションです。ちなみに、IoTデバイスとして人気のRaspberry Pi用ディストリビューションであるRaspbianも、Debian GNU/Linuxの派生ディストリビューションです。
Ubuntuに慣れておけば、Debian GNU/Linuxはもちろん、Raspbianの操作にも不自由しないでしょう。サーバーでも、デスクトップでも、さらにはWindows環境においても、同じコマンドを使って日常の作業をすることができるようになります。数あるディストリビューションの中でUbuntuをお薦めしたい理由の1つが、このカバー範囲の広さです。
サーバーとして利用するUbuntu
Ubuntuにはデスクトップ版やサーバー版など、いくつかのバリエーションがあります。サーバー版は最小限の基本システムをインストールし、必要なサーバーソフトウェアのみを追加していく形で構築します。GUIはありませんが、低スペックのハードウェアでも比較的快適に使用できるのがメリットです。
筆者は10年前のネットブック(Atom 1.6GHz、メモリ1Gバイト、SSD 32Gバイト)にUbuntuサーバーをインストールし、自宅のメインサーバーとして活用しています。さまざまなプログラミング言語でプログラミングを楽しんだり、家族の共有ファイルサーバーとして利用したり、Webサイトの情報を定期的に取得して保存したりしています。
仕事で利用するサーバーにはVPS(Virtual Private Server)を借りています。たいていのVPSサービスではデフォルトでUbuntuサーバーを選択できるようになっていますので、初期設定だけ済ませればすぐに使うことができます。Webサーバー、データベースサーバー、アプリケーションサーバーが主な用途です。低価格帯のVPSサーバーでも快適です。メモリ512MバイトのVPSでもWebアプリケーションがスムーズに稼働しています。
ちなみに、Webサイトの構築に使われているディストリビューションのシェアを調べてみると、2016年以降、Ubuntuが首位ということです(本稿執筆時点)。ちなみに2位はDebian GNU/Linuxです。この二者で全体の実に6割程度を占めているようです。詳しい推移はW3Techsのサイトで知ることができます。
利用可能なソフトウェアパッケージが多いのも魅力的です。CentOSのパッケージ数が約20000(EPELリポジトリ含む)に対して、Ubuntuは約47000のパッケージを利用できます。それらはコマンド1つで、必要な関連ソフトウェアも含めてインターネット上からダウンロードし、インストールできます。
サーバーソフトウェアは、とりわけ初心者にとっては初期設定が複雑に感じられるかもしれませんが、Ubuntuではパッケージのインストール時に基本的な設定を対話的に実施できるものがあります。いくつかの項目を選択したり入力したりすれば、インストール後すぐにサーバーソフトウェアが動作を始めます。
デスクトップとしてのUbuntuは完成度が高い
Ubuntuはもともとデスクトップ環境の使いやすさ、親しみやすさが注目されていたディストリビューションだけあって、デスクトップ環境の完成度は高いです。WindowsやmacOSに引けを取らないでしょう。この原稿もノートパソコンにインストールしたUbuntu上で書いています。
ファイルはDropbox経由でWindowsやmacOSマシンと共有しています。仕事がらみの作業のほか、自身のWebサイトの構築作業に使ったり、プログラミング環境を検証したり、作曲に使ったり、時にはペンタブレット(板タブ)を繋いで絵を描いたりしています。知人にはPCゲーム用に使っている人や、Androidのビルド環境として使っている人もいます。
WindowsにはUbuntuコマンドを簡単にインストールできる
64ビット環境のWindows 10(1709以降)では、Windows上でLinuxプログラムを動作させるWSL(Windows Subsystem for Linux)という機能が標準で利用できます。Windows上でUbuntuのコマンドを使って作業できるのは想像以上に快適で、テキストデータの処理や静的サイトジェネレータによるWebサイトの作成など、Linuxが得意な作業はWSLで行っています。
WSLはかつて「Bash on Ubuntu on Windows」という名称で、その名のとおりUbuntuが標準的な扱いとなっていました。現在はUbuntu以外にもOpenSUSEやDebianなど、複数のディストリビューションを使い分けることができるようになっています。Microsoftストアから簡単にインストールできます。
AI関連ソフトウェアの動作環境はUbuntuの指定が多い
ここ数年、AI(人工知能)がブームとなっています。AI関連のソフトウェアは多くがオープンソースとして公開されています。それらを解説する書籍やWebサイトにも事欠きません。筆者は仕事柄そのような書籍を読むことが多いのですが、動作環境にUbuntuを指定している例が数多く見られます。
もちろん、Ubuntu以外のディストリビューションでも同じソフトウェアは動作しますが、AI関連のソフトウェアはとりわけ導入に手間取るケースが少なくありません。書籍などと環境を合わせてUbuntuに導入することで、無用なトラブルによる時間の無駄を回避できるでしょう。
IoT分野で注目のRaspbian
IoT分野で注目されているのがRaspberry Piでしょう。超小型のデスクトップPC、サーバーPCとして使えるほか、組み込み用のシステムとして高い人気を誇っています。
Raspberry Piの標準OSはRaspbianといいますが、RaspbianもDebian/GNU Linuxをベースとしたディストリビューションですので、Ubuntuの知識があれば操作に戸惑うことなくスムーズに使うことができます。
最新バージョンを使い倒そう!
Ubuntuは年に2回、4月と10月に新しいバージョンがリリースされます。バージョン名は「年.月」で表します。例えば「Ubuntu 18.04」であれば2018年4月にリリースされたバージョンです。
また、2年に1度、偶数年の4月にはLong Term Support(LTS)版がリリースされます。LTS版はその名のとおり、長期にわたってサポートが提供されるバージョンで、リリース後5年間にわたってセキュリティアップデートなどが提供されます(LTS版以外は9ヶ月)。
頻繁なリリースは最新のソフトウェアを利用できるというメリットがありますが、サーバーでは「枯れた」、すなわち比較的古くても安定したソフトウェアが求められるのが実情でしょう。最新のLTS版は18.04、2018年4月末にリリースされたばかりです。Ubuntuを始めてみるにはちょうどよいタイミングではないでしょうか。
本書の見所は
最後に、『Ubuntuサーバー徹底入門』についても紹介します。本書は大きく分けて3つのパートで構成しています。第1~3章はUbuntuの概要とLinuxの基本について解説しました。コマンド操作に自信がなくても基礎知識をしっかりと押さえられます。
第4~10章はシステム運用とシステム管理についてです。20年近くにわたる筆者のLinuxサーバー経験を盛り込み、ポイントを絞って説明しています。Red Hat系に慣れた人が戸惑いがちな点にも配慮し、管理コマンドはやや詳しく取り上げました。公開サーバーを運用する上で不可欠なセキュリティについても第10章で扱っています。
第11~19章はサーバー構築です。定番のWebサーバーやメールサーバー、データベースサーバーから仮想化まで、その仕組みと導入、運用操作を解説しています。ぜひ構築したいサーバーの章を選んで、挑戦してみてください。