centos 7 安裝tomcat 8.5

要使用tomcat當做java web servlet container 需要java環境,所以需要再安裝jdk,這裡使用openJDK

1.安裝openJDK

參考此網站 http://openjdk.java.net/install/

sudo yum install java-1.8.0-openjdk

2.建立user 及group tomcat

useradd -r tomcat --shell /bin/false

3.下載tomcat 8.5

可至

https://tomcat.apache.org/download-80.cgi

取得url,利用wget下載tar gz檔

cd /tmp & wget http://ftp.mirror.tw/pub/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz

4.解壓縮tomcat tar gz檔,並修改目錄user及group

tar -zxf /tmp/apache-tomcat-*.tar.gz -C /opt
ln -s /opt/apache-tomcat-8.5.23 /opt/tomcat
chown -hR tomcat: /opt/tomcat /opt/apache-tomcat-*

5.建立start script

Read More

RaspberryPi -使用Web控制LED亮燈與否

之前有提過RaspberryPi -串聯二個74HC595範例,範例執行時需要執行Java Application,這可以拿來當做shell指令,不過如果想遠端控制呢?

想法是利用Raspberry pi架設wifi ap,或是把pi接入區域網路,再連入tomcat server執行指令。

JSP control GPIO

PI在安裝完tomcat後,因為要使用GOIP,所以得把tomcat執行的權限及群組設成root。

可以參考Controlling the Raspberry Pi’s GPIO pins from a web browser

Read More

Centos 7 Tomcat 使用 Fail2Ban

參考內容是Using Fail2ban with Tomcat

不過內容有些不太一樣,像是log的path,而且好像ban不會成功。

1.在/etc/fail2ban/jail.local增加一個jail 內容

[tomcat]
enabled  = true
port     = 8080,8443
filter   = tomcat
logpath  = /usr/share/tomcat/logs/localhost_access_log.*.txt
maxretry = 3
bantime = 600
action = firewallcmd-ipset[name=TOMCAT_PORT, port=8080, protocol=tcp]
#findtime = 600
# uncomment the next line to use a custom action
#action = echo-to-file

centos 7預設使用的firewall是firewallcmd,而不是iptables

jail.local

Read More

Eclipse開發Dynamic Web Project 網頁程式-設定Tomcat與程式測試

安裝Eclipse、tomcat建立專案程式後,再來就需要啟動及設定Server來執行剛才的測試程式。

一.設定Tomcat

設定server.xml,把專案目錄的WebContent加入Content裡,啟動tomcat時啟會自動專入專案。

tomcat目錄下的confi/server.xml

修改Tomcat Server.xm

<Context path="/MyWeb" docBase="C:\workspace\MyWeb\WebContent" debug="0" crosscontext="true" reloadable="true">

    <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="true">
          <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>
</Context>

其中SaveOnRestart=true時,自動Complier後會自動重新載入,並且自動回復Session,如果有登入機制則不會被導出。
path是web url的subDir名稱,docBase則選擇專案目錄下的WebContent就可以了
complier後的classes

新增Container
Read More