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 menunjukkan cara menginstal Tomcat 8.5 di Ubuntu 18.04. Instruksi yang sama berlaku untuk Ubuntu 16.04 dan semua distribusi berbasis Ubuntu, termasuk Linux Mint dan Elementary OS.
Prasyarat #
Sebelum melanjutkan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.
Instal OpenJDK #
OpenJDK, implementasi open-source Platform Java adalah pengembangan dan runtime Java default di Ubuntu 18.04.
Instalasi OpenJDKpackage cukup mudah:
sudo apt install default-jdk
Buat pengguna Tomcat #
Kami akan membuat pengguna dan grup sistem baru dengan direktori home /opt/tomcat
yang akan menjalankan layanan Tomcat:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Unduh Tomcat #
Kami akan menggunakan wget
dan unzip
untuk mengunduh dan mengekstrak arsip Tomcat. Jika Anda tidak memiliki unzip
dan wget
diinstal pada sistem Anda, instal paket dengan:
sudo apt install unzip wget
Unduh versi terbaru Tomcat 8.5.x dari halaman unduhan Tomcat. Pada saat penulisan, versi terbaru adalah 8.5.37. Sebelum melanjutkan ke langkah berikutnya, Anda harus memeriksa halaman unduhan untuk versi baru.
Ubah ke /tmp
direktori dan unduh file zip dengan perintah wget berikut:
cd /tmp
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip
Setelah unduhan selesai, unzip file dan pindahkan ke /opt/tomcat
direktori:
unzip apache-tomcat-*.zip
sudo mkdir -p /opt/tomcat
sudo mv apache-tomcat-8.5.37 /opt/tomcat/
Untuk lebih mengontrol versi dan pembaruan, kami akan membuat tautan simboliklatest
yang akan menunjuk ke direktori instalasi Tomcat:
sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest
Nanti jika Anda ingin memutakhirkan instalasi Tomcat Anda, Anda cukup membongkar versi yang lebih baru dan mengubah symlink untuk menunjuk ke versi terbaru.
Pengguna tomcat yang kita atur sebelumnya harus memiliki akses ke direktori tomcat, jadi kita akan mengubah kepemilikan direktori menjadi pengguna dan grup tomcat:
sudo chown -R tomcat: /opt/tomcat
Buat skrip di dalam bin
direktori yang dapat dieksekusi dengan menjalankan chmod
berikut ini perintah:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Buat file unit systemd #
Untuk menjalankan Tomcat sebagai layanan, kami akan membuat 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
Anda dapat memeriksa status layanan dengan perintah berikut:
sudo systemctl status tomcat
● tomcat.service - Tomcat 8.5 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2018-05-05 11:04:40 UTC; 5s ago
Process: 13478 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 13499 (java)
Tasks: 45 (limit: 507)
CGroup: /system.slice/tomcat.service
└─13499 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.
dan jika tidak ada kesalahan, Anda dapat mengaktifkan layanan Tomcat untuk dimulai secara otomatis saat boot:
sudo systemctl enable tomcat
Sesuaikan Firewall #
Jika server Anda dilindungi oleh firewall dan Anda ingin mengakses antarmuka Tomcat dari luar jaringan lokal Anda, Anda harus membuka port 8080
.
Untuk mengizinkan lalu lintas pada port 8080
ketik perintah berikut:
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 Ubuntu, langkah selanjutnya adalah membuat pengguna yang akan memiliki akses 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
Untuk menambahkan pengguna baru yang dapat mengakses antarmuka web Tomcat (manager-gui dan admin-gui), kita perlu mendefinisikan pengguna 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 dikonfigurasi untuk mengizinkan akses hanya dari localhost, jika Anda ingin dapat mengakses antarmuka web dari IP jarak jauh atau dari mana saja yang tidak disarankan karena merupakan risiko keamanan, Anda dapat membuka file berikut dan buat 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
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.
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.