GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal Apache Tomcat 9 dengan Nginx Proxy di Debian 10

Tomcat adalah server aplikasi gratis, sumber terbuka, dan ringan yang digunakan untuk menyebarkan aplikasi berbasis Java. Ini dapat digunakan sebagai server mandiri atau digabungkan dengan server lain seperti Apache dan Nginx. Ini menyediakan fungsionalitas yang diperluas untuk berinteraksi dengan Java Servlet dan juga mengimplementasikan beberapa spesifikasi teknis dari platform Java. Saat ini, Tomcat adalah salah satu server aplikasi Java yang paling banyak digunakan.

Dalam tutorial ini, saya akan menunjukkan cara menginstal Tomcat 9 dengan Nginx di Debian 10.

Prasyarat

  • Server yang menjalankan Debian 10.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server Anda.

Memulai

Sebelum memulai, ada baiknya untuk memperbarui cache APT Anda ke versi terbaru. Anda dapat memperbaruinya dengan menjalankan perintah berikut:

apt-get update -y

Setelah cache paket sistem Anda diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Java

Tomcat adalah aplikasi berbasis java sehingga Java harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan perintah berikut:

apt-get install default-jdk -y

Setelah Java diinstal, Anda dapat memverifikasi versi Java dengan perintah berikut:

java --version

Anda akan mendapatkan output berikut:

openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal Tomcat

Pertama, Anda perlu membuat pengguna khusus untuk menjalankan server Tomcat. Anda dapat membuatnya dengan perintah berikut:

useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Selanjutnya, unduh versi terbaru Tomcat menggunakan perintah berikut:

wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:

tar -xvzf apache-tomcat-9.0.45.tar.gz

Selanjutnya pindahkan direktori hasil ekstrak ke /opt dengan perintah berikut:

mv apache-tomcat-9.0.45 /opt/tomcat/tomcat

Selanjutnya, atur izin dan kepemilikan yang tepat dengan perintah berikut:

chown -R tomcat:tomcat /opt/tomcat/tomcat
chmod -R 755 /opt/tomcat/tomcat

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Buat File Layanan Systemd untuk Tomcat

Selanjutnya, Anda perlu membuat file layanan systemd untuk mengelola layanan Tomcat. Anda dapat membuatnya dengan perintah berikut:

nano /etc/systemd/system/tomcat.service

Tambahkan baris berikut:

[Unit]
Description=Tomcat 9.0 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/tomcat"
Environment="CATALINA_HOME=/opt/tomcat/tomcat"
Environment="CATALINA_PID=/opt/tomcat/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Simpan dan tutup file kemudian muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan Tomcat dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start tomcat
systemctl enable tomcat

Anda juga dapat memverifikasi status Tomcat dengan perintah berikut:

systemctl status tomcat

Anda akan mendapatkan output berikut:

? tomcat.service - Tomcat 9.0 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-04-14 05:41:21 UTC; 42s ago
  Process: 5784 ExecStart=/opt/tomcat/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5791 (java)
    Tasks: 30 (limit: 4701)
   Memory: 159.1M
   CGroup: /system.slice/tomcat.service
           ??5791 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/tomcat/conf/logging.properties -Djava.util.log

Apr 14 05:41:21 debian systemd[1]: Starting Tomcat 9.0 servlet container...
Apr 14 05:41:21 debian startup.sh[5784]: Tomcat started.
Apr 14 05:41:21 debian systemd[1]: Started Tomcat 9.0 servlet container.

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Antarmuka Web Tomcat

Selanjutnya, Anda perlu menentukan pengguna untuk mengakses antarmuka web Tomcat. Anda dapat mendefinisikannya menggunakan file Tomcat-users.xml:

nano /opt/tomcat/tomcat/conf/tomcat-users.xml

Temukan bagian dan tambahkan atau ubah baris berikut:

  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <user username="tomcatadmin" password="password" roles="admin-gui,manager-gui"/>

Simpan dan tutup file setelah Anda selesai.

Secara default, antarmuka web Tomcat dikonfigurasi untuk mengakses hanya dari localhost. Jadi, Anda perlu mengonfigurasinya untuk akses eksternal.

Untuk aplikasi Manajer, edit baris berikut:

nano /opt/tomcat/tomcat/webapps/manager/META-INF/context.xml

Untuk aplikasi Host Manager, edit file berikut:

nano /opt/tomcat/tomcat/webapps/host-manager/META-INF/context.xml

Hapus baris berikut:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Simpan dan tutup file, lalu mulai ulang layanan Tomcat untuk menerapkan perubahan:

systemctl restart tomcat

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Nginx untuk Tomcat

Selanjutnya, Anda perlu menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk Tomcat. Pertama, instal paket Nginx dengan perintah berikut:

apt-get install nginx -y

Setelah Nginx diinstal, Anda perlu membuat file konfigurasi virtual host Nginx baru untuk Tomcat. Anda dapat membuatnya menggunakan perintah berikut:

nano /etc/nginx/conf.d/tomcat.conf

Tambahkan baris berikut:

server {
  listen          80;
  server_name     tomcat.example.com;
  root            /opt/tomcat/tomcat/webapps/;


  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

Simpan dan tutup file kemudian verifikasi Nginx untuk kesalahan sintaks:

nginx -t

Anda akan melihat output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Selanjutnya, verifikasi status layanan Nginx dengan perintah berikut:

systemctl status nginx

Anda akan melihat output berikut:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-04-14 05:57:03 UTC; 1min 38s ago
     Docs: man:nginx(8)
  Process: 6852 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6853 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6854 (nginx)
    Tasks: 3 (limit: 4701)
   Memory: 4.0M
   CGroup: /system.slice/nginx.service
           ??6854 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6855 nginx: worker process
           ??6856 nginx: worker process

Apr 14 05:57:03 debian systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 14 05:57:03 debian systemd[1]: Started A high performance web server and a reverse proxy server.

Pada titik ini, Nginx dikonfigurasi untuk mengakses Tomcat. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Mengakses UI Web Tomcat

Sekarang, buka browser web Anda dan akses UI web Tomcat menggunakan URL http://tomcat.example.com . Anda akan melihat halaman berikut:

Klik Pengelola Aplikasi , Anda akan melihat halaman berikut:

Berikan nama pengguna, kata sandi admin Aplikasi Manajer Anda, dan klik tombol Masuk tombol. Anda akan melihat halaman berikut:

Anda juga dapat mengeklik Pengelola Host untuk mengakses Aplikasi Host Manager seperti yang ditunjukkan di bawah ini:

Kesimpulan

Selamat! Anda telah berhasil menginstal Tomcat dengan Nginx sebagai proxy terbalik di Debian 10. Sekarang Anda dapat menerapkan aplikasi Java Anda dengan mudah dengan Tomcat. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Debian
  1. Cara Menginstal Apache ZooKeeper di Debian 10

  2. Cara Menginstal Yii Framework di VPS Debian dengan Nginx

  3. Cara Menginstal Odoo 11 di Debian 9 dengan Nginx sebagai Proxy Terbalik

  1. Cara Instal Apache Cassandra di Debian 11

  2. Cara Menginstal Odoo 12 di Debian 10 dengan Nginx sebagai Proxy Terbalik

  3. Cara Menginstal WonderCMS dengan Nginx di Debian 11

  1. Cara Menginstal Apache Tomcat di Debian 11 (Langkah demi Langkah)

  2. Cara Menginstal GlassFish dengan Nginx sebagai Reverse Proxy di Debian 10

  3. Cara Install WildFly dengan Nginx sebagai Reverse Proxy di Debian 10