# Installation

# Serverinstallation Windows

<p class="callout info">Der für die Squeeze-Server Installation notwendige Installer wird von der Firma Dexpro-Solutions GmbH auf Anfrage zur Verfügung gestellt.</p>

<p class="callout info">In Zukunft wird es ein entsprechendes Download-Portal geben, wo sowohl der Server - Installer als auch die Dateien für das Update auf die neueste Squeeze - Version heruntergeladen werden können.</p>

##### Installation Squeeze - Server

Squeeze kann auf jeder Partition eines Rechners installiert werden. Im Setup sind einige Pfade voreingestellt (D:.\\Squeeze).

Für die Installations-Dokumentation wird die Server-Installation mit Version 1.5.0 auf der C:\\ Partition durchgeführt.

Die Installation wird mit Doppelklick auf die Installer.exe gestartet und muss mit administrativen Benutzer-Rechten durchgeführt werden.

[![image-1584610173568.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584610173568.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584610173568.png)

[![image-1584610414269.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584610414269.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584610414269.png)

[![image-1584610292189.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584610292189.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584610292189.png)

[![image-1584610463733.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584610463733.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584610463733.png)

Nachdem der Server-Installer die erforderlichen Dateien in das angegebene Verzeichnis (C:\\Squeeze) entpackt hat, startet die Installation automatisch.

[![image-1584616545584.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584616545584.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584616545584.png)

Nachdem das initiale Setup abgeschlossen ist, sollten geprüft werden ob alle Dienste installiert worden sind und diese bereits gestartet wurden.

[![image-1584616915283.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584616915283.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584616915283.png)

<table border="1" id="bkmrk-dienstname-staus-01_" style="border-collapse: collapse; width: 100%; height: 174px;"><thead><tr style="height: 29px;"><td style="width: 27.4074%; height: 29px;">Dienstname</td><td style="width: 72.5926%; height: 29px;">Staus</td></tr></thead><tbody><tr style="height: 29px;"><td style="width: 27.4074%; height: 29px;">01\_SQUEEZE\_WebServer</td><td style="width: 72.5926%; height: 29px;">Wird ausgeführt</td></tr><tr style="height: 29px;"><td style="width: 27.4074%; height: 29px;">02\_SQUEEZE\_DB\_Server</td><td style="width: 72.5926%; height: 29px;">Wird ausgeführt</td></tr><tr style="height: 29px;"><td style="width: 27.4074%; height: 29px;">03\_SQUEEZE\_SearchEngine</td><td style="width: 72.5926%; height: 29px;">Wird ausgeführt</td></tr><tr style="height: 29px;"><td style="width: 27.4074%; height: 29px;">04\_SQUEEZE\_MessageQueue</td><td style="width: 72.5926%; height: 29px;">Wird ausgeführt</td></tr><tr style="height: 29px;"><td style="width: 27.4074%; height: 29px;">05\_SQUEEZE\_Worker</td><td style="width: 72.5926%; height: 29px;">nicht gestartet</td></tr></tbody></table>

<p class="callout info">Die Dienste 01 bis 04 sollten gestartet sein. Der Dienst 05 ist zu diesem Zeitpunkt nicht gestartet, dieser Dienst muss nach Abschluss der Server und - Mandanten-Konfiguration erst konfiguriert werden bis er gestartet werden kann.</p>

##### Konfiguration Squeeze - Server

Nachdem das eigentliche Server-Setup abgeschlossen ist, wird der Server konfiguriert. Dazu wird der Browser gestartet und in der Adresszeile des Browsers der gewünschte Mandanten-Name eingegeben.

<p class="callout info">Es können mehrere technische Mandanten auf einem Squeeze Server konfiguriert werden. Jeder Mandant hat sein eigenes Repository und eine eigene Datenbank.</p>

<p class="callout info">Im ausgelieferten Server-Setup ist bereits eine Lizenz für 300 Dokumente für den Mandanten localhost enthalten. </p>

Die Mandanten-Installation für localhost wird für diese Dokumentation verwendet. Dazu wird im Browser in der Adresszeile [http://localhost](http://localhost) eingegeben. Daraufhin startet die Konfiguration des Squeeze-Servermandanten:

[![image-1584627329054.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584627329054.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584627329054.png)

Mit dem Button Next wird der nächste Dialog zur Konfiguration der Datenbank geöffnet, hier kann wahlweise zwischen MYSQL (MariaDB) und Microsoft SQL Server entschieden werden.

<p class="callout info">Wenn MS SQL gewählt wird dann ist der Port 1433, sollte eine Instanz von MS SQL genutzt werden, dann muss der Port leer bleiben (dynamischer Port), bei MYSQL ist der Port 3306.</p>

[![image-1584634060002.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634060002.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634060002.png)

In diesem Beispiel wird die ausgelieferte MariaDB genutzt. Die Felder können entsprechend angepasst werden. Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584627831788.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584627831788.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584627831788.png)

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584634320436.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634320436.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634320436.png)

- Admin Password: guest
- Worker Password: squeeze

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584628226160.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584628226160.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584628226160.png)

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584634381073.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634381073.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634381073.png)

- Password: squeeze

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584628360769.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584628360769.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584628360769.png)

Mit dem Button Next öffnet sich der nächste Dialog:

Für die Demo-Installation wird kein SMTP Versand konfiguriert, da die verwendete Sandbox für die Installation keinen Internetzugang hat. Dazu wird im Feld "Use SMTP Zugang" der Wert auf False gesetzt

[![image-1584634465227.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634465227.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634465227.png)

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584628602957.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584628602957.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584628602957.png)

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584628656559.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584628656559.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584628656559.png)

Mit dem Button Next öffnet sich der nächste Dialog:

[![image-1584628693425.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584628693425.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584628693425.png)

Mit dem Button Zur Startseite öffnet sich der nächste Dialog:

[![image-1584628825343.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584628825343.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584628825343.png)

Mit dem Button Anlegen öffnet sich der nächste Dialog:

[![image-1584634570662.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634570662.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634570662.png)

[![image-1584634651695.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634651695.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634651695.png)

[![image-1584634708894.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634708894.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634708894.png)

Mit dem Button Jetzt Einrichten öffnet sich der nächste Dialog:

[![image-1584634786734.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634786734.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634786734.png)

Mit dem Button Weiter öffnet sich der nächste Dialog:

[![image-1584634836804.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634836804.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634836804.png)

Mit dem Button Weiter öffnet sich der nächste Dialog:

[![image-1584634925708.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584634925708.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584634925708.png)

API-Key: 7ce9c77c-50d5-4fd8-a707-a2f163d4b132

Mit dem Button Weiter öffnet sich der nächste Dialog:

[![image-1584635004808.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584635004808.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584635004808.png)

Mit dem Button Weiter öffnet sich der nächste Dialog:

[![image-1584635045050.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584635045050.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584635045050.png)

Mit dem Button Weiter öffnet sich der nächste Dialog:

[![image-1584635082851.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584635082851.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584635082851.png)

[![image-1584635160647.png](https://docs.squeeze.one/uploads/images/gallery/2020-03/scaled-1680-/image-1584635160647.png)](https://docs.squeeze.one/uploads/images/gallery/2020-03/image-1584635160647.png)

##### Konfiguration des Workers

C:\\SQUEEZE\\repository\\config\\worker\\config

[![image-1654158068385.png](https://docs.squeeze.one/uploads/images/gallery/2022-06/scaled-1680-/image-1654158068385.png)](https://docs.squeeze.one/uploads/images/gallery/2022-06/image-1654158068385.png)

<p class="callout info">Die Angabe des Servernames (FQDN) für den API Key ist Case-Sensitiv   
Wir empfehlen den Servernamen generell in Kleinbuchstaben zu schreiben.</p>

# Serverinstallation Linux

The following steps describe how to install on a Debian 10 server. Generally you can try to install on other Linux systems.

This may work if all Squeeze dependencies like the correct PHP version, PHP modules and Apache extensions are present in your operating systems package repositories.

### Linux (Debian 10)

#### 1. Prepare Debian for installation via apt

Before installing Squeeze some third party applications need to be installed. Follow the steps below to install these applications.

<p class="callout info">Please note that using a proxy to connect to the internet might need some additional configuration like:  
  
`export https_proxy=<a href="https://proxy.intra.net/">https://proxy.intra.net</a>:proxy_port`  
or  
`export http_proxy=<a href="http://user/">http://user</a>:<a href="mailto:password@proxy.intra.net">password@proxy.intra.net</a>:proxy_port`</p>

```shell
apt update
apt upgrade
```

#### 2. Install PHP 7.4

```shell
apt-get update
apt-get install php7.4 php7.4-cli php7.4-common php7.4-imap php7.4-mysql php7.4-mailparse php7.4-bcmath php7.4-intl php7.4-gd php7.4-xml php7.4-xsl php7.4-mbstring php7.4-opcache php7.4-curl php7.4-zip php7.4-bz2 php7.4-soap php7.4-json php7.4-imagick libapache2-mod-php7.4
```

#### 3. Install Apache

To install Apache run the following command

```shell
apt install apache2
```

And enable the following modules

```hljs
a2enmod proxy rewrite deflate filter headers
```

#### 4. Install MariaDB

```shell
apt update
apt install mariadb-server
systemctl status mariadb
```

run the follwing command and follow the instructions to secure the installation:

```shell
mysql_secure_installation
```

Create a new user for later use

```shell
mysql --user=root mysql
```

```SQL
CREATE USER 'squeeze'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON *.* TO 'squeeze'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```

#### 5. Install RabbitMQ

Run the following command to install RabbitMQ including the management web interface

```hljs
apt-get install rabbitmq-server
rabbitmq-plugins enable rabbitmq_management

```

If needed add a new user to RabbitMQ

```shell
rabbitmqctl add_user username password
rabbitmqctl set_user_tags username administrator
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
```

#### 6. Install ElasticSearch

Run the following command to install ElasticSearch

```shell

nano /etc/apt/sources.list
deb http://ftp.us.debian.org/debian sid main

apt-get update
apt install openjdk-8-jre-headless

apt install gnupg2
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-5.x.list
apt update && apt upgrade
apt install apt-transport-https uuid-runtime pwgen
apt update
apt install elasticsearch

cd /usr/share/elasticsearch/bin 
./elasticsearch-plugin install analysis-icu
./elasticsearch-plugin install mapper-attachments

```

<p class="callout info">To be able to install the plugins behind a proxy please use the following commands:</p>

<div data-lang="hljs css sh" id="bkmrk-es_java_opts%3D%22-dhttp"><div data-lang="hljs css sh"><textarea style="display: none;">ES\_JAVA\_OPTS="-Dhttp.proxyHost=proxy.intra.net -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.intra.net -Dhttps.proxyPort=3128" ./elasticsearch-plugin install analysis-icu ES\_JAVA\_OPTS="-Dhttp.proxyHost=proxy.intra.net -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.intra.net -Dhttps.proxyPort=3128" ./elasticsearch-plugin install mapper-attachments </textarea></div></div>```shell
ES_JAVA_OPTS="-Dhttp.proxyHost=proxy.intra.net -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.intra.net -Dhttps.proxyPort=3128" ./elasticsearch-plugin install analysis-icu 
ES_JAVA_OPTS="-Dhttp.proxyHost=proxy.intra.net -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.intra.net -Dhttps.proxyPort=3128" ./elasticsearch-plugin install mapper-attachments
```

Optional:

```shell
nano /etc/elasticsearch/elasticsearch.yml
cluster.name: my-applicationnano 

/etc/elasticsearch/jvm.options
-Xms512m
-Xmx512m
```

Enable and start ElasticSearch

```shell
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
systemctl status elasticsearch.service
```

<div data-lang="hljs css sh" id="bkmrk-7.-install-additiona"><div><span style="color: #222222; font-size: 1.666em; font-weight: 400;">7. Install additional tools</span></div></div>```
apt install tesseract-ocr tesseract-ocr-deu imagemagick ghostscript poppler-utils zbar-tools git sudo
```

#### 8. Install Squeeze

```shell
cd /var/www/html
git clone https://git.dexpro-solutions.de/dex/squeeze/Squeeze.git

chown -R www-data Squeeze/
chmod -R 775 Squeeze/
```

<div data-lang="shell" id="bkmrk-edit-the-default-vir"><div><div><div><div>Edit the default virtual host or create a new virtual host:  
  
</div></div></div></div></div>```shell
nano /etc/apache2/sites-enabled/000-default.conf

DocumentRoot /var/www/html/Squeeze/public
<Directory "/var/www/html/Squeeze/public">
    AllowOverride All
</Directory>
```

Now restart the apache webserver:

```shell
systemctl restart apache2
```

#### 9. Web installer

Once the installer finished, start your preferred browser and open [http://localhost](http://localhost) to run the web installer

# Mandanten hinzufügen



# Lizenzierung



# Serverupdate Windows

Das Update-Package enthält zumeist (nur) ein neues htdocs Verzeichnis

[![image-1641983092035.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1641983092035.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1641983092035.png)

1. SQUEEZE Dienste beenden
2. htdocs Verzeichnis sichern
3. neues htdocs Verzeichnis im SQUEEZE Verzeichnis entpacken
4. Im Worker-Verzeichnis muss die umzug.json enthalten sein, diese ggf. aus dem gesicherten htdocs Verzeichnis kopieren
5. SQUEEZE Dienste wieder starten
6. Im Swagger mit der API "migrateDatabase" eine Migration durchführen
7. Jobs und andere projektspezifische Anpassungen im htdocs Verzeichnis bei Bedarf prüfen/wiederherstellen

[![image-1641982829814.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1641982829814.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1641982829814.png)

[![image-1641982882307.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1641982882307.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1641982882307.png)

[![image-1641982910834.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1641982910834.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1641982910834.png)