27
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-06-17

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

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

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

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

###シンプル

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

by @slact

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

$ 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に焼かれる方もいるかもしれません。

# 一応、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ファイルへのショートカットは右クリック -> プロパティ -> 最小化しておきましょう。

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

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

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

$ 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接続する

$ 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に設定してください。これはポート転送のことです。

$ ssh root@192.168.1.3

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

SSH Tips

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

追記:

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

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

27
30
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?