Skip to content

PiGrows Server

Jérôme Blanchard edited this page Jan 26, 2018 · 20 revisions

Installation

Prérequis

  • Ubuntu 16.04 LTS
  • Java 8
  • Tomcat 8.0.xx
  • Git
  • Pigrows Source
  • Apache maven

Installation Java 8 sur ubuntu

[source : https://tecadmin.net/install-oracle-java-8-ubuntu-via-ppa/#]

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Pour vérifier l'installation :

java -version

Creation d'un user pigrows

sudo useradd pigrows
sudo passwd pigrows

Installation de maven

cd /opt
sudo wget http://apache.mindstudios.com/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
sudo tar -xvzf apache-maven-3.5.2-bin.tar.gz && rm -rf apache-maven-3.5.2-bin.tar.gz
sudo ln -s /opt/apache-maven-3.5.2 maven
sudo chown -R pigrows:users ./apache-maven-3.5.2
sudo nano /etc/environment

Modifier le fichier pour inclure maven dans le path

PATH="/opt/maven/bin:/usr/local/sbin:  <...> " 

Après cette modification il faut se délogger et se relogger pour que les modifications prennent effets ou bien

source /etc/environment #à refaire dans chaque nouveau shell

Pour tester l'installation de maven et java faire

mvn --version

Normalement si tout vas bien (à quelques numéros près)

Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T21:39:06+02:00)
Maven home: /opt/maven
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: fr_FR, platform encoding: UTF-8
OS name: "linux", version: "4.10.0-42-generic", arch: "amd64", family: "unix"

Installation de tomcat

[source : https://www.techrepublic.com/article/how-to-install-apache-tomcat-on-ubuntu-server-16-04/]

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/apache-tomcat-8.0.47 tomcat
cd /opt
sudo wget http://wwwftp.ciril.fr/pub/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.tar.gz
sudo tar -xvzf apache-tomcat-8.0.47.tar.gz && rm -rf apache-tomcat-8.0.47.tar.gz
sudo ln -s /opt/apache-tomcat-8.0.47.tar.gz tomcat
cd tomcat
sudo chgrp -R tomcat *
sudo chown -R pigrows *
sudo chmod g+rwx conf/
sudo chmod g+r conf/*
sudo chmod -R g+rwx work/ logs/ temp/
sudo mkdir pigrows
sudo chown pigrows:tomcat pigrows
sudo chmod g+rwx pigrows

Vérifier l'emplacement du jdk installé précédemment

sudo update-alternatives --config java

Normalement "/usr/lib/jvm/java-8-oracle/jre" est le JAVAHOME

Editer un fichier de configuration tomcat

sudo nano /etc/systemd/system/tomcat.service

Si votre JAVAHOME est différent, modifier le contenu en fonction

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

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-8-oracle/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

Recharger la configuration

sudo systemctl daemon-reload

Démarrer tomcat

​sudo systemctl start tomcat

Vérifier le status de tomcat

sudo systemctl status tomcat

Vérifier que tomcat fonctionne sur l'url http://localhost:8080

Configuration de SSL (certificat autosigné)

[source : http://www.mkyong.com/tomcat/how-to-configure-tomcat-to-support-ssl-or-https/]

cd /opt/tomcat/bin
sudo keytool -genkey -alias pigrows -keyalg RSA -keystore /opt/tomcat/bin/keystore
sudo chown pigrows:tomcat keystore

Mémoriser le mot de passe puis éditer le fichier de configuration de tomcat

sudo nano /opt/tomcat/conf/server.xml

Localiser la partie concernant la configuration du connecteur avec le port 8443 et ajouter les informations liées au keystore

//...
<!-- Define a SSL HTTP/1.1 Connector on port 8443
    This connector uses the JSSE configuration, when using APR, the
    connector should be using the OpenSSL style configuration
    described in the APR documentation -->

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
          maxThreads="150" scheme="https" secure="true"
          clientAuth="false" sslProtocol="TLS"
       keystoreFile="/opt/tomcat/bin/keystore" keyAlias="pigrows" 
       keystorePass="changeme" keyPass="changeme"/>
//...

Redémarrer tomcat et tester l'accès à l'url http://localhost:8443

Afin de ne pas utiliser de server reverse proxy, il est possible de faire tourner tomcat directement sur les ports 80 et 443.

Récupération du code source de Pigrows Server et compilation

Log as pigrows user

sudo apt-get install git-core
cd ~
git clone git@github.com:jayblanc/pigrows.git
cd pigrows
mvn package
cp ./target/pigrows-1.0.war /opt/tomcat/webapps/

L'application va être déployée par tomcat. Il est possible de suivre les logs dans une autre fenêtre de shell avec la commande :

tail -f /opt/tomcat/logs/catalina.out

Tester l'application (pour le localhost)

http://localhost:8080/pigrows
https://localhost:8443/pigrows