この度、AWSに買収されたCloud9のサービスが終了となりますので、今まで構築してきたデータを移行する先として、AWSではなく自宅サーバー(CentOS 7)にCloud9をインストールして、これまでと同じように利用できる環境を構築したいと思います。
Cloud9をインストール
事前準備
Cloud9を動作させるには、PythonやらNode.jsやら諸々必要になります。
以下の参考サイトを一部引用して準備を進めていきます。
まず、wgetやNode.jsやらは割愛させていただきます。
Pythonについては、CentOS 7にデフォルトで入っているバージョン2.7.5をそのまま使用するものとします。
著者の環境では、全てインストール済みで揃っていると思ったのですが、いざインストールしてみるとglibc-staticが不足していました。
1 |
yum install glibc-static |
事前準備の注意点はこれくらいでしょうか。
SDKインストール
それでは本題のCloud9 SDKをCentOS 7にインストールして行きましょう。
上記の参考サイトでは、インストールする前に一般ユーザーに切り替えたり、言語設定をしていましたが、結果的にしなくても動いたので、今回は割愛させていただきます。
Cloud9のインストール手順は公式のGitHubそのままで間違いないです。
インストール中はしばらく時間がかかります。
完了したらファイアウォールにもおまじないをかけておきましょう。
Cloud9の起動
ここで少しハマってしまいました。
公式サイトでは、
1 |
node server.js |
で起動するよ〜なんて言っています。
確かに間違いではないのですが、自分が思った通りに動作させたい場合は、オプション設定してあげる必要があります。
最終的にはこのようになりました。
1 |
node ~/c9sdk/server.js -l 0.0.0.0 -p 8080 -a username:password -w /var/www/html/ |
永続化したい場合は、foreverを入れてnode
の箇所をforever start
に変更すると良いでしょう。
オプションの解説
1 |
-l 0.0.0.0 |
ハマった原因がまさにコレです!
これを記述してあげないと、他の端末からアクセスできませんでした。
原因は詳しく調べていませんが、デフォルトではCloud9をインストールしているサーバーのローカルIPではなく、自分自身、つまり127.0.0.1(localhost)からしかアクセスできないのだと思います。(解釈が間違っていたらごめんなさい)
1 |
-p 8080 |
ポート指定です。
デフォルトでは8181になっています。
8080は他にも使われるかもしれませんのでお好みで。
1 |
-a username:password |
Cloud9にhtpasswdをかけます。
セキュリティのために設定しておきましょう。username
にお好みのユーザー名。
半角コロン[:]で挟んで、password
にお好みのパスワード。
1 |
-w /var/www/html/ |
これが一番重要です。
このオプションは、ワークスペースのディレクトリパスを設定します。
上記の例はApacheのデフォルトパスを指定していますが、使用するサーバーの種類やワークスペースを別の場所に設定する場合は、このオプションの値を変更してあげましょう。
Cloud9インストールまとめ
Cloud9が起動せずにハマって、Node.jsの[-l
]オプションで解決する方法を見つけた際に、偶然インストールの全体的な手順も掲載されていたのでまとめてみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 必要なライブラリ取得 yum install -y glibc-static yum install -y epel-release yum install -y nodejs yum install -y npm --enablerepo=epel# Cloud9 SDKをインストール cd ~ git clone https://github.com/c9/core.git c9sdk cd c9sdk scripts/install-sdk.sh# ファイアウォール設定 firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --reload# 確認 firewall-cmd --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client http https mysql ssh ports: 8080/tcp masquerade: no forward-ports: icmp-blocks: rich rules:# サーバー起動 node ~/c9sdk/server.js -l 0.0.0.0 -p 8080 -a username:password -w /var/www/html/ |
引用:CentOS – さくらVPS CentOS7でCloud9が起動できない|teratail
以上になります。
次回はOSが起動したタイミングでサーバを起動する方法をご紹介する予定です。
コメント
コメント一覧 (2件)
[…] 少し前に今月末にサービスが終了するCloud9を自宅サーバに移行しました。 自宅サーバー(CentOS 7)にCloud9をインストールする方法https://minory.org/cloud9-centos7-install.htmlこの度、AWSに買収されたCloud9のサービスが終了となりますので、今まで構築してきたデータを移行する先として、AWSではなく自宅サーバー(CentOS 7)にCloud9をインストールして、これまでと同じように利用できる環境を構築したいと思います。Cloud9をインストール… Minory いつものオンライン版ではデフォルトで隠しファイルが見えるように設定されていたが、自宅サーバーに移行してから.htaccessなどのドット(.)から始まる隠しファイルが見えなくなっていた。 もしかしたら自分で設定したかもしれないのだが、とにかく隠しファイル表示する方法を忘れていたのでメモっとく。 […]
[…] 以前、Cloud9を自宅サーバー(CentOS 7)にインストールした記事は覚えているでしょうか? Cloud9を起動するにはNode.jsで実行してあげる必要があります。 自宅サーバー(CentOS 7)にCloud9をインストールする方法https://minory.org/cloud9-centos7-install.htmlこの度、AWSに買収されたCloud9のサービスが終了となりますので、今まで構築してきたデータを移行する先として、AWSではなく自宅サーバー(CentOS 7)にCloud9をインストールして、これまでと同じように利用できる環境を構築したいと思います。Cloud9をインストール…Minory しかし、一度シャットダウン、またはリブートしてシステムが起動した後に手動で実行するのは面倒です。 そこで、今回はシステム起動時に1回だけ自動で特定のコマンドを実行するよう、Cronで設定する方法をご紹介します。 […]