海外VPS VULTRを契約してみた

何かテスト的に安価に使えるVPSはないかな、と探していたところ、海外のサービスだけど1ヶ月の最低価格が$2.50で初期費用もかからないサーバーを見つけたので契約してみました。

それがこちらのVALTR(ヴァルチャー)

VALTR料金プラン

最低価格の$2.50のプランはスペックは確かに低いですがストレージがSSDなんです。そしてサーバーを再構築することなく上位プランにアップグレードも可能(ダウングレードは不可)。ま、お勉強を兼ねての契約なのでアップグレードする可能性は限りなく低いですが…。
上位プランになってくるとさくらのVPSなどの国内サービスとさほど変わらなくなってきますが、最低プランが日本円だと300円以下(2017年9月19日現在)で初期費用もないのは魅了的です。

そしてVALTRにしたもうひとつの理由がUI。英語がほぼ分からない私でもなんとかなるWEBデザインが契約してみようと思ったもうひとつの理由です。言語もわからない外国人にも契約させてしまうなんて、WEBのデザインって重要なんだな、と思いました。

VULTRは世界中のデーターセンターにサーバーがあります。

サーバーのロケーション地図

もちろん東京にもありますが、ここはあえて海外のサーバーを選んで遊んでみてもいいかもしれません。ただやはり国内向けのサイトを作るなら東京がいいとは思いますが。

アカウント作成

契約するにはまずアカウントを作成します。とは言ってもいたって簡単で、メールアドレスとこちらで決めたパスワードを入れるだけ。

VULTRのアカウント作成

パスワードを決めるのがちょっと面倒で、以下のルールがあります。

  • 10文字以上
  • 1文字以上の小文字
  • 1文字以上の大文字
  • 1文字以上の数字

登録が終わるとすぐMy Pageが表示されますが、送らてくるメールからアカウントの有効化を行わないとサーバーを作ることができません。

支払い方法

支払い方法は以下の5種類

  • クレジットカード
  • Paypal
  • Bitcoin
  • Alipay
  • Gift Code

クレジットカード登録画面

基本的にはクレジットカードですかね。Alipayって初めて聞いたんですが中国でよく使われている決済方法のようです。クレジットカードはJCBでも登録できました。
支払いはデポジット方式で最初にある程度入金します。そこから料金が引かれていきます。デポジット方式って最後に微妙に余るので、なんとなくイヤです。

登録画面を見ると住所も入れないといけないみたいですが、名前とクレット番号だけで入金出来まいた。入力必須項目にマークを付けてほしいんです。

クレジットカードは一度登録すると次からの入金操作が簡単になるみたいです。

サーバー構築

ここまで来たらいよいよサーバーの構築です。VPSはVultr Cloud Compute (VC2)になります。

1. ロケーション

サーバーのロケーションを選択

サーバーが設置されている場所を選びます。これは好みかと思います。ちゃんとサイトなど運用するならTokyoがいいとは思いますが。ちなみにロケーションによっては売り切れになっているプランがあるようです。

2. OSの選択とアプリケーション

OSもデフォルトで多くのもの用意されています。またOSと同時にアプリケーションをインストールすることも可能なのようです。今回、私は無難にCentOS7、アプリケーションはなしにしてみました。お勉強的に使ってみるサーバーなので別のOSやアプリもいずれ試してみたいと思います。

OS選択

CentOS(32bit版あり)、CoreOS、Debian(32bit版あり)、Fedora、FreeBSD、OpenBSD、Ubuntu(32bit版あり)、Windowsから選べます。
さすがにWindowsは月/$16かかります(2017年9月19日現在)。
ここにないOSはISOをアップロードすることでインストールすることができるようです。

そしてアプリケーションも以下のものが用意されています。選択するだけでインストールされるようですが、複数は選べませんでした。また、一度なんらかを選んでしまうと“なし”にすることができませんでした。最初からやり直しです。

ワンクリックアプリ

3. サーバーサイズ

サーバーのスペックを選びます。$2.50のプランがTemporarlly Sold Outになっていて選ぶことができません。$2.50のプランが目当てで入金しているので、この段階でこれを言われるとキツイです。
ロケーションを変えたり、最初からやり直しているうちに選ぶことができましたが、なんだったんでしょうか?

サーバーサイズ選択

4. 追加設定

追加設定ではIPv6、プライベートネットワーク、オートバックアップ(有料)、DDOS Protectionがあります。DDOS Protectionは使えるロケーションが限定されていてTokyoは使用できません。

追加設定

5. その他の項目

その他の設定

