皆さま、こんにちは
Cloud9を利用したいのですが、
AWSの無償枠をとっくに使い果たしてしまったため、
ローカル環境にCloud9を構築します。
OSは、Ubuntu 18.04.5 LTS を使用し、
ハードウェアは今回は物理環境を使用します。
(#と$はプロンプト)
1、事前準備
OSの各モジュールを最新にアップデートします。
$ sudo apt-get update
$ sudo apt-get upgrade
次に依存関係で必要なモジュールをインストールします。
$ sudo apt-get install python2.7 gcc make nodejs npm git
※不足分がありましたら適宜追加インストールください。
3、Cloud9のインストール
公式ページを参照して、
$ git clone git://github.com/c9/core.git c9sdk
$ cd c9sdk
$ git checkout HEAD -- node_modules
$ scripts/install-sdk.sh
一度、サーバ起動するか確認します。
※この時点では、localhostでしか起動しないのでLinux上のブラウザーより
「http://127.0.0.1:8181」へアクセス出来るか確認します。
$ node server.js -a
アクセスできたら一旦「ctrl+c」でサーバを終了させます。
4、起動スクリプトの準備
※testrbは実行ユーザのディレクトリ
$ cd ~
$ mkdir workspace
$ echo "#!/bin/bash" >cloud9.sh
$ echo "/usr/bin/node /home/testrb/c9sdk/server.js --listen 0.0.0.0 -p 8080 -w /home/testrb/workspace" >> cloud9.sh
$ chmod 755 ./cloud9.sh
$ ./cloud9.sh
→これで起動するがlocalhostでしかリッスンしないので
外部接続出来るように設定を変更する
$ cd c9sdk/configs
$ cp -p standalone.js standalone.js.orig
$ vi standalone.js
→config.host を 0.0.0.0へ変更する
$ diff standalone.js standalone.js.orig
ーーーーーーーーーーーーーーーーーーーーーーー
108,109c108
< // host = config.host = "127.0.0.1";
< host = config.host = "0.0.0.0";
---
> host = config.host = "127.0.0.1";
ーーーーーーーーーーーーーーーーーーーーーーー
5、自動起動のサービス作成
$ sudo vi /etc/systemd/system/cloud9.service
ーーーーーーーーーーーーーーーーーーーーーーー
$ more /etc/systemd/system/cloud9.service
[Unit]
Type=simple
Description=Cloud9 Core
After=network.target
[Service]
WorkingDirectory=/home/testrb/c9sdk
ExecStart=/home/testrb/cloud9.sh
User=testrb
#ExecStop=/bin/kill -TERM ${MAINPID}
#Restart=always
[Install]
WantedBy=multi-user.target
ーーーーーーーーーーーーーーーーーーーーーーー
※補足:
起動スクリプト起動時に
「WorkingDirectory」がないとhomeディレクトリが
セットされていないとエラーとなり
サービスが起動できないため、追加しております。
6、サービスを自動起動とします。
$ sudo systemctl enable cloud9.service
Created symlink /etc/systemd/system/multi-user.target.wants/cloud9.service → /etc/systemd/system/cloud9.service.
では