さくらのVPS入門

さくらインターネット株式会社が提供する「さくらのVPS」の設定方法について解説していきます。
0%
このレッスンはさくらインターネット株式会社の技術協力を得て、さくらのVPSについて解説しています。
Powered By SAKURA Internet
このレッスンはアーカイブされました
このレッスンは視聴可能ですが、質問の受付や内容の更新は終了しております。
    • さくらのVPSの概要
    • 公式サイト
    • 必要な事前知識
    • 必要なツール
    • 設定の流れの確認
    • VPSの申し込み
    • メールの確認
    • コントロールパネルにログイン
    • VPSの起動
    • ssh root@IP.ADD.RE.SS
    • yum update
    • vim /etc/sysconfig/i18n
    • useradd dotinstall
    • passwd dotinstall
    • usermod -G wheel dotinstall
    • visudo
    • ssh dotinstall@IP.ADD.RE.SS
    • ssh dotinstall@IP.ADD.RE.SS
    • mkdir .ssh
    • chmod 700 .ssh
    • [手元のPCにて]
    • ssh-keygen -t rsa -v
    • ls -la .ssh
    • chmod 600 .ssh/id_rsa.pub
    • scp ~/.ssh/id_rsa.pub dotinstall@IP.ADD.RE.SS:~/.ssh/authorized_keys
    • ssh -i ~/.ssh/id_rsa dotinstall@IP.ADD.RE.SS
    • ssh dotinstall@IP.ADD.RE.SS
    • sudo -s
    • cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
    • vim /etc/ssh/sshd_config
    • --- (編集開始) ---
    • Port YOUR_PORT_NUMBER
    • PasswordAuthentication no
    • PermitRootLogin no
    • --- (編集終了) ---
    • service sshd restart
    • ssh -p YOUR_PORT_NUMBER dotinstall@IP.ADD.RE.SS
    • vim /etc/sysconfig/iptables
    • service iptables restart
    • iptables -L
    • yum install httpd
    • chkconfig httpd on
    • cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
    • vim /etc/httpd/conf/httpd.conf
    • --- (編集開始) ---
    • ServerTokens Prod
    • ServerSignature Off
    • Options -Indexes FollowSymLinks
    • --- (編集終了) ---
    • service httpd configtest
    • service httpd start
    • chown -R dotinstall:dotinstall /var/www/html
    • ファイル転送ツール(Cyberduck)の設定
    • ファイルの設置
    • ブラウザでの確認
    • mkdir -p /var/www/dev.example.com/public_html
    • chown -R dotinstall:dotinstall /var/www/dev.example.com
    • vim /etc/httpd/conf.d/dev.example.com.conf
    • vim /etc/httpd/conf/httpd.conf
    • --- (編集開始) ---
    • NameVirtualHost *:80
    • --- (編集終了) ---
    • service httpd configtest
    • service httpd restart
    • vim /var/www/dev.example.com/public_html/index.html
    • hostsの編集
    • ブラウザで確認
    • yum install php php-devel php-mysql php-mbstring php-gd
    • php -v
    • cp /etc/php.ini /etc/php.ini.org
    • vim /etc/php.ini
    • --- (編集開始) ---
    • error_log = /var/log/php.log
    • mbstring.language = Japanese
    • mbstring.internal_encoding = UTF-8
    • mbstring.http_input = auto
    • mbstring.detect_order = auto
    • expose_php = Off
    • date.timezone = Asia/Tokyo
    • --- (編集終了) ---
    • service httpd restart
    • yum install mysql-server
    • cp /etc/my.cnf /etc/my.cnf.org
    • vim /etc/my.cnf
    • service mysqld start
    • mysql_secure_installation
    • chkconfig mysqld on
    • mysql -u root -p
    • sudo yum install zlib-devel openssl-devel sqlite-devel
    • curl -L https://get.rvm.io | bash -s stable
    • source /home/dotinstall/.rvm/scripts/rvm
    • rvm install 1.9.3
    • ruby -v
    • gem -v
    • gem install --no-ri --no-rdoc sqlite3
    • cd /tmp
    • wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
    • sudo yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
    • sudo yum install nodejs-compat-symlinks npm
    • rm nodejs-stable-release.noarch.rpm
    • cd
    • gem install rails
    • rails -v
    • sudo vim /etc/sysconfig/iptables
    • --- (編集開始) ---
    • -A SERVICES -p tcp --dport 3000 -j ACCEPT
    • --- (編集終了) ---
    • sudo service iptables restart
    • rails new myapp
    • cd myapp
    • rails server
    • ブラウザで確認
    • cd /var/tmp
    • wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
    • tar xvzf Python-2.7.3.tgz
    • cd Python-2.7.3
    • ./configure
    • make
    • sudo make install
    • python --version
    • sudo -s
    • vim /etc/yum.repos.d/10gen.repo
    • yum update
    • yum install mongo-10gen mongo-10gen-server
    • service mongod start
    • chkconfig mongod on
    • mongo --version
    • mongo
    • exit
#04 さくらのVPSへ接続してみよう
2016年8月19日
さくらのVPSでは初回起動時に RPM の更新をしているため、起動に時間がかかる場合があります。起動が完了するまで待つようにしましょう。