これ以降は必要ならば設定します。が、私はよくわからなかったので使いませんでした。Server Hostname & Labelも未記入可能です。

あとは構築されるのを待つだけ

ここまで選択したら金額を確認して「Deploy Now」ボタンを押せばサーバーが作られます。
StatusがRunningに変わればサーバーが利用できます。
OS列の歯車マークをクリックするとサーバーの情報を見ることができます。

サーバー構築中

OSの再インストールは可能ですがロケーションを変更することはできないのでロケーションは慎重に選んだほうが良さそうです。ロケーションを変える場合は新たにサーバー契約になってしまいます。

サーバー情報の確認

サーバーの設定情報はメールでは届きません。最初「rootのパスワードはどこだ?」と焦りましたが、My Pageで確認することができました。サーバー一覧の歯車マークをクリックするとそのサーバーの情報が確認できます。

サーバー情報

情報の他、各種設定や上位プランへのアップデートもこちらから可能。

契約してみて

と、海外のサービスで英語サイトだったので「できるかな?」と心配でしたが、わかりやすいインターフェイスのおかげであまり迷うことなくサーバー構築まですることができました。迷ったのはrootのパスワードを探すことくらいですかね。これはさくらインターネットのサービスに慣れていたせいかと。
また、サーバースペックの他に転送量の制限もあるので、ここらへんがどう影響するかも気になります。

今後使用してみてわかったことなどあればまた書いていきたいと思います。

OpenSSL 1.0.1サポート終了

2017年も半分終わろうとしていて、今更ですがOpenSSL 1.0.1のサポートが2016年12月31日で終わりました。今後バージョンアップ等が行われず、OpenSSLのサイトでも「使用しないでください」と記載されているので、1.0.2シリーズへ変更します。

OpenSSL 1.0.2

サポートが継続されているのは1.1.0シリーズと1.0.2シリーズ。数字だけ見ると1.1.0シリーズの方がサポート期間が長そうですが、1.0.2シリーズは長期サポートバージョンになり1.1.0よりもサポート期間が長くなります。

シリーズサポート終了日2017年6月17日現在の最新バージョン
1.1.02018年8月31日1.1.0f
1.0.22019年12月31日1.0.2l

CentOSでのバージョンアップは以前投稿した記事と同じ操作で行えました。
さくらのVPSのOpenSSLを1.0.1mにアップデート

さくらのVPS「初期費用無料」キャンペーン

本日(9/1)からさくらのVPSが初期費用無料キャンペーンをします。このサイトはさくらインターネットのレンタルサーバー「スタンダード」で運用しているのですが、これを期にVPSにしようかと思いました。

実は他のサイトをさくらのVPSで約2年ほど運用しているのですが、問題なく快適に使用できています。そのサイトは結構アクセスのあるサイトで夜はかなりの同時アクセス数になるのですが遅くなったりすることはありません。レンタルサーバーで運用していた頃は、夜はかなりアクセスしづらかったです。料金は同じくらいなのでコストパフォーマンスはいいですね。
それにVPSのいいところは不要なものがなく、自分のサイトにあった環境を構築できることだと思います。

VPSのデメリットとしては管理を自分でしなければいけないところ。WEBサーバーを構築しなければいけないので、すぐにサイトを公開できないところでしょうか。
それが楽しかったりもするんですけどね。

今回の初期費用無料キャンペーンはSSDプランだけなのですが、SSDプランが出た時から興味があったので、調度良かったです。
このサイトともうひとつの弱所サイトをWordPressで運用するので、おそらく1Gプランになるかと。

さくらのVPS「初期費用無料」キャンペーン:2015年9月1日〜30日



さくらのVPSのOpenSSLを1.0.1mにアップデート

最近なにかと脆弱性が報告されるOpenSSL。私が使用しているサーバー“さくらのVPS”に入れているOpenSSLのバージョンがいくつなのか調べてみたところなんと1.0.1eだった。

SSLはほとんど利用していないが、これはちょっと低すぎるだろうと言うことで1.0.1系の最新版1.0.1mをインストールしました。

OSはCentOS6.6の64bitです。

make以降は新バージョンの適用作業。lnコマンドでシンボリックリンクをはっています。
最後に新バージョンが適用されたかを確認します。

ほとんど利用していないなら止めろ!と言われそうですが、一部地味に使ってるんですよ。

参考サイト
事前予告されていた OpenSSL のアップデートが公開されたので OpenSSL 1.0.2a を入れた件(WWW Watch)

追記
2015.7.13 OpenSSL に証明書チェーンの検証不備の脆弱性

[tmkm-amazon asin=’4798041866′][/tmkm-amazon]

