LoginSignup
2
2

More than 5 years have passed since last update.

さくら VPS の初期設定メモ

Last updated at Posted at 2019-04-20

はじめに

ねらい

業務にて自前サーバが必要となり、さくら VPS を使うことにしました。Qiita 的に新しい情報はありませんが、自分のためのメモとして残します(環境の再現性の確保)。

経緯

これまでに個人として ConoHa VPS で遊んできました(例えば こちらこちらこちら の記事)。しかし ConoHa VPS は「請求書払い」ができないため、業務では手続き面で使いにくいのでした(個人のカードで立て替え払いする必要がある)。そこで、請求書払い(年間一括)が可能な さくら VPS を使うこととしました。

ついでに、個人用の ConoHa VPS とは少し異なる環境で運用することにしました。

  • HTTP サーバ: Apache --> nginx
  • デスクトップ: GNOME --> Xfce
  • ドメイン取得: ムームードメイン --> さくら

やったこと

  • さくら VPS の契約
  • ドメインの取得と設定
  • CentOS 7 のインストール(LetsEncrypt スタートアップスクリプト利用)
  • SSH の各種設定
  • Xfce と tigervnc-server のインストールと各種設定
  • Mondo Rescue によるイメージバックアップ

さくら VPS の契約

さくらの VPS のページ から申し込むだけ。

プラン(スペック)

今回契約したプランは以下(2G プラン)。

  • CPU: 仮想 3 Core
  • メモリ: 2 GB
  • ストレージ: 50 GB SSD
  • リージョン: 大阪第3
  • VPS バージョン: v4

費用

費用は以下(2019年4月現在)。

  • 月払いなら: 1,706 円 / 月
  • 年払いなら: 18,770 円 / 年
  • 初期費用: 2,160 円 / 初回のみ

クレジットカード払いの場合は、申込み後すぐに使えて、2週間の無料お試しができるが、
請求書払いの場合は、請求書が郵送され、入金確認後まで使えない(振込はコンビニまたは郵便局)。無料お試し期間はない。追加で請求書発行手数料が 324 円かかる。
もろもろコミコミの費用は 21,254 円だった。

ドメインの取得と設定

ドメイン取得

業務の目的上 SSL が必須なので、Let's Encrypt で SSL 化できるように、まずはドメインを取得。運用面でシンプルになるように、さくらのドメイン で取得した。
ほしいドメイン名が取得可能かを検索して、購入手続きをするだけ。

.com, .net, .org などは 1,852 円 / 年 だった(2019年4月現在)。上記 VPS とあわせて導入費用の総額は 23,106 円だった。

ドメインの設定

ドメインの設定は VPS のコントロールパネルではなく「会員メニュー」から行う。

  • 会員メニューのトップから「> ドメインの確認」をクリック
  • 契約ドメインの一覧で「▶ドメインメニュー」をクリック
  • 「管理ドメインとネームサーバの一覧」にて「ゾーン編集」をクリック
  • 「さくらインターネットのネームサーバに設定する」にて VPS の IPv4 アドレスを入力して「送信する」をクリック
  • 基本的にこれだけで OK、以下のように自動で設定された
    • @ NS ns1.dns.ne.jp
    • @ NS ns2.dns.ne.jp
    • @ A {VPS の IPv4 アドレス}
    • @ MX 10 @
    • www CNAME @
    • mail CNAME @
    • ftp CNAME @

CentOS 7 のインストール

OS は CentOS 7 をインストールした。CentOS_LetsEncrypt というスタートアップスクリプトを利用することで、nginx のインストールと、Let's Encript による SSL 化までを一気にやってもらえた。

インストール作業

VPS への OS のインストール等の作業は「コントロールパネル」から行う。

  • コントロールパネルで対象のサーバを選択
  • 右上の「各種設定▼」メニューから「OS インストール」を選択
  • オプションは以下を選択
    • 標準OS
    • CentOS7 x86_64
    • root のパスワードを2回入力
    • スタートアップスクリプトで「CentOS_LetsEncrypt」を選択
      • ドメイン名(上記で取得済)を入力
      • メールアドレスを入力

おそらく不要な作業

CentOS_LetsEncrypt スタートアップスクリプトを使ってセットアップすると、「通常必要な90日ごとの更新作業も自動的に行われます」と書かれている。しかし、なんだか不安だったので、certbot をインストールして、タイマー設定しておいた。おそらく不要。

$ su
# yum install certbot
# systemctl enable --now certbot-renew.timer
# systemctl list-timers

SSH で各種設定

OS のインストール終了後、定番の、以下の諸設定を実施した。

  • パッケージの更新(yum update)
  • パッケージ更新の自動化(yum install yum-cron)
  • 一般ユーザの追加(+ sudoers へ追加)
  • 鍵交換方式による認証
  • パスワード認証の不能化
  • root でのログインの不能化

このあたりは、こちら(私の記事)こちら(さくらのVPS講座) を参考にすることとして、ここでは詳細は割愛。

Xfce と tigervnc-server のインストールと各種設定

なにかと GUI かつ日本語環境があると安心する性分。GNOME よりも軽量だという Xfce をインストールして、VNC できるようにした。

前準備

日本語化のために iBus (Intelligent Input Bus) や日本語フォントをインストール

