dockerでインストールする方法を書いたのでこっちのほうがよいかもしれません。
http://qiita.com/sat8bit/items/1a85a9d950b2ae96c294
概要
ひとつのサーバ内でドメインによって内部的にapache叩いたりwildfly叩いたりする環境を構築する作業メモ。
今回はSite domain(apache2)とAPI domain(wildfly)に分けて構築してみる。
Column | Value |
---|---|
OS | Ubuntu 12.04 LTS |
Site domain | www.test.app.domain |
API domain | api.test.app.domain |
apache2
Column | Value |
---|---|
DocumentRoot | /usr/local/share/www.test.app.domain/www/ |
インストール
sudo apt-get install apache2
設定
とりあえずlocalhostからのみ8080で繋げるように設定。
@@ -6,7 +6,7 @@
# README.Debian.gz
NameVirtualHost *:80
-Listen 80
+Listen localhost:8080
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change```
アプリケーション用にVirtualHostをきる設定ファイルを作成する。
<VirtualHost localhost:8080>
DocumentRoot /usr/local/share/www.test.app.domain/www/
DirectoryIndex index.html
Options -Indexes FollowSymLinks
ServerName localhost
</VirtualHost>
設定の有効化。
sudo ln -s /etc/apache2/sites-availble/www.test.app.domain.conf /etc/apache2/sites-enabled/
再起動。
sudo service apache2 restart
wildfly
インストール
wildflyのために、まずはjavaをインストール。
# リポジトリ追加コマンドの導入
sudo apt-get install python-software-properties
# 14.04では違うパッケージらしい
# http://qiita.com/Hiroshi_Obata/items/8fa13972f7922ad3252f
# add-apt-repositoryが使えるようになったのでリポジトリ追加
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
# java8をインストール
sudo apt-get install oracle-java8-installer
# 一応入っていることを確認。
java -version
wildflyをダウンロードし、諸々実行。
# ダウンロード
wget http://download.jboss.org/wildfly/9.0.1.Final/wildfly-9.0.1.Final.zip
# ファイルの移動
sudo mv wildfly-9.0.1.Final.zip /opt/
# 解凍
sudo unzip /opt/wildfly-9.0.1.Final.zip
# ユーザの追加
sudo useradd -m -s /usr/sbin/nologin wildfly
# ownerの変更
sudo chown -R wildfly:wildfly /opt/wildfly-9.0.1.Final
# シンボリックリンクを貼ってそれっぽくする
sudo ln /opt/wildfly-9.0.1.Final /opt/wildfly
設置は終わり。起動するためにいくつか必要な設定と書換があるので実施する。
設定
ポート番号の設定。
@@ -396,7 +396,7 @@
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
- <socket-binding name="http" port="${jboss.http.port:8080}"/>
+ <socket-binding name="http" port="${jboss.http.port:8081}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
初期化設定。必要な箇所を適宜修正する。
# default location: /etc/default/wildfly
## Location of JDK
-# JAVA_HOME="/usr/lib/jvm/default-java"
+JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
## Location of WildFly
-# JBOSS_HOME="/opt/wildfly"
+JBOSS_HOME="/opt/wildfly/"
## The username who should own the process.
-# JBOSS_USER=wildfly
+JBOSS_USER=wildfly
## The mode WildFly should start, standalone or domain
-# JBOSS_MODE=standalone
+JBOSS_MODE=standalone
## Configuration for standalone mode
-# JBOSS_CONFIG=standalone.xml
+JBOSS_CONFIG=standalone.xml
## Configuration for domain mode
# JBOSS_DOMAIN_CONFIG=domain.xml
# JBOSS_HOST_CONFIG=host-master.xml
## The amount of time to wait for startup
-# STARTUP_WAIT=60
+STARTUP_WAIT=60
## The amount of time to wait for shutdown
-# SHUTDOWN_WAIT=60
+SHUTDOWN_WAIT=60
## Location to keep the console log
-# JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"
+JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"
## Additionals args to include in startup
-# JBOSS_OPTS="--admin-only -b 172.0.0.1"
+#JBOSS_OPTS="-b 172.0.0.1"
init.d用の設定ファイルを書き換え。
3を4にしているのは、pidofprocコマンドの返り値がズレてるっぽかったので修正したら動いた。
14.04で構築する場合数字の方の更新はいらない。
@@ -18,7 +18,8 @@
NAME=wildfly
DESC="WildFly Application Server"
-DEFAULT="/etc/default/$NAME"
+DEFAULT="/opt/wildfly/bin/init.d/wildfly.conf"
# Check privileges
if [ `id -u` -ne 0 ]; then
@@ -157,7 +158,7 @@
log_daemon_msg "Starting $DESC" "$NAME"
check_status
status_start=$?
- if [ $status_start -eq 3 ]; then
+ if [ $status_start -eq 4 ]; then
mkdir -p $(dirname "$JBOSS_PIDFILE")
mkdir -p $(dirname "$JBOSS_CONSOLE_LOG")
chown $JBOSS_USER $(dirname "$JBOSS_PIDFILE") || true
init.d用のファイルを設置して更新。
# ファイルの移動
sudo cp /opt/wildfly-9.0.1.Final/bin/init.d/wildfly-init-debian.sh /etc/init.d/wildfly
# initの更新
sudo update-rc.d wildfly defaults
これでたぶん起動する。
sudo service wildfly start
nginx
インストール
sudo apt-get install nginx
設定
proxyさせる用の設定ファイルを書く。ファイル名がドメインである必要はない。
server {
server_name www.test.app.domain;
location / {
proxy_pass http://localhost:8080;
}
}
server {
server_name api.test.app.domain;
location / {
proxy_pass http://localhost:8081;
}
}
設定の有効化。
sudo ln -s /etc/nginx/sites-availble/www.test.app.domain.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-availble/api.test.app.domain.conf /etc/nginx/sites-enabled/
再起動。
sudo service nginx restart
参考
http://askubuntu.com/questions/38021/how-to-add-a-ppa-on-a-server
http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/
http://qiita.com/tsubu-mustard/items/7277d202a0a303413c92
http://blog.akagi.jp/archives/3883.html