徒然245+

あれこれ戯れ言を…

*

[備忘録] カゴヤvpsで動画配信サーバーを構築 vol.1 初期設定編

      2017/11/16


カゴヤ インスタンス作成

諸事情で、動画配信サーバーを立ち上げることになったのだが…
vpsを使うことなんて初めて!
ネットで拾った情報を元にやってみるのだが、環境の違いもあるのかなかなかうまくいかない…(^^ゞ
まあ、情報の古さなどもあっての事なのでやむなしですが、今後の稼働までの課程でやり直しも発生すると思われますので、備忘録として立ち上げまでをメモっておきます。

インスタンス作成

カゴヤと契約をしたなら、設定完了のメールがやってきまして、使用可能となります。
まず最初にやらなくてはいけないのは、インスタンスの作成です。
vpsの契約を行うと「KVM」と「OpenVZ」の二つのインフラから選べますが…
開発段階においては、頻繁に再起動などをやり直す事もあるでしょうから、再起動などが早い「OpenVZ」で構築することにします。

nginx + WordPressの構成でCMSを構築する計画ですので、「Wordpress CentOS 6 64bit」で上記の構成になるとわかったので、構築してみたのですが…
動画配信に必要なnginxのオプションが不足するのと、DBもMySQLであるという事で…
素の状態から構築することにいたしました。
従いまして、OSパッケージは「CentOS 7 64bit」を選択して、インスタンスをつくります。

ツール類のインストール

素の状態ですと、いろんなツールが無いようですので、後々使うツールも含めてインストールしておきます。

  • パッケージの一括アップデート
    yum -y update
  • 開発ツールのインストール
    yum -y groupinstall base "Development tools"
  • nasmのインストール
    後々x264をインストールするのですが、そのビルドのために必要となります。
    ネットではyasmを使っての例ばかりでしたが、yasmは更新が止まっているようですし、nasmをインストールします。
    yum -y install nasm でもインストールできますが、なぜか古いバージョン!
    手動でインストールです。

    cd /usr/local/src
    wget http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.xz
    tar -xf nasm-2.13.01.tar.xz
    cd nasm-2.13.01
    ./configure --prefix=/usr
    make
    make install
    make distclean
  • yasmのインストール
    後々x265をインストールするのですが、そのビルドのために必要となります。

    cd /usr/local/src
    git clone --depth 1 git://github.com/yasm/yasm.git
    cd yasm
    autoreconf -fiv
    ./configure --prefix=/usr
    make
    make install
    make distclean
    

作業ユーザー作成

インスタンスを作成すると、rootアカウントで認証キーを使ってsshログインできるようになります。
デフォルトではrootユーザーは認証キー方式でのみログインできるようなのですが、なんとなく不安なので作業用ユーザーを作成し、そちらのアカウントで作業する事とします。

作業ユーザー作成

  • ユーザの作成とパスワードの設定
    useradd hirolin
    passwd hirolin

    「hirolin」の部分は、適当な名前で…
    パスワードも設定し、ユーザーの作成ができました。

ユーザーをルート権限で作業できるようにする

  • sudo(ルート権限でコマンド実行するためのコマンド)のインストール
    yum -y install sudo
  • hirolinをwheelグループに参入させる
    usermod -G wheel hirolin
  • sudoの設定ファイルを編集。
    visudo
    # %wheel ALL=(ALL) ALL の行のコメント表記削除
    保存して終了(:wq)

これで、hirolinはsudoコマンドを使ってroot権限で作業できるようになりました。

ユーザーは鍵認証方式でログインするようにする

鍵認証の準備

  • 作業ユーザー名でログインしなおす ⇒最初はユーザーとパスワード
  • teratermの機能で公開鍵・秘密鍵を作成する
  • 公開鍵の保存場所を作成する
    mkdir ~/.ssh
    chmod 700 ~/.ssh
  • 公開鍵をアップロードする
    teratermのssh scp機能を利用し、~/.ssh/へアップロード
  • アップロードしたファイルは、authorized_keys にリネーム
    chmod 600 ~/.ssh/authorized_keys
  • ログインの確認
    認証鍵方式でログインできることを確認する。

sshを鍵認証方式に変更

  • root権限に移動
    sudo -s
  • バックアップをとる
    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
  • 設定ファイルを編集し、パスワード方式のログインを禁止する
    vim /etc/ssh/sshd_config
    PasswordAuthentication no に変更する
    PermitRootLogin without-password に変更する(最初からなっていました)
    保存(:wq)
  • sshd 再起動
    service sshd restart
  • 再接続してパスワード方式でログインできないことを確認

ftpを使えるようにする

デフォルトではftpサーバーでさえインストールされていない…(^^ゞ
本当に、必要最小限なんですね… その方がありがたいのです。
ftpが使えるようになると、普段使っているエディタで、サーバー上のファイルをそのまま編集できるようになりますし、いろいろと便利です。

  • root権限を使えるようにする
    sudo -s
  • vsftpのインストール
    yum install vsftpd
  • 設定ファイルのバックアップ
    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
  • 設定ファイルの編集
    vim /etc/vsftpd/vsftpd.conf

    以下の部分を編集します。
    存在しない行は追加します。

    anonymous_enable=NO (匿名ログイン禁止)
    chroot_local_user=YES (chroot有効)
    chroot_list_enable=YES (chroot有効)
    chroot_list_file=/etc/vsftpd/chroot_list (chroot有効ユーザー指定ファイル)
    ls_recurse_enable=YES (ディレクトリごと一括での転送有効)
    listen=YES (IPv4をリスンする)
    use_localtime=YES (ローカルタイムを使う)
    force_dot_files=YES (.で始まるファイルもOK)
    userlist_enable=YES (user_listに含まれるユーザーは不可)
    userlist_deny=YES (user_listに含まれるユーザーは不可)
  • chroot使用可能なユーザーを指定
    vim /etc/vsftpd/chroot_list
    hirolin (ユーザーhirolinはchrootできる)
    保存 (:wq)
  • ftp用ポートを開く
    iptables -A INPUT -p tcp --dport 20 -j ACCEPT 
    iptables -A INPUT -p tcp --sport 20 -j ACCEPT
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --sport 21 -j ACCEPT
  • Firewallの保存
    iptables-save > /etc/sysconfig/iptables
  • Firewallの再起動
    systemctl restart iptables
  • vsftpdの起動
    systemctl start vsftpd
  • 自動起動の設定
    systemctl enable vsftpd

今回はここまで…

次回は、nginxのインストールです。

 -