今更ながらKUSANAGI環境構築の手順【ConoHa VPS】

4 min

色々あってサーバーがぶっ飛んだときに再構築できるように、KUSANAGI構築した際の手順を記事にします。

この記事の想定読者
  • これからKUSANAGIを構築する人
  • アプリケーションインストールの吊るし状態は怖い人
  • サーバーをぶっ壊した未来の僕

最低限の安心のため、ちょっとめんどくさい手順を踏んでいきます。

サーバーの準備

ConoHa VPSの契約がまだの人はこちらから登録しましょう。

まずはサーバーの立ち上げから。
ConoHa VPSの管理画面からGUIで操作できます。

アプリケーションインストール→WordPress(KUSANAGI)と選ぶだけで構築できるので簡単ですね。

Macならターミナルで次のコマンドを打てばSSH接続できます。(秘密鍵を設定しなかった場合は-iオプションは不要です)

$ ssh -i 【秘密鍵のパス】 root@【サーバーのIPアドレス】
ポイント

ConoHaの管理画面からコンソールで接続できますが、後々の作業でダルくなるのでMacならターミナル、WindowsならTeratermなどを使っての作業をオススメします!

立ち上がったサーバーにrootユーザーでSSH接続したら、とりあえずyum updateしておきましょう。

# yum update kusanagi -y
# yum --enablerepo=remi,remi-php56 update -y

結構時間かかるので気長に……。

デフォルトのホスト名がkusanagi〇〇で気持ち悪いので、変更しておきたいですね。

# vi /etc/hostname

INSERTモードでkusanagi〇〇の部分を手持ちのドメイン名にでもしておきましょう。

ここまで終わったらサーバーを再起動します。

# reboot
# shutdown -r now

上記どちらかのコマンド、もしくはConoHaの管理画面から再起動したらよいでしょう。

続いて、作業用のユーザーを作成していきます。

SSH周りの設定

セキュリティ的な面も考えて、rootでのSSH接続を拒否しておきたいです。

接続のプロセス的にはSSHログイン用のユーザー→rootみたいな流れを想定。

SSH接続用のユーザーを追加

以下のコマンドでユーザーを追加します。

# useradd -m 【ユーザー名】

続いてこのユーザーのパスワードを設定。

# passwd 【ユーザー名】

新しいパスワードを訊かれるので、強固なのを設定。

ユーザーを追加できたら、sudo権限のあるwheelグループに追加します。

# usermod -G wheel 【ユーザー名】

これで追加したユーザーがsudo権限を持ちました。

鍵ファイルを作成

追加したユーザーに切り替えて作業します。

# su 【ユーザー名】

ユーザーのディレクトリに.sshを作成し、その中に秘密鍵を保管しましょう。

$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
$ ssh-keygen -t rsa

カレントディレクトリ(作成した.ssh/)にid_rsaが作成されます。
パスフレーズを設定したら控えておきましょう。

公開鍵の名前を変更し、ログインユーザーだけが扱えるようパーミッションを設定します。

$ chmod 600 id_rsa.pub
$ mv id_rsa.pub authorized_keys

次に秘密鍵の中身をコピーして、ローカルに.pem拡張子で保存しましょう。

この時、ローカルの秘密鍵もパーミッションを600に設定しておかないと、後々SSHログインする時に怒られるので注意。

SSH接続用のポートを設定

ここからは再びrootユーザーでの作業になります。

$ exit

rootユーザーになったら、下記コマンドでsshの設定ファイルを編集します。

# vi /etc/ssh/sshd_config

ファイルが開いたら、各種設定を変更していきます。

  1. STEP

    Portがコメントアウトされていたら外し、値を変更したいポート番号にする。

    Port 61000など

  2. STEP

    Protocol 2がコメントアウトされていたら外す。

  3. STEP

    PermitRootLoginの値をnoに変更する。

  4. STEP

    PubkeyAutenticationがコメントアウトされていたら外し、値をyesにする。

  5. STEP

    PasswordAutenticationがコメントアウトされていたら外し、値をnoにする。

設定を変更したら上書きして編集を抜け、再起動します。

# systemctl restart sshd.service

