😊
さくらインターネットのVPSにArch Linuxをインストールする
さくらインターネット の VPS に Arch Linux をインストールする方法。
さくらインターネットの公式マニュアルをベースに作業を進める。
さくらインターネットの公式マニュアル通りに作業をすればインストールできるが、エンジニアが書いたマニュアルなので、説明が不親切だし、一部あやしかったり、表現が不適切な箇所がある。
インストール
サーバー情報
IPアドレス、サブネットマスク、DNSなどの情報は、さくらのVPSのコントロールパネルにある。
- さくらのVPSのコントロールパネルにログインする
- 左メニューの【サーバー】をクリック
- VPSを選択
- 【ネットワーク】タブをクリック
- 【サブネットマスク】は
255.255.254.0で23になる -
broadcastは省略すると自動的に計算してくれる
インストールメディア
インストール・メディアのisoファイルは自分で用意しなくても良い。さくらインターネットが公式でisoを用意してくれている。
OSの再インストール
- さくらのVPSコントロールパネルを開く
- 左メニューの【サーバー】をクリック
- 該当のサーバーをクリック
- 【OS再インストール】ボタンをクリック
- 【ISOイメージ】を選択
- 【一覧から選ぶ】を選択
- 【Arch Linux x86_64】を選択
- ネットワーク接続は【接続先を保持】を選択
- 【内容確認】をクリック
- 「OS再インストール実行」画面が表示されるので【OS再インストール】をクリック
- 画面が戻ったら【VNCコンソールを起動】をクリック
- https://manual.sakura.ad.jp/vps/_images/os-reinstall_iso-install_arch_011.png
- rootアカウントでログイン済みの状態になる。次項の日本語キーボードの設定をしてインストール作業を始める。
https://manual.sakura.ad.jp/vps/_images/os-reinstall_iso-install_arch_021.png - OSを再インストールすると、パケットフィルター設定 が解除される。インストール作業を始める前にパケットフィルターを設定する。
日本語キーボードの設定
まず最初に、日本語キーボードを使っている場合は、日本語キーボードを使えるように設定を行う。
英語配列なら何もせ設定ずにネットワーク設定に進む。
loadkeys jp106
ネットワークの設定
- NIC(ネットワーク・インターフェース・カード)の状態を確認
eth0はens3になる。これがインターネットに繋がる。ip link -
ens3の起動
既に起動しているはずだが、もし起動していなければ以下のコマンドで起動する。ip link set ens3 up - IPアドレスの設定
サーバーの固定IPアドレス(インターネットにアクセスするIPアドレス)を設定する。
IPアドレスのサブネットマスクは23で固定。(さくらインターネットの場合)
broadcastは、IPアドレスの最後を255にする。省略しても構わない。ip addr add 100.200.300.400/23 broadcast 100.200.300.255 dev ens3 - ゲートウェイの設定
ゲートウェイを通じてインターネットにアクセスする。
IPアドレスの末尾が必ず1とは限らないので、ちゃんと確認する。ip route add default via 100.200.300.1 - ネットワーク設定の確認
ip addr show ens3 - 疎通テスト
次の項で設定するDNSサーバーにアクセスできるか確認する。
-cで回数(count)を指定する。指定しないと無限に送り続ける。途中で止める時は、CtrlキーとCキーを同時に押す。ping -c 4 210.188.224.10 - DNSサーバーの設定
echo "nameserver 210.188.224.10" >> /etc/resolv.conf - DNSテスト
ドメイン名をIPアドレスに変換できるか確認する。ping -c 4 sakura.ad.jp - NTP(時刻)設定
NTPサーバーに同期する。timedatectl set-ntp truedateコマンドで、サーバーの時刻を確認できる。ただしUTCなので、日本時間は+9時間になる。date
ディスク・パーティションの設定
さくらインターネット公式マニュアルの設定に追加して、/var/lib/mysql をマウント・ポイントに、専用のパーティションを作って分ける。このメリットは、OS(Arch)を再インストールするハメになっても、データベースのデータそのものは残しておける。(再インストール時にフォーマットしなければ良い)
- vdaの既存パーティション構成をクリア
既存のデータを 消去 する。 再インストール する場合など、既存のパーティションを流用する場合は 不要 。sgdisk -Z /dev/vda - パーティションの新規作成
1番目は、bootパーティション。
2番目は、swapパーティション(8200)。
3番目は、ルート(/)。
4番目をmysql専用のパーティションにする。sgdisk -n "1::+512M" -t 0:8300 /dev/vda sgdisk -n "2::+512M" -t 0:8200 /dev/vda sgdisk -n "3::+50G" -t 0:8300 /dev/vda sgdisk -n "4::" -t 0:8300 /dev/vda - パーティションを確認以下のようになる。
lsblk /dev/vdaNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 254:0 0 200G 0 disk ├vda1 254:1 0 512M 0 part ├vda2 254:2 0 512M 0 part ├vda3 254:3 0 50G 0 part └vda4 254:4 0 149G 0 part - パーティションをフォーマット
# ext4 mkfs.ext4 /dev/vda1 mkfs.ext4 /dev/vda3 mkfs.ext4 /dev/vda4 # swap mkswap /dev/vda2 swapon /dev/vda2 - パーティションをマウント
# /mnt の下にインストールされる mount /dev/vda3 /mnt # /boot mkdir /mnt/boot mount /dev/vda1 /mnt/boot # MySQL専用パーティション mkdir -p /mnt/var/lib/mysql mount /dev/vda4 /mnt/var/lib/mysql - パッケージをインストール
pacstrap /mnt base linux linux-firmware vim netctl openresolv grub - パーティションのマウント場所を
fstabに保存genfstab -U /mnt >> /mnt/etc/fstab cat /mnt/etc/fstab
システム設定
再インストールの場合は、既存の設定が残っているので確認するだけで良い。
- インストールされたファイルシステムに
chrootしてから作業するarch-chroot /mnt - timezoneの設定
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime時刻がJSTになっているか確認hwclock --systohcdate - ローカリゼーションを設定
先頭の#を消し、必要なロケールを有効にする。
具体的には、en_US.UTF-8とja_JP.UTF-8を有効にする。
既に有効になっているか以下のコマンドで確認する。grep -v '^#' /etc/locale.gen | awk 'NF'en_US.UTF-8とja_JP.UTF-8が表示されなければ、以下のコマンドで編集する。ロケールを生成するvim /etc/locale.gen以下のように表示されれば成功。locale-genロケールを日本語に設定するGenerating locales... en_US.UTF-8... done ja_JP.UTF-8... done Generation complete.echo "LANG=ja_JP.UTF-8" > /etc/locale.conf - コンソールキーマップを設定する以下の内容を書き込む。
vim /etc/vconsole.confKEYMAP=jp106 FONT=lat9w-16 - Networkを設定する以下のように書き込む。
vim /etc/netctl/ethernet-static設定を有効にする。Interface=ens3 Connection=ethernet IP=static Address=('XXX.XXX.XXX.XXX/23') Gateway='XXX.XXX.XXX.1' DNS=('210.188.224.10' '210.188.224.11')以下のように表示された場合は、既に有効になっている。netctl enable ethernet-staticThe profile 'ethernet-static' is already enabled - ホスト名を設定する
vim /etc/hostname - initramfsを構成する
mkinitcpio -P - 管理者権限のユーザーを追加する管理者権限のユーザーのパスワードを設定する
useradd -m -G wheel -s /bin/bash (ユーザー名)passwd (ユーザー名) -
root のパスワードを設定する
passwd - GRUB を作成する
grub-install --target=i386-pc /dev/vdagrub-mkconfig -o /boot/grub/grub.cfg - chrootから抜ける
exit - サーバーを再起動する
reboot
仮想スイッチ
コントロールパネルからeth1を仮想スイッチに接続する。
現在のネットワークの状況を確認する。
sudo ip -c a
net-tools をインストールして ifconfig で確認する。
sudo pacman -S net-tools
sudo ifconfig
一時的に IP アドレスを設定する
以下のコマンドで、すぐに ens4 に 192.168.1.2 を割り当てる。ただし、この設定は再起動後にリセットされる。
sudo ip addr add 192.168.1.2/24 dev ens4
sudo ip link set ens4 up
永続的に IP アドレスを設定する
外部ストレージをNFSで接続
- NFSクライアントのインストール
sudo pacman -S nfs-utils - NFSのマウント
sudo mount -t nfs 192.168.1.100:/export /www - UFWを設定
Discussion