V tomto tutoriálu se naučíme, jak nainstalovat aplikační kontejner Apache Tomcat 8 do RHEL 8 / CentOS 8. Použijeme balíček zip, který lze stáhnout z webu Apache Tomcat. Protože tento balíček nezvládne nastavení prostředí, vytvoříme jej z příkazového řádku.
V tomto tutoriálu se naučíte:
- Jak nainstalovat Apache Tomcat ze souboru zip
- Jak vytvořit prostředí pro server Tomcat z příkazového řádku
- Jak přidat základní servisní soubor do systemd
- Jak povolit automatické spouštění, spouštění a zastavování serveru Tomcat
- Jak ověřit, že je Tomcat dosažitelný
Stránka s příklady obsluhovaná Apache Tomcat.
Požadavky na software a použité konvence
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | RHEL 8 / CentOS 8 |
Software | Apache Tomcat 8 |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Jak nainstalovat apache tomcat na Linux Redhat 8 pokyny krok za krokem
Nainstalujeme server Tomcat nikoli z rpm
balíček, ale zip
soubor, který stáhneme z oficiálních stránek. Proto uživatel, který bude server provozovat, cesty k souborovému systému a práva musí být nastaveny ručně. Při instalaci z rpm
je mnohem pohodlnější způsob, mohou nastat situace, kdy to není možné.
Nejtriviálnějším příkladem by bylo rpm
balíček není k dispozici, další může být, že aplikace, která poběží v kontejneru Tomcat, vyžaduje přesnou verzi tomcat, a ponecháním správce balíčků mimo instalaci je zajištěno, že aktualizace systému ponechají server Tomcat nedotčený. Samozřejmě to nemusí být optimální z hlediska zabezpečení.
Aby tato instalace fungovala, musíte mít na cílovém systému nainstalovanou Javu 1.8.
- Nejprve stáhneme a rozbalíme
zip
balík. Procházením webu ke stažení Tomcat 8 můžeme zkopírovat odkaz, který potřebujeme, a použítwget
v cílovém systému. Použijeme/opt
jako základní cestu instalace, protože je to běžné místo pro software instalovaný ručně. Přepneme se do tohoto adresáře:# cd /opt
A stáhněte si balíček přímo na tuto cestu:
# wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip --2019-01-02 18:06:00-- https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip Resolving www-us.apache.org (www-us.apache.org)... 40.79.78.1 Connecting to www-us.apache.org (www-us.apache.org)|40.79.78.1|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 10246390 (9.8M) [application/zip] Saving to: 'apache-tomcat-8.5.37.zip' apache-tomcat-8.5.37.zip 100%[================================================================================================================>] 9.77M 280KB/s in 23s 2019-01-02 18:06:24 (444 KB/s) - 'apache-tomcat-8.5.37.zip' saved [10246390/10246390]
Zrcadlo se může lišit podle umístění, pro optimální výkon použijte zrcátko, které je nejblíže vašemu umístění.
- Poté extrahujeme balíček pomocí
unzip
na místě:# unzip apache-tomcat-8.5.37.zip
- Vytváříme symbolický odkaz
/opt/tomcat
ukazující na/opt/apache-tomcat-8.5.37
:# ln -s /opt/apache-tomcat-8.5.37 /opt/tomcat
Tímto způsobem instalace další verze a přechod na ni je otázkou změny místa, kam symbolický odkaz ukazuje.
- Odstraníme původní
/opt/tomcat/logs
adresář a nahraďte jej symbolickým odkazem směřujícím na/var/log/tomcat
:# mkdir /var/log/tomcat # rmdir /opt/tomcat/logs # ln -s /var/log/tomcat /opt/tomcat/logs
Důvodem je ukládání všech protokolů pod
/var/log
kde se s úložištěm zachází se zatížením systému, a tedy s ohledem na velikosti souborů protokolu. Je dobrým zvykem ukládat data stejného typu na jedno místo a/var/log
je již místo systémových protokolových souborů. - Vytvoříme uživatele, který bude provozovat server, a nastavíme jej jako vlastníka požadovaných adresářů:
# useradd tomcat # chown -R tomcat:tomcat /opt/apache-tomcat-8.5.37 # chown -R tomcat:tomcat /var/log/tomcat
- Skriptům umístěným v
bin
přidáváme práva ke spouštění adresář:# chmod +x /opt/tomcat/bin/*.sh
- Vytváříme základní soubor služby
/etc/systemd/system/tomcat.service
prosystemd
s naším oblíbeným textovým editorem, jako jevi
nebonano
s následujícím obsahem:[Unit] Description=Tomcat After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat ExecStart=/opt/tomcat/bin/catalina.sh start ExecStop=/opt/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
- Znovu načteme
systemd
konfiguraci, tedysystemd
si všimne nového servisního souboru:# systemctl daemon-reload
- K Tomcatu budeme přistupovat na portu
8080
. Otevřeme port na firewallu
:# firewall-cmd --zone=public --add-port=8080/tcp --permanent
A znovu načtěte firewall:
# firewall-cmd --reload
- Žádáme
systemd
o nové službě:# systemctl status tomcatenable systemd service tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: inactive (dead)
- Jako
systemd
nyní ví o serice, můžeme ji spustit:# systemctl start tomcat
- Nakonec ověříme náš běžící server pomocí systemd:
# systemctl status tomcat tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2019-01-02 18:40:00 CET; 4s ago Process: 4854 ExecStop=/opt/tomcat/bin/catalina.sh stop (code=exited, status=0/SUCCESS) Process: 5529 ExecStart=/opt/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) Main PID: 5543 (java) Tasks: 47 (limit: 12544) Memory: 85.2M CGroup: /system.slice/tomcat.service ˪5543 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties [...]
Pokud otevřeme prohlížeč a zadáme
http://<name-or-ip-address-of-the-server>:8080/examples/
do adresního řádku bychom měli vidět oficiální příklady dodávané s balíčkem, které jsou poskytovány z našeho úspěšně nainstalovaného serveru Tomcat. - V případě potřeby můžeme povolit službě systemd, aby automaticky spustila náš server při spouštění:
# systemctl enable tomcat