サーバーを立てるための最速Linux入門~一般知識編~

マイクラでマルチプレイのためにLinuxを使ってみたいという方、多いと思います。

しかしながらLinuxというOSは慣れていないとどう扱っていいか分からないとっつきにくいOSでもあります。

そこでこの記事ではマイクラのサーバーを立てられる程度の最低限のLinux知識について解説します。

この記事を読めばLinuxのことが少しだけ分かるかもしれません。

【コラム】ところで、Windowsではサーバーを建てられないの?

マイクラのサーバーを建てるために、わざわざLinuxを利用しなくてはならないの?Windowsじゃだめなの?と思う方もいらっしゃると思います。

サーバーを建てること自体はWindowsでもできますが、実はそのサーバーにアクセスしてもらうことが一般向けWindowsのライセンス条項に違反してしまう可能性があります

具体的にはWindowsオペレーティングシステムのライセンス条項である、「インストールと使用権」の「複数ユーザーが使用するシナリオ」の「デバイスの接続」に抵触する恐れがあります。

このライセンス条項には、特定の用途以外での接続は認めませんと記載されており、例えばマイクラのサーバーを建てて外部からアクセスしてもらうような用途での利用はできない旨が記載されています。

したがって、一般向けWindowsでマイクラのマルチサーバーを建ててアクセスしてもらうことは基本的にはできないと思った方が良いでしょう。

当サイトも一般向けWindowsのライセンス条項に従い、Windowsでマイクラのサーバーを建て第三者にアクセスしてもらうような解説記事は記載いたしません。

一般向けWindowsのライセンス条項に関しては一度ご自身でお調べになってみるのが良いと思います。

マルチユーザー

LinuxはOSレベルで複数人が同時に利用できるOSです。

Windowsも複数アカウントで使うことはできますが、同時に利用できるのは1人までです。

Windowsでもターミナルサービスというものを導入すれば複数ユーザーで同時に利用することができますが、ターミナルサービスはWindows Serverという、一般向けWindowsとは違うOSを利用する必要があります。

それに対してLinuxはマルチユーザーで利用することが前提のOSで、同時に利用することができます。

例えばマイクラのサーバーをminecraftというユーザーが起動していたとしても、別のユーザーがOSにアクセスして利用することが可能です。

一般ユーザーとrootユーザー、管理者権限を意識するOS

通常Linuxでは大きく分けて一般ユーザーと管理者権限を持つrootユーザーの2種類のユーザーがいます。

rootユーザーはすべての操作が可能になる一方、乗っ取られた場合などにすべての操作ができてしまうためセキュリティ的に問題になります。

そこで、普段は一般ユーザーで作業し、管理者権限が必要な部分だけは一時的にrootユーザーとして作業するというのがLinuxの基本的な考え方になります。

管理者権限が必要なコマンドを一時的に利用する場合、最近のLinuxではsudoコマンドを使って権限の昇格をおこないます。

たとえば、パスワードを変更するpasswdコマンドは、一般ユーザーでは自身のパスワードを更新するのに対して、管理者権限で実行すると、他のユーザーのパスワードを変更できます。つまり、他のユーザーのパスワードを変更したい場合はsudo passwdを使って変更します。

自分のパスワードを変更する場合

$ passwd⏎

自分のパスワードを変更する場合は特別な権限が不要であるため、そのまま実行できます。

自分以外のユーザーのパスワードを変更する場合

$ sudo passwd [パスワードを変更したいユーザー名]⏎
[sudo] password for <自分のユーザー名>: [自分のパスワード]⏎

自分以外のパスワードを変更する場合は管理者権限が必要となるため、sudoに続けてpasswdと入力します。
sudoコマンドを利用する場合はあらかじめユーザーがsudoコマンドを利用できるように設定を済ませておく必要があります。

また、sudoコマンドを利用する際には自分のパスワードを入力する必要があります。

これは普段意識しないだけで、WindowsでもMac OSでも同じです。

Windowsであればアプリケーションをインストールする際にユーザーアカウント制御画面が表示されたり、Mac OSでもパスワードの入力が求められる場面があったりしますよね?

Linuxでは明示的に一般ユーザーと管理ユーザーを分けて扱っていると考えれば他のOSと大差ありません。

カーネルとディストリビューション

