さくらVPS引越計画(MacでSSH接続を設定してWordPressをのっけるための初期設定)

公開日: : 最終更新日:2014/09/26 WordPress , , , , ,


ぼくはエンジニアじゃない。プログラミング情報誌を作っていたのにプログラミングできない(Hello Worldできない)。

そんな人間にとってみると黒い画面が扱えること前提の記事はクソだなと思うわけです。

そんな人のためのさくらVPS移行講座です。たぶんさくらインターネットの契約自体はエンジニアじゃなくてもできると思うんですけども、さくらインターネットにログインできてもそこから先、何をやっていいか分かってない人が大半かと思います。

ぼくもそうでした。

さくらVPSにWordPressをインストールすることを目標に、初期設定+α(セキュリティ強化など)やってみます。

1. VPSにログイン

VPSコントロールパネルにアクセス。さくらインターネットからメールが来てるのでログイン。

2. 仮想サーバを起動

仮想サーバを起動。ステータスが起動中に変わる。

スクリーンショット 2014 07 07 21 12 371

3. 公開鍵を作る

MacからTerminal.appを起動する。黒い画面にビビらないこと。

$ cd ~/.ssh
$ ssh-keygen -t rsa

と入力。

文頭の$マークって何?

文頭に$(ドルマーク)が付いてたら、それは「コマンドプロンプトとかTerminalでこのように入力しなさいよ」という指示記号なので今後覚えとくと便利。
関連エントリ: 文頭の$(ドル)マークは一体何なのか?

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ruushu/.ssh/id_rsa): 

とか表示されるのでそのままEnter押す。

Enter passphrase (empty for no passphrase): 

とか聞かれるのでパスワードを入れる。

Enter same passphrase again: 

同じパスワードを入れる。

4. サーバにログインする

一度Terminalを離れる。VPSコントロールパネルのリモートコンソールからサーバにログインする。

スクリーンショット 2014 07 07 22 06 10

Enterを押すと

login:

とか聞かれるので

root

を入力。パスワードはメールで届いてると思うので入力。

スクリーンショット 2014 07 07 22 13 52

こうなったら無事ログインできた証拠。

5. 作業用のユーザを作る

rootのままだとアレなのでユーザを作る。
リモートコンソールに以下を入力。パスワードも設定しておく。

# useradd ruushu
# passwd ruushu

安全のために以下の呪文を唱える(同じくリモートコンソールに入力する)

# usermod -G wheel ruushu

特に何も反応がなくても泣かない。そういうものだし多少失敗しても死なない(たぶん)

次に以下のコマンドを実行。作業用ユーザ(ruushu)がリモートから入れるようにする。

su - ruushu

んでsshフォルダを作っておく。

$ mkdir .ssh
$ chmod 700 .ssh

6. 公開鍵をサーバにコピー

「3. 公開鍵を作る」で作った鍵を登録する。Terminalへ以下のように入力。

$ cd ~/.ssh
$ scp id_rsa.pub ruushu@***.***.***.***:~/.ssh

「***.***.***.***」の部分にはさくらインターネットから届いてるメールのIPを入力する。

The authenticity of host '***.***.***.***(***.***.***.***)' can't be established.
RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.
Are you sure you want to continue connecting (yes/no)?

こんなふうにごちゃごちゃ聞かれる(場合もある)が「yes」入力しEnterで通る。

ruushu@***.***.***.***'s password: 

「5. 作業用のユーザを作る」で作ったパスワードを入力。

id_rsa.pub            100%  403     0.4KB/s   00:00

と表示されたら成功。

7. リモートコンソールから設定を変更

リモートコンソールに以下を入力。

$ cd .ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys

8. Macからサーバに接続できることを確認する

Terminalから

$ ssh ruushu@***.***.***.***

を入力。するとこんな画面が出る。

スクリーンショット 2014 07 07 23 49 03

「5. 作業用のユーザを作る」で作ったパスワードを入れる。

SAKURA Internet [Virtual Private Server SERVICE]

[ruushu@*** ~]$ 

このように表示されたら接続完了! 今あなたのMacからサーバにSSH接続できてます。

9. ログアウトしてみる

$ exit

でログアウト。

10. もいちどログイン

もいちど「8. Macから接続を確認する」でやったログインをためす。Terminalから

$ ssh ruushu@***.***.***.***

を入力。パスワードなしで以下が表示されたら公開鍵無事に登録されててOK。

SAKURA Internet [Virtual Private Server SERVICE]

[ruushu@*** ~]$ 

うん。OKっぽい。

11. Rootでログインし直す

ここからはログインを強固にする。

もうTerminalからでもリモートコンソールでもどっちでもいいんだけど、今回はTerminalからやる。

$ su root

でrootのパスワード(メールで来てる)入れてログインする。

[root@*** ruushu]# cd ~/
[root@*** ~]# 

rootになった。

12. viを立ち上げる

vi(ヴィと読む)を立ち上げる。

# vi /etc/ssh/sshd_config

するとTerminalからvi(テキストエディタみたいなやつ)が立ち上がる。

:set nu

すると行数が表示されて便利。

viで操作ミスっても慌てない

viで操作をミスった時には、Escを連打して

:q!

を入力すれば元のTerminalに戻るので安心。慌てないことが重要。

13. viを操作する

viはh j k lのキーボードで操作する。

それぞれ

  • h …… 左
  • j …… 下
  • k …… 上
  • l …… 右

で移動できる。

移動したらiでカーソルの位置に文字書ける。書いたらEscでまたカーソルが移動できるようになる。

とりあえずこれだけ覚えておけばOK

14. サーバのSSH設定を変更する

viを操作してサーバ上にあるsshd_configというファイルを操作する。

42行目にこんなのがある。

