読者です 読者をやめる 読者になる 読者になる

rails永遠の初心者の備忘録

物忘れの激しい経営者による備忘録

さくらVPS設定の手順の備忘録

さくらVPSで新規サービスを立ち上げたので、その備忘録です。基本的にはドットインストールを参考にしていますが、だいぶ古くなってきたので新しく参考にした方がよいかもしれませんね。

さくらのVPS入門 (全21回) - プログラミングならドットインストール

1.サーバーの起動

サーバーを起動させます。これはボタンをポチッと押すだけなので簡単です。さくらVPSのデザインが変わって管理画面がフラットデザインになっていますね。

2.sshログイン

サーバーを起動後、sshでログインしようとしましたが、すぐには立ち上がらないのか、エラーがでてしまいました。

ssh root@サーバーIPアドレス
=> #ssh: connect to host サーバーIPアドレス port 22: Connection refused

こちらのサイトによると、再起動するのがよいみたいなので、再起動したらすんなりsshでログインができました。

さくらVPSに申し込んでみる - yk5656 diary

3.日本語化

sysconfigのi18nの設定を変更して日本語対応にします。

vim /etc/sysconfig/i18n
=> LANG=“ja_JP.UTF-8"   ## "C"を"ja_JP.UTF-8"に変更

4. 作業用ユーザーの追加

作業用ユーザーを追加します。

useradd [ユーザー名]
passwd [ユーザー名]
usermod -G wheel [ユーザー名]
visudo

=> %wheel  ALL=(ALL)       ALL #コメントアウトして有効化する

5. 鍵認証の追加

パスワードではなく、公開鍵によるログインに変更してセキュリティを高めます。

mkdir ~/.ssh   #ssh用のディレクトリを作成
chmod 700 ~/.ssh  #権限を700に変更

ローカルのパソコンで作業

scp ~/.ssh/id_rsa.pub [ユーザー名]@[サーバーIPアドレス]:~/.ssh/authorized_keys
#公開鍵をauthorized_keysという名前で転送する

公開鍵を転送したら、パスワードなしでログインできることを確認する

ssh -i ~/.ssh/id_rsa  [ユーザー名]@[サーバーIPアドレス]

6.SSHの設定を行う

次にsshの設定を行って、セキュリティを高める。

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
#予めオリジナルファイルをコピーして保存しておく

vim /etc/ssh/sshd_config
=> Port 22 #コメントアウトし、任意の番号に変更
=> PasswordAuthentication no #yesをnoに変更
=> PermitRootLogin no #yesをnoに変更

service sshd restart
#sshを再起動する

これでPort番号が任意の番号に変更され、パスワードでのログインが不可能になり、rootでのログインも不可能になってセキュリティが高まる。

7.ファイアーウォールの設定

vim /etc/sysconfig/iptables
#ファイアーウォールの設定ファイルを作成

=>
*filter
:INPUT          DROP    [0:0]
:FORWARD        DROP    [0:0]
:OUTPUT         ACCEPT  [0:0]
:SERVICES       -       [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4 -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j SERVICES
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
-A SERVICES -p tcp --dport [先ほど設定したポート番号] -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
COMMIT
service iptables start
#iptablesを再起動

8.webサーバーの設定

apacheをインストールして、webサーバーの設定を行う。

yum install httpd
#httpdのインストール

chkconfig httpd on
#httpdの自動起動を設定

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
#設定ファイルをコピーしておく

vim /etc/httpd/conf/httpd.conf
#設定ファイルの変更

=> ServerTokens Prod #OSをProdに変更
=> ServerSignature Off #OnをOffに変更
=> ptions -Indexes FollowSymLinks #Indexesの前に-を入力

service httpd configtest
#文法テスト、OKが出力されたら問題なし

service https start
#再起動して設定を反映させる

9.mysqlの設定

yum install mysql-server
#mysqlのインストール

cp /etc/my.cnf /etc/my.cnf.org
#設定ファイルのコピー

vim /etc/my.cnf
#設定ファイルに以下を追記する

character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8

service mysqld start
#再起動する

mysql_secure_installation
#mysqlのセキュリティ設定を強化する

chkconfig mysqld on
#mysqlの自動起動を設定する

mysql -u root -p
#先ほど設定したパスワードでログインできるか確認する

10.Ruby on Railsのインストール

sudo yum install zlib-devel openssl-devel sqlite-devel
#必要ファイルをインストールする

curl -L https://get.rvm.io | bash -s stable
#rvmをインストールする

source /home/[ユーザー名]/.rvm/scripts/rvm
#rvmを起動する

rvm install [version]
#rubyのインストール

gem instal --no-ri --no-rdoc sqlite3
#sqlite3のインストール

curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs
#node.jsのインストール

gem install rails --version "=4.1.4”
#railsをインストール、今回はversionを4.1.4で指定してインストール

node.jsのインストールは下記を参照

Installing Node.js via package manager · joyent/node Wiki · GitHub

最後に

いつもやってる作業だけどまとめておくと今後便利かもということでまとめておく。毎回、ドットインストール見るのも大変だし。