L1開発環境 備忘録

vagrantでの環境構築

$ mkdir vagrant
$ cd vagrant
$ vagrant init
$ ls
Vagrantfile

初期化するとVagrantfileができるので下記のようにネットワークにブリッジ接続するよう設定(コメントアウトをはずす)する。

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  config.vm.network :public_network

vagrantを起動してログインする。

$ vagrant up
$ vagrant ssh

iptables で外部からの通信を遮断されているので、ホスト PC から通信できるように全てのフィルタリングルールを削除する。(セキュリティ観点からは必要なポートのみ空けた方がよいが、LANからしかアクセスしない想定)

[vagrant@localhost ~]$ sudo /sbin/iptables -F
[vagrant@localhost ~]$ sudo /etc/init.d/iptables save

OpenJDKとMavenをインストール

vagrant に OpenJDK Development Environment をインストール

$ sudo yum -y install java-1.7.0-openjdk-devel

Mavenをインストール

$ /tmp
$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
$ tar zxf apache-maven-3.1.1-bin.tar.gz
$ sudo mv /tmp/apache-maven-3.1.1 /usr/share
$ cd /usr/share
$ sudo ln -s apache-maven-3.1.1 apache-maven

/etc/profile に下記を追記する

export M2_HOME=/usr/share/apache-maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

設定を反映させる

$ . /etc/profile

mvnコマンドが使用できるか試す

$ mvn --version

vagrantとホストPCでMavenプロジェクトを共有する

vagranttest ディレクトリはvagrant側の /vagrant にマウントされているので、ここにMavenプロジェクトのディレクトリを置けば共有できる。

luna_core プロジェクトをgit cloneする。

$ cd vagranttest
$ git clone -b luna_core https://github.com/yamataka548/jettyLesson1.git luna_core
[vagrant@localhost ~]$ ls /vagrant
Vagrantfile  jettyHello

mvn jetty:run 実行時にリモートデバッグ接続

mvn jetty:run 実行時、リモートデバッグ接続をポート4000番で受け付けるようにするコマンド引数

[vagrant@localhost ~]$ MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y" mvn jetty:run

MySQLをインストール

yumでインストール

$ sudo yum -y install mysql-server

でもインストール直後に mysql をたたくとエラーになる

$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

msyqld を起動してやる

$ sudo /etc/init.d/mysqld start
MySQL データベースを初期化中:  Installing MySQL system tables...
OK
(中略)
mysqld を起動中:                                           [  OK  ]

今度は入れた

$ mysql
mysql>

MySQL設定

rootで入る ※初期時はパスワードなし

$ mysql -u root -p
ユーザー一覧
select Host, User, Password from mysql.user;
データベース作成

luna というデータベースを作成

CREATE DATABASE luna CHARACTER SET utf8;
ユーザ作成

luna というユーザを作成。パスワードはユーザ名と同じ。
luna データベース内でテーブルを自由に作れる権限を付与。

GRANT SELECT ON *.* TO luna@localhost IDENTIFIED BY 'luna';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, EXECUTE ON luna.* TO luna@localhost;