ここまでできたらSSH周りの作業は完了です。

次回以降、秘密鍵を使用して追加したユーザーでのログインが必須になります。

KUSANAGIの設定

rootユーザーでログインしたら、KUSANAGIの設定に入ります。

初期設定

# kusanagi init

ずらーっとログが流れ、対話式で設定が開始されます。
訊かれる項目は次のような感じ。

  • タイムゾーン
  • 言語
  • キーボードの配列
  • kusanagiユーザーのパスワード
  • kusanagiユーザーの秘密鍵パスフレーズ
  • サーバーのミドルウェア(Apache / nginx)
  • アプリケーションタイプ(PHP7 / PHP5 / HHVM)
  • DBシステム(MariaDB / PostgreSQL)
  • DBのrootパスワード

答えていくだけなので簡単ですね。

一通り入力が終わると、KUSANAGIの初期設定が終了します。

プロビジョニング

初期設定が終わったら、プロビジョニングです。

ここでプロファイルを作ってあげることで、ようやくWordPressなどを公開できるようになります。

# kusanagi provision 【プロファイル名】

デフォルトではWordPressが指定されていますが、オプションを設定することでいろんなアプリケーションをプロビジョニングすることができます。

余談ですが、便利そうなのがLAMP/LEMP環境だけを用意してくれるオプション –lamp。
そのうち使うかも。

プロビジョンコマンドを実行すると、対話式でプロファイルが作成できます。

こちらも訊かれたことに答えていくだけなので迷うことはないと思います。

プロビジョニングが完了したら、設定したホストにアクセスして確認しましょう。

WordPressならそのまま初期設定に進むといいと思います。

SFTPの設定

サーバーの立ち上げとプロビジョニングが終わったところで、ファイル転送アプリなどでの接続設定が必要になってきます。

SFTPで接続するには鍵ファイルが必要になってくるので、サーバーから取得してあげましょう。

/root/kusanagi.pemの内容を出力して、ローカルに保存します。

保存した鍵ファイルをFTPクライアントなどに登録して、kusanagiユーザーで接続するように設定してあげればOK。

おまけ

今時はSEOの観点からも常時SSL化は必須です。

KUSANAGIなら、コマンドを一発叩くだけで常時SSL化できるのでやっておきましょう。

データベース管理をしやすくするために、phpMyAdminの導入もしておいた方がいいでしょう。

KUSANAGIにphpMyAdminを導入する方法はこちらの記事をご覧ください。

サブドメインやサブディレクトリで複数のWordPressを運用したい方は、こちらも併せてご確認ください。

さいごに

かんたんKUSANAGIでお手軽に構築できるようになった今、この記事がどれだけ需要があるのだろう……。

少なくともサーバーの再構築が必要になった時には役に立つはずなので、未来の僕がサーバーをぶっ壊してくれることに期待します。

よめねこ

サーバーぶっ壊れたらこの記事読めないじゃん。

未経験からITエンジニアになりました!

今までは趣味としてプログラミングを独学してきたけど、やっぱりこれを仕事にしたい……!

そう思い立ったはいいものの、世間の情勢などもあり未経験でのエンジニア職の中途採用が絶望的な状況

大手転職エージェントを通して何社も面接を受けては落ちてを繰り返し、諦めかけていたのですが……。

気分転換で登録した転職サービスで、とある企業から内定をいただくことができました

同じように未経験からITエンジニアを目指している方へ、どんなに厳しくても可能性がゼロではないことを伝えたい。

ポイントは、IT業界に精通した転職サービスを利用すること。
これだけで少なくとも面接へ進める可能性がグッと高くなります。

あなたがもしIT特化の転職サービスに未登録で苦しんでいるなら、ぜひ利用してみてください。きっと可能性が広がりますよ!

\無料のIT系転職サービス/

はるしか

はるしか

ゲーム・漫画・クルマ・ガジェットなど多趣味な雑食系。
モノづくりが楽しくてプログラミングをポチポチしてたら本業エンジニアになってしまったASPの中の人。
動物占いは子鹿。
忘れっぽい自分へのメモ代わりの記事が多めです。

FOLLOW

カテゴリー:
タグ:
関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です