Apache Tomcat veilig installeren op CentOS


Datum van publicatie:

Bijgewerkt:


Artikelen > Apache Tomcat veilig installeren op CentOS

2026 status en veilig gebruik

Conclusie: Kies eerst een ondersteunde Tomcat-familie en compatibele JDK, en voer het vervolgens uit als een toegewijde niet-login gebruiker onder een gereviewde systeemeenheid. Houd configuratie en geïmplementeerde toepassingen gescheiden van onveranderlijke binaire bestanden, en ontmasker alleen de connector architectuur die u nodig hebt.

Wat je zult leren

  • Hoe Java compatibiliteit, installatiebron, service-identiteit, bestandseigendom, logs en opstartorder bij elkaar passen.
  • Waarom vaste legacy hoop en GC vlaggen niet moeten worden gekopieerd zonder metingen.
  • Hoe de originele CentOS 7 pakketindeling te onderscheiden van een huidige ondersteunde implementatie.

Voor wie: Linux-beheerders onderhouden of migreren een Tomcat-service.

Actualisatie voor 2026: De walkthrough hieronder weerspiegelt een ouder CentOS 7/Tomcat pakket en bevat JVM opties die kunnen worden verwijderd of ongepast op de huidige Java. Tomcat 7 is het einde van de levensduur; verifieer de officiële versiematrix, gebruik een ondersteunde tak en bekijk de exacte service-eenheid en permissies voor productiegebruik.

Veiligheidsopmerking: de opdrachten en configuratievoorbeelden uit het oorspronkelijke artikel zijn niet opnieuw in een moderne productieomgeving uitgevoerd. Controleer ondersteunde versies, back-ups, toegangsbeheer en terugrolstappen eerst in een afzonderlijke testomgeving.

Officiële primaire bronnen

Overzicht

Dit is de initiële configuratieprocedure die nodig is om Tomcat op CentOS te installeren en te starten. De informatie is gebaseerd op de veronderstelling dat CentOS7 wordt gebruikt.

Zie de informatie over Apache koppeling en het wijzigen van de log uitvoerbestemming.

De versies zijn als volgt.

CentOS versie7.6 (1810)
Apache-versie2.4.6
Tomcat versie7.0.76
Java Versie.OpenJDK 1.8.0_272 64bit

Inhoudsopgave

  1. installeer
  2. basisinstelling
  3. samenvatting

1. installeer

Deze sectie beschrijft de configuratie van Tomcat vanaf de installatie tot het opstarten.

1-1. Tomcat installeren

Voer de installatie van Tomcat uit met behulp van het yum commando. Voer het werk uit als root gebruiker.

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

2. basisinstelling

Deze sectie beschrijft de configuratie van Tomcat vanaf de installatie tot het opstarten. De "/usr/share/tomcat" wordt door yum aangemaakt zoals eerder beschreven.

Hier vindt u snelkoppelingen zoals mappen voor configuratiebestanden, enz. die u kunt wijzigen.

2-1. Tomcat pad instellingen

Met andere woorden, in Windows is het de procedure voor het instellen van omgevingsvariabelen.

Dit is niet nodig als de tomcat.conf de instelling "CATALINA_HOME="/usr/share/tomcat"" bevat.

Controleer '/usr/share/tomcat/conf/tomcat.conf'.

Als "CATALINA_HOME="/usr/share/tomcat"" ontbreekt, voeg het dan toe met de volgende procedure.

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

Voeg aan het eind het volgende toe.

profile


CATALINA_HOME=/usr/share/tomcat
export CATALINA_HOME

Dit vervolledigt de specificatie van de Tomcat omgevingsvariabelen.

Java instellingen voor het draaien van Tomcat zijn ook nodig, dus als de Java pad instellingen niet zijn gemaakt, raadpleeg dan het volgende voor de instellingen.

Java installeren op CentOS en paden instellen

Het kan ook geïnstalleerd worden door 'yum install java-1.8.0-openjdk' uit te voeren.

2-2. opstartcontrole

Controleer of Tomcat start.

Als je Tomcat installeert met yum, is er geen html voor de Tomcat home pagina, dus installeer eerst de html.

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

Activeer dan de firewall. Het standaard poortnummer voor Tomcat is 8080, dus open poort 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:

Als er 'poorten: 8080/tcp' staat, is het OK. Start Tomcat.

[root@hostname ~]# tomcat start

Toegang via browser. In mijn geval is het IP adres van de server 192.168.50.10, dus ik ga naar "http://192.168.50.10:8080/".

Het is OK als de volgende pagina verschijnt

Tomcat bovenste scherm

Aangezien de opstart met succes is bevestigd, wordt Tomcat gestopt.

[root@hostname ~]# tomcat stop

