tetu式

ゲームと音楽・作曲の自己満足と悩みどころの多いプログラムのブログ。

サーバ上のoil createで作ったプロジェクトをクライアントPCのEclipseでリモート編集可能にする。

結構いろんな作業が必要になります。

使用するものはSambaサーバ、マウント、Eclipseあたりです。

 

サーバにアクセスしてリモート操作が出来るのはいいのですが、サーバ上の操作は今の環境だとCUIのみ。大量にテキストファイルを編集する作業となると vi や nano のテキストエディタだけではとても厳しいのです・・・他のテキストから文章をコピーするのも一苦労です。

 

そこで今回はクライアントPCに入れたEclipseでプロジェクト編集出来るようにします。

 

 

プロジェクト編集したいフォルダはどこ?

まずは前回fuelPHPのoil createを使った時のこと。

これはサーバ上の /home/dev_web/ で my_project というプロジェクトを作りました。

この my_project をどうにかしてクライアントPCのEclipseにプロジェクトとして読み込みたい・・・

 

まずは /home/dev_web/ を共有フォルダとして扱い、ローカル接続している他のPCからリモート接続しなくても見れるようにします。

 

Sambaサーバによるフォルダの共有設定

自分のところはWebminでSambaのインストールやら共有フォルダの設定を済ませてしまったのですが今回は自身の勉強も兼ねてCUI上で同じことを出来るような書き方にしたいと思います。

 

まずはSambaサーバをサーバPCにインストールします。

 sudo apt-get install samba

次に共有したいフォルダを作成します・・・が今回は /home/dev_web/ を使うので割愛。

新たに作りたい時は cd /home で /home に移動して mkdir /共有フォルダ

共有したいフォルダを用意したらパーミッション(権限設定)の変更をします。

 sudo chmod -R 777 dev_web

-Rというオプションはフォルダだけでなく中のファイルも全部権限変更してくれます。

 

これでフォルダを共有する準備はOK。次に実際に共有できるようにSambaの設定をします。

 vi /etc/samba/smb.conf

でSambaの設定ファイルを開きます。そしたら次の内容を最後に追加。

 [develop_web]
        writeable = yes
        path = /home/dev_web
        force directory mode = 0777
        force group = root
        force create mode = 0777
        comment = Comment for Windows
        browseable = yes
        public = yes
        allow hosts = xxx.xxx.xxx.0/24

WebminでSambaの設定をするとこんな感じに書かれていました。

最初の[ ]が共有名。なんでもいいと思いますが後で書いてるpathの一番最後のところと同じにすると分かりやすいかもしれません。ですが後で区別するために今回は別名に。

それ以下の設定のところは

http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smb.conf.5.html

日本 Samba ユーザー会というサイトでsmb.confで使える設定がずらりと並んでいます。

説明や既定値も書かれていて見やすいです。

 

さて、これで共有フォルダの設定は終わりです。

あとはSambaサーバのサービスをリスタートして設定を有効にしてあげます。

 service smbd restart

これでサーバが起動していれば他のPCからdevelop_webという共有フォルダを見れるようになります。

 

マウント

さて、これでファイルマネージャで /dev_web/my_projectを 見れるようになったのでここをEclipseワークスペースとして読み込みたい・・・といきたいところですが。

クライアントPC上で見れてもファイル自体はサーバにあるわけで。

サーバの中にワークスペースを設定するというのはちょっとダメな感じ。

というよりネットワークフォルダをそもそも参照してくれないかもしれません。

そこで共有フォルダにある /home/dev_web をマウントします。

マウントするとクライアントPCのローカルフォルダ上で共有している /home/dev_web の環境をコピーし、同機させることが出来ます。(ローカル上にファイルを作ると同時にサーバにもファイルが出来る)

 

まずはマウント先のフォルダを作ります。クライアントPCでの作業になります。

 mkdir /mnt/smbfs

別にどこでもいいのですがLinuxの習慣上 /mnt 内にするのがいいらしいです。

次にマウントするソフトをインストール。

 sudo apt-get install smbfs

いざマウント!

 sudo mount -t smbfs //サーバPCのIPアドレス/共有名 /mnt/smbfs

青文字斜線部分は個人で変わります。

共有名の部分は smb.conf で編集した[ ]の中になります。本記事上だと develop_web です。

 

うまくいけば /mnt/smbfs に共有フォルダの中と同じ構成のフォルダが出来上がります。

出来上がっていたら試しにクライアントPC上で /mnt/smbfs/ に何かファイルを作って見てください。

共有先のdevelop_webを通してサーバPCの /home/dev_web/ にも同じファイルが出来てたらマウントやパーミッションの設定が出来ています。

 

ワークスペースエイリアスの作成とEclipseのプロジェクト設定

あと少しです。

Eclipseの環境は既にあるという前提でここからは書いていきます。

マウント出来たら今度はそのマウントした場所のプロジェクトのエイリアスを作成します。

エイリアスの作成先はEclipseワークスペースフォルダ内にします。

 cd /Eclipseワークスペースフォルダ/

 ln -s /mnt/smbfs/my_project/

 

ここまでやってようやくEclipseを起動します。

ワークスペースの場所を聞かれたらエイリアスを作成したフォルダを指定してください。

Eclipseが起動したら ファイル->新規(N)->プロジェクト を選択。

PHP->PHPプロジェクト を選択。

プロジェクト名にエイリアスと同じ名前を入力。 内容はワークスペース内に新規プロジェクトを作成。 PHPのバージョンは個人で決めてください。

プロジェクトの作成に成功すると残りの設定項目を聞かれます。自分は特に何もいじらずに次へ、次へ、完了。

 

これでEclipseFuelPHPフレームワークの中を編集できます。