https://kijtra.com/article/cloud9-install/
Cloud9 はWebサービスとして提供されているオンラインIDEだけど、オープンソースなので自前のサーバー(さくらVPS等)にインストールしても使うことができるため、なんとなく使ってみた。
自前インストールだと Node.js を使ってコマンドによりサーバーを立ち上げ、そこにアクセスして使うことになる。
でも使うたびに毎回サーバーを起動する必要があるので、最終的には 立ち上げっぱなし の状態にし、さらに サブドメイン下で動くように したい。
でも使うたびに毎回サーバーを起動する必要があるので、最終的には 立ち上げっぱなし の状態にし、さらに サブドメイン下で動くように したい。
Cloud9 SDK の公式Github
https://github.com/c9/core/
必要なライブラリ等のインストール
Cloud9 のインストールに最低限必要なのは Python2.7以上 と glibc-static というyumパッケージ。
その2つをインストールする。
※ Node.js周りのものはCloud9インストーラが勝手に入れてくれるので、自分で入れなくても良い
その2つをインストールする。
※ Node.js周りのものはCloud9インストーラが勝手に入れてくれるので、自分で入れなくても良い
まずは glibc-static 。
sudo yum install glibc-static
次にPython。
少し手順が多いので下項で。
少し手順が多いので下項で。
Python2.7.9のインストール
CentOS6 の yum リポジトリには Python2.6 までしかないため、どうしてもソースからインストールする必要がある。
また、すでに入っている Python2.6.6 はそのままにして、2.7 を別でインストールすることになる。
また、すでに入っている Python2.6.6 はそのままにして、2.7 を別でインストールすることになる。
いくつか調べると以下のサイト(英語)のインストール方法が一般的なようなので、基本的にこの通りにする。
http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/
http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/
まず必須ライブラリのインストール。
sudo yum groupinstall "Development tools"
sudo yum install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
上記参考サイトでは
また、ウチの環境では
wget
が入っていないので追加している。(後ほど使うため)また、ウチの環境では
yum groupinstall "Development tools"
が、以下のようなメッセージが出て動かないような感じだった。Warning: Group development does not have any packages.
No packages in any requested group available to install or update
それでもまあ最終的にCloud9を使えてるのでよしとするw
次にライブラリのパスを設定する。
CentOS6 では、デフォルトで
そのためPythonライブラリ群のパスを指定する必要があるらしく、
CentOS6 では、デフォルトで
/usr/bin/python
にパスが通っているけど、Python2.7は /usr/local/bin/python2.7
というパスにインストールされる。そのためPythonライブラリ群のパスを指定する必要があるらしく、
/etc/ld.so.conf
というファイルを編集する。
sudo vi /etc/ld.so.conf
以下のように記述する。(2行目が追記した部分)
include ld.so.conf.d/*.conf
/usr/local/lib
上記の設定を反映するコマンド。
sudo /sbin/ldconfig
次にPythonのソースをダウンロードしてインストール。
wget http://python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
tar xf Python-2.7.9.tar.xz
cd Python-2.7.9
./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared
make
sudo make altinstall
最後の
わりと時間がかかるけど、終わったら念のためもう一度パス設定を反映する。
(これをやらないとパスが通らないことがあった)
altinstall
が、Python2.6.6 とは別にインストールするという指示らしい。わりと時間がかかるけど、終わったら念のためもう一度パス設定を反映する。
(これをやらないとパスが通らないことがあった)
sudo /sbin/ldconfig
インストールされたか確認
python2.7 -V
# 「Python 2.7.9」と出ればOK
Cloud9 SDK のインストール
手順は簡単だけど、注意点としては root権限ではインストールできない という点。
sudo -s
とか su -
とかでrootに成っている場合は一般ユーザーに切り替える。
その 一般ユーザーのルートディレクトリでインストールする ので、ディレクトリ移動。
cd ~
それと、もう一つ注意点としてシェルが日本語になっているとうまくいかない。
念のため確認して英語にしておく。
念のため確認して英語にしておく。
sudo vi /etc/sysconfig/i18n
以下のように記述
LANG="en_US.UTF-8"
やっと本体インストール。
GitでSDKを
GitでSDKを
c9sdk
というディレクトリにダウンロードする。
git clone git://github.com/c9/core.git c9sdk
ダウンロードフォルダに移動して・・・
cd c9sdk
インストーラを実行
scripts/install-sdk.sh
これもかなり時間がかかるけど、成功すると以下のようなメッセージが出る。
Success! run ‘node server.js -p 8080 -a :’ to launch Cloud9
node server.js -p 8080 -a :
というコマンドで立ち上げできるよ!というメッセージだけど、今はまだ無視。サブドメインでアクセスできるようにする
Cloud9を立ち上げると、そのままでは http://XXX.XXX.XXX.XXX:8080 というようなアドレスでしかアクセスできない。
なので、http://c9.example.com といったURLでアクセスできるようにする。
なので、http://c9.example.com といったURLでアクセスできるようにする。
Apacheの場合
<VirtualHost *:80>
ServerName c9.example.com
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ProxyPreserveHost On
</VirtualHost>
Nginxの場合
server {
listen 80;
server_name c9.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
Cloud9 IDE、起動!
ここまでがわりと長い・・・。
起動コマンドは以下のような感じ。
オプションについては公式GitHubに説明がある。
オプションについては公式GitHubに説明がある。
node ~/c9sdk/server.js -p 8080 -w ~/public/ -a username:password
ひとつずつ説明すると、
node
・・・ Node.js使用コマンド~/c9sdk/server.js
・・・ サーバー起動スクリプト-p 8080
・・・ 使用するポート-w ~/public/
・・・ 「~/public/」以下のディレクトリがCloud9管理対象-a username:password
・・・ Basic認証する場合の ID:パスワード
といったコマンド。
これで
これで
http://c9.example.com
にアクセスするとIDEが起動するはず。
ちなみに編集権限のないディレクトリ内のは当然編集できない。
なので、サーバーの別ユーザーのディレクトリを編集したい場合は、そのユーザーでログインしてCloud9をインストールする必要がある。
なので、サーバーの別ユーザーのディレクトリを編集したい場合は、そのユーザーでログインしてCloud9をインストールする必要がある。
起動が確認できたら、いったんサーバーを落として(Ctrl + C)、下記立ち上げっぱなしにする設定に進む。
「node forever」で立ち上げっぱなしにする
npmが入っていない場合は入れる。
sudo yum install npm
forever をグローバルインストールする。
(グローバルである必要はない)
(グローバルである必要はない)
sudo npm install forever -g
forever を使って Cloud9 IDE を起動
forever start ~/c9sdk/server.js -w /home/kijtra/public/dev -p 8080 -a username:password
以下のように出れば起動中。
info: Forever processing file: /home/example/c9sdk/server.js
実行中ものをの表示したい場合
forever list
Cloud9 IDE を停止する場合
forever stop ~/c9sdk/server.js
以上だけど、Pythonのインストールあたりからわりと試行錯誤でやっと成功した感じ。
virtualenv とか使ったりしたけど、うまくいかなかった。
また、Cloud9自体が使っている人がほとんどいないので苦労した。
でも SASS や LESS 、CofeeScript のコンパイルができて、しかも Emmet にも対応しているのはびっくりした。
「SublimeText Mode」なるものもあり、見た目や動作を SublimeTextそっくりにすることもできる。
個人サイトなんかはすべてブラウザで完結できそう。
virtualenv とか使ったりしたけど、うまくいかなかった。
また、Cloud9自体が使っている人がほとんどいないので苦労した。
でも SASS や LESS 、CofeeScript のコンパイルができて、しかも Emmet にも対応しているのはびっくりした。
「SublimeText Mode」なるものもあり、見た目や動作を SublimeTextそっくりにすることもできる。
個人サイトなんかはすべてブラウザで完結できそう。
0 件のコメント:
コメントを投稿