諸事情で、動画配信サーバーを立ち上げることになったのだが…
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
- ログインの確認
認証鍵方式でログインできることを確認する。
- 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のインストールです。
コメント