Memasang Apache Tomcat secara aman di CentOS


Tanggal publikasi:

Diperbarui:


Artikel teknis > Memasang Apache Tomcat secara aman di CentOS

Konteks 2026 dan penggunaan yang aman

Kesimpulan: Pilih keluarga Tomcat yang didukung dan kompatibel JDK pertama, lalu jalankan sebagai pengguna non-login yang berdedikasi di bawah unit sistematis yang diulas. Menjaga konfigurasi dan aplikasi yang dicantumkan terpisah dari binari yang tidak dapat bermutasi, dan hanya mengekspos arsitektur konektor yang Anda butuhkan.

Yang akan Anda pelajari

  • Bagaimana kompatibilitas Java, sumber instalasi, identitas layanan, kepemilikan berkas, log, dan urutan startup cocok bersama.
  • Mengapa tumpukan warisan tetap dan bendera GC tidak boleh disalin tanpa pengukuran.
  • Cara membedakan tata letak paket Ventos 7 asli dari penyebaran yang didukung saat ini.

Untuk siapa ini: Administrator Linux mempertahankan atau migrasi layanan Tomcat.

Konteks 2026: Jalan-jalan di bawah ini mencerminkan paket Centos 7 / Tomcat yang lebih tua dan termasuk opsi JVM yang dapat dihapus atau tidak sesuai pada Java saat ini. Tomcat 7 adalah akhir dari kehidupan; verifikasi matriks versi resmi, gunakan percabangan yang didukung, dan tinjau unit layanan dan izin yang tepat sebelum penggunaan produksi.

Catatan keamanan: Contoh perintah dan konfigurasi dalam artikel asli belum dijalankan ulang dalam lingkungan produksi saat ini. Verifikasi versi yang didukung, cadangan, kendali akses, dan langkah rollback dalam lingkungan tes yang terpisah sebelum menerapkannya.

Sumber resmi utama

Ikhtisar

Ini adalah prosedur konfigurasi awal yang diperlukan untuk menginstal dan memulai Tomcat pada CentOS. Informasi ini didasarkan pada asumsi bahwa CentOS7 digunakan.

Silakan merujuk ke informasi mengenai Apache linkage dan mengubah tujuan output log.

Versinya adalah sebagai berikut.

Versi CentOS7.6 (1810)
Versi Apache2.4.6
Versi Tomcat7.0.76
Versi Jawa.OpenJDK 1.8.0_272 64bit

Daftar isi

  1. pasang
  2. pengaturan dasar
  3. ringkasan

1. pasang

Bagian ini menjelaskan konfigurasi Tomcat dari instalasi hingga start-up.

1-1. Menginstal Tomcat

Lakukan instalasi Tomcat dengan menggunakan perintah yum. Lakukan pekerjaan sebagai pengguna root.

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install tomcat

2. pengaturan dasar

Bagian ini menjelaskan konfigurasi Tomcat dari instalasi hingga start-up. "/usr/share/tomcat" dibuat oleh yum seperti yang dijelaskan sebelumnya. Di sini, Anda akan menemukan tautan pintasan seperti folder untuk file konfigurasi, dll., yang bisa Anda modifikasi.

2-1. Pengaturan jalur Tomcat

Dengan kata lain di Windows, ini adalah prosedur untuk mengatur variabel lingkungan.

Hal ini tidak diperlukan jika tomcat.conf berisi pengaturan "CATALINA_HOME="/usr/share/tomcat"". Periksa '/usr/share/tomcat/conf/tomcat.conf'.

Jika "CATALINA_HOME="/usr/share/tomcat"" tidak ada, tambahkan dengan menggunakan prosedur berikut.

[root@hostname ~]# vi /etc/profile

Tambahkan yang berikut ini di bagian akhir.

profile


CATALINA_HOME=/usr/share/tomcat
export CATALINA_HOME

Ini melengkapi spesifikasi variabel lingkungan Tomcat.

