【Linux】Linux入門(環境構築編)
ここではLinuxの環境を動かしながら学べるように、環境構築の方法を簡単に解説。
学習用でLinuxOSを動かすには、仮想環境を作るのが便利です。
VirtualBoxインストール
仮想化ソフト Oracle VirtualBoxをダウンロードしてインストールします。
ご自身のOSの環境に合わせてダウンロードしてください。
https://www.virtualbox.org/wiki/Downloads
VMWareの製品でも可能ですが、ここではVirtualBoxを使用します。
Linuxダウンロード
次にLinuxのダウンロードです。
仮想環境を作成するにはisoファイルと呼ばれるOSのイメージファイルが必要です。
ここではLinuxディストリビューションの中でも広く使用されているCentOSを使います。
下記のサイトからisoファイルをダウンロードします。
https://www.centos.org/download/
バージョンやCPUの規格のタイプなどを選ぶ必要があります。
よく分からなければとりあえず最新バージョンのx86_64を選択。
mirrorサイトが色々出てきますが、とりあえずどのサイトでも大丈夫。
ダウンロードできるファイルが色々あると思いますが、minimalのisoファイルをダウンロード。
「CentOS-8.2.2004-x86_64-minimal.iso」こんな感じのやつ。
バージョン番号はダウンロードするタイミングによって変わっている可能性あり。
仮想マシン作成
- VirtualBoxを起動
- メニューから「新規」ボタン押下
- ダイアログが表示されるので必要項目を入力して「次へ」を押下
名前:任意(CentOSとかにするとタイプとバージョンが勝手に入力される)
マシンフォルダー:任意(デフォルトで大丈夫)
タイプ:Linux
バージョン:Red Hat(64 bit) - メモリサイズ、ハードディスクを選択して仮想マシンを作成
サイズなどは環境に合わせて適当に。
基本デフォルトで問題ないかと。 - VitrualBoxの管理画面に仮想マシンが出来上がる
- できた仮想マシンを選択して「設定」を押下
- ストレージを選択
- コントローラ:IDEの中のディスク(空)を選択
- 「光学ドライブ」にダウンロードしたisoファイルを指定する
- 「OK」を押下して設定を閉じる
Linuxインストール
- VirtualBoxの管理画面で作成された仮想マシンを選択して「起動」ボタン押下
- 別ウィンドウでLinuxの画面が開く
- 指示に従ってインストールを進める
言語の設定、ディスクの設定、ユーザーの設定などがある。
日本語を選択してディスク選択して、ユーザーの設定を行えばあとは勝手にインストールされる。
ユーザーの設定はrootユーザーのパスワードを設定し、必要であれば一般ユーザーも作成してパスワードを設定しておく。 - インストールが終わった後に再起動することでLinuxが起動する
※この時、isoファイルを光化学ドライブに設定したままにしておくと、再度インストール画面が開いてしまうので注意。
再起動前に設定画面から外しておく。 - 起動したら、インストール時に設定したユーザー名とパスワードを入力することで操作可能となる
一般ユーザーを作成していない場合はrootユーザーでログイン。
一般ユーザーも作成していた場合はそのユーザーでもログインできる。 通常はセキュリティなどを考慮して一般ユーザーを使う場合が多いが、権限の問題で操作が限定されたりもするので、勉強用であれば最初の方rootでログインしておいた方が無難。
外部から接続するための設定
インストールが完了すればVirtualBoxの画面からLinuxを操作することが可能です。
しかし、仮想マシンを操作している間はホストOS(VirtualBoxをインストールしているWindowsやMacなど)を操作することができません。
毎回ホストOSと仮想マシンの操作を切り替えるのは面倒ですし、ホストOS側でコピーした内容を仮想マシン上で貼り付けることもできません。
そのため、ホストOS側からssh接続をしてホストOS側で操作したほうが便利です。
そのための設定をしていきます。
CentOSのネットワークの有効化
Linuxをインストールした段階ではまだネットワークはつながらない状態になっているはずです。
ネットワーク接続ができるようにするには有効化する必要があります。
以下のファイルを開きます。
vi /etc/sysconfig/network-scripts/ifcfg-enp03
などとすると開きます。
開いた後はiを押すと中身が修正できるようになります。
そして最後の行あたりにある
ONBOOT=no
を
ONBOOT = yes
に変更して保存します。
保存は「:wq」とすると保存できます。
ファイルを変更した後はネットワークを再起動します。
ネットワークを再起動するには
systemctl restart NetworkManager
を入力して実行します。
VirtualBox側の設定
VirtualBoxでも一つ設定を追加します。
仮想マシンの設定を開き、ネットワークを選択します。
アダプター1(割り当て:NAT)を選択し、「高度」を開き、ポートフォワーディングの設定を開きます。
名前:ssh、プロトコル:TCP、ホストポート:2222、ゲストポート:22、IPは空白
でルールを追加します。
ホストOS型の設定
Mac OSの場合、デフォルトでsshコマンドが使用できるので、設定は不要です。
ターミナルを起動し、ssh root@localhost -p 2222
と入力し、rootユーザーのパスワードを入力するとログインができます。
Windowsの場合はssh機能を有効にする必要があります。
Windowsの設定から「オプション機能の管理」を開いて、「OpenSSH クライアント」の機能を有効にします。
有効にするとsshコマンドが使えるので、コマンドプロンプト、またはPowerShellを起動して
ssh root@localhost -p 2222
と入力してrootユーザーのパスワードを入力するとログインができます。
ログインが成功すれば、ホストOS側からのコマンドでLinuxを操作することが可能になります。
コマンド入力時の2222はポートフォワーディングで設定したポート番号です。
2222である必要はありません。
適当に使われていないであろうポート番号を適当にしてください。
rootは接続する際のユーザー名です。
Linuxに作成した一般ユーザーなどを使う場合はrootのユーザー名を変更してください。
用語解説
ssh
通信を暗号化して遠隔ログインができる通信プロトコル。
UNIX系のOS(Mac OSやLinux)では標準でsshコマンドがあり、それを使うことで遠隔ログインができる。
Windowsの場合、Tera TermやPuTTYと呼ばれる遠隔ログインのフリーのソフトがあるが、Windows標準でも機能の拡張からsshコマンドが使えるようになった。ポート番号
通信プロトコルを特定するための番号。
0~65535までの数値を使用することができるが、0~1023まではウェルノウンポートと呼ばれ、予約されている。
sshは22番。NAT
Network Address Translation
プライベートIPアドレスとグローバルIPアドレスを変換する機能のこと。
仮想化ソフトでは、ネットワークの設定でNATを利用すると、ホストOSのIPアドレスを共有して使用することができる。ポートフォワーディング
仮想化ソフトでNATの機能を利用すると、ホストOSと仮想マシンのIPアドレスが同じになる。
その場合、仮想マシンにssh接続しようとしても、何もしなければホストOSのポート番号22に接続しようとしてしまう。
そこで、ポート番号で2222を指定した場合は、仮想マシン側のポート番号22に接続されるように設定したい。
ポートフォワーディングはこのようにホストOSへの特定のリクエストを仮想マシン側に転送するための機能。