$ su
# localectl set-locale LANG=ja_JP.utf8
# yum install ibus-kkc vlgothic-* ipa-*-fonts

Xfce のインストール

まずは Xfce 本体のインストール

$ su
# yum groupinstall Xfce

tigervnc-server のインストールと諸設定

VNC サーバの tigervnc-server をインストールする。

$ su
# yum install tigervnc-server

VNC 用のポートを開ける。

$ su
# firewall-cmd --add-service=vnc-server --zone=public --permanent

VNC 用パスワードの設定。ログインするユーザにて…

$ vncpasswd
(VNC 用のパスワードを2回入力)
(view-only password? という質問には n と答える(VNC 経由で操作もできるように))

VNC サーバの自動起動の設定。まずは vncserver@:1.service を作る。

$ su
# cp -p /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

vncserver@:1.service を編集する。2箇所ある <USER> という部分を実際のユーザ名(例:hoge)に変える。

# nano /etc/systemd/system/vncserver@:1.service
/etc/systemd/system/vncserver@
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l hoge -c "/usr/bin/vncserver %i"  # この行にあった <USER> を hoge に
PIDFile=/home/hoge/.vnc/%H%i.pid                                # この行にあった <USER> を hoge に
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

systemctl で vncserver@:1.service の自動起動を設定。

# systemctl daemon-reload
# systemctl start vncserver@:1.service
# systemctl enable vncserver@:1.service

Xfce の起動設定

/home/hoge/.vnc/xstartup に1行追加(ユーザ名は例えば hoge)。

# nano /home/hoge/.vnc/xstartup

以下の1行を追加、/etc/X11/xinit/xinitrc の行はコメントアウト。

/home/hoge/.vnc/xstartup
exec xfce4-session &
# /etc/X11/xinit/xinitrc

あとは VNC クライアントでよしなに接続する。

Xfce で日本語入力を設定

当初は入力メソッド(ibus)が自動で起動しないようなので、以下を設定。

  • 「アプリケーション」メニューから「設定」→「セッションと起動」
  • 「自動開始アプリケーション」タブを選択
  • 「入力メソッドのスターター」にチェック

Xfce にゴミ箱を設置

当初はゴミ箱が無いようなので(アイコンが無いという意味ではなく、機能自体がない)、以下を設定。

$ su
# yum install gvfs

ちなみにゴミ箱の実体は ~/.local/share/Trash/ の中。

各種アプリケーションをインストール

Xfce にはアプリケーションがほとんど入っていないので、以下をインストール。

  • Web ブラウザ Firefox
  • テキストエディタ gedit
$ su
# yum install firefox
# yum install gedit

Visual Studio Code も本家ページの通りに以下を実行してインストール。

$ su
# rpm --import https://packages.microsoft.com/keys/microsoft.asc
# sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
# yum check-update
# yum install code

Mondo Rescue によるイメージバックアップ

システムが固まってきたら、もしもに備えてイメージバックアップしたいところ。しかしながら、さくら VPS にはイメージバックアップ機能が無い ので、Mondo Rescue でイメージをバックアップした。
(ConoHa VPS はイメージバックアップ機能が標準で使える)

Mondo Rescue のインストール

Mondo Rescue リポジトリを追加して、Mondo Rescue 本体と、圧縮ツールの lzop をインストール。

$ su
# cd /etc/yum.repos.d/
# wget http://www.mondorescue.org/ftp/centos/7/x86_64/mondorescue.repo
# yum install mondo lzop

仮想メモリの設定

デフォルトのままだとバックアップに失敗するので、/etc/mindi/mindi.conf を編集。

$ su
# nano /etc/mindi/mindi.conf

以下の2行を追記。

/etc/mindi/mindi.conf
EXTRA_SPACE=320152
BOOT_SIZE=100000

EXTRA_SPACE は 240000 とする情報が多かったが、私の環境では上記 320152 で成功。

バックアップ先ディレクトリの準備

バックアップ先となる任意のディレクトリを作る。TeraCLOUD などの WebDAV ストレージでもよいが、ここでは VPS の一般ユーザのディレクトリ内に作る。あとからイメージをダウンロードする前提。

$ mkdir /home/hoge/backup

イメージバックアップ

例えば以下のコマンドで実行。

$ su
# mondoarchive -O -i -N -L -s16g -E /home/hoge/backup -d /home/hoge/backup -p Backup_yyyymmdd -g

各オプションの意味は以下。

  • -O バックアップする
  • -i ISO として保存
  • -L lzo 圧縮を使用
  • -N ローカルファイルのみ(ネットワークは除外)
  • -s 最大ファイルサイズ(未指定だと約 680MB の CD サイズ)
  • -E バックアップから除外するディレクトリ(バックアップ先そのものは除外)
  • -d バックアップ先ディレクトリ
  • -p バックアップファイル名(このあとに "-1.iso" が自動で追加される)
  • -g GUIモード(任意、経過の見やすさのため)

最後に、できあがった iso ファイルを任意の場所(WebDAV ストレージや、ローカル PC 等)にダウンロードして保管しておく。

まとめ

VPS を立てるのは2回めで、自分で過去にメモを残しておいたこともあり、スムーズに構築できました。誰かのお役には立てないかもしれませんが、なにがしかのご参考になれば。

なお、今後もなにかあれば随時追記していく予定です。

2
2
0

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
2
2