Pengaturan Java untuk menjalankan Tomcat juga diperlukan, jadi jika pengaturan Java path belum dibuat, silakan lihat berikut ini untuk pengaturannya.

Memasang OpenJDK pada CentOS dan memilih runtime Java default

Ini juga dapat diinstal dengan menjalankan 'yum install java-1.8.0-openjdk'.

2-2. pemeriksaan bootstrap

Periksa apakah Tomcat dimulai.

Jika Anda menginstal Tomcat dengan yum, tidak ada html untuk halaman beranda Tomcat, jadi instal html terlebih dahulu.

[root@hostname ~]# yum -y install tomcat-webapps

Kemudian aktifkan firewall. Nomor port default untuk Tomcat adalah 8080, jadi buka port 8080.

[root@hostname ~]# firewall-cmd --permanent --zone=public --add-port=8080/tcp
[root@hostname ~]# firewall-cmd --reload
[root@hostname ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Jika tertulis 'ports: 8080/tcp', itu OK. Mulai Tomcat.

[root@hostname ~]# tomcat start

Diakses melalui browser. Dalam kasus saya, alamat IP server adalah 192.168.50.10, jadi saya mengakses "http://192.168.50.10:8080/". Tidak apa-apa jika halaman berikut ini muncul

Layar atas Tomcat

Karena start-up telah berhasil dikonfirmasi, Tomcat dihentikan.

[root@hostname ~]# tomcat stop

2-3. Pengaturan tautan Apache dan Tomcat Catatan: Ketika Apache dan Tomcat dihubungkan.

Konfigurasikan integrasi ini jika Apache HTTP Server ditempatkan di depan Tomcat. Tomcat dapat melayani HTTP tanpa Apache, tetapi reverse proxy terpisah dapat menangani konten statis, TLS, dan modul Apache yang diperlukan oleh sistem.

Lihat di bawah ini untuk petunjuk instalasi Apache.

Memasang Apache HTTP Server secara aman di CentOS

Di bawah ini adalah prosedur untuk mengubah konfigurasi pada sisi Apache. Ini adalah konfigurasi untuk meneruskan permintaan yang datang ke Apache ke Tomcat. Deskripsi ini mengasumsikan bahwa ada berkas konfigurasi Apache di bawah '/etc/httpd/'.

[root@hostname ~]# vi /etc/httpd/conf/httpd.conf

Tambahkan pernyataan berikut ke akhir "httpd.conf".

httpd.conf


<Location / >
  ProxyPass ajp://localhost:8009/
  Order allow,deny
  Allow from all
</Location>

Aktifkan modul berikut jika belum tersedia dengan menghapus tanda komentar # pada baris yang sesuai.

• LoadModule proxy_module modules/mod_proxy.so

• LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Mulai Apache (mulai ulang jika sudah dimulai) dan Tomcat.

[root@hostname ~]# apachectl stop
[root@hostname ~]# apachectl start
[root@hostname ~]# tomcat start

Diakses melalui browser. Dalam kasus saya, alamat IP server adalah 192.168.50.10, jadi saya mengakses "http://192.168.50.10/".

Tidak apa-apa jika halaman berikut ini muncul

Layar atas Tomcat

Karena start-up telah berhasil dikonfirmasi, Tomcat dihentikan.

[root@hostname ~]# tomcat stop

Diagram menunjukkan akses-akses berikut ini.

Diagram akses ke Tomcat

Kebetulan, satu langkah sebelumnya diakses sebagai berikut.

Diagram akses ke Tomcat

2-4. Konfigurasi java heap dan gc log.

Java heap adalah memori Java dan log gc adalah log tentang memori Java. Java menggunakan sejumlah memori yang diatur sebagai heap untuk pemrosesan. Keduanya ditetapkan sebagai opsi dalam perintah startup Java. Ini diatur dalam "tomcat.conf".

[root@hostname ~]# vi /usr/share/tomcat/conf/tomcat.conf

Informasi berikut ditambahkan pada akhir bagian ini.

CATALINA_OPTS="-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX:+PrintGCDetails"

Mulai Tomcat dan jalankan perintah ps untuk melihat nilai yang ditetapkan (-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX ) ditampilkan, berarti OK.

[root@hostname ~]# tomcat start
[root@hostname ~]# ps aux | grep java
/usr/lib/jvm/jre/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX:+PrintGCDetails -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start

Konfigurasi di atas memulai Tomcat dengan memori 256M. Di atas 256 M, pengaturan ditetapkan untuk tidak menggunakan memori.

Sedangkan untuk log gc, diatur untuk membuat file log di bawah "/var/log/tomcat/" dengan "gc.log".

Pembuatan direktori "/var/log/tomcat/" dilakukan dalam langkah-langkah berikut.

2-5. Mengubah pengaturan pencatatan

Buat direktori log dan ubah jalur output log untuk Tomcat. Pengaturan terkait logging dapat ditemukan di '/usr/share/tomcat/conf/logging.properties' dan '/usr/share/tomcat/conf/server.xml'.

Di bawah ini adalah pembuatan direktori.

[root@hostname ~]# mkdir /var/log/tomcat
[root@hostname ~]# chmod 755 /var/log/tomcat

Buat direktori dan atur permission ke 755. (Tomcat dapat menulis log, tetapi pengguna lain hanya memiliki izin read-only)

Kemudian memodifikasi 'logging.properties'.

[root@hostname ~]# vi /usr/share/tomcat/conf/logging.properties

Amandemen sebagai berikut.

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = /var/log/tomcat
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = /var/log/tomcat
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = /var/log/tomcat
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = /var/log/tomcat
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.


Kemudian memodifikasi 'server.xml'.

[root@hostname ~]# vi /usr/share/tomcat/conf/server.xml

Amandemen sebagai berikut.

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/tomcat"

prefix="localhost_access" suffix=".txt"
pattern="combined" />

2-6. Pengaturan start-up otomatis

Akhirnya, meskipun tidak wajib, sulit untuk memulai server setiap kali server di-restart, sehingga pengaturan dimasukkan sehingga Tomcat dimulai secara otomatis ketika server dimulai. Harap dicatat bahwa prosedur ini untuk CentOS7, jadi jika Anda menggunakan apa pun selain CentOS7, Anda perlu menggunakan perintah Service untuk menangani hal ini.

[root@hostname ~]# systemctl enable tomcat
[root@hostname ~]# systemctl is-enabled tomcat
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep tomcat
tomcat.service                                enabled
[root@hostname ~]# systemctl daemon-reload

2-7. Pengaturan transmisi surat

Ini adalah pengaturan yang tidak perlu jika Anda tidak menggunakan Tomcat untuk mengirim email. Jika Anda mengimplementasikan proses pengiriman email di Java, silakan lihat konfigurasi.

Pertama, tambahkan file JAR. Tempatkan JAR berikut di bawah lib tomcat (/usr/share/tomcat/lib/) dan cocokkan izinnya dengan lib lainnya.

• javax.activation-1.2.0.jar

• javax.mail.jar

Modifikasi 'context.xml'.

[root@hostname ~]# vi /usr/share/tomcat/conf/context.xml

Tambahkan yang berikut ini ke akhir context.xml.

<Context>
    <Resource name="mail/Session" auth="Container"
              type="javax.mail.Session"
              />
</Context>


3. ringkasan

Kami telah menjelaskan konfigurasi awal yang diperlukan ketika Tomcat diinstal.

Tomcat pada dasarnya bekerja sampai batas tertentu dengan pengaturan default, tetapi jika Anda benar-benar ingin mengkustomisasinya, akan berguna nantinya untuk mengatur pengaturan tujuan output log dan perintah auto-start.

Semoga penjelasan ini membantu.