標籤:sdl mod stand port .sh 安裝出錯 檔案的 jks default
1. 安裝環境說明
筆者在原生虛擬機器下進行的安裝,資料庫已經裝好了的。
ubuntu16.04 x64
postgresql:9
wildfly10
2. 安裝前準備
下載必要軟體包(直接到官網下載即可):
- wildfly-10.0.0.Final.zip
- ejbca_ce_6_5.0.5.zip
- apache-ant-1.10.1-bin.tar.gz http://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.10.1-bin.tar.gz
- jdk1.8
- postgresql-9.4.1207.jar 資料庫驅動包
本次筆者把以上的軟體都安裝在 /opt 目錄下
登入作業系統的使用者名稱為 royoan,以下所有操作都是該使用者操作
jdk的安裝就不說了,注意環境變數的設定 JAVA_HOME.
2.1 建立資料庫
筆者是在已有的 test資料庫上建立了一個使用者和一個該使用者的schema,這樣相當於一個新的資料庫。
--登入資料庫test增加一個使用者和模式create user ejbca password ‘ejbca‘;CREATE SCHEMA ejbca AUTHORIZATION ejbca;
2.2 ant安裝
解壓apache-ant-1.10.1-bin.tar.gz 到/opt目錄下,得到 /opt/apache-ant-1.10.1
配置環境變數,修改 /home/royoan/.profile檔案,在該檔案的最後 插如如下代碼
export JAVA_HOME=/opt/jdk1.8.0_131PATH="$JAVA_HOME/bin:$PATH"export ANT_HOME=/opt/apache-ant-1.10.1PATH="$ANT_HOME/bin:$PATH"
儲存後,執行
$:/opt$ source ~/.profile$:/opt$ cd /opt$:/opt$ antBuildfile: build.xml does not exist!Build failed
出現如下Build failed 提示,表示ant裝好了
2.3 wildfly安裝
同樣解壓檔案包到/opt目錄得到
/opt/wildfly-10.0.0.Final目錄
執行如下命令啟動wildfly伺服器:
cd /opt/wildfly-10.0.0.Finalbin/standalone.sh
2.3.1 在wildfly中安裝postgresql驅動及配置資料來源
把postgresql-9.4.1207.jar 檔案放在 /home/royoan/ 目錄下,待wildfly啟動後執行如下命令:
jboss-cli.bat -c
該命令會進入命令列工具內,執行如下cli命令安裝模組
module add --name=org.postgresql --resources=/home/roy/postgresql-9.4.1207.jar --dependencies=javax.api,javax.transaction.api
該命令會在JBOSS_HOME/modules下面建立一個目錄
|-org/postgresql/main
|-module.xml
∟-postgresql-9.4.1207.jar
增加驅動 和增加資料來源 的cli命令:
/subsystem=datasources/jdbc-driver=postgresql:add(driver-name="postgresql",driver-module-name="org.postgresql",driver-xa-datasource-class-name=org.postgresql.Driver)data-source add --name=ejbcads --driver-name="postgresql" --connection-url="jdbc:postgresql://localhost:5432/test" --jndi-name="java:/EjbcaDS" --use-ccm=true --driver-class="org.postgresql.Driver" --user-name="ejbca" --password="ejbca" --validate-on-match=true --background-validation=false --prepared-statements-cache-size=50 --share-prepared-statements=true --min-pool-size=5 --max-pool-size=150 --pool-prefill=true --transaction-isolation=TRANSACTION_READ_COMMITTED --check-valid-connection-sql="select 1;"
以上命令會修改 standalone.xml設定檔,請注意上面的url,username,password按照你的資料庫配置實際填寫。
2.3.2 wildfly 遠程配置
同樣是在cli命令列下執行命令:
/subsystem=remoting/http-connector=http-remoting-connector:remove/subsystem=remoting/http-connector=http-remoting-connector:add(connector-ref="remoting",security-realm="ApplicationRealm")/socket-binding-group=standard-sockets/socket-binding=remoting:add(port="4447")/subsystem=undertow/server=default-server/http-listener=remoting:add(socket-binding=remoting):reload
配置日誌:
/subsystem=logging/logger=org.ejbca:add/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)/subsystem=logging/logger=org.cesecore:add/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)
3. EJBCA安裝及配置
解壓 ejbca_ce_6_5.0.5.zip 到/opt 目錄;並進入解壓後的檔案夾。
3.1 配置
conf目錄中是ejbca的設定檔,在build和產生CA的時候會讀取這個檔案中的一些設定,裡邊的設定檔都是以.sample結尾的,如果我們要修改預設的配置就要把需要修改的檔案重新命名,把.sample去掉
我們需要修改一下幾個檔案,先產生4個個重要的檔案:
cd /opt/ejbca_ce_6_5.0.5/conf
mv ejbca.properties.sample ejbca.propertiesmv web.properties.sample web.propertiesmv database.properties.sample database.propertiesmv install.properties.sample install.properties
修改 ejbca.properties 檔案
設定 appserver.home 的值(就是應用伺服器的安裝位置,對於我們來說是 /opt/wildfly-10.0.0.Final)
修改 web.properties 檔案
設定CA的超級管理員的認證密碼,以及給應用伺服器產生的伺服器端認證的認證密碼,和CA的truststory的密碼等,這些密碼的設定我們可以根據需要設定,或者保持預設的配置,需要注意的是httpsserver.hostname,這個要和後邊的alias相對應,我的ip地址為 147.128.105.149,那這裡我們設定為147.128.105.149
修改 database.properties檔案
實際上只要使用wildfly的資料來源即可 。把 datasource.jndi-name=EjbcaDS 的注釋取消, 還要把 資料庫類型database.name=postgres這個注釋也要放開。否則安裝出錯,會執行h2資料庫的庫表安裝指令碼。筆者就是沒有開啟這個選項導致第一次安裝出錯。
修改 install.properties 檔案
設定CA的名稱,加密方式等,建議保持預設即可。
3.2 安裝
進入命令列,執行如下命令:
cd /opt/ejbca_ce_6_5.0.5/ant clean deployearant runinstallant deploy-keystore
deployear的那步時間會久一點,
ant runinstall 當移除了一個已存在的安裝(有可用的TLS keystore)的時候,不需要執行該步命令。這句話說實話還沒看懂。
ant deploy-keystore 這步執行完,會在ejbca目錄下會產生keystore.jks, truststore.jks, 指令碼會自動拷貝到 $JBOSS_HOME/standalone/configuration/keystore,我們不用管。
4. 最後配置Wildfly4.1 移除wildfly中已有的TLS and HTTP功能
同樣在 /opt/wild 目錄中執行 jboss-cli.sh -c 進入cli命令列互動介面;執行如下cli:
/subsystem=undertow/server=default-server/http-listener=default:remove/subsystem=undertow/server=default-server/https-listener=https:remove/socket-binding-group=standard-sockets/socket-binding=http:remove/socket-binding-group=standard-sockets/socket-binding=https:remove
4.2 配置新的TLS
/interface=http:add(inet-address="0.0.0.0")/interface=httpspub:add(inet-address="0.0.0.0")/interface=httpspriv:add(inet-address="0.0.0.0")/socket-binding-group=standard-sockets/socket-binding=http:add(port="8080",interface="http")/subsystem=undertow/server=default-server/http-listener=http:add(socket-binding=http)/subsystem=undertow/server=default-server/http-listener=http:write-attribute(name=redirect-socket, value="httpspriv")
:reload
上面的"0.0.0.0"表示其他機器也可以訪問了,原來預設是127.0.0.1就說明只能本機訪問。
接著配置realm , socket-binding,注意兩個密碼,這裡的 alias 就是前文提到的要配置ip地址。
/core-service=management/security-realm=SSLRealm:add()/core-service=management/security-realm=SSLRealm/server-identity=ssl:add(keystore-path="${jboss.server.config.dir}/keystore/keystore.jks", keystore-password="serverpwd", alias="147.128.105.149")/core-service=management/security-realm=SSLRealm/authentication=truststore:add(keystore-path="${jboss.server.config.dir}/keystore/truststore.jks", keystore-password="changeit")/socket-binding-group=standard-sockets/socket-binding=httpspriv:add(port="8443",interface="httpspriv")/socket-binding-group=standard-sockets/socket-binding=httpspub:add(port="8442", interface="httpspub")
執行完了後,退出 jboss-cli.sh
停掉 wildfly, 重新啟動。(一定不要忘記了)
4.3 配置undertow服務
重新進入 jboss-cli.sh -c
執行:
/subsystem=undertow/server=default-server/https-listener=httpspriv:add(socket-binding=httpspriv, security-realm="SSLRealm", verify-client=REQUIRED)/subsystem=undertow/server=default-server/https-listener=httpspriv:write-attribute(name=max-parameters, value="2048")/subsystem=undertow/server=default-server/https-listener=httpspub:add(socket-binding=httpspub, security-realm="SSLRealm")/subsystem=undertow/server=default-server/https-listener=httpspub:write-attribute(name=max-parameters, value="2048"):reload
然後是一些重要的配置
/system-property=org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH:add(value=true)/system-property=org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH:add(value=true)/system-property=org.apache.catalina.connector.URI_ENCODING:add(value="UTF-8")/system-property=org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING:add(value=true)/subsystem=webservices:write-attribute(name=wsdl-host, value=jbossws.undefined.host)/subsystem=webservices:write-attribute(name=modify-wsdl-address, value=true):reload
如果你在wildfly前面還裝了個Apache服務,那麼還要執行如下命令,否則不用執行:
/subsystem=undertow/server=default-server/ajp-listener=ajp-listener:add(socket-binding=ajp, scheme=https, enabled=true):reload
下載認證 /opt/ejbca_ce_6_5.0.5/p12/superadmin.p12 到本地, 然後匯入瀏覽器,即可訪問後台了()因為需要雙向認證)
ejbca的管理後台
https://147.128.105.149:8443/ejbca/adminweb
大功告成!!!
本文著作權歸作者 royoan(博文地址:http://www.cnblogs.com/royoan/p/7763633.html)所有,歡迎轉載和商用,請在文章頁面明顯位置給出原文連結並保留此段聲明,否則保留追究法律責任的權利,其他事項,可留言諮詢。
EJBCA安裝教程+postgresql+wildfly10