jenkinsを仕込む。アプリケーションサーバはglassfishを使う。
glassfishを選択した理由は何となく。
11. JDK7を入れる
- Linux x64のtarballを
sunじゃなくてOracleのサイトからダウンロード、/usr/local に展開。 - #ln -s /usr/local/jdk1.7.0_09 /usr/local/java (←いつもデフォルトのJAVA_HOMEをこれにしている)
- JAVA_HOMEを /usr/local/java にする
- PATHの先頭に $JAVA_HOME/bin を入れる
13. glassfish実行ユーザを作成する
rootで動かすのはちょっとね。# adduser glassfish
14 .glassfishを入れる
- multilingualインストーラーパッケージをget
#wget http://download.java.net/glassfish/3.1.2/release/glassfish-3.1.2-unix-ml.sh
- CUIインストールのためにanswerファイルをあらかじめ作る
InstallHome.directory.INSTALL_HOME=/usr/local/glassfish-3.1.2
License.license.ACCEPT_LICENSE=0
RegistrationOptions.regoptions.CREATE_NEWACCT=CREATE_NEWACCT
RegistrationOptions.regoptions.DUMMY_PROP=
RegistrationOptions.regoptions.SKIP_REGISTRATION=SKIP_REGISTRATION
RegistrationOptions.regoptions.USERNAME=
RegistrationOptions.regoptions.USERPASSWORD=
RegistrationOptions.regoptions.USE_EXISTINGACCT=USE_EXISTINGACCT
SOAccountCreation.accountinfo.COMPANYNAME=
SOAccountCreation.accountinfo.COUNTRY=
SOAccountCreation.accountinfo.COUNTRY_DROP_DOWN=
SOAccountCreation.accountinfo.EMAIL=
SOAccountCreation.accountinfo.FIRSTNAME=
SOAccountCreation.accountinfo.LASTNAME=
SOAccountCreation.accountinfo.PASSWORD=
SOAccountCreation.accountinfo.REENTERPASSWORD=
glassfish.Administration.ADMIN_PASSWORD=管理者パスワード
glassfish.Administration.ADMIN_PORT=4848
glassfish.Administration.ADMIN_USER=管理者ユーザ名
glassfish.Administration.ANONYMOUS=ANONYMOUS
glassfish.Administration.LOGIN_MODE=true
glassfish.Administration.HTTP_PORT=8888
glassfish.Administration.NON_ANONYMOUS=NON_ANONYMOUS
updatetool.Configuration.ALLOW_UPDATE_CHECK=true
updatetool.Configuration.BOOTSTRAP_UPDATETOOL=true
updatetool.Configuration.PROXY_HOST=
updatetool.Configuration.PROXY_PORT=
- インストーラー実行
# sh ./glassfish-3.1.2-unix-ml.sh -a answer -s
SETTING UP DOMAIN FOR SILENT INSTALL...
Executing /usr/local/glassfish-3.1.2/glassfish/bin/asadmin --user admin --passwordfile - create-domain --savelogin --checkports=false --adminport 4848 --instanceport 8080 --domainproperties=jms.port=7676:domain.jmxPort=8686:orb.listener.port=3700:http.ssl.port=8181:orb.ssl.port=3820:orb.mutualauth.port=3920 domain1
/usr/local/glassfish-3.1.2/glassfish/bin/asadmin --user admin --passwordfile - create-domain --savelogin --checkports=false --adminport 4848 --instanceport 8080 --domainproperties=jms.port=7676:domain.jmxPort=8686:orb.listener.port=3700:http.ssl.port=8181:orb.ssl.port=3820:orb.mutualauth.port=3920 domain1 Adminのポート4848を使用しています。
HTTP Instanceのポート8080を使用しています。
JMSのポート7676を使用しています。
IIOPのポート3700を使用しています。
HTTP_SSLのポート8181を使用しています。
IIOP_SSLのポート3820を使用しています。
IIOP_MUTUALAUTHのポート3920を使用しています。
JMX_ADMINのポート8686を使用しています。
OSGI_SHELLのデフォルト・ポート6666を使用しています。
JAVA_DEBUGGERのデフォルト・ポート9009を使用しています。
指定されたロケール[ja_JP]のファイルが[/usr/local/glassfish-3.1.2/glassfish/lib/templates/locales/ja_JP/index.html]に見つかりませんでした。デフォルト(en_US)のindex.htmlをかわりに使用します。
自己署名付きX.509サーバー証明書の識別名です:
[CN=ip-10-132-18-23.ap-northeast-1.compute.internal,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]
自己署名付きX.509サーバー証明書の識別名です:
[CN=ip-10-132-18-23.ap-northeast-1.compute.internal-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]
ドメインの初期化子が見つかりません。カスタマイズの手順を省略します
ドメインdomain1が作成されました。
ドメインdomain1の管理ポートは4848です。
ドメインdomain1によって、パスワードなしでユーザー"admin"として管理ログインできます。
このドメイン[domain1]の管理ユーザー名[admin]
に関連するログイン情報が
[/root/.asadminpass]に正常に格納されました。
このファイルが保護されたままであることを確認します。
このファイルに格納された情報は、
このドメインを管理するためにasadminコマンドによって使用されます。
コマンドcreate-domainは正常に実行されました。
- というわけで、ADMIN_USER,ADMIN_PASSWORD,HTTP_PORTとかがなんだか無視されてるみたいだ。「ドメインの初期化子が見つかりません。カスタマイズの手順を省略します」ってのがどうアレみたい。うーんまあいいや。
- glassfishユーザのモノにする
# chown -R glassfish:glassfish /usr/local/glassfish-3.1.2
- EC2のSecurity Groupで、4848を開ける。
8080は空けないで、ajpを使ってapacheを通して公開することにする。(そうしなければならない理由もないけどね) - domain1を起動
glassfishユーザになる
.bashrcで/usr/local/glassfish-3.1.2/bin をPATHに追加
$ asadmin start-domain domain1
- 管理コンソールをSSLにする
4848にアクセスすると
Secure Admin must be enabled to access the DAS remotely.
って言われる。リモートからの管理コンソール利用はenable-secure-admin を指定しないといけないと。
コンソールで以下のコマンドを実行する
# asadmin --host localhost --port 4848 enable-secure-admin
remote failure: 少なくとも1つの管理ユーザーに空のパスワードがありますが、セキュ リティ保護された管理では許可されません。change-admin-passwordコマンドまたは管理 コンソールを使用して、空でないパスワードを管理アカウントに作成してください。
って言われるので、
$ asadmin --host localhost --port 4848 change-admin-password
でパスワードを設定。そしてやり直し。
$ asadmin --host localhost --port 4848 enable-secure-admin
- domain1 を再起動してアクセスの確認
# asadmin restart-domain domain1
これで http://インストールしたホスト:4848 にアクセスすると https://インストールしたホスト:4848 にリダイレクトされるようになる。ログインできることを確認。
- rootに戻って起動スクリプトを作る /etc/init.d/glassfish-domain1
#!/bin/bash
#
# glassfish: Startup script for Glassfish Application Server.
#
# chkconfig: 3 80 05
# description: Startup script for domain1 of Glassfish Application Server.
GLASSFISH_HOME=/usr/local/glassfish-3.1.2
export GLASSFISH_HOME
JAVA_HOME=/usr/local/java
export JAVA_HOME
GLASSFISH_OWNER=glassfish
export GLASSFISH_OWNER
start() {
echo -n "Starting Glassfish: "
su $GLASSFISH_OWNER -c "$GLASSFISH_HOME/bin/asadmin start-domain domain1
> /dev/null 2>&1"
}
stop() {
echo -n "Stopping Glassfish: "
su $GLASSFISH_OWNER -c "$GLASSFISH_HOME/bin/asadmin stop-domain domain1
> /dev/null 2>&1"
}
restart() {
echo -n "Stopping Glassfish: "
su $GLASSFISH_OWNER -c "$GLASSFISH_HOME/bin/asadmin restart-domain domai
n1 > /dev/null 2>&1"
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: glassfish {start|stop|restart}"
exit
esac
- OS起動時設定
# chkconfig glassfish-domain1 on
15. jenkinsをデプロイする
- jenkins.warをhttp://jenkins-ci.org/ からgetする
- glassfishの管理コンソールにログイン
https://ホストですがな:4848
- jenkins.warを deployする
16. mod_proxy_ajpでapache連携するための設定
- またglassfishユーザになって以下のコマンド
$ asadmin create-network-listener --listenerport 8009 --protocol http-listener-1 --jkenabled true jk-connector
- rootに戻る
- /etd/httpd/conf.d/ajp.conf を作る
<Location /jenkins>
ProxyPass ajp://localhost:8009/jenkins
</Location>
- httpdを再起動
- http://ホストですがな/jenkins にアクセスしてみる
17. Jenkinsのセキュリティを有効化
- Jenkinsの管理 > ユーザーの管理 で管理者用ユーザを作る
- Jenkinsの管理 > システムの設定 でセキュリティを有効にする
- 『セキュリティの有効化』をチェック アクセス制御は『enkinsのユーザーデータベース』を選択 権限管理は『行列による権限設定』を選択
- さっき作った管理者ユーザに権限を付与
- 匿名ユーザから全権限を削除
今日はここまで。
0 件のコメント:
コメントを投稿