[精讚] [會員登入]
530

臺中市雲端校務系統與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

你可能感興趣的文章

臺中市雲端校務系統與Windows AD帳號整合(2) 安裝Active Directory網域服務

雲端校務系統與OPENLDAP帳號整合(1) 本文件目標是為做單一帳號整合, 使用校端更改密碼服務, 將雲端校務系統的帳密同步至校內LDAP server, 並讓SA

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

[web]校園食材登錄平臺午餐食材嵌入頁面語法 校園食材登錄平臺午餐食材嵌入頁面語法

shell scirpt 批次建立samba使用者 建立一csv檔, 兩個欄位如下 5101,532 5102,592 5103,321 第一欄為帳號使用班級加座號, 第二

tmux 將終端機切割成多個視 窗 tmux, multiple terminal

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

tmux 將終端機切割成多個視 窗 tmux, multiple terminal

[vue.js] 動態的props 做parent-child components 雙向綁定 vue.js props components camel-case

python 的RE python re

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

ArrayList 與 HashMap 範例 public static void main(String[] args) { String titleIds = &