phpMyAdminでサーバー上のファイルからインポートする

SQLデータをphpMyAdminを使ってインポートする際、ブラウザ経由でデータをアップロードするわけですが、アップロードできるデータサイズに制限があります。

phpMyAdminインポート画面
上記の画像の場合の上限は2MB。

php.iniの設定を変えれば上限は増やせますが、あまり巨大なファイルのアップロードをブラウザ経由でするのはちょっと不安。

そこでSQLデータファイルはFTPでアップロードし、それをphpMyAdminに読ませたいと思います。

先の画像ではブラウザ経由でファイルをアップロードし、インポートすることしかできませんが設定を変更すること、インポートのメニューが増えます。

config.inc.phpの変更

phpMyAdminのインストールフォルダにあるconfig.inc.phpを開きます。ファイルの開き方は環境に合わせて行ってください。(viなどで直接開く。ダウンロードしてエディタで開く。など)

config.inc.phpから以下の2行を探します。

シングルコーテーション(’)の間にFTPでアクセスできるフォルダを指定します。

上記編集が終わったらファイルを上書き保存します。

インポート画面

インポート画面を確認するとファイルのアップロードの他に、先ほど“$cfg[‘UploadDir’] “設定したフォルダからファイルを選択できるようになっています。

config.inc.php設定後のphpMyAdminのインポート画面

ちなみに“$cfg[‘SaveDir’] ”の設定はエクスポートの際に利用できますので、ここで一緒に設定して置いた方がいいかと思います。

phpMyAdminのエクスポート画面

インポート、エクスポート時にエラーが出た場合は各フォルダの有無、パーミッション設定を確認します。

[tmkm-amazon asin=’4797369450′][/tmkm-amazon]

WindowsにインストールしたapacheでPHPを使えるようにする

1. PHPのインストール

PHPのサイトよりPHP 5.4 (5.4.31)のVC9 x86 Thread Safe (2014-Jul-24 01:06:39)からzipファイルをダウンロードします。
PHP5.5系はapache2.4以上が必要らしく、apache2.2をインストールしている私の環境では動きませんでした。

  1. ダウンロードしたzipファイルを解凍
  2. 解凍されたフォルダのフォルダ名をphpに変更
  3. phpフォルダをCドライブの直下に移動(C:\php)。
  4. phpフォルダ内にある「php.ini-development」をC:\Windowsへコピー。
  5. コピーしたphp.ini-developmentをphp.iniにファイル名を変更

2. php.iniファイルの編集

1の最後に設定したphp.iniを開いて以下の該当箇所を編集します。

httpd.conf

output_handler

phpファイルのエンコードと出力するHTMLのコードが違う場合に機能します。ブラウザで表示した場合に文字化けする場合はコメントアウトします。
また、php.iniで設定しなくてもphpファイルの方で対応できるので、そちらで制御したほうが汎用的です。

default_charset = “UTF-8”

HTTPヘッダのContent-Type: text/html; charset=*****の*****に反映されます。

mbstring.internal_encoding = UTF-8

日本語等のマルチバイト文字を扱う関数でのデフォルトエンコードになります。関数を使用する場合にエンコードの指定がなかった場合、この指定が有効になります。

mbstring.http_input、mbstring.http_output、mbstring.encoding_translation

HTTP通信の際の文字コードを変換する場合に指定します。ここではpassとOff(無変換)にしていますが、変換が必要な場合は文字コード、Onを記載します。

mbstring.detect_order

文字コードの自動判別の際に確認するエンコードを順番に記載します。ここではautoとしていますが、詳細に指定したい場合は優先順位の高い順にカンマ区切り(例:UTF-8,SJIS,EUC-JP)で記載します。

mbstring.substitute_character

文字変換に失敗した時に表示する文字です。ここでは表示しないのでnoneを指定しています。

mbstring.func_overload

シングルバイト向けの関数をマルチバイト向けの関数に変換する際の設定らしいのですが…、詳しくはわかりませんでした。基本は0にするようです。

3. httpd.confファイルの編集

モジュールの追加はphpをインストールしたパスを指定します(今回はCドライブ直下)。モジュールが記載されているブロックの最後に追加します。
拡張子phpとphpsが利用できるように<IfModule mime_module>の中に追記する。

4. PHPの動作確認

info.php(ファイル名はなんでもいい)を作り以下のコードを記載します。

apacheのドキュメントルート直下にinfo.phpを置きブラウザでhttp://127.0.0.1/info.phpを開き、以下の様なPHPの情報が表示されれば無事成功となります。

phpinfo

