Dijelaskan bahwa apache tomcat open source merupakan suatu wadah aplikasi web berbasis java yang diciptakan untuk menjalankan servlet dan JSP (Java Server Pages) aplikasi web. Apache tomcat dibuat oleh Apache-Jakarta namun, karena popularitasnya sekarang proyek apache tomcat terpisah dimana apache tomcat didukung dan kembangkan oleh sekelompok relawan dari open source java komunitas. (Vukotic & Goodwill, 2011)
Web server Apache berbasiskan Open Source dan mulai populer di internet sejak tahun 1996 karena Open Source. Apache bebas didistribusikan oleh siapa saja dan ke siapa saja. Software ini dapat diunduh pada situs http://www.apache.org dan tersedia untuk berbagai platform, diantaranya Windows, Linux, dan Unix. Agar dokumen-dokumen web yang berekstensi HTML ataupun PHP bias diakses oleh browser maka dokumen-dokumen tersebut perlu diletakkan dalam direktori khusus yang diatur oleh Apache. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika diperlukan, berdasarkan kode PHP yang dituliskan maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untukmendukung halaman web yang dihasilkan. (Dwiartara, 2010)
Web server Apache berbasiskan Open Source dan mulai populer di internet sejak tahun 1996 karena Open Source. Apache bebas didistribusikan oleh siapa saja dan ke siapa saja. Software ini dapat diunduh pada situs http://www.apache.org dan tersedia untuk berbagai platform, diantaranya Windows, Linux, dan Unix. Agar dokumen-dokumen web yang berekstensi HTML ataupun PHP bias diakses oleh browser maka dokumen-dokumen tersebut perlu diletakkan dalam direktori khusus yang diatur oleh Apache. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika diperlukan, berdasarkan kode PHP yang dituliskan maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untukmendukung halaman web yang dihasilkan. (Dwiartara, 2010)
Istilah container digunakan untuk menunjuk pada suatu web server yang mempunyai kemampuan untuk eksekusi suatu API tertentu. Dengan demikian Servlet dan JSP container sebenarnya merupakan suatu web server yang menyediakan API untuk servlet dan JSP. Web server merupakan software yang digunakan untuk menyediakan fasilitas yang memungkinkan melayani permintaan protokol HTTP dari web client (Firefox, Opera, IE, dan lain-lain).
Servlet merupakan komponen di sisi server yang mempunyai kemampuan untuk memproses permintaan dari client secara dinamis. Servlet mirip dengan applet di sisi client (browser) tetapi dijalankan di sisi server tanpa “wajah” / antarmuka. Servlet memang memungkinkan mengirimkan hasil berupa file HTML ataupun lainnya (XML misalnya) meskipun tidak disarankan karena akan sulit di-maintain, akan terdapat banyak statement semacam berikut:
out.println("<a href=\"home.jsp\">Kembali</a>");
Servlet akan lebih berguna untuk pemrosesan dari business logic. Untuk teknologi view, bisa menggunakan spesifikasi JSP.
Spesifikasi servlet dan JSP merupakan spesifikasi yang dikembangkan oleh JCP (Java Community Process). Spesifikasi servlet yang terakhir saat tulisan ini dibuat adalah versi maintenance release (2.5) dan akan segera digantikan dengan versi 3.0 (sudah melewati public review). Spesifikasi servlet 2.5 bisa diperoleh dihttp://jcp.org/aboutJava/communityprocess/mrel/jsr154/index.html sebagai JSR JSR-000154. Spesifikasi JSP yang terakhir saat tulisan ini dibuat adalah versi 2.1 dan bisa diperoleh di http://jcp.org/aboutJava/communityprocess/final/jsr245/index.html sebagai JSR-000245. Spesifikasi servlet 2.5 dan JSP 2.1 diimplementasikan oleh Apache Tomcat versi 6. Tulisan ini akan menggunakan versi 6.0.20 dan bisa diperoleh di http://tomcat.apache.org.
Apache Tomcat hanya merupakan salah satu servlet dan JSP container. Selain Tomcat, seringkali developer juga menggunakan Jetty (http://jetty.mortbay.org) yang saat ini juga menjadi salah satu sub project dari Eclipse. Jetty bisa diperoleh di http://www.eclipse.org/jetty/.
Instalasi Tomcat
Asumsi:
- JDK telah terinstall dan JAVA_HOME telah diset
- Apache Tomcat akan diinstall di $HOME/software
Hasil download distribusi Apache Tomcat:
[bpdp@bpdp-arch software]$ ls -la /home/bpdp/master/tomcat/apache-tomcat-6.0.20.tar.gz -rw-r--r-- 1 bpdp users 5998298 2009-09-09 05:44 /home/bpdp/master/tomcat/apache-tomcat-6.0.20.tar.gz [bpdp@bpdp-arch software]$ ls -la /home/bpdp/master/tomcat/
Untuk menginstall Tomcat, langkah yang diperlukan sangat sederhana dan mudah berikut ini:
$ cd software $ tar -xzvf apache-tomcat-6.0.20.tar.gz
Hasilnya adalah sebagai berikut:
[bpdp@bpdp-arch software]$ ls -la apache-tomcat-6.0.20/ total 96 drwxr-xr-x 9 bpdp users 4096 2009-09-26 10:15 . drwxr-xr-x 25 bpdp users 4096 2009-09-28 10:05 .. -rw-r--r-- 1 bpdp users 37951 2009-05-14 06:15 LICENSE -rw-r--r-- 1 bpdp users 556 2009-05-14 06:15 NOTICE -rw-r--r-- 1 bpdp users 7317 2009-05-14 06:15 RELEASE-NOTES -rw-r--r-- 1 bpdp users 6368 2009-05-14 06:15 RUNNING.txt drwxr-xr-x 2 bpdp users 4096 2009-09-26 10:13 bin drwxr-xr-x 3 bpdp users 4096 2009-09-26 10:25 conf drwxr-xr-x 2 bpdp users 4096 2009-09-26 10:13 lib drwxr-xr-x 2 bpdp users 4096 2009-09-26 10:17 logs drwxr-xr-x 2 bpdp users 4096 2009-09-26 10:13 temp drwxr-xr-x 7 bpdp users 4096 2009-05-14 06:15 webapps drwxr-xr-x 3 bpdp users 4096 2009-09-26 10:17 work [bpdp@bpdp-arch software]$
Tambahkan baris berikut di $HOME/.bashrc
export CATALINA_HOME=/home/bpdp/software/apache-tomcat-6.0.20 export PATH=$PATH:$CATALINA_HOME/bin
Instalasi selesai. Setelah anda login, environemnt variable tersebut akan terbaca oleh sistem.
Start dan Shutdown Tomcat
Untuk mengaktifkan Tomcat, gunakan shell script startup.sh berikut ini:
$ startup.sh Using CATALINA_BASE: /home/bpdp/software/apache-tomcat-6.0.20 Using CATALINA_HOME: /home/bpdp/software/apache-tomcat-6.0.20 Using CATALINA_TMPDIR: /home/bpdp/software/apache-tomcat-6.0.20/temp Using JRE_HOME: /home/bpdp/software/jdk6/ $
Jika sudah diaktifkan, Tomcat bisa diakses pada port 8080 (bisa diubah sesuai keperluan). Berikut adalah hasilnya:
Untuk men-shutdown Tomcat, gunakan shell script shutdown.sh berikut ini:
[bpdp@bpdp-arch software]$ shutdown.sh Using CATALINA_BASE: /home/bpdp/software/apache-tomcat-6.0.20 Using CATALINA_HOME: /home/bpdp/software/apache-tomcat-6.0.20 Using CATALINA_TMPDIR: /home/bpdp/software/apache-tomcat-6.0.20/temp Using JRE_HOME: /home/bpdp/software/jdk6/ [bpdp@bpdp-arch software]$
Mengatur User Manager dan Admin
Tomcat memerlukan user Manager dan Admin untuk mengelola container. Definisi dari user tersebut tersimpan dalam file XML di $CATALINA_HOME/conf/tomcat-users.xml. Berikut adalah definisi yang bisa anda ubah pada instalasi Tomcat anda:
<tomcat-users> <role rolename="admin"/> <role rolename="manager"/> <user password="passwordmu" roles="admin,manager" username="theboss"/> </tomcat-users>
Mengatur Port HTTP 1.1 dan HTTPS
Untuk mengatur port yang akan digunakan untuk menerima request dari web client, edit pada file $CATALINA_HOME/conf/server.xml, khususnya pada bagian berikut:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
Secara default, Tomcat akan aktif pada port 8080 dan 8443. Ubah angka di atas sesuai keinginan. Standar untuk port HTTP adalah 80, dan port untuk HTTPS adalah 443. Meskipun demikian, anda harus paham bahwa port di bawah 1024 hanya bisa diaktifkan oleh superuser (root).