EJBCA安裝教程+postgresql+wildfly10

來源:互聯網
上載者:User

標籤: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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.