Dalam artikel ini, kami akan menunjukkan kepada Anda cara menginstal dan mengkonfigurasi Tomcat 10 di Ubuntu dan bagaimana kami dapat mengintegrasikannya dengan Apache HTTP Server menggunakan konektor mod_jk.
Apache Tomcat adalah server web sumber terbuka dan penampung servlet yang digunakan untuk menerapkan dan melayani aplikasi web Java. Sebagian besar kerangka kerja web Java modern didasarkan pada servlet, misalnya JavaServer Faces, Struts, Spring, dll.
Apache Tomcat juga menyediakan secara default konektor HTTP pada port 8080, yaitu, Tomcat juga dapat digunakan sebagai server HTTP. Namun kinerja Tomcat tidak sebaik kinerja server web yang ditunjuk, seperti server HTTP Apache.
Di sebagian besar produksi, Tomcat digunakan bersama dengan Apache HTTP Server. Apache HTTP Server menghadiri konten statis seperti HTML, gambar, dll., dan meneruskan permintaan konten dinamis ke Tomcat.
Panduan penginstalan dan konfigurasi ini berlaku ke Apache dengan Tomcat 10 di Ubuntu.
1. Instal Java
Pertama, seperti biasa, perbarui paket Anda:
sudo apt update
Anda harus menginstal Java di sistem Anda untuk menjalankan server Tomcat. Tomcat 10 membutuhkan Java SE 8 atau versi yang lebih tinggi yang diinstal pada sistem Anda. Jalankan perintah berikut dan instal paket OpenJDK 11 JDK:
sudo apt install openjdk-11-jdk
Periksa versi Java aktif saat ini:
java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
2. Buat Pengguna Sistem Tomcat
Menjalankan server Tomcat di bawah root pengguna adalah risiko keamanan. Oleh karena itu, kami menyarankan untuk membuat akun pengguna terpisah untuk menjalankan server Tomcat.
Perintah berikut akan membuat pengguna dan grup dengan nama tomcat
di sistem Anda:
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
3. Instal dan Konfigurasi Apache Tomcat 10
Tomcat adalah alat yang tidak bergantung pada platform, dan, selama Java terinstal, penginstalan adalah proses yang mudah. Pertama, Anda perlu mengunduh versi yang diinginkan dari situs web resmi dan kemudian membongkarnya di sistem file Anda.
Sekarang unduh rilis biner Tomcat terbaru dari halaman unduhan resmi Tomcat.
wget https://apache.mirrors.nublue.co.uk/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz
Setelah unduhan selesai, ekstrak file tar ke /opt/tomcat
direktori:
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Selanjutnya, atur izin file yang tepat:
sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin
Anda harus membuat pengguna untuk Manajer Aplikasi Web di Server Tomcat. Akun pengguna baru harus disiapkan untuk menggunakan Apache Tomcat Web Application Manager.
Untuk melakukannya, edit tomcat-users.xml
file di editor Anda:
sudo vim /opt/tomcat/conf/tomcat-users.xml
Rekatkan kode berikut di dalam <tomcat-users>
</tomcat-users>
tag. Pastikan untuk mengubah PASSWORD
untuk akses admin dan manajer.
<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />
Tomcat menyediakan konsol administrasi berbasis web. Server Tomcat default tidak mengizinkan akses jarak jauh untuk aplikasi Manajer dan Manajer Host. Namun, Anda hanya dapat mengaksesnya dari localhost.
Untuk mengaktifkan koneksi jarak jauh, ikuti petunjuk di bawah ini.
Buat file conf/Catalina/localhost/manager.xml
:
sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml
Tambahkan konten berikut:
<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
Anda juga perlu membuat file xml untuk aplikasi web pengelola host guna mengizinkan akses untuk host jarak jauh.
sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml
Tambahkan konten berikut:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
4. Buat Layanan Sistem Tomcat
Kita perlu membuat skrip startup untuk mengelola Tomcat sebagai layanan systemd. Mari kita buat tomcat.service
berkas.
sudo vim /etc/systemd/system/tomcat.service
Rekatkan yang berikut ke dalam file:
[Unit]
Description=Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Muat ulang daemon systemd untuk menerapkan perubahan:
sudo systemctl daemon-reload
Setel Tomcat agar mulai otomatis saat boot:
sudo systemctl enable tomcat
5. Instal Apache HTTP Server
Apache tersedia dalam repositori perangkat lunak default Ubuntu. Untuk menginstalnya, ketik perintah berikut:
sudo apt install apache2
6. Konfigurasikan Tomcat untuk Bekerja dengan Apache
Untuk mengintegrasikan proses server Apache Tomcat dengan server HTTP Apache, kita memerlukan modul mod_jk , yang mengimplementasikan antarmuka antara Tomcat dan Apache, dikombinasikan dengan beberapa langkah kecil untuk mengonfigurasi Apache dan Tomcat sesuai kebutuhan kita.
6.1 Instal Modul mod_jk
Memasang dan mengonfigurasi mod_jk adalah kunci untuk membuat server web dan server aplikasi bekerja bersama. Jadi, mari kita instal:
sudo apt install libapache2-mod-jk
6.2 Mengonfigurasi mod_jk dengan Apache dan Tomcat.
Anda harus mengaktifkan Konektor AJP di Tomcat sehingga server Apache dapat mengarahkan permintaan ke Tomcat. Anda melakukan ini dengan mengedit server.xml
Tomcat berkas.
sudo vim /opt/tomcat/conf/server.xml
Pastikan AJP Connector di bawah ini aktif dan tidak dikomentari.
<Connector protocol="AJP/1.3" port="8009" secretRequired="false" redirectPort="8443" />
Kita perlu mengkonfigurasi Apache HTTP Server untuk memuat dan menginisialisasi modul JK.
Kita perlu membuat /etc/apache2/workers.properties
mengajukan. File ini mendefinisikan daftar 'pekerja' Tomcat yang permintaannya dapat diteruskan oleh Apache.
sudo vim /etc/apache2/workers.properties
dan rekatkan yang berikut ini ke dalam file:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
Selanjutnya, rujuk file ini di file konfigurasi Apache utama apache2.conf
:
sudo vim /etc/apache2/apache2.conf
Kami menambahkan baris ini di akhir:
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm
# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "
6.3 Konfigurasikan URL mana yang akan dikelola dengan Apache
Pada titik ini, Anda harus mengonfigurasi Apache untuk memberi tahu URL mana yang akan diproses dan diserahkan ke Tomcat dan URL mana yang Anda inginkan untuk diproses oleh Apache sendiri.
sudo vim /etc/apache2/sites-enabled/000-default.conf
Tambahkan baris berikut di bawah DocumentRoot
masuk. Ini memungkinkan untuk meminta JRS melalui server web Apache.
JkMount /examples worker1
JkMount /examples/* worker1
7. Cara memverifikasi bahwa itu berfungsi
Mulai ulang layanan Apache dan Tomcat:
sudo systemctl restart apache2
sudo systemctl restart tomcat
Setelah Anda memulai server, buka browser internet Anda dan arahkan ke URL http://server_ip_address:8080
. Tomcat telah terinstal dengan benar jika Anda melihat halaman serupa seperti pada gambar di bawah ini.
Cara sederhana untuk memverifikasi bahwa integrasi antara Apache HTTP Server dan Tomcat berfungsi adalah dengan meminta salah satu file contoh yang harus disajikan oleh Tomcat.
Arahkan browser Anda ke http://server_ip_address/examples/
dan jalankan beberapa contoh aplikasi.
Selamat! Anda telah berhasil mengintegrasikan Tomcat dengan Apache HTTP Server.