この投稿は3年半前の記事です。 情報が古くなっている可能性があるので、その点ご了承ください。
2014 年 4 月 2 日 1,149日前)
2,808文字 (読了時間7分)

SPONSORED LINK

Webサイト制作を請け負って生活していると、ある日突然複数台環境での開発を余儀なくされることがあります。「黒い画面でやれ! 終了」と言えばそれまでなのですが、僕はGUIの方がなんとなく気楽なので、そのための設定方法を紹介します。サーバにデプロイする時のドキドキ感を減らしたいというわけですね。

1. アプリの紹介

デプロイが完全自動化(コミット→ビルド→自動テスト→デプロイ)されているならまあいいですが、僕はそうでない環境で日夜過ごしているため、サーバをいじるときにこんなアプリを使っています。

Transmit(SFTPクライアント)

マカーおなじみPanicのお洒落FTPクライアント
マカーおなじみPanicのお洒落FTPクライアント

これはSFTP用クライアントですね。有料。「同期」という機能があって、それが地味に便利です。ただし、ファイルのタイムスタンプしか見ていないので、複数人で使う場合はなんの役にも立ちません。コツとしては、「同期専用」のローカルコピーを作ることですね。

Transmitにはファイルを「Transmitで編集」という機能があります。この機能はサーバ上のファイルをテキストエディットっぽいGUIで編集できます。「設定ファイル書き間違えてたヤベヤベ」みたいな時にサクッと直せます。もっとも、Nginxなんかは設定ファイル書き直した時点で再起動しなきゃいけないので、ssh必須ですが……

Sequel Pro

MySQLクライアントです。無料。レンタルサーバに慣れている人はphpMyAdminとか使うと思いますが、サーバ複数台環境でphpMyAdminが用意されることってあまりないので、これを使うと楽です。SQLもちょっとずつ直しながら試せるし。

phpMyAdminが入ってなくてもこれがあれば大丈夫!
phpMyAdminが入ってなくてもこれがあれば大丈夫!

MySQL自体はコマンドラインから使う人が多いようですが、以前かなり優秀なインフラエンジニアがMySQLデータベースをぶっとばしたのを見てから、僕は絶対にコマンドラインからMySQLを触らないと誓いましたね。

2. SSHの設定

さて、上で紹介したTransmitとSequel Proなのですが、両方ともSSHでの接続が可能です。が、鍵認証の設定があんまりうまくありません。なんでかわかりませんが。

Transmitの設定画面
Transmitの設定画面

たとえば、Transmitだと秘密鍵を指定するオプションがあるのですが、これがこける場合がよくあります。こういう場合はちょっとメンドクサイですけど、黒い画面を立ち上げてSSHの設定ファイルを編集します。たとえば、データベースサーバのIPが210.00.00.000で、ユーザー名がme、秘密鍵がid_rsa_db_1、ポートが6022だったとしましょう。

vi ~/.ssh/config
# vimが立ち上がる
Host myproject.db
    HostName 210.00.00.000
    User me
    Port 6022
    IdentityFile ~/.ssh/id_rsa_db_1

こうやって書いておくと、Transmitの「サーバ」にmyproject.dbって書くだけで認証が通ります。鍵にパスワードが指定されていた場合は変なダイアログが立ち上がります。キーチェーンに覚えさせておけば、二度と聞かれなくなくなります。

秘密鍵にパスワードが設定されていた場合
秘密鍵にパスワードが設定されていた場合

ま、とにかくSSHさえ繋がるようにしておけば、GUIアプリで繋げることはできるというわけですね。はじめは黒い画面を触らなくてはいけませんが、二回目からはとても楽ちんです。

Sequel ProでEC2につないでいる様子。
Sequel ProでEC2につないでいる様子。

3. ポートフォワーディング対応

複数台の構成だと、普通は踏み台サーバがあって、そのサーバを経由しないとWebサーバやデータベースにアクセスできません。

複数台構成ってこんな感じ
複数台構成ってこんな感じ

ターミナルでやればなんとかなるのですが、マスターからRsyncするだけのWebサーバに行ったらVimが入ってないとか、そういうメンドクサイこともありえます。

それに、ファイルをアップロードするだけでも一々scpしてcpしてとかやりたくないので、Transmitでぽんと上げられたら楽ですね。

で、TransmitやSequel Pro自体には踏み台をどうにかする機能はないのですが、このためのアプリが存在します。それがCoccinellidaです。てんとう虫って意味ですかね。

コチネリーダ?
コチネリーダ?

このアプリはSSH Tunnelを設定するためのアプリです。細かい設定はMac OS X で簡単に SSH Tunnel を構築する方法とかを読んでください。

このアプリを使うと、サーバlocalhostのポート30022と設定するだけで、普通にTransmitとかが使えるようになります。この設定を済ませておくと、複数台構成のサーバでもロリポップみたいに使えますよ。

Coccinelidaを設定すると、Transmitでも簡単に踏み台突破!
Coccinelidaを設定すると、Transmitでも簡単に踏み台突破!

終わりに

「俺は黒い画面を使いこなすぜ! ウィザードだぜ!」という方も多々おられると思いますが、人は疲れているときに思わぬミスをしてしまうもの。デプロイが大変だと、責任者が官僚化しやすい(ex. ほう、こんな糞コードをデプロイしろとな?)ですし、仕事を終えて家に帰っても電話がかかって来たりします。

また、GUIアプリで設定を済ませておくことのメリットは、「スキルが低くてもデプロイできる」という点ですね。「スキル低いヤツがデプロイできていいのか」という問題もありますが、バナー1個アップロードするのに大騒ぎするような状況よりはましでしょう。

IT業界は人の移り変わりが激しく、付き合いのある会社が1年経ったら社長以外全員別人ということもざら。フロントエンド、ミドルウェアなんでもござれという優秀な人を際限なく雇えるならともかく、そうじゃない場合はこんな感じでGUIアプリの設定を済ませておいて、「このMac使ってね」で終わります。

この方法の問題点はお金がかかるということですが、人件費に比べたら安いもんですよ、奥さん。おわり。

APPLE Mac mini/ 2.3GH Quad Core i7/4G/1TB/USB3/Thunderbolt MD388J/A

APPLE Mac mini/ 2.3GH Quad Core i7/4G/1TB/USB3/Thunderbolt MD388J/A [不明]

価格¥ 70,766

出版社アップル

商品カテゴリーPersonal Computers

特徴OS:OS X, CPU:Corei7 2.3GHz, ストレージ容量:HDD 1TB, メモリ容量:4GB

デプロイ用にmac miniを買うのはどうですか、奥さん

Supported by amazon Product Advertising API

 

フォローしてください

ここで会ったのもなにかの縁。
高橋文樹.comの最新情報を見逃さないためにもフォローをお願いします。
めったに送らないメルマガもあります。

SPONSORED LINK

この記事について

この記事はが2014 年 4 月 2 日にWeb制作の記事として公開しました。

高橋先生の電子書籍

高橋先生の電子書籍

Amazonで電子書籍も買えます。

好きな言葉

なにもしなかったということは、悪いことをしなかったということではない

— マルクス・アウレリス・アントニヌス

高橋先生の処女作

『途中下車』高橋文樹

2001年幻冬舎NET学生文学大賞受賞作です。

Web制作やります

Web制作やります

Web制作のご依頼は株式会社破滅派へ

不定期メルマガ

高橋文樹.comでは、不定期でニュースレターを配信しています。滅多に送らないので是非購読してください。

高橋文樹.comではプライバシーポリシーに準じて登録情報を取り扱います。