2-3. Apache en Tomcat koppelingsinstellingen Opmerking: Wanneer Apache en Tomcat gekoppeld zijn.

Stel dit in als u wilt dat Apache en Tomcat samenwerken. Tomcat kan als webserver draaien zonder Apache erin, maar het heeft om verschillende redenen voordelen om met Apache te werken, zoals het nut van Apache's module-functie en de mogelijkheid om statische inhoud sneller te laten reageren.

Zie hieronder voor Apache installatie-instructies.

Apache HTTP Server veilig installeren op CentOS

Hieronder staat de procedure voor het wijzigen van de configuratie aan de Apache kant. Dit is een configuratie om verzoeken die op Apache binnenkomen aan Tomcat door te geven.

De beschrijving gaat ervan uit dat er een Apache-configuratiebestand is onder "/etc/httpd/".

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

Voeg de volgende verklaring toe aan het einde van "httpd.conf".

httpd.conf


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

Als voorwaarde moeten de volgende modules ingeschakeld zijn, als ze dat nog niet zijn. (uncomment out #).

• LoadModule proxy_module modules/mod_proxy.so

• LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Start Apache (herstart indien reeds gestart) en Tomcat.

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

Toegang via browser. In mijn geval is het IP adres van de server 192.168.50.10, dus ik ga naar "http://192.168.50.10/".

Het is OK als de volgende pagina verschijnt

Tomcat bovenste scherm

Aangezien de opstart met succes is bevestigd, wordt Tomcat gestopt.

[root@hostname ~]# tomcat stop

Het schema toont de volgende toegangen.

Toegangsdiagram naar Tomcat

Overigens, de vorige stap werd als volgt benaderd.

Toegangsdiagram naar Tomcat

2-4. Configuratie van java heap en gc logs.

Java heap is Java geheugen en gc logs zijn logs over Java geheugen.

Java gebruikt een vaste hoeveelheid geheugen die als een heap is opgezet voor verwerking. Beide zijn ingesteld als opties in het Java startup commando. Dit is ingesteld in "tomcat.conf".

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

De volgende informatie wordt aan het einde van dit hoofdstuk toegevoegd.

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

Start Tomcat en voer het ps commando uit om de ingestelde waarden te zien (-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX :+PrintGCDetails) wordt weergegeven, is het 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

De bovenstaande configuratie start Tomcat op met 256M geheugen. Boven 256 M is de instelling zo ingesteld dat er geen geheugen wordt gebruikt.

Wat de gc log betreft, deze is ingesteld om een logbestand aan te maken onder "/var/log/tomcat/" met "gc.log".

Het aanmaken van de directory "/var/log/tomcat/" gebeurt in de volgende stappen.

2-5. Logging-instellingen wijzigen

Maak een log directory aan en verander het log uitvoer pad voor Tomcat. Logging-gerelateerde instellingen zijn te vinden in '/usr/share/tomcat/conf/logging.properties' en '/usr/share/tomcat/conf/server.xml'.

Hieronder is de map gemaakt.

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

Maak een directory aan en stel de rechten in op 755. (Tomcat kan logs schrijven, maar andere gebruikers hebben alleen leesrechten)

Wijzig dan 'logging.properties'.

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

Als volgt te wijzigen.

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.


Wijzig dan 'server.xml'.

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

Als volgt te wijzigen.

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

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

2-6. Automatische opstart instelling

Tenslotte, hoewel het niet verplicht is, is het moeilijk om de server elke keer te starten als hij opnieuw wordt opgestart, dus is er een instelling ingebracht zodat Tomcat automatisch start als de server wordt opgestart.

Merk op dat deze procedure is voor CentOS7, dus als u iets anders gebruikt dan CentOS7, zult u het Service commando moeten gebruiken om dit af te handelen.

[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. Instellingen voor verzending van e-mail

Dit is een onnodige instelling als u Tomcat niet gebruikt om emails te versturen. Indien u een e-mail verzendproces in Java implementeert, raadpleeg dan de configuratie.

Voeg eerst het JAR-bestand toe. Plaats het in de Tomcat-bibliotheekmap (/usr/share/tomcat/lib/) en geef het dezelfde rechten als de andere bibliotheken.

• javax.activation-1.2.0.jar

• javax.mail.jar

Wijzig 'context.xml'.

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

Voeg het volgende toe aan het einde van context.xml.

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


3. samenvatting

We hebben de initiële configuratie beschreven die nodig is wanneer Tomcat wordt geïnstalleerd.

Tomcat werkt in principe tot op zekere hoogte met de standaardinstellingen, maar als u het echt wilt aanpassen, is het later handig om logboekuitvoerbestemmingsinstellingen en auto-start commando's in te stellen.

■INFORMATION

Artikelen


■PROFILE

Profiel


■Contact

Contact