Apache Tomcat adalah server web sumber terbuka dan wadah servlet yang terutama digunakan untuk server aplikasi berbasis Java.
Dalam panduan ini Anda akan mempelajari cara menginstal Apache Tomcat 10 di Ubuntu 20.04 dan mengamankan pengaturan dengan Nginx dan Let's Encrypt SSL.
Prasyarat
- Server dengan OS Ubuntu 20.04
- Pengguna dengan hak istimewa sudo.
Pengaturan Awal
Mulailah dengan memperbarui paket server ke versi terbaru yang tersedia.
sudo apt update sudo apt dist-upgrade -y
Buat Pengguna Baru untuk Tomcat
Akan lebih baik jika Tomcat berjalan sebagai pengguna yang tidak memiliki hak istimewa. Jalankan perintah berikut untuk membuat pengguna baru dengan hak istimewa yang diperlukan untuk Tomcat. Pengguna ini tidak akan diizinkan untuk masuk ke SSH.
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Instal Java
Instal JDK default menggunakan perintah di bawah ini.
sudo apt install default-jdk
Setelah instalasi selesai, periksa versi menggunakan perintah berikut.
java -version
Output Anda harus mirip dengan yang di bawah ini.
openjdk version "11.0.14.1" 2022-02-08 OpenJDK Runtime Environment (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Instal Apache Tomcat
Unduh versi terbaru Tomcat dari halaman unduhan resmi mereka. Pilih tar.gz
di bawah bagian inti.
Unduh arsip menggunakan wget.
cd ~/ wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz
Ekstrak isinya ke /opt/tomcat
direktori.
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Konfigurasikan izin yang benar untuk file Tomcat.
sudo chown -R tomcat:tomcat /opt/tomcat/ sudo chmod -R u+x /opt/tomcat/bin
Konfigurasikan Pengguna Admin
Sekarang kita perlu menyiapkan pengguna yang dapat mengakses Pengelola host dan Manajer halaman di Tomcat.
Tambahkan pengguna dengan kata sandi di /opt/tomcat/conf/tomcat-users.xml
sudo nano /opt/tomcat/conf/tomcat-users.xml
Tambahkan baris berikut sebelum tag akhir.
<role rolename="manager-gui" /> <user username="manager" password="secure_password" roles="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="secure_password" roles="manager-gui,admin-gui" />
Sekarang kami memiliki 2 pengguna yang dapat mengakses halaman Manajer dan Manajer Host.
Konfigurasikan Tomcat sebagai Layanan
Di sini kita akan mengonfigurasi layanan systemd untuk mengelola Tomcat untuk memulai, menghentikan, dan memulai ulang secara otomatis.
Perhatikan lokasi Java.
sudo update-java-alternatives -l
Output java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Buat file systemd.
sudo nano /etc/systemd/system/tomcat.service
Tambahkan konten berikut ke file.
[Unit] Description=Tomcat After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-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 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Ganti JAVA_HOME variabel dengan yang Anda catat sebelumnya.
Muat ulang daemon systemd agar perubahan diterapkan.
sudo systemctl daemon-reload
Mulai Tomcat.
sudo systemctl start tomcat
Aktifkan Tomcat untuk memulai saat boot sistem.
sudo systemctl enable tomcat
Periksa status Tomcat.
sudo systemctl status tomcat
Output ● tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2022-04-20 08:57:23 UTC; 6s ago Process: 5155 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 5162 (java) Tasks: 29 (limit: 1151) Memory: 136.4M CGroup: /system.slice/tomcat.service
Instal Nginx
Instal Nginx menggunakan perintah berikut.
sudo apt install nginx
Hapus konfigurasi default
sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default
Konfigurasi Proxy Nginx untuk Tomcat
Buat konfigurasi Nginx baru
sudo nano /etc/nginx/sites-available/yourdomainname.conf
Tempelkan kode berikut
server { listen [::]:80; listen 80; server_name yourdomainname.com www.yourdomainname.com; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
Simpan dan keluar dari file.
Aktifkan konfigurasi Anda dengan membuat tautan simbolis.
sudo ln -s /etc/nginx/sites-available/yourdomainname.conf /etc/nginx/sites-enabled/yourdomainname.conf
Instal Let's Encrypt SSL dengan Certbot
Instal paket Certbot.
sudo apt install python3-certbot-nginx
Instal sertifikat SSL menggunakan perintah di bawah ini.
sudo certbot --nginx --redirect --no-eff-email --agree-tos -m [email protected] -d yourdomainname.com -d www.yourdomainname.com
Jika domain Anda diarahkan ke server, sertifikat SSL gratis akan diinstal dan pengalihan HTTP ke HTTPS akan dikonfigurasi secara otomatis dan Nginx akan dimulai ulang dengan sendirinya agar perubahan diterapkan.
Jika Anda ingin memulai ulang, Anda dapat memeriksa konfigurasi Nginx Anda dan memulai kembali.
sudo nginx -t sudo service nginx restart
Persiapkan diri Anda untuk peran yang bekerja sebagai Profesional Teknologi Informasi dengan sistem operasi Linux
Verifikasi Instalasi Tomcat
Sekarang periksa domain Anda di browser Anda.
Klik Aplikasi Manajer , Anda akan diminta untuk memasukkan nama pengguna dan kata sandi. Gunakan yang telah kami konfigurasikan di bagian pengguna Tomcat.
Anda juga dapat melihat Pengelola Host halaman.
Anda juga dapat melihat status server.
Kesimpulan
Sekarang Anda telah mempelajari cara menginstal Apache Tomcat di Ubuntu 20.04 dan mengamankan dengan Nginx dan Let's Encrypt SSL..
Terima kasih atas waktunya. Jika Anda menghadapi masalah atau umpan balik, silakan tinggalkan komentar di bawah.