skillup

技術ブログ

Perl サーバー・ネットワーク

Vagarant+Eclipse(Perl)での作業環境構築

投稿日:

現在の案件でPerlの改修があるんですが、windowsだとモジュールの依存関係でうまくコンパイルできなかったりといろいろとトラブルが起こったんで、今はやりの仮想環境でやることに。

まだ完ぺきではないですが、一応仮想環境構築→Eclipseでログインし、ファイルにアクセスするところまではできました。

仮想環境構築

VirtualBox,Vagrantをダウンロード→インストール

普通にトップ画面からダウンロードし、ダウンロードしたソフトをインストールするだけです。

そして、任意の場所に適当なディレクトリ(例:project)作成

Vagrantfile作成

コマンドプロンプトで先ほどのディレクトリのなかに入り、VagrantでOSのイメージファイルを作成します。

例えばcentOSを使いたい場合はcentOSのイメージファイルみたいなものをここに作るわけですね。

んで、イメージファイルの作り方ですが、すでに用意されているものがかなりあるので、それを使います。今回はcentos-6.7のものです。

このコマンドを入力するとVagrantfileという設定ファイルのようなものができるので、それを編集します。

他のテンプレートはこちらから

Vagrantfile編集

上記のコメントを外してある部分を外してください。

またパソコン自体が仮想化を許可していない可能性があるので、その場合BIOSで仮想化を許可しておく必要があります。(詳しくは参考リンク参照。)

起動

vagrant upで起動し、centosが作られます。下記のような表示がでればOKです。

sample

sshログイン

sshでhost 191.168.33.10 port 22 user vagrant pass vagrant でログインできればOKです。

この時点であとで確認するために、sample.txtとなどとファイルを作っておきましょう。

参考リンク

http://futurismo.biz/archives/1647

http://qiita.com/super-hot-engineer/items/21e4456b8318db877f5b

http://orca8.blogspot.jp/2014/07/vagrant.html

Eclipseでのリモート環境操作

なおEclipseをダウンロードする場合は、UltimateのFull editionを選びましょう。そうじゃないと入っていないプラグインが多いためあとあといろいろと面倒になります。

次にこの環境にEclipseでログインしてみましょう。

プラグインインストール

Eclipseでヘルプ→新規ソフトウェアのインストール
→Luna – http://download.eclipse.org/releases/luna

と入力。

フィルターで「Dynamic」と入力すると、「一般用ツールキット - リモート開発サポート」がでてくるので選びインストールします。

具体的なライブラリ名はDynamic Languages Toolkit -Remote Development Supportです。

そのあと、再起動し、「ウィンドウ」→「パースペクティブを開く」→「リモートシステムエクスプローラー」を選択します。

※こちら当然Eclipseのバージョンによって違いました。Mars(4.5)だと下記リンクが参考になります。

http://inoshiro.hatenablog.com/entry/20101108/1289168183

接続

左の画面のエクスプローラーで右クリック→「新規」→「接続」→「SSHのみ」→「新規接続」でホスト名を入力すればOKです。

そのあとsftpかsshかといったことやユーザーやパスワードなどを聞かれるので、入力しましょう。

ここで先ほどつくったsample.txtが見えていればOKです。

参考リンク

http://qiita.com/ukiuni@github/items/bc7d52dbc59af637bea5

追記

rootユーザーでもログインできますね。その場合もパスワードはvagrantです。

ちなみにPerlをEclipseで使うときはEpicというプラグインを入れると便利です。(下記記事参考)

http://www.brainchild.co.jp/blog/develop/2010/09/activeperl3.html

-Perl, サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ファイル抽出系のシェルスクリプト(主にfind系)

実務であるアプリのログをまとめるスクリプトを書きました。 log1.log log2.log log3.log ・・・・ みたいにローテーションして吐かれていくのですが、量が多いので1日分をまとめるこ …

no image

SSHの鍵認証に関して

SSHの鍵認証についてやり方自体は流れ作業でできていましたが、根本的なところが理解していないので復習。 まずは通常の流れを。 1 クライアント(自分のPC)で公開鍵・秘密鍵を作成。ssh-keygen …

no image

ansible template,tag,yeditなど

Contents1 template2 tags3 yedit template 今まで設定ファイルを使うときは基本ini_fileを使って置換したり、ローカルでファイルを作ってcopyしておりました …

no image

メニュー系のCSS

よく迷うのでこれを機にまとめておこうかと。 Contents1 通常時のメニュー2 携帯(いわゆる縦のメニュー)3 ホバー時の画像選択4 小ネタ 選択されているときのメニュー 通常時のメニュー htm …

no image

クロスサイトスクリプティング

これまた非常によく聞く攻撃方法ですね。 Contents1 クロスサイトスクリプティングとは?2 被害3 対策 クロスサイトスクリプティングとは? 動的なページの表示生成の際に悪意のあるスクリプトを埋 …