Arch Linuxで最も早くサーバー環境を立ち上げるまでの手順


Arch Linuxは、最小構成のLinuxディストリビューションの一つです。必要なハード設定及び、端末といくつかのコマンドシェルが入っているだけです。

ここでは、Arch Linuxをイチからインストールし、SSH接続するまでの手順を紹介します。

##イメージのダウンロード

まずは、Arch LinuxのISOイメージをダウンロードします。最新のISOファイル名を取得するシンプルな方法募集。


http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/latest

###シンプル

シンプルな方法を教えてもらいました。ありがとうございます。

by @slact 

```bash:
repo_url="http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/latest"
curl -Ls ${repo_url}/md5sums.txt | grep 'dual.iso' | read md5 filename
curl -LO ${repo_url}/${filename}
if [ "${md5}" = "$(md5sum ${filename})" ]; then
  echo ok
fi
```

###過去バージョン

by @syui

```bash:
$ export url=http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/latest

$ export url=${url}/`curl -Ls $url | tr '<' '\n' | tr '>' '\n' | grep 'dual.iso' | awk 'NR==2'`

$ echo $url

$ curl -O "$url"

# ダウンロードしたものが正しいファイルかチェックする
$ if [ `curl -s "${url%/*}/md5sums.txt" | head -n 1` = `md5sum ${url##*/}` ];then echo ok;fi

# Macの場合のチェックはこうなります
if [ `curl -s "${url%/*}/md5sums.txt" | head -n 1 | cut -d ' ' -f 1` = `md5 ${url##*/} |cut -d = -f 2` ];then echo ok;fi
```

  
##イメージをLinuxでDVDやUSBに焼く方法

次に、ダウンロードしたイメージをDVDやUSBなどの媒体にインストールします。これは、コンピュータで起動時に読み込める媒体を選択することになります。もしBIOSなどの設定によって、ハードディスクに優先が割り当てられている場合、手動で起動ディスクを選択するか、もしくはBIOSメニュー等を呼び出し、優先を変更します。

私は、USBにインストールしますが、もしかしたらDVDに焼かれる方もいるかもしれません。

```bash:
# 一応、URLを再利用しファイル名を取得
$ export url=${url##*/}

# 確認
$ echo $url
> archlinux-2015.06.01-dual.iso

# DVD,BDに焼くためには必要
$ sudo pacman -S dvd+rw-tools

# USBにインストールする場合(sdxにはusbディスクのものが入ります)
$ dd bs=1 if=./$url of=/dev/sdx && sync

# DVD, BDの場合(sr0は大体の場合0ですがドライブが幾つもある場合は違いますので注意です)
$ growisofs -dvd-compat -Z /dev/sr0=./$url

# ちなみに、Macの場合はこうなります
# MicroSDの書き込み、読み込み速度遅いやつ使ってるので、相当な時間がかかります
$ sudo dd bs=1 if=./$url of=/dev/disk2
```

##Arch Linuxでサーバーを作成する

###VirtualBoxのネットワーク接続

Windowsの方は、VMとして作成する場合が多いと思います。VirtualBoxを使用することを前提に、少しばかりVirtualBoxの設定を説明します。

VM上に作成したArch Linuxには、WANからもLANからもホストであるWindowsからでもアクセスし、操作することができます。非常に便利ですが、そのためには、VirtualBoxのネットワーク知識がなければなりません。VirtualBoxのネットワーク設定は主に3種類のものがよく使われます。

|タイプ|内容|
|---|---|
|NAT|これが一番安全な接続方法です。ゲストはどこからもアクセスされません。しかし、WANへのアクセスを確立します|
|ホストオンリー|次に安全な接続方法です。ゲストはホストのみのアクセスを許可します。あとはNATと同じ|
|ブリッジ接続|この接続方式は、安全ではありませんが、便利な接続方法です。ゲストはLocal IP Addressを取得し、LAN内のコンピュータからアクセス可能となります|

ここで、少しばかり`.bat`ファイルの作成例を見ていきます。例えば、Windowsのスタートアップに登録しておくことで、Windowsのデスクトップに影響を与えず、Linuxサーバーを提供できるようになるからです。`--type headless`はウィンドウを表示しないということです。あと、スタートアップに登録した`bat`ファイルへのショートカットは`右クリック -> プロパティ -> 最小化`しておきましょう。

```bash:archlinux-server-start.bat
start "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm archlinux --type headless
```

IPの固定は、Arch Linuxからでも良いし、VirtualBoxで設定してもよいですが、ここでは、Arch Linuxでの固定方法を紹介します。

###Arch Linuxのインストール

```bash:
$ loadkeys jp106

$ cfdisk /dev/sda
sda1 : 200M
sda2 : 残り

$ mkfs.vfat /dev/sda1
$ mkfs.ext4 /dev/sda2

$ mount /dev/sda2 /mnt
$ pacstrap /mnt base base-devel net-tools dhcpcd openssh grub
$ genfstab -p /mnt >> /mnt/etc/fstab

$ arch-chroot /mnt
$ grub-install --force --recheck /dev/sda
$ grub-mkconfig -o /boot/grub/grub.cfg
$ systemctl enable dhcpcd
$ exit
$ reboot
```

###SSH接続する

```bash:
$ ifconfig
> 192.168.1.3

$ systemctl start sshd
$ systemctl enable sshd
```

これで以下のコマンドを叩くとSSH接続できると思います。なお、VirtualBoxをしようして接続する場合は、`VirtualBox -> Arch Linux`の設定にて、アダプタ2よりブリッジ接続を設定しておいてください。また、場合によっては、LAN内のコンピュータから接続したいという場合があるかもしれません。その場合、WindowsでファイアウォールのPort 22の開放、及びそれが嫌ならVirtualBoxの設定にてポートフォワードをVMイメージのPort 22に設定してください。これはポート転送のことです。

```bash:
$ ssh root@192.168.1.3
```

接続できたあとは、鍵登録や`/etc/ssh/sshd_config`にてパスワードアクセスの禁止などを行いましょう。

[SSH Tips](http://qiita.com/syui/items/cb2bf66ceb94e92058ff)

すいません、JSONでポストしているので、変換された時、どのような書式になるのかわかりませんので、特にWindowsのパスやダブルクォートあたりに間違いがでる場合があるかもしれません。

追記:

v0.01 : 問題を修正しました。

v0.02 : Arch LinuxイメージのダウンロードとChecksumの方法を編集しました。