วันนี้ ก็มาง่มวิธีติดตั้ง SOS กันจากผลงานของ 52north
โดยจะต้องทำการติดตั้ง Apache-Tomcat server สะก่อนก็เป็นครั้งแรกที่จะลองทำดู
1. เริ่มแรกก็ติดตั้ง J2SDK ขอเน้น ว่า SDK ไม่ใช่แค่ JRE นะครับ download
มาเน้นเพิ่มเติมอีกทีว่า J2SDK ของ Sun ด้วย เพราะมี J2SDK-GCJ อีกตัวซึ่งใช้ไม่ได้นะครับ
2. Download Apache-Tomcat จาก download
ถ้าหากใช้ rpm ได้ก็ดีนะ ง่ายดายกว่า ลองติดตามดูรายละเอียดที่ Simple Tomcat 5 Installer
- วิธีลงด้วย src ก็แค่ untar ไปไว้ใน /usr/lib/ สะแล้วก็สั่ง startup.sh ใน /bin/
- ข้อสำคัญต้องทำการเพิ่มค่า JAVA_HOME ใน /etc/profiles
#Tomcat
JAVA_HOME=/usr/java/jdk1.5.0_06
export JAVA_HOME
- ตรวจสอบระบบโดย http://localhost:8080 (ถ้าเข้าไม่ได้ลอง ดู security ว่าเปิดให้เข้า 8080:9080/tcp หรือเปล่า)
- ถ้าเข้าระบบไม่ได้อาจจะเพราะไม่มี admin user ให้ไปเพิ่มในไฟล์ /usr/lib/apache-tomcat/conf/tomcat-users.xml
โดยเพิ่มข้อความดังข้างล่าง
3.ติดตั้ง Ant สะ โดย Download
แต่เราลงโดยใช้ rpm ของมัน ก็เลยง่ายหน่อย ไม่งั้นก็อาจจะยุ่งยาก บ้าง
- ข้อสำคัญต้องทำการเพิ่มค่า ANT_HOME ใน /etc/profiles
#ANT
ANT_HOME = /usr/bin/
export ANT_HOME
4.ทำการ tar SOS ไว้ใน้ /usr/ ก็ได้
5. ติดตั้ง postgresql/postgis
- copy postgresql-8.1xxx.jdbc3.jar และ postgis_1.xx.jar ไปไว้ใน /usr/sos/lib/
หา้กไม่พบ postgis_1xx.jar ต้องทำการติดตั้ง postgis-jdbc-xxx.rpm หรือทำการ recomplie เพื่อสร้างขึ้นมา
- สร้าง DB ชื่อ SosDatabase
- dump datamodel.sql จาก /sql/ และ test.sql เข้าไปใน DB
- ทำการแ้ก้ไขค่า config.properties โดยเป็นค่าเพื่อการติดต่อ DB
ข้อควรระวังอย่างมากคือ ค่าดังนี้
conf.sos.ds.daofactory และ conf.sos.result.lease (ex. 5 ) โดยค่า lease นั้นใน config ลืมกำหนดและบอกให้แก้มานะ ไม่เ่ช่นนั้นก็จะ run ไม่ได้
- ทำการแก้ไขค่า build.properties โดยต้องทำการระบุให้ถูกต้องโดยเฉพาะ TOMCAT_HOME และ JAVA_HOME
- เข้าไปใน /conf/ และพิมพ์คำสั่ง ant
- หาก error เกี่ยวกับ tools.jar ให้ลอง copy tools.jar จาก jdk/lib ไปที่ jre/lib
ถ้าทุกอย่าง พร้อมลองเข้า
http://localhost:8080/52nSOSv2/testClient.html
และทดลอง getCapabilities
http://localhost:8080/52nSOSv2/sos?REQUEST=GetCapabilites&SERVICE=SOS&ACCEPTVERSIONS=0.0.31
ปล Jakarta และ Tomcat admin นั้นไม่จำเป็น แต่จะลงก็ได้