とにかくWebサービスを始める!Tutorial #qpstudy 宿題解答編

こんにちは。こんばんは。

去る2014/4/19に #qpstudy でお話してきました。

資料は公開してないんだけど、要旨は次の5つ。

  • 信頼を積み重ねる
  • アジリティの時代は知識と経験と行動力とクラウドとプログラミング
  • 自分で変えられるのは自分だけ
  • 答えはない。重要なのは相手にとっての価値
  • 先生をみつけよう

そして最後に新人さん向けに宿題を出しました。

  • 今日は懇親会で知り合いと友だちをつくる
  • GW明けまでにdotinstallでPHPかRubyして、
さくらVPS借りて、お名前.comでドメインとって、
Webサービス作って友達に公開して運用を始める

前者は当日しかできなかったので説明はなし。 後者はそろそろ終わった時期なので、実はマダ…というかた向けにTutorialします。

独断と偏見で書いてます。 当然異論もあると思いますが、ともあれ話は最後までやりきってから。

手順

  1. dotinstallでPHPかRubyして
  2. 
さくらVPS借りて
  3. お名前.comでドメインとって
  4. 
Webサービス作って友達に公開して運用を始める

dotinstall でPHPかRubyする

PHP入門(基本編)PHP入門(応用編)とかRuby入門 あたりをやるのがいいとおもいます。

Rubyにする場合はいきなり Ruby on Rails は重い(覚えることが多くて大変)と思うので sinatra がお勧め。 dotinstallでRuby入門が終わったら、Sinatra入門しましょう。

PHP/Rubyは正直なところどちらでもいいんだけど、身近に教えてくれる人がいるならそちらを選ぶのがよいです。

自分だったら…奥さんがRubistなのでRubyですね。自分の誕生石もRubyだし。

さくらVPS借りて

さくらインターネットのVPSのページから2週間お試し無料で始めましょう。 お試し期間中はメールが送信できないとか帯域細いとか制限ありますが、今回試す範囲では問題にはならないでしょう。

当日も言いましたが、タダで始めたいのであれば、さくらインターネットのVPSconohaのように2週間無料お試しがあるので活用しましょう。

他にもAWSはEC2のmicroインスタンスが1年間無償利用できるFree Tierがありますが、画面がないので最初の最初に始めるのにはお勧めしません。 最初から意地張らずに素直にさくらインターネットにしておきましょう。 さくらインターネットでできてから別のものを検討してください。

スペックはメモリ2Gのプランにしておきましょう。 リージョンはどこでもいいです。 無難だから。

クレジットカードで申し込みが終わったら、 会員メニュー契約情報契約サービスの確認 を見るとしたのほうにVPSが出てるとおもいます。 しばらく待つとそこの サーバ設定 から VPSコントロールパネル に行けるようになります。

VPSコントロールパネル が出たら、 OS再インストール しましょう。 OSはCentOS6 x86_64がいいとおもいます。無難だから。

rootパスワードは適当に、半角英数大文字小文字入りで16桁くらいで作成しておきましょう。 大文字小文字は区別するのでご注意。

サーバ上のデータは全て初期化されます。よろしいですか? とか出ますが気にせず はい しましょう。

しばらくすると VPSホーム で 仮想サーバの ステータス稼働中 になるので、 そしたら15〜20分ほど待って、、、 とはいえただ待つのはだるいので、次に進んでおきましょう。

15〜20分ほど待ったら、リモートコンソールでVNCコンソールを開きましょう。 なんかダイアログが出ても気にせず。HTML5 モードでokです。 root / 設定したパスワード でログインできたらひとまずok。

お名前.comでドメインとって

なんでもいいのでとりましょう。 twitterのIDとか、なんでもいいです。 奇をてらわず、 .netとかが安くてよいのでは。

取得したら ドメインNaviドメイン設定ネームサーバの設定DNS関連機能の設定 で、 DNSレコード設定を利用する してください。

そこで下記を入力して、DNSレコード設定用ネームサーバー変更確認にもチェックONして設定しましょう。

  • ホスト名: 空白
  • TYPE: A
  • TTL: 300
  • VALUE: さくらのVPSコントロールパネルでVPSホームで表示されてるIPアドレス(数字と.だけのやつ)

設定終わったら10分くらいかかります。 次に進んでおきましょう。


Webサービス作って友達に公開して運用を始める

それでは準備できたとおもうのでVPSコントロールパネルでログインしましょう。

心と技術に余裕があるひとはsshで接続してみましょうか。 Windowsならputtyで。macならターミナル.appを使いましょう。

ターミナル.appは アプリケーションユーテリティターミナル です。開いたら下記のかんじでssh接続します(192.168.0.1のところはさくらVPSコントロールパネルのIPアドレスに変える)。

[baba@mac ~]$ ssh root@192.168.0.1

(yes/no) って出たら yes と入力してenterしましょう。

Rubyとsinatraをインストール

ではRubyとsinatraをインストールしましょう。 あとエディタもきちんとしておきたいので、vim-enhancedをインストールしましょう。

yum -y install ruby rubygem-sinatra vim-enhanced

アプリをつくる

dotinstallをひととおりやれば簡単なものは作れるはずです。 vimとかを使ってポチポチと作りましょう。

vim main.rb
require 'rubygems'
require 'sinatra'

get '/' do
  "hello world"
end

get '/user/:name' do
  "hello #{params[:name]}"
end

次にsinatraを起動します。なお終了するときはCtrl+cです。

ruby main.rb -p 80

ブラウザで取得したドメイン名にアクセスすれば hello world が表示されるはずです!

ドメインのURL /usrs/baba にアクセスすれば、 hello baba と表示されるはずです!

※なお、見せる友達のほうは自分でなんとかしてください。

ちなみにセキュリティが心配で心配で…ということであれば、 使い終わったら電源を落としておけばいいです。 使うときにまた起動してください。

shutdown -h now

ここまでできたら

ここまでできたら、次はいろいろ広げていきましょう。 たぶん途中でたくさん悲しい思い(うっかり消す、動かなくなるなどなど)もすると思いますが、 転ばないで自転車に乗れるようになるひともスキー滑れるようになるひともほとんどいないわけで、 楽しく失敗してください!

  • デザインを変更してみる(twitter bootstrap使う, HTML/CSS/JavaScriptでいじる)
  • 機能追加してみる(画像投稿をつける, ユーザ認証をつける)
  • 要素を別のものにしてみる(PHP/Ruby, CentOS/Ubuntu, さくら/conoha/AWS)
  • ソースコードをバージョン管理してみる(git/mercurial, github/bitbucket)

dotinstallのsinatra入力みたいにActiveRecordを入れるのであれば、 gemを使ったり、gemを使うためにyumでgccやruby-develやsqlite-develをインストールしたり…といろいろ広がっていくでしょう。

10000時間の法則なんてものもありますし、何をするにせよそんなに簡単にはいっぱしにはなれません。 肚を決めて楽しく努力しましょう。

ではでは。happy engineering!

↓困ったら読んでみるといいとおもう関連書籍3つ


See also