Apache Tomcat adalah implementasi open-source dari Java Servlet, JavaServer Pages, Java Expression Language, dan teknologi Java WebSocket. Ini adalah salah satu aplikasi dan server web yang paling banyak diadopsi di dunia saat ini. Tomcat mudah digunakan dan memiliki ekosistem pengaya yang kuat.
Tutorial ini menjelaskan cara menginstal dan mengkonfigurasi Tomcat 9 di Ubuntu 18.04. Instruksi yang sama berlaku untuk Ubuntu 16.04 dan semua distribusi berbasis Ubuntu, termasuk Linux Mint dan Elementary OS.
Prasyarat #
Untuk dapat menginstal paket pada sistem Ubuntu Anda, Anda harus login sebagai pengguna dengan hak sudo.
Langkah 1:Instal OpenJDK #
Tomcat membutuhkan Java untuk diinstal. Kami akan menginstal OpenJDK, yang merupakan pengembangan dan runtime Java default di Ubuntu 18.04.
Instalasi Java cukup sederhana. Mulailah dengan memperbarui indeks paket:
sudo apt update
Instal paket OpenJDK dengan menjalankan:
sudo apt install default-jdk
Langkah 2:Buat Pengguna Tomcat #
Untuk tujuan keamanan, Tomcat tidak boleh dijalankan di bawah pengguna root. Kami akan membuat pengguna dan grup sistem baru dengan direktori home /opt/tomcat
yang akan menjalankan layanan Tomcat:
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
Langkah 3:Instal Tomcat #
Kami akan mengunduh rilis biner terbaru Tomcat 9 dari halaman unduhan Tomcat 9.
Pada saat penulisan, versi terbaru adalah 9.0.27
. Sebelum melanjutkan dengan langkah berikutnya, Anda harus memeriksa halaman unduhan untuk versi baru. Jika ada versi baru, salin tautan ke Core tar.gz
file, yang berada di bawah bagian Distribusi Biner.
Mulailah dengan mengunduh arsip Tomcat di /tmp
direktori menggunakan wget
berikut ini perintah:
wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz -P /tmp
Setelah unduhan selesai, ekstrak arsip Tomcat dan pindahkan ke /opt/tomcat
direktori:
sudo tar xf /tmp/apache-tomcat-9*.tar.gz -C /opt/tomcat
Untuk memiliki kontrol lebih besar atas versi dan pembaruan Tomcat, buat tautan simbolis yang disebut latest
yang menunjuk ke direktori instalasi Tomcat:
sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest
Nanti jika Anda ingin mengupgrade instance Tomcat Anda, cukup buka paket versi yang lebih baru dan ubah symlink agar mengarah ke versi terbaru.
Seperti yang kami sebutkan di bagian sebelumnya Tomcat akan berjalan di bawah tomcat
pengguna. Pengguna ini harus memiliki akses ke direktori instalasi Tomcat.
Perintah berikut mengubah kepemilikan direktori menjadi pengguna dan grup Tomcat:
sudo chown -RH tomcat: /opt/tomcat/latest
Script di dalam bin
direktori harus memiliki flag yang dapat dieksekusi:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Langkah 4:Buat File Unit systemd #
Untuk menjalankan Tomcat sebagai layanan, Anda perlu membuat file unit baru.
Buka editor teks Anda dan buat file bernama tomcat.service
di /etc/systemd/system/
:
sudo nano /etc/systemd/system/tomcat.service
Tempelkan konfigurasi berikut:
/etc/systemd/system/Tomcat.service[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Ubah nilai JAVA_HOME
jika jalur ke instalasi Java Anda berbeda. Simpan dan tutup file dan beri tahu systemd bahwa kami membuat file unit baru:
sudo systemctl daemon-reload
Mulai layanan Tomcat dengan menjalankan:
sudo systemctl start tomcat
Periksa status layanan dengan perintah berikut:
sudo systemctl status tomcat
* tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-09-05 15:45:28 PDT; 20s ago
Process: 1582 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1604 (java)
Tasks: 47 (limit: 2319)
CGroup: /system.slice/tomcat.service
Jika tidak ada kesalahan, aktifkan layanan Tomcat untuk dimulai secara otomatis saat boot:
sudo systemctl enable tomcat
Langkah 5:Sesuaikan Firewall #
Jika server Anda dilindungi oleh firewall dan Anda ingin mengakses Tomcat dari luar jaringan lokal Anda, Anda perlu membuka port 8080
.
Untuk mengizinkan lalu lintas pada port 8080
ketik perintah berikut:
sudo ufw allow 8080/tcp
Biasanya saat menjalankan aplikasi Tomcat di lingkungan produksi, Anda akan memiliki penyeimbang beban atau proxy terbalik. Ini adalah praktik terbaik untuk membatasi akses ke port 8080
hanya untuk jaringan internal Anda. Langkah 6:Konfigurasikan Antarmuka Manajemen Web Tomcat #
Sekarang setelah Tomcat terinstal dan berjalan, langkah selanjutnya adalah membuat pengguna dengan akses antarmuka manajemen web.
Pengguna dan peran Tomcat didefinisikan dalam tomcat-users.xml
mengajukan. File ini adalah template dengan komentar dan contoh yang menjelaskan cara mengonfigurasi pengguna atau peran.
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
Untuk menambahkan pengguna baru dengan akses ke antarmuka web Tomcat (manager-gui dan admin-gui) kita perlu mendefinisikan pengguna di tomcat-users.xml
file, seperti yang ditunjukkan di bawah ini. Pastikan Anda mengubah nama pengguna dan sandi menjadi sesuatu yang lebih aman:
<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>
Secara default, antarmuka manajemen web Tomcat dikonfigurasi untuk membatasi akses ke aplikasi Manajer dan Manajer Host hanya dari host lokal.
Jika Anda ingin dapat mengakses antarmuka web dari IP jarak jauh, Anda harus menghapus batasan ini. Ini mungkin memiliki berbagai implikasi keamanan, dan tidak disarankan untuk sistem produksi.
Untuk mengaktifkan akses ke antarmuka web dari mana saja, buka dua file berikut dan beri komentar atau hapus baris yang disorot dengan warna kuning.
Untuk aplikasi Manajer, buka file berikut:
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml
Untuk aplikasi Host Manager, buka file berikut:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
context.xml<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
Opsi lainnya adalah mengizinkan akses ke aplikasi Manajer dan Manajer Host hanya dari IP tertentu. Alih-alih mengomentari blok, Anda cukup menambahkan alamat IP Anda ke daftar.
Misalnya jika IP publik Anda adalah 45.45.45.45
Anda akan membuat perubahan berikut:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|45.45.45.45" />
</Context>
Daftar alamat IP yang diizinkan adalah daftar yang dipisahkan dengan bilah vertikal |
. Anda dapat menambahkan satu alamat IP atau menggunakan ekspresi reguler.
Ingatlah untuk memulai ulang layanan Tomcat setiap kali Anda mengedit file konfigurasi Tomcat agar perubahan diterapkan:
sudo systemctl restart tomcat
Langkah 6:Uji Instalasi Tomcat #
Buka browser Anda dan ketik:http://<your_domain_or_IP_address>:8080
Dengan asumsi instalasi berhasil, layar yang mirip dengan berikut akan muncul:
Dasbor pengelola aplikasi web Tomcat tersedia di http://<your_domain_or_IP_address>:8080/manager/html
. Dari sini, Anda dapat menerapkan, membatalkan penerapan, memulai, menghentikan, dan memuat ulang aplikasi Anda.
Anda dapat masuk dengan pengguna yang telah Anda buat di Step 6
.
Dasbor manajer host virtual Tomcat tersedia di http://<your_domain_or_IP_address>:8080/host-manager/html
. Dari sini, Anda dapat membuat, menghapus, dan mengelola host virtual Tomcat.