Neuen Server aufsetzen: Unterschied zwischen den Versionen

Aus apemap Wiki
Zur Navigation springen Zur Suche springen
imported>Mkurz
imported>Mkurz
 
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Tools ==
== Tools ==
For the Heli overlays we need unzip
<pre>
apt-get install unzip
</pre>
Install subversion
<pre>
apt-get install subversion
</pre>
Install dos2unix:
Install dos2unix:
<pre>
<pre>
apt-get install dos2unix
apt-get install dos2unix
</pre>
</pre>
Copy the server-tools from our repository:
Copy the server-tools from our repository :
<pre>'wmdev/tools/server-tools' to the server e.g. to 'root/tools'</pre>
<pre>
'wmdev/tools/server-tools' to the server e.g. to 'root/tools'
 
Alternatively you can checkout the tools from our subversion via:
svn co --username=yourusername URL2Svn
</pre>


Remove all possible windows line endings:
Remove all possible windows line endings:
Zeile 15: Zeile 28:
<pre>
<pre>
chmod  a+x *.sh
chmod  a+x *.sh
</pre>
== Sqlite3 ==
Used to optimize the pois "eu.db" after creation.
<pre>
apt-get install sqlite3
</pre>
</pre>


== Sync Data ==
== Sync Data ==
'''CAVE: 'lic.apemap.at' typically points to a failloverIP if your local server has this IP active as well lic.apemap.at will not work'''
To access the server via SSH without entering a password, do the following:
<pre>
tools/sshnopassword.sh lic.apemap.at
</pre>
<pre>
<pre>
tools/rsync_mirror_all.sh &
tools/rsync_mirror_all.sh &
Zeile 79: Zeile 104:
=== Change documents root ===
=== Change documents root ===
'etc/apache2/sites-enabled/000-default.conf', change document root to '/var/www'
'etc/apache2/sites-enabled/000-default.conf', change document root to '/var/www'
=== Enable HTTPs proxy engine ===
Add to 'etc/apache2/sites-enabled/000-default.conf'
<pre>
  SSLProxyEngine on
</pre>


=== Proxy And Header config ===
=== Proxy And Header config ===
Zeile 94: Zeile 125:
<pre>
<pre>
apply 'tools/info/apache2/default-ssl.fragment.txt'
apply 'tools/info/apache2/default-ssl.fragment.txt'
</pre>
=== Heli config in protected folder ===
<pre>
scp /etc/apache2/htpasswd/config_htpasswd new-server
</pre>
Open "/etc/apache2/apache2.conf" and add
<pre>
<Directory /var/www/config/protected>
  AuthType Basic
  AuthName "Authentication Required"
  AuthUserFile "/etc/apache2/htpasswd/config_htpasswd"
  Require valid-user
  Order allow,deny
  Allow from all
</Directory>
</pre>
</pre>


Zeile 127: Zeile 176:
mkdir /var/log/apemap
mkdir /var/log/apemap
chmod a+rw /var/log/apemap/     
chmod a+rw /var/log/apemap/     
</pre>
'''IMPORTANG'''
Give read write access for all to '/var/log/apemap'
<pre>
chmod a+rw /var/log/apemap
</pre>
</pre>


== PHP 5.6 ==
== PHP 5.6 ==
<pre>
<pre>
apt update
apt-get update
apt install software-properties-common
apt-get install software-properties-common
add-apt-repository -y ppa:ondrej/php
add-apt-repository -y ppa:ondrej/php
apt install php5.6         
apt-get install php5.6         
apt install php5.6-mysql
apt-get install php5.6-mysql
apt clean && sudo apt autoclean     
apt-get install php5.6-mbstring
apt-get install php5.6-curl
apt-get install php5.6-gd
apt-get clean && sudo apt autoclean     
a2dismod php7.2  
a2dismod php7.2  
a2enmod php5.6
a2enmod php5.6
</pre>
Our shop requires the following in 'php.ini' (e.g. '/etc/php/5.6/apache2/php.ini'):
<pre>
default_charset = "iso-8859-1"
</pre>
== Mailrelay for PHP ==
Install sendmail:
<pre>
apt-get install sendmail
</pre>
Install nullmailer: (For all settings you are asked use the default)
<pre>
apt-get install nullmailer
</pre>
edit '/etc/nullmailer/remotes':
<pre>
apply 'tools/info/nullmailer/remotes.fragment.txt'
</pre>
Restart nullmailer:
<pre>
/etc/init.d/nullmailer restart
</pre>
== osmium ==
For vector map creation osmium is required to split pbf files.
<pre>
apt-get install osmium-tool
</pre>
</pre>


