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

URL Link //n.sfs.tw/13280

2019-05-06 08:24:43 By igogo

 

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

 

Centos 7 發行版為例

 

 

 

安裝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

 

 

 

 

 

這裡以交付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/ 測試是否設定成功