Apache Tomcat adalah server aplikasi open-source yang mendukung Java Servlet, JavaServer Pages, Java Expression Language dan teknologi Java WebSocket. Ini adalah salah satu aplikasi dan server web yang paling banyak digunakan di dunia saat ini.
Tutorial ini akan menunjukkan cara menginstal Apache Tomcat 8.5 di Debian 9 dan mengkonfigurasi antarmuka manajemen web Tomcat.
Prasyarat #
Sebelum melanjutkan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.
Kami akan mengunduh file zip Tomcat menggunakan wgetutility dan mengekstrak arsip yang diunduh dengan unzip.
Jika Anda belum menginstal utilitas ini di sistem Anda, Anda dapat melakukannya dengan mengetik:
sudo apt install unzip wget
Instal OpenJDK #
Tomcat 8.5 membutuhkan Java SE 7 atau lebih baru. Untuk menginstal paket OpenJDK default dari repositori Debian 9, jalankan perintah berikut:
sudo apt install default-jdk
Buat pengguna Tomcat #
Menjalankan Tomcat sebagai pengguna root adalah risiko keamanan dan tidak disarankan.
Untuk membuat pengguna dan grup sistem baru untuk instance Tomcat kami dengan direktori home /opt/tomcat
jalankan perintah berikut:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Unduh Tomcat #
Kami akan mengunduh versi terbaru Tomcat 8.5.x dari halaman unduhan Tomcat. Pada saat penulisan, versi terbaru adalah 8.5.37. Sebelum mengunduh file zip, Anda harus memeriksa halaman unduhan untuk versi baru.
Ubah ke /tmp
direktori dan unduh file zip dengan wget
:
cd /tmp
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip
Ketika unduhan selesai, jalankan perintah berikut untuk mengekstrak file zip dan memindahkannya ke /opt/tomcat
direktori:
unzip apache-tomcat-*.zip
sudo mkdir -p /opt/tomcat
sudo mv apache-tomcat-8.5.37 /opt/tomcat/
Untuk memiliki kontrol lebih besar atas versi dan pembaruan Tomcat, kami akan membuat tautan simbolik dengan nama latest
yang akan menunjuk ke direktori instalasi Tomcat:
sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest
Nanti saat akan mengupgrade versi Tomcat Anda cukup meng-unpack versi yang lebih baru dan mengubah symlink untuk menunjuk ke versi terbaru.
Ubah kepemilikan /opt/tomcat
direktori ke pengguna dan grup tomcat
sehingga pengguna dapat memiliki akses ke instalasi Tomcat:
sudo chown -R tomcat: /opt/tomcat
juga buat skrip di dalam bin
direktori yang dapat dieksekusi dengan mengeluarkan chmod
berikut ini perintah:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Buat file unit systemd #
Buat tomcat.service
baru file unit di /etc/systemd/system/
direktori dengan isi sebagai berikut:
[Unit]
Description=Tomcat 8.5 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"
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
Beri tahu systemd bahwa kami membuat file unit baru dan memulai layanan Tomcat dengan menjalankan:
sudo systemctl daemon-reload
sudo systemctl start tomcat
Periksa status layanan Tomcat dengan mengetik:
sudo systemctl status tomcat
● tomcat.service
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-06-06 10:51:36 UTC; 3s ago
Process: 21187 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 21195 (java)
Tasks: 44 (limit: 4915)
CGroup: /system.slice/tomcat.service
Jika tidak ada kesalahan, Anda dapat mengaktifkan layanan Tomcat untuk dimulai secara otomatis saat boot:
sudo systemctl enable tomcat
Anda dapat mulai menghentikan dan memulai ulang Tomcat sama seperti layanan unit sistem lainnya:
sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat
Sesuaikan Firewall #
Jika firewall Anda berjalan di sistem Debian Anda dan Anda ingin mengakses antarmuka Tomcat dari luar jaringan lokal Anda, Anda harus membuka port 8080
:
sudo ufw allow 8080/tcp
Saat menjalankan aplikasi Tomcat di lingkungan produksi, kemungkinan besar Anda akan memiliki penyeimbang beban atau proxy terbalik dan ini adalah praktik terbaik untuk membatasi akses ke port 8080 hanya ke jaringan internal Anda. Konfigurasi Antarmuka Manajemen Web Tomcat #
Sekarang setelah Tomcat terinstal di server Debian Anda, langkah selanjutnya adalah membuat pengguna dengan akses ke antarmuka manajemen web.
Pengguna Tomcat dan perannya didefinisikan dalam tomcat-users.xml
berkas.
Jika Anda membuka file tersebut, Anda akan melihat bahwa file tersebut dipenuhi dengan komentar dan contoh yang menjelaskan cara mengkonfigurasi file.
sudo vim /opt/tomcat/latest/conf/tomcat-users.xml
Kami akan mendefinisikan pengguna baru kami dengan mengakses antarmuka web Tomcat (manager-gui dan admin-gui) di tomcat-users.xml
file seperti gambar 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 hanya mengizinkan akses dari localhost. Jika Anda ingin mengakses antarmuka web dari IP jarak jauh atau dari mana saja yang tidak disarankan karena berisiko keamanan, Anda dapat membuka file berikut dan membuat perubahan berikut.
Jika Anda perlu mengakses antarmuka web dari mana saja, buka file berikut dan beri komentar atau hapus baris yang disorot dengan warna kuning:
/opt/Tomcat/latest/webapps/manager/META-INF/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>
/opt/Tomcat/latest/webapps/host-manager/META-INF/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>
Jika Anda perlu mengakses antarmuka web hanya dari IP tertentu, alih-alih mengomentari blok, tambahkan IP publik Anda ke daftar. Katakanlah IP publik Anda adalah 32.32.32.32
dan Anda ingin mengizinkan akses hanya dari IP itu:
<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|32.32.32.32" />
</Context>
/opt/Tomcat/latest/webapps/host-manager/META-INF/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|32.32.32.32" />
</Context>
Daftar alamat IP yang diizinkan adalah daftar yang dipisahkan dengan bilah vertikal |
. Anda dapat menambahkan satu alamat IP atau menggunakan ekspresi reguler.
Mulai ulang layanan Tomcat agar perubahan diterapkan:
sudo systemctl restart tomcat
Uji Instalasi #
Buka browser Anda dan ketik:http://<your_domain_or_IP_address>:8080
Jika instalasi berhasil, layar seperti 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.
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.