Linuxとは、正確に言えばOSのカーネルの部分を指します。カーネルとはCPUやメモリ、ストレージ、ディスプレイなどのハードウェアとソフトウェアとの橋渡しをおこなうものです。

私たちが普段使っているアプリも、アプリからカーネルにアクセスし、ハードウェアから情報を読み出したり書き込んだりしています。カーネルとはOSの中核部分を担う大切な役割を持っているということを覚えておきましょう。

しかし、ハードウェアの管理をカーネルがやってくれても、肝心のソフトがなければOSとして成り立ちません。

そこで登場するのがディストリビューションです。

ディストリビューションというのは、Linuxカーネルを含めたOSに必要なソフトをひとまとめパッケージングして配布しているものを指します。

このディストリビューションにはたくさんの種類があり、パッケージされているソフトはディストリビューションを開発している団体の思想によって様々です。


たとえばUbuntu Linuxというディストリビューションでは、WindowsやMacと比べて遜色ないようなデスクトップ環境を提供しています。

対照的に、Dockerなどでよく利用されているAlpine Linuxではデスクトップ環境は標準ではなく、軽量なパッケージングを売りにしているディストリビューションです。

このようにディストリビューションによって利用シーンが変わってくるため、Linuxを利用する際には自分の用途に合ったディストリビューションを選ぶことが大切になってきます。

とはいっても、サーバー用途であればどのようなディストリビューションでも利用することは可能だし、デスクトップ用途だったとしてもあとからデスクトップ環境をインストールするだけで良いので、ディストリビューションを選ぶ際には自分の思想に合っていそうだなと思ったものを選んでおけばOKだと思います。

ちなみに私はDebian GNU/Linuxが好きです。学生時代から数えると20年くらい使い続けています。

WindowsやMac OSにもカーネルは存在します。普段意識していないだけです。意識しないだけで重要な役割を担っている、OSにとって必要不可欠な縁の下の力持ちです。

なお、Linuxディストリビューションはそのほとんどがオープンソースであり無料で利用することができます。

この点は我々一般ユーザーにとってとても魅力的な点ですね。Windows Serverなんかを使おうと思ったらライセンス費用だけでとんでもない金額がかかってしまいますからね。

コマンドラインが基本だが、GUIも利用できる

一般的なLinuxのイメージは「黒い画面に白い文字がいっぱい」だったり、「サーバー用途でしか利用されない」など、ちょっと玄人向けのイメージだと思います。

たしかにLinuxは黒い画面に白い文字が基本ですし、サーバー用途で幅広く使われているOSですが、WindowsやMac OSと同じようにデスクトップ用途でも十分に利用できます。YouTubeで動画を見ることもできれば、動画の配信や編集もできます。

ただし、対応しているソフトが多いかと言われればそこまで多くはありません。また、Linux自体がサーバー運用時に便利な機能をたくさん有しているということもあり、相対的にデスクトップ用途に向いていないと見られている感じです。

また、実際にサーバー用途でOSを利用する場合はグラフィカルな画面が要らない場合がほとんどです。

WindowsやMac OSはGUIを前提としたOSであるのに対し、LinuxはCUI(文字ベースのインターフェイス)がメインなので、そういった意味でもLinuxはサーバー用途に向いています。GUIを扱わないようにできる分、メモリも節約できる点も売りの一つかなと思います。

つまり、Linuxは普通のOSなんです

まとめると、権限を意識したりディストリビューションというものが存在するなど、WindowsやMac OSとちょっと違うところもありますが、OSとしてはいたって普通のOSです。

サーバーのためだけじゃなくてデスクトップ用途でも十分に使えるし、なんなら動画の配信だってできる。そんななんでもできるOSなんです。

まとめ

この記事ではLinuxの一般知識として、以下のことを簡単に解説しました。

  • LinuxはマルチユーザーのOSであること
  • 権限管理が厳密であること
  • カーネルとディストリビューションの関係について
  • コマンドラインだけでなくGUIも使える
  • WindowsやMac OSと変わらない普通のOSである

特にマイクラでマルチサーバーを建てるにあたっては、

  • マルチユーザー
  • 権限管理

あたりを知っておくとスムーズに作業ができると思います。

次回以降はサーバーを立てるための最速Linux入門として「コマンド」について解説していきたいと思います。

それでは、良いサーバーライフを。