#PermitRootLogin yes

次のような感じに書き換える。
「#」はコメントアウトなので、コメントアウトを外し、yesからnoにする。

PermitRootLogin no

同じように以下のように48、49行目もコメントアウト外す

PubkeyAuthentication yes
AuthorizedKeysFile     .ssh/authorized_keys

66行目はコメントアウト外しnoに変える。

PasswordAuthentication no

96行目はコメントアウトを入れ替える。最初はこんな感じなので

#UsePAM no
UsePAM yes

こうする。

UsePAM no
#UsePAM yes

終わったらEscで「:wq」すると保存して終了(viが閉じてTerminalに戻る)

こうするとコンソール以外のログインが不可能になりセキュリティが強固になる。

15. リスタートする

# /etc/init.d/sshd restart

sshdが再起動する。

15. 作業用ユーザでsudoを設定

# visudo

またviが開く。

16. 作業用アカウントで sudo できるように設定する

先ほどと同じように:set nuすると見やすい。
105行目のコメントアウトを外す。

%wheel        ALL=(ALL)       ALL

17. 日本語の設定にする

メッセージを英語から日本語に変更する。

# vi /etc/sysconfig/i18n

1行目をこんなふうに変更。

LANG="ja_JP.UTF-8"

18. パッケージを最新のものに更新

サーバ上にインストールされているパッケージを最新のものにアップデートする。

# yum -y update

これを実行する。

19. yum-cronで自動更新を設定する

毎回「18. パッケージを最新のものに更新」するのは面倒なので、毎日自動でチェックしてパッケージを最新のものに自動アップデートする設定を書く。

# yum -y install yum-cron

を実行。yum-cronというのをインストールする。

# /etc/rc.d/init.d/yum-cron start

これを実行し、

Enabling nightly yum update:                               [  OK  ]

というのが表示されればyum-cronが起動してる。

# chkconfig yum-cron on

を実行するとyum-cronが自動起動するようになり便利。

20. 自動更新がうまくいってるか確認する

# chkconfig --list yum-cron

を実行し、以下のように2〜5が「on」になってれば大丈夫。

yum-cron       	0:off	1:off	2:on	3:on	4:on	5:on	6:off

21. cronを設定する

1台構成なのでCentOS6の機能をしぼりシンプルにする。

# yum -y install cronie-noanacron

でcronie-noanacronをインストール。

# yum -y remove cronie-anacron

でcronie-anacronを削除する。

22.root宛のメールを転送する

root宛にはシステムからの重要なメールが届くのでそれを自分のメールアドレスに届くよう設定する。

# sed -i '/^root:/d' /etc/aliases

これを実行し、root宛のメール転送設定をいちどリセット(削除)。

# echo "root: hoge@hoge.com" >> /etc/aliases

hoge@hoge.comは自分のメールアドレスに変更してから実行。

# newaliases
# echo test|mail root

ちゃんとメールが届いたら設定が完了。

スクリーンショット 2014 07 08 2 05 48

OKっぽい。

23. カーネルパニックになったら自動再起動するよう仕込む

カーネルパニックが発生したら5秒後に自動で再起動するように設定する。またviを開く。

# vi /etc/sysctl.conf

最終行に以下を追加


# When kernel panic's, reboot after 5 second delay
kernel.panic = 5

その後

sysctl -p

を実行。

cat /proc/sys/kernel/panic

これを実行し、5という数字が表示されればOK。

24. IPv6を無効にする

どうせ使わないのでIPv6を無効にする。

# /etc/rc.d/init.d/ip6tables stop
# chkconfig ip6tables off
# echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf

25. PHPなどを追加するためのリポジトリを追加する


またvi。

# yum -y install yum-plugin-priorities
# vi /etc/yum.repos.d/CentOS-Base.repo
  • [base]
  • [updates]
  • [extras]
  • [centosplus]
  • [contrib]

のそれぞれ直下に

priority=1

を追加する。

次にremiリポジトリを追加する。

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# vi /etc/yum.repos.d/remi.repo

またvi。

  • [remi]

の直下に

priority=1

を追加。

26. rmpforgeリポジトリを追加する

以下を実行。

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

27. リポジトリが追加されてることを確認する

以下を実行するとリポジトリがインストールされているかどうか確認できる。

# rpm -qa|grep remi
# rpm -qa|grep rmpforge

バージョン名とかが表示されたら成功。

28. 再起動

サーバを再起動して終了。

# reboot

まとめ

ここまででさくらVPSの初期設定+セキュリティを少し強くする設定が完了しました。おつかれさまでした。
次回はnginxをインストールしてあれこれやろうと思います。


タイトルで「WordPress」と銘打っているのにここまでWordPress一言も出てきてなかった……
それでもまあ一区切りということで。ここまで設定するのに5時間かかった。

間違ってるところあったら教えてください

何かあったら@ruushu宛に教えてください。

関連記事

no image

文頭の$(ドル)マークは一体何なのか?

よくソースコードの先頭に$(半角ドルマーク)が付いてるソースがあったりします。これって何?文頭ドルマ

記事を読む

エンジニアじゃないけどがんばってさくらVPSにFTPサーバをインストールしてみる

さくらVPSって標準だとFTP接続できない!(知らなかった) なるべく黒い画面を見たくないので(FT

記事を読む

no image

MarsEditで投稿したときに SyntaxHighlighter Evolvedが文字化けしないようにする方法

WordPressにコードを表示させるための神プラグインとして有名な「SyntaxHighlight

記事を読む

LIGの人に教えてもらった!WordPressからSEO的にもいい感じにカテゴリベース(/category/)取る方法

WordPressのカテゴリーページなどに付く、 http://example.com/catego

記事を読む

PAGE TOP ↑