Tag: Tomcat 8


Apache Tomcat 8 asennus virtuaalipalvelimelle


Apache Tomcat 8 asennus virtuaalipalvelimelle

 

Tavoitteena oli asentaa Apache Tomcat 8 Palvelinohjelmoinnin kurssin harjoitustöiden esittelyä varten. Lähtötilanteessa käytössä oli virtuaalipalvelin, jossa oli asennettuna Ubuntu 16.04 LTS käyttöjärjestelmä ja LAMP-stack

WordPress-sisällönhallintajärjestelmää varten. Lähteenä käytettiin DigitalOceanin mainiota tutoriaalia.

 

Esivalmistelut

Tomcat vaatii Java Development Kitin asennuksen, joten se asennettiin ensimmäisenä.

$ sudo apt-get update
$ sudo apt-get install default-jdk

Seuraavaksi luotiin oma käyttäjä Tomcatille. Käyttäjä luotiin turvallisuussyistä ilman sudo-oikeuksia sekä mahdollisuuksia kirjautua sisään. Käyttäjän kotihakemistoksi annettiin /opt/tomcat/, minne Tomcat ohjelmisto asennettaisiin.

$ sudo groupadd tomcat
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Tomcat 8 asennus

Seuraavaksi haettiin Tomcat 8 uusimman version osoite ohjelman lataussivuilta. Asennusta varten ladattiin Core version tar.gz -paketti.

$ cd /tmp
$ curl -O http://www.nic.funet.fi/pub/mirrors/apache.org/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz
$ sudo mkdir /opt/tomcat
$ sudo tar xzvf apache-tomcat-8.5.20.tar.gz -C /opt/tomcat --strip-components=1

Kansioiden käyttöoikeudet

Tämän jälkeen päivitettiin kansioiden käyttäjäoikeuksia. käyttäjälle tomcat annettiin omistajuus koko asennuskansiolle. tomcat-ryhmälle annettiin lukuoikeus conf-kansioon ja sen sisältöön ja suoritusoikeus itse kansioon.

Lopuksi tomcat käyttäjälle annetaan omistajuus kansioille webapps, work, temp ja logs.

$ sudo chgrp -R tomcat /opt/tomcat

$ sudo chmod -R g+r conf

$ sudo chmod g+x conf

$ sudo chown -R webapps/ work/ temp/ logs/

systemd asetukset

systemd asetuksia muokkaamalla Tomcat 8:a voidaan ajaa palveluna ja se voidaan asettaa käynnistymään automaattisesti. Tomcatille täytyy myös kertoa, mihin kansioon Java on asennettu (JAVA_HOME -polku)

$ sudo update-java-alternatives -l

Tarvittava JAVA_HOME polku oli kuvan mukainen polku, jonka perään liitettäisiin /jre kansio eli tässä tapauksessa:

/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre

Seuraavaksi luotiin Tomcat 8 asetukset systemd kansioon

$ sudoedit /etc/systemd/system/tomcat.service

Tiedoston sisältöön kopioitiin seuraavat tiedot, varmistaen että JAVA_HOME muuttuja viittasi oikeaan kansioon.

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

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

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

 

Seuraavaksi käynnistettiin Tomcat palvelu ja testattiin sen toimivuutta.

$ sudo systemctl daemon-reload
$ sudo systemctl start tomcat
$ sudo systemctl status tomcat

 

Palomuurin konfigurointi ja Tomcat serverin testaus

Tomcat käyttää porttia 8080, joka avattiin UFW-palomuurista liikennettä varten.

$ sudo ufw allow 8080

Tämän jälkeen voitiin testata serverin toimintaa siirtymällä osoitteeseen http://serverinosoite:8080

Tomcatin oletuskotisivu saatiin näkyviin, joten asennus oli onnistunut.  Manager App ja Host Manager sivut eivät vielä toimineet,

koska ne vaativat asetusten muokkausta. Tässä vaiheessa voitiin kuitenkin asettaa Tomcat palvelu käynnistymään automaattisesti järjestelmän käynnistyessä.

$ sudo systemctl enable tomcat

Lisäasetukset

Manager App ja Host Manager hallintaa varten Tomcatille täytyi seuraavaksi luoda käyttäjiä. Kuten kotisivulla näkyy, käyttäjiä hallitaan $CATALINA_HOME/conf/tomcat-users.xml -tiedostossa.

$ sudoedit /opt/tomcat/conf/tomcat-users.xml

Luotavalle käyttäjälle annettiin roolit manager-gui ja admin-gui, jolloin käyttäjällä pääsee hallitsemaan Manager App ja Host Manager toiminnallisuuksia. Käyttäjätiedot luotiin tomcat-users.xml -tiedostoon alla olevan kuvan mukaisesti

(luonnollisesti käyttäjätunnus ja salasana muutettiin…)

Oletusasetuksena Tomcat estää Manager App ja Host Manager toiminnallisuuksien käytön, jos niitä ohjataan suoraan serveriltä. Asetus otettiin pois päältä muokkaamalla kahta context.xml -tiedostoa.

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

Molemmista tiedostoista kommentoitiin ulos kuvan mukaiset kaksi riviä, jolloin Manager App ja Host Manager toiminnallisuuksia voi käyttää mistä tahansa. Vaihtoehtoisesti asetustiedostoista voi määritellä halutut IP-osoitteet, jotka voivat käyttää toiminnallisuuksia.

Asetusten muokkaamisen jälkeen Tomcat palvelu käynnistettiin uudestaan.

$ sudo systemctl restart tomcat

Tämän jälkeen sekä Manager App että Host Manager toimivat annetuilla käyttäjätunnuksilla. /opt/tomcat/webapps -kansioon siirretyt .war tiedostot voitiin ottaa käyttöön Manager App:in kautta.

 

 

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Simo Suominen