技術間

IT技術(主にwebとインフラ)についてメモを残していきたいと思っています

Cloud9をオンプレミスにインストールする方法

Cloud9というクラウド上でWebIDEを利用して開発が行えるサービスがあります。 アカウント登録もしくはGitHubアカウントで使用でき、自ら環境構築を行わなくても開発が行えるとう利点があります。 そんなクラウド上で使用するCloud9ですが、WebIDEの部分はGitHubで公開されているため、手元の仮想環境やローカルに導入することができます。
今回はUbuntu16.04でインストールする場合の手順を示します。

必要なパッケージ

Cloud9を動かすためにnodeが必要になります。 加えて、Cloud9をGitHubからcloneしてくるためにgitもインストールします。

nodeはあまり高いバージョンが必要ではなく、aptで入る程度のバージョンでの動作を確認しました。 Cloud9公式では0.12もしくは0.10を推薦しているようですが、高いバージョンでもうまくいくはず、と述べられています。 今回使用したnodeのバージョンは4.2.6、npmは3.5.2です

  • nodejs
  • npm
  • git

cloud9インストール・実行

GitHubのCloud9のREADMEに倣ってc9sdkという名前でcloneしてきます。 ダウンロード後、付属のインストースクリプトを走らせます。

$ git clone git://github.com/c9/core.git c9sdk
$ ./c9sdk/scripts/install-sdk.sh

インストースクリプトはCloud9に必要なパッケージであったり、nodeのモジュールのインストールなどを行うため暫く時間がかかります。 暫く待っていると、以下のような成功ログが出ます。

Success!
run 'node server.js -p 8080 -a :' to launch Cloud9

今回はaptでnodeをインストールしたため、コマンド名がnodejsとなっていますので、
nodejs server.js -p 8080 -a :
と実行するとCloud9を動作させることができます。

もしローカルに構築している場合はこの時点でブラウザからhttp://localhost:8080/にアクセスすると無事にCloud9にアクセスすることができます。

しかしこの状態ではListenしているのはlocalhostのみのため、ローカル外で構築している場合は接続できません。 その場合はnodejs server.js -p 8080 -a : --listen 0.0.0.0のように、Listenするアドレスを指定する必要があります。 とりあえず0.0.0.0を指定して全てのアドレスで待ち受けるようにすると、外部からも接続できるようになります。

実行時のオプション

よく使うと思われるオプションのみをここに記載します。 他のオプションを見たい場合はnodejs server.js --helpで確認できます。

-p, --port
Listenするポートを指定します。 ポート8080番で待つ例:
-p 8080
-a, --auth
アクセスの際にBasic認証を掛けることができます。 ユーザ名user, パスワードpassに設定する例:
-a user:pass
-a :では認証をかけずにアクセスできるようになります。
-l, --listen
待ち受けるアドレスを指定します。 認証を掛ける掛けない問わず、-aオプションを指定しないとローカルホスト以外で待ち受けることができません。 0.0.0.0、あらゆるアドレスで待ち受ける例:
-l 0.0.0.0
-w
Cloud9で使用するワークスペースとなるディレクトリを指定できます。 指定しない場合はserver.jsがあるディレクトリがワークスペースとなります。 /tmp/workspaceディレクトリをワークスペースにする例:
-w /tmp/workspace

設定書き換え

また今回は書きませんが、c9sdk/settings/standalone.jsが設定ファイルなので、そちらを変更するとオプションを付けずにデフォルト値を変えることができます。

参考

GitHub - c9/core: Cloud9 Core - Part of the Cloud9 SDK for Plugin Development