筆電換成了Mac pro,所以還是有很多需要適應的地方。
JDK的安裝其實十幾年來一直沒有太大差異,所以就不另贅述。
1. 下載Tomcat
首先到Apache官網下載Tomcat,目前(2016.09.03)最新的Tomcat版本為9.0.0.M9。
選擇zip或是tar.gz下載回來解壓縮(標題都寫Mac OS X了,你總不會給我跑去下載Windows吧?)
2.Tomcat安裝
Tomcat的安裝與設定說明,其實附在解壓縮的資料夾內,一份叫做RUNNING.txt的文件。
有時間可以看一下裡面對於各種路徑變數的說明,才能知道各種路徑是幹什麼用的,很多時候遇到的問題在網路上找了老半天,其實在官網的Documentation的資訊中,都有解答或是提示。
不過此篇主要是快速建立與啟動Tomcat,隨意參考了一篇2013的 Installing Tomcat 7.0.x on OS X來嘗試安裝(此類軟體通常安裝方式不會變動太多)
首先打開我們可愛的終端機吧!簡單的說,終端機就像是在Windows的cmd.exe,可愛熟悉卻又醜醜的命令提示字元。
一樣是Console的介面,Mac OS其實是Unix Based的系統,因此使用的是Unix的command,例如等等會使用到的sudo指令。
(曾經上過一輪Linux課程,不過因為後來工作使用都是Windows環境,因此都還給老師啦...)
以下開始進入正題
A. 建立 /usr/local資料夾,並將解壓縮後的Tomcat資料夾移至/usr/local
sudo mkdir -p /usr/local
sudo mv ~/Downloads/apache-tomcat-9.0.0.M9 /usr/local
sudo mv ~/Downloads/apache-tomcat-9.0.0.M9 /usr/local
B.參考的文章收寫道,為了未來Tomcat的更新,在這裡建立了一個symbolic link,以後更新Tomcat時,不用再一一更改路徑。
sudo rm -f /Library/Tomcat
sudo ln -s /usr/local/apache-tomcat-9.0.0.M9 /Library/Tomcat
sudo ln -s /usr/local/apache-tomcat-9.0.0.M9 /Library/Tomcat
C.接下來我們要建立這個symbolic link的擁有者(Unix系統對於檔案讀寫權限與擁有者...等,規定非常嚴謹)
sudo chown -R <your_username> /Library/Tomcat
D.設定bin底下所有的script可被執行的權限
sudo chmod +x /Library/Tomcat/bin/*.sh
E.開啟Tomcat服務
/Library/Tomcat/bin/startup.sh
開啟後在在網址上打上 http://localhost:8080
出現以下畫面,就成功囉!!
F.關閉Tomcat服務
/Library/Tomcat/bin/shutdown.sh
3.設定Default網頁管理介面使用者與密碼
開啟http://localhost:8080後,可以透過內建的Web UI做Tomcat Server的管理。
但安裝好後怎麼知道有哪些帳戶可以使用?必須找出tomcat-users.xml檔案。
A.找tomcat-users.xml檔案
我們移動到資料夾 /Library/Tomcat/conf 底下,因為剛剛設定過/Library/Tomcat對應的symbolic link的關係,因此就會自動跳到 /usr/local/apache-tomcat-9.0.0.M9/conf 實體目錄底下。
B.修改xml,新增帳號密碼
打開tomcat-users.xml後,檔案末段中有一個區塊註解說明各種帳號角色。
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
簡單的做法可以把註解拿掉,設上自己的password,就有預設的這兩種角色與三個帳號可使用。
但!是!。(人生最討厭的就是這個But)
xml檔中的註解又寫到了,要使用這個web manager app的功能,必須有manager-gui這個role的權限
很懶惰的又去請教Google老師如何 修改tomcat 7的管理者帳號及密碼。
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
簡單的說,我們設定了不同權限的role,但是為了方便開發測試,我們增加了tomcat這個帳號,但是這個帳號有著所有role的權限。
方便本機開發當然這樣最省事,但如果是要上線的公司服務記得不能這樣搞,否則遭遇攻擊取得一組帳密,整個公司的網站死光光還不是最嚴重的,駭客更可能取得資料庫相關個資才是最糟的。
C.重啟Tomcat服務
新增帳號完畢後儲存xml檔案,然後重啟Tomcat,就可以快快樂樂地登入各項功能。
Server Status
Manager App。
Host Manager
4.Web UI與Shellscript
Web UI與終端機的Script都可以用來管理Tomcat Server,但在實務上運用各有優點。
Web UI可以讓管理者透過瀏覽器直接進行Server的管理與操作。
而終端機的Script腳本,則可以設定電腦排程自動執行,例如每日凌晨3點自動重開機,這個是Web UI做不到的。
以上。
簡單的做法可以把註解拿掉,設上自己的password,就有預設的這兩種角色與三個帳號可使用。
但!是!。(人生最討厭的就是這個But)
xml檔中的註解又寫到了,要使用這個web manager app的功能,必須有manager-gui這個role的權限
很懶惰的又去請教Google老師如何 修改tomcat 7的管理者帳號及密碼。
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
簡單的說,我們設定了不同權限的role,但是為了方便開發測試,我們增加了tomcat這個帳號,但是這個帳號有著所有role的權限。
方便本機開發當然這樣最省事,但如果是要上線的公司服務記得不能這樣搞,否則遭遇攻擊取得一組帳密,整個公司的網站死光光還不是最嚴重的,駭客更可能取得資料庫相關個資才是最糟的。
C.重啟Tomcat服務
新增帳號完畢後儲存xml檔案,然後重啟Tomcat,就可以快快樂樂地登入各項功能。
Server Status
Manager App。
Host Manager
4.Web UI與Shellscript
Web UI與終端機的Script都可以用來管理Tomcat Server,但在實務上運用各有優點。
Web UI可以讓管理者透過瀏覽器直接進行Server的管理與操作。
而終端機的Script腳本,則可以設定電腦排程自動執行,例如每日凌晨3點自動重開機,這個是Web UI做不到的。
以上。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言