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;