Neuen Server aufsetzen
Mkurz (Diskussion | Beiträge) (→Tools) |
Mkurz (Diskussion | Beiträge) (→Sqlite3) |
||
(36 dazwischenliegende Versionen von einem Benutzer 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 36: | Zeile 61: | ||
<pre> | <pre> | ||
Apply 'tools/info/ssh/sshd_config.fragment.txt' | Apply 'tools/info/ssh/sshd_config.fragment.txt' | ||
+ | </pre> | ||
+ | |||
+ | == Add Faillover IP == | ||
+ | Edit '/etc/netplan/01-netcfg.yaml' | ||
+ | <pre> | ||
+ | network: | ||
+ | version: 2 | ||
+ | renderer: networkd | ||
+ | ethernets: | ||
+ | eth0: | ||
+ | addresses: [ 10.100.1.38/24, FailloverIP/32 ] | ||
+ | gateway4: 10.100.1.1 | ||
+ | </pre> | ||
+ | To apply the changes do: | ||
+ | <pre> | ||
+ | netplan apply | ||
</pre> | </pre> | ||
Zeile 63: | 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 111: | Zeile 158: | ||
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> | </pre> | ||
Zeile 132: | Zeile 213: | ||
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-router | ||
+ | </pre> | ||
+ | |||
+ | Start the service | ||
+ | <pre> | ||
+ | systemctl start apemap-2 | ||
+ | systemctl start apemap-router | ||
+ | </pre> | ||
+ | |||
+ | Investigate status of the services | ||
+ | <pre> | ||
+ | systemctl status apemap-2 | ||
+ | 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 14. Juli 2020, 14:40 Uhr
Inhaltsverzeichnis |
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'
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
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-router
Start the service
systemctl start apemap-2 systemctl start apemap-router
Investigate status of the services
systemctl status apemap-2 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.