状況はコントロールパネルのVNCコンソールから確認ができます。

VNCコンソールを利用する|さくらインターネット公式サポートサイト
https://help.sakura.ad.jp/app/answers/detail/a_id/2410/~/vnc%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B
2016年2月1日
yum update で更新があった際、場合によってはサービスやサーバーを再起動しなければ更新が反映されないことがありますが、最初ですのでサーバーを再起動しておくのがオススメです。

root ユーザーのまま、
shutdown -r now
のコマンドでサーバーを再起動できます。
#06 鍵認証を設定しよう (1)
2012年8月20日
Windowsを使っている場合は、「PuTTY ごった煮版」や「WinSCP」に付属するPuTTYgen (puttygen.exe) というアプリケーションでSSHの鍵を生成することができます。

詳しい方法は「putty 鍵」などで検索して調べてみましょう。
#09 SSHの設定をしよう (2)
2017年1月10日

2017年1月現在、さくらの VPS の CentOS 6 では iptables (ファイアーウォール) がデフォルトで有効化されているため、SSH のポート番号を変更すると SSH 接続に失敗してしまいます。

新しいポート番号で SSH 接続を試す前に、

service iptables stop

として iptables を停止してから試してみてください。

なお、iptables を停止したままの状態で放置するのは危険ですので、接続できるのを確認したらすぐに次のレッスン「#10 ファイアーウォールの設定をしよう」へ進むようにしてください。

2017年1月10日

さくらの VPS には fail2ban という SSH の不正ログインを監視する仕組みが導入されており、SSH のポート番号を 22 番から変更した場合、fail2ban の設定も変更しておく必要があります。

vim /etc/fail2ban/jail.d/local.conf

で /etc/fail2ban/jail.d/local.conf を開いたら、

action = iptables[name=SSH, port=ssh, protocol=tcp]

とある箇所の「port=ssh」を、

action = iptables[name=SSH, port=61203, protocol=tcp]

のように書き換えます。「:wq」で vim を保存・終了したら、

service fail2ban restart

として fail2ban を再起動してください。

#10 ファイアーウォールの設定をしよう
2016年6月2日
/etc/sysconfig/iptables に記述する内容は以下の通りとなります。「YOUR_PORT_NUMBER」の箇所はご自身で設定した ssh のポート番号に変更するようにしてください。
(ソースコードに掲載している内容と同じものです。)
*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 YOUR_PORT_NUMBER -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
COMMIT
#14 VirtualHostの設定をしよう (2)
2017年6月4日

Hosterの更新が止まったようで、最新版のmacOSではインストールできないようです。

Hosterを使うのではなくて、以下のレッスンのようにhostsファイルを編集することで対応してみてください。

#14 hostsファイルを編集してみよう | ローカル開発環境の構築 [macOS編]

#17 Ruby on Railsの設定をしよう (1)
2016年6月1日
2016年6月現在、「gem install rails」でインストールされる Rails を利用するには Ruby 2.0 以上が必要となります。(ユーザーの方よりご指摘いただきました!)

そのため 1.9.3 ではなく 2.0 以上の Ruby をインストールするようにしてください。Ruby 2.3.0 をインストールする場合は、
rvm install 2.3.0
のコマンドでインストールできます。
2016年6月1日
「curl -L https://get.rvm.io | bash -s stable」のコマンドで rvm をインストールする際に「gpg: 署名を検査できません: No public key」といったエラーが出る場合があります。

その場合はメッセージ内に表示されている、

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys ...

で始まるコマンドをコピーして実行し、その後で再び「curl -L https://get.rvm.io | bash -s stable」を実行してみてください。
2012年10月10日
お使いのさくらのVPSの環境によっては、gem -v を実行した時に以下のような警告が表示される場合があります。

/home/[USERNAME]/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
1.8.24

この警告が表示された場合の解決方法はいくつかありますが、

sudo yum install libyaml-devel

のコマンドで libyaml をインストールすると解決できます。

ただし libyaml-devel は通常の yum リポジトリには含まれておらず、EPELというリポジトリを追加する必要があります。

EPELの追加については、以下のサイトなどを参考にしてみてください。(さくらのVPSは64bit環境です。)
http://www.tooyama.org/yum-addrepo-epel.html


▼ [補足] CentOSのバージョンを確認するには?

cat /etc/redhat-release
#18 Ruby on Railsの設定をしよう (2)
2016年6月1日
Node.js の最新版はインストール方法が変更されています。

【変更前】
cd /tmp
wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
sudo yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
sudo yum install nodejs-compat-symlinks npm
rm nodejs-stable-release.noarch.rpm

【変更後】
root ユーザーになっていない場合は「sudo -s」で root ユーザーになってから以下を実行します。
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum install -y nodejs
#19 Ruby on Railsの設定をしよう (3)
2017年6月2日

Rails 4.2 では「rails server」だけでは外部から接続ができないため、「-b 0.0.0.0」というオプションを使う必要があります。

rails server -b 0.0.0.0

のようにしてサーバーを起動してください。