[精讚] [會員登入]
807

臺中市雲端校務系統與Windows AD帳號整合(9)

3-2 Linux上隨系統開機啟動服務 以Centos 7 發行版為例 請注意, 此時提供服務的主机為Linux, 所以

分享此文連結 //n.sfs.tw/13280

分享連結 臺中市雲端校務系統與Windows AD帳號整合(9) @igogo
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 12:40:21 最後編修
2019-05-06 08:24:43 By igogo
 

 

3-2 Linux上隨系統開機啟動服務

 

Centos 7 發行版為例

 

  • 請注意, 此時提供服務的主机為Linux, 所以redirect uri 也必須更改為此台要執行更改密碼服務的主机IP

  • 為方便測試, 請先將selinux及防火牆停用

 

 

安裝openjdk8

 

# yum install java-1.8.0-openjdk.x86_64

 

檢查是否有java 環境

 

# java -version

openjdk version "1.8.0_212"

OpenJDK Runtime Environment (build 1.8.0_212-b04)

OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

 

 

 

Windows ADip與名稱加到/etc/hosts

 

/etc/hosts

192.168.1.160 happy.tc.edu.tw happy

 

Ping windows AD的主机名稱

# ping happy.tc.edu.tw

PING happy.tc.edu.tw (192.168.1.160) 56(84) bytes of data.

64 bytes from happy.tc.edu.tw (192.168.1.160): icmp_seq=1 ttl=128 time=3.78 ms

 

 

將更改密碼程式移到 /opt

 

#mv -f /home/igogo/passwd /opt/

 

先手動執行服務看看是否能順利接上Windows AD

 

#java -jar passwd.jar

 

 

隨開機啟動設定

 

交由systemd 啟動, 先產生一個能識別是更改密碼的服務檔名

# touch /etc/systemd/system/passwd.service

 

編輯此檔

# vi /etc/systemd/system/passwd.service

 

[Unit]

Description=passwd

After=syslog.target

 

[Service]

User=igogo

WorkingDirectory=/opt/passwd

ExecStart=/usr/bin/java -Djava.net.preferIPv4Stack=true -Dserver.port=8080 -jar /opt/passwd/passwd.jar

SuccessExitStatus=143

 

[Install]

WantedBy=multi-user.target

 

 

  • 如果此台Linux主机只打算跑更改密碼服務, 那麼8080可以隨意更改, 此台机器若原先已經運行httpd80 port, 則可以預設8080, 下節設定反向代理的方式由80轉向8080 , 讓多個服務同時運行

 

  • 下載的更改密碼程式, 為了方便版本辨識,會加上版號, 例如 passwd-1.x.jar, 建議加入systemd 的服務時, 直接改為passwd.jar, 將來更新時, 只要把passwd.jar 覆蓋過去即可

  • User=igogo 是此程式要交由誰執行, 不可以是root, 如果已安裝httpd, 則交給apache, 或是建一個使用者, 讓該使用者有/opt/passwd的讀寫權限

 

 

這裡以交付apache為例

 

# chown -R apache.apache /opt/passwd/

 

 

加入隨開機啟動

# systemctl enable passwd

 

手動啟動

# systemctl start passwd

 

檢測看看是否成功啟動

 

# systemctl status passwd

# ss -ltn

 

 

80 port 執行服務

 

1. 一般80 port 可能已執行其它服務, 例如學校首頁

2. systemd 預設並不允許交由一般user 執行程式佔住 80 port

 

所以本章節旨在說明利用反向代理架構執行更改密碼服務

 

 

 

 

Apache當成httpd server

 

轉內部8080 port 到 到對外服務的 80 port

 

如果原先已有設定,請找詢此段<VirtualHost *:80> </VirtualHost> 加入以下檔案內容, 如果沒有則先建立一個空檔如下

 

# touch /etc/httpd/conf.d/default-site.conf

 

 

編輯default-site.conf

 

<VirtualHost *:80>

<Location /passwd/>

ProxyPass "http://127.0.0.1:8080/"

ProxyPassReverse "http://127.0.0.1:8080/"

Order deny,allow

Allow from all

</Location>

 

</VirtualHost>

 

記得/passwd/ 後面還有一個斜線

 

打開瀏覽器打上 http://linux ip/passwd/ 測試是否設定成功

 

 

 

 

 

 

 

END

你可能感興趣的文章

對照mac address 批次更改電腦名稱 讀取mac address 對照表, 還原電腦後,自動更改密碼 'show logged on user Dim

臺中市雲端校務系統與Windows AD帳號整合(7) 設定校端更改密碼程式及執行

利用expect script 查詢ap數量,再送到google sheet及line群組通知 利用expect script 查詢ap數量

利用openssl 一行文產生私鑰及憑證請求檔 openssl 一行產生私鑰及憑證請求檔

windows 使用 command 移除程式 使用 command 移除程式

在docker裡跑spring boot+mongo(二) 使用docker-compose 管理多個container 前篇使用docker run 一次建一個container

隨機好文

vue.js component 在parent與child 傳值 component 在parent與child 傳值

apache 反向代理 80轉443轉8080 apache, proxy pass

臺中市校務雲端系統與Windows AD帳號整合(1) active directory,ldaps,雲端校務系統

臺中市雲端校務系統與Windows AD帳號整合(9) 3-2 Linux上隨系統開機啟動服務 以Centos 7 發行版為例 請注意, 此時提供服務的主机為Linux, 所以

tc web 問與答 Q. 填報網址 A. https://tiny.cc/tc-web Q. 出現了以下畫面, 怎麼辦 A. 建議瀏覽器開無