Zeile 148: Zeile 237:
Change to a different folder, by editing: '/etc/apache2/conf-available/phpmyadmin.conf' change the alias to the alias currently
Change to a different folder, by editing: '/etc/apache2/conf-available/phpmyadmin.conf' change the alias to the alias currently
used for phpmyadmin.
used for phpmyadmin.
== Create and import data bases ==
<pre>
tools/createandimportdb.sh shop3
tools/createandimportdb.sh apemap
</pre>
== Add and start services ==
Copy services to '/etc/systemd/system'
<pre>
cp ~/tools/services/*.service /etc/systemd/system
</pre>
Reload the service daemon, so that its knows the new services:
<pre>
systemctl daemon-reload
</pre>
Enable the newly added services
<pre>
systemctl enable apemap-2
systemctl enable apemap-3
systemctl enable apemap-4
systemctl enable apemap-router
</pre>
Start the service
<pre>
systemctl start apemap-2
systemctl start apemap-3
systemctl start apemap-4
systemctl start apemap-router
</pre>
Investigate status of the services
<pre>
systemctl status apemap-2
systemctl status apemap-3
systemctl status apemap-4
systemctl status apemap-router
</pre>
== Cron jobs ==
Remark: cron jobs are backuped daily into the share folder
=== Master ===
add the following cron jobs
<pre>
apply tools/info/cron/cron.master.txt
</pre>
=== Slave ===
add the following cron jobs
<pre>
apply tools/info/cron/cron.slave.txt
</pre>
== Test Server ==
* Open the unit test "ApemapServerTest"
* Adjust the server you want to test.
* Execute the test.

Aktuelle Version vom 2. Dezember 2025, 11:05 Uhr

Tools

For the Heli overlays we need unzip

apt-get install unzip

Install subversion

apt-get install subversion

Install dos2unix:

apt-get install dos2unix

Copy the server-tools from our repository :

'wmdev/tools/server-tools' to the server e.g. to 'root/tools'

Alternatively you can checkout the tools from our subversion via:
svn co --username=yourusername URL2Svn

Remove all possible windows line endings:

cd /root/tools
dos2unix *.sh

Make all shell scripts executable

chmod  a+x *.sh

Sqlite3

Used to optimize the pois "eu.db" after creation.

apt-get install sqlite3

Sync Data

CAVE: 'lic.apemap.at' typically points to a failloverIP if your local server has this IP active as well lic.apemap.at will not work

To access the server via SSH without entering a password, do the following:

tools/sshnopassword.sh lic.apemap.at
tools/rsync_mirror_all.sh &

The progress can be shown via:

tail -f sync_all.log

Manual DNS entries

add to 'etc/hosts':

Entries from 'tools/info/hosts.fragment.txt'

SSH Setup

edit '/etc/ssh/sshd_config':

Apply 'tools/info/ssh/sshd_config.fragment.txt'

Add Faillover IP

Edit '/etc/netplan/01-netcfg.yaml'

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
     addresses: [ 10.100.1.38/24, FailloverIP/32 ]
     gateway4: 10.100.1.1

To apply the changes do:

netplan apply

DB Setup

Install

apt-get install mysql-server

Create apemap DB user

tools/createdbuser.sh

Apache2

Install

apt-get install apache2

Enable required modules

a2enmod proxy      
a2enmod proxy_http
a2enmod ssl
a2enmod rewrite
a2enmod headers

Change documents root

'etc/apache2/sites-enabled/000-default.conf', change document root to '/var/www'

Enable HTTPs proxy engine

Add to 'etc/apache2/sites-enabled/000-default.conf'

  SSLProxyEngine on

Proxy And Header config

'/etc/apache2/apache2.conf' at the end add:

apply 'tools/info/apache2/apache2.conf.fragment.txt'

SSL

a2ensite default-ssl

Edit 'default-ssl':

apply 'tools/info/apache2/default-ssl.fragment.txt'

Heli config in protected folder

scp /etc/apache2/htpasswd/config_htpasswd new-server

Open "/etc/apache2/apache2.conf" and add

<Directory /var/www/config/protected>
  AuthType Basic
  AuthName "Authentication Required"
  AuthUserFile "/etc/apache2/htpasswd/config_htpasswd"
  Require valid-user

  Order allow,deny
  Allow from all
</Directory>

Restart

/etc/init.d/apache2 restart

Tomcat

Install

apt-get install tomcat8
apt-get install openjdk-8-jdk

Configute tomcat policies 'etc/tomcat8/policy.d/04webapps.policy':

add the permissions shown in tools/info/tomcat/04webapps.policy.fragment.txt

Webapp apemap

Create a folder 'apemap' within '/var/lib/tomcat8/webapps' Create a link to this folder from /var/apemap

ln -s /var/lib/tomcat8/webapps/apemap/ /var/apemap

Sync the apemap webapp from the old server to the new one:

tools/rsync_webapp.sh

Logging

Create apemap logging folder for tomcat:

mkdir /var/log/apemap
chmod a+rw /var/log/apemap/    

IMPORTANG Give read write access for all to '/var/log/apemap'

chmod a+rw /var/log/apemap

PHP 5.6

apt-get update
apt-get install software-properties-common
add-apt-repository -y ppa:ondrej/php
apt-get install php5.6        
apt-get install php5.6-mysql
apt-get install php5.6-mbstring
apt-get install php5.6-curl
apt-get install php5.6-gd
apt-get clean && sudo apt autoclean    
a2dismod php7.2 
a2enmod php5.6

Our shop requires the following in 'php.ini' (e.g. '/etc/php/5.6/apache2/php.ini'):

default_charset = "iso-8859-1"

Mailrelay for PHP

Install sendmail:

apt-get install sendmail

Install nullmailer: (For all settings you are asked use the default)

apt-get install nullmailer

edit '/etc/nullmailer/remotes':

apply 'tools/info/nullmailer/remotes.fragment.txt'

Restart nullmailer:

/etc/init.d/nullmailer restart

osmium

For vector map creation osmium is required to split pbf files.

apt-get install osmium-tool

PHP My Admin

Do not create the phpmyadmin databases the admin is asking for, do no enter any DB passwords.

apt-get install phpmyadmin

Change to a different folder, by editing: '/etc/apache2/conf-available/phpmyadmin.conf' change the alias to the alias currently used for phpmyadmin.

Create and import data bases

tools/createandimportdb.sh shop3
tools/createandimportdb.sh apemap


Add and start services

Copy services to '/etc/systemd/system'

cp ~/tools/services/*.service /etc/systemd/system

Reload the service daemon, so that its knows the new services:

systemctl daemon-reload

Enable the newly added services

systemctl enable apemap-2
systemctl enable apemap-3
systemctl enable apemap-4
systemctl enable apemap-router

Start the service

systemctl start apemap-2
systemctl start apemap-3
systemctl start apemap-4
systemctl start apemap-router

Investigate status of the services

systemctl status apemap-2
systemctl status apemap-3
systemctl status apemap-4
systemctl status apemap-router

Cron jobs

Remark: cron jobs are backuped daily into the share folder

Master

add the following cron jobs

 apply tools/info/cron/cron.master.txt

Slave

add the following cron jobs

 apply tools/info/cron/cron.slave.txt

Test Server

  • Open the unit test "ApemapServerTest"
  • Adjust the server you want to test.
  • Execute the test.