パート1の続きを書きます。ちゃっちゃとさくらVPSのセットアップを完了させましょう。
前回まででUbuntuをさくらVPSにインストールしました。VPSコントロールパネルからサーバーを起動してから続けます。
SSHと公開鍵の設定
OSをインストールしてから最初にやることはSSHと公開鍵の設定です。これをやらないと攻撃の的になります。
SSHの設定を変更する
SSHでさくらVPSへ接続します。
Macから接続する場合
Macからターミナルから接続します。
ターミナルを起動します。
ssh user名@VPSのIPアドレス -p 22 Are you sure you want to continue connecting (yes/no)? yes user名@VPSのIPアドレス's password: パスワードを入力
user名とパスワードはOSのインストール時に設定したものを使います。これでSSHで接続ができるようになります。
Windowsから接続する場合
Windowsならputtyjp.exeから接続します。
puttyjp.exeを起動します。
ホスト名にVPSのIPアドレス、ポートに22を入力して開くをクリックします。
Putty Security Alertが出てきますが。はいを選択します。
login as: user名を入力 Server refused our key user名@VPSのIPアドレス's password: パスワードを入力
user名とパスワードはOSのインストール時に設定したものを使います。これでWindowsからでもSSHで接続ができるようになります。
さくらVPSのSSHの設定を変更する
MacまたはWindowsからSSH接続ができたという前提で進みます。
vimをインストールします。
sudo apt-get install vim
SSHの設定を変更します。
sudo vim /etc/ssh/sshd_config //49152から65535の範囲でパート番号を変更する Port 61109 // without-passwordからnoに変更する PermitRootLogin no // #コメントを外す AuthorizedKeysFile %h/.ssh/authorized_keys // #コメントを外してnoにする PasswordAuthentication no //保存して終了 :wq
公開鍵を作成してアップロードする。
公開鍵を作成する
Macで公開鍵を作成する場合
Macの場合、ターミナルから作成してアップロードする。
cd .ssh ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/username/.ssh/id_rsa): エンターを押す Enter passphrase (empty for no passphrase): 適当なパスワードを入れる Enter same passphrase again: 同じパスワードを入れる scp id_rsa.pub user名@VPSのIPアドレス:/home/user名 Received disconnect from VPSのIPアドレス: 2: Too many authentication failures for user名 lost connection //エラーが出るのでパスワード強制にしてみる scp -o PreferredAuthentications=password ~/.ssh/id_rsa.pub user名@IPアドレス:/home/user名 user名@IPアドレス's password: パスワードを入れる id_rsa.pub 100% 407 0.4KB/s 00:00
少し手間取りましたが、これでさくらVPSに公開鍵(id_rsa.pub)がアップロードされています。
Windowsで公開鍵を作成する場合
Windowsの場合、puttyjpにあるputtygen.exeを起動して、最初に表示される画面にあるGenerateをクリックしてマウスを動かします。次に出てくる画面に適当なKey passphraseとConfirm passphraseを入力します。Save public keyをクリックしてファイル名をid_rsa.pubにして保存します。Save private keyをクリックしてファイル名をid_isa.ppkにして保存します。
WindownsにWinSCPをダウンロードしてインストールする。設定を変えずにインストールする。
WinSCPを起動して、プロトコルはSFTP、ホスト名にVPSのIPアドレス、ポート番号は22、ユーザ名とパスワードにはVPSのを使う。
左の画面からid_rsa.pubを探して、それを右の画面にドロップする。
これでWindowsから公開鍵(id_rsa.pub)をVPSにアップロードできます。
Windowsで作成した公開鍵をさくらVPS側で使う場合はVPS側で変換する必要がある。
さくらVPS
cd /home/username ls id_rsa.pub ssh-keygen -i -f id_rsa.pub > id_rsa.pub
公開鍵をさくらVPSに設定する
ここからさくらVPSの設定に入ります。
cd /home/username ls id_rsa.pub ssh-keygen -i -f id_rsa.pub > id_rsa.pub mkdir .ssh cat id_rsa.pub >> .ssh/authorized_keys chmod 600 .ssh/authorized_keys sudo service ssh restart
これで秘密鍵を使いSSHでログインができるようになります。
Macで秘密鍵を使ってさくらVPSにアクセスする
Macのターミナルから
vim .ssh/config Host sakura Hostname さくらVPSのIPアドレス User user名 Port sshのパート番号 IdentityFile /Users/user名/.ssh/id_rsa IdentitiesOnly yes //保存して終了 ssh sakura
これでMacから秘密鍵を使ってさくらVPSにアクセスできるようになる。
Windowsで秘密鍵を使ってさくらVPSにアクセスする
Windowsのputyjp.exeを起動する。
ホスト名にVPSのIPアドレス、ポートに変更したsshのパート番号を入力する。
カテゴリ
接続 → SSHを展開 → 認証をクリック
参照からid_rsa.ppkを探して開くをクリックする。
最後に開くをクリックする。
user名と公開鍵を作成した時に設定したパスワードを入力する。
これでさくらVPSにアクセスできるようになります。
ファイアウォールを設定する
ufwでファイアウォールを設定します。
Web用に80、SSH用に変更したSSHのポート番号だけ通すようにします。
sudo ufw allow 80/tcp sudo ufw allow SSHのポート番号/tcp sudo ufw enable
これでファイアウォールの設定は完了です。
無駄なgettyを無効にする
無駄なgettyを無効にしてメモリをちょっぴり節約します。
sudo vim /etc/init/tty2.conf //全てコメントアウトする #start on runlevel [23] and ( # not-container or # container CONTAINER=lxc or # container CONTAINER=lxc-libvirt) #stop on runlevel [!23] #respawn #exec /sbin/getty -8 38400 tty2 //保存して終了、おなじことをtty3.confからtty6.confまで行う
3MBくらいのメモリの節約くらいかな。
不要なサービスを停止する
大して重要じゃないけど一応やっておく。
sudo apt-get install sysv-rc-conf sudo sysv-rc-conf dns-clean off sudo sysv-rc-conf pppd-dns off sudo sysv-rc-conf grub-common off sudo sysv-rc-conf rsync off sudo reboot
よくわからないけどネットをふらつくと上記のサービスはいらないっぽい。
Ubuntuを最新版にする
sudo apt-get update sudo apt-get upgrade
これで最新版になった。
最新のapache2、mysql、phpMyAdmin、php、ruby、railsをインストールする
できるだけ最新のapache2、mysql、phpMyAdmin、php、ruby、railsをインストールします。
Railsをインストールするで記載していること(最新のapache2、ruby、rails)は飛ばします。ここでは不足分を補充していきます。
sudo apt-get install git sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev sudo apt-get install software-properties-common sudo apt-get install python-software-properties sudo add-apt-repository ppa:ondrej/php5-5.6 sudo apt-get update sudo apt-get upgrade sudo apt-get install php5 sudo apt-get install apache2 sudo a2enmod headers sudo a2enmod expires sudo apt-get install unzip sudo apt-get install libcurl4-openssl-dev sudo apt-get install mysql-server-5.6 sudo apt-get install phpmyadmin sudo php5enmod mcrypt cd /etc/phpmyadmin/ sudo vim apache2.conf //phpmyadminのURLを変更する Alias /phpmyadmin-hogehoge /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> //念のためDigest認証をかけておく AuthType Digest AuthName "AuthPage" AuthUserFile /etc/apache2/auth/digest_passwd Require valid-user </Directory> //保存して終了 cd /etc/apache2 sudo mkdir auth cd auth sudo htdigest -c digest_passwd AuthPage ユーザ名 //パスワードを2回入力する sudo vim /etc/apache2/apache2.conf //最後に下記を追加する Include /etc/phpmyadmin/apache.conf
mysql5.6を入れると、それだけでメモリを400MBくらい取っていく。
解決法はXAMPP’s MYSQL uses over 400MB of RAMに書いてある。
sudo vim /etc/mysql/my.cnf [mysqld] table_definition_cache = 400 //メモリ使用量を100MBぐらいにする場合
1Gプランの場合は減らしたほうがいいと思います。2Gプランの場合でデータベースをガリガリするつもりの人は、そのままでいいかも。私はとりあえずそのままにしています。
追加経過1:
メモリ2GBがすぐになくなる。。1GBくらいキャッシュになってる。Swapは使っていないか、ほとんどゼロだからメモリは最大限使う方針なのかな?
追加経過2:
結局table_definition_cacheを400にしました。400というのはテーブルの定義をcacheできる数で、私のサーバーのデータベースのテーブルを数えてみたら260くらいしかなかったので、400にすることにしました。
おまけ:Booting from Hard Disk…で起動できなくなる
さくらVPSを再起動したところ、いつまでたってもSSHで接続できなくなりました。
コンソールから見てみると、
Booting from Hard Disk…と表示されて止まったままになっていました。
さくらのVPSでUbuntuが起動しなくなった時の対処法を参考に復旧させます。
Ubuntu Desktopをダウンロードする。
VPSコントロールパネルのISOイメージインストールからISOイメージアップロード先情報を入手する。
Macから(WindowsならWinSCPだと思う)
cd Downloads sftp -o PreferredAuthentications=password ユーザ名@リモートホスト名 password: パスワード sftp> put ubuntu-14.04.1-desktop-amd64.iso /iso/ubuntu-14.04.1-desktop-amd64.iso
ISOイメージアップロード先情にユーザ名、リモートホスト名、パスワードが載っている
1.5MB/sくらいしかでない。
お試し期間だとISOのアップロードも制限されているのかな?
アップロードが完了したらISOイメージインストールの画面に戻る。
↓
設定内容を確認する
↓
インストールを実行する
↓
Try Ubuntu
↓
左下にあるSystem Settingsをクリック
↓
Networkをクリック
↓
IPv4 Settings
ManualにしてVPSコントロールパネルにあるサーバー情報を参考に必要事項を入力する。
よくわからないけど3つとも設定を変えておく。
ネットに繋がっているかどうか、Firefoxを起動してみる。繋がっていない場合、ネットワークの設定がおかしいので再度ごちゃごちゃやってみる。
↓
Terminalを起動する
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo rm /var/lib/apt/lists/* -vf sudo apt-get update sudo apt-get install -y boot-repair boot-repair
Recommended repairをクリックして修復完了です。
最後にサーバーを強制再起動させます。
これでさくらVPSが復活しました。
データも無事です。
コメントを残す