[tmkm-amazon asin=’4899772149′][/tmkm-amazon]

Windowsにapacheをインストール

※検証はWindows7 Professional 64bitで行っています。

WindowsのWebサーバーといえばIISですが、IISはあまり一般的ではないですよね。現在ではNginxに人気が出てきていますが、それでも一番使われているのはやはり「Apache」ではないでしょうか。

そんな多くのレンタルサーバーで使用されているApacheの検証環境をWindowsに構築してみます。構築と言ってもインストールするだけですが。

1. Apacheの公式サイトでインストーラーをダウンロード

https://httpd.apache.org/download.cgiにアクセスしてWindows用のインストーラーをダウンロードします。今回は2.2系のApacheをインストールしようと思います。

  • Apache HTTP Server 2.2.27 (httpd)から「Binaries」をクリック。Apacheダウンロードサイト
  • win32のフォルダをクリック。Apacheタイプ選択画面
  • 今回はhttpd-2.2.25-win32-x86-openssl-0.9.8y.msi をダウンロードします。Apacheインストーラーダウンロード

2. インストーラーを起動

インストーラー画面を時系列で…、どうぞ。

Apacheインストーラー画面1 Apacheインストーラー画面2 Apacheインストーラー画面3 Apacheインストーラー画面4
今回はドメイン名に自分自身を指すIP「127.0.0.1」を設定しました。
Apacheインストーラー画面5
標準インストールで進めます。
Apacheインストーラー画面6
Apacheのインストール場所を聞いてきます。あまりパスが深くなるもの面倒なので、Cドライブの直下を指定しました。
Apacheインストーラー画面7 Apacheインストーラー画面8 Apacheインストーラー画面9

これでApacheのインストールは終了。ブラウザで127.0.0.1を開いて以下の様な表示がされればインストール成功です。

ブラウザでApacheの動きを確認

Windowsのスタートメニューにも新しいプログラムとしてApacheが追加されているハズです。

Apacheだけだと検証環境としてあまり使えないので、ここにPerlやらPHPやらMySQLやらを入れていくわけですが、それはまた今度。

あくまでも検証環境として使うのが無難かと思います。軽い気持ちで公開サーバーにはしないように。

[tmkm-amazon asin=’4774150363′][/tmkm-amazon]

WordPressの管理画面で文字化け

サーバー移転後にWordpressを操作していたら管理画面で文字化けが発生しました。文字化けが発生したのは「外観」→「メニュー」を操作している時。下記画像のような状態になりました。Wordpress管理画面の文字化け

メニューの名前とメニューがぞれぞれ文字化けを起こしています。文字化けを起こしているのは日本語で設定している部分でBLOGのような英語表記は文字化けを起こしていません。また、ユーザーが設定する部分以外も文字化けを起こしていません(「メニューを保存」とか)。

これはPHPが5.4の場合に起こるようです。php.iniの以下の部分を編集してapacheを再起動したら直りました。

(変更前) mbstring.http_input = auto

(変更後) mbstring.http_input = UTF-8

Windows telnetでコマンドを表示させる

telnetを使用しHTTPヘッダを確認したりする場合、Windowsのtelnetではコマンドが表示されません。正しくコマンドが入力されているのかわからなくて困ります。

どうやらWindowsのtelnetはローカルエコーがデフォルトでoffになっているようです。

そこでローカルエコーをonにする方法を調べました。

 

これでコマンドプロンプトには何も表示されない状態になります。この状態でコマンドを入力するとカーソルは進みますが、入力内容が表示されません。

入力文字を表示させるために、この状態で

CTRL+]

キーを押し、set localechoを入力してローカルエコーをonにします。

最後にEnterキーを押すと元の何も表示されていない状態に戻ります。ここでコマンドを入力するとコマンドが画面に表示されるようになります。

などと入力するとコマンドが表示されるハズです。
ちなみにWindowsのtelnetでローカルエコーを常時onにする設定はないようです。面倒ですね。

ApacheとPHPはシンボリックリンクでも日本語フォルダは使えない

apacheは日本語フォルダを使用できません。
Windows+apacheでWEBサーバーを構築した際、rootはもちろん配下のフォルダの名前も英語名にしますが、どうしても日本語フォルダを使用しなければいけない場合、“Link Shell Extension”などを使ってシンボリックリンクで回避します。

が、PHPの場合、これがうまく動かず、ブラウザに以下のようなエラーメッセージが表示されます。

上記エラーはapacheと言うよりはPHPのエラーになり、index.phpが存在しないと言っています。

PHPを使用する場合「日本語フォルダは使わない」しかなさそうです。