sharee.bike-Wiki/2.-Installation-guide.md

152 lines
4.8 KiB
Markdown
Raw Normal View History

2022-12-08 15:54:43 +01:00
**_sharee.bike copri is a apache2 mod-perl postgresql based webapplication_**
2022-01-25 20:37:01 +01:00
2022-01-27 20:20:49 +01:00
You must be familiar with linux debian, apache webserver and postgres DBMS.
2022-01-27 19:17:55 +01:00
2022-12-08 15:54:43 +01:00
On installation you have to be root. The postgres DBMS have to be installed with de-DE.utf-8 localization, because date style default is done in german way.\
2022-01-25 20:37:01 +01:00
On debian based Linux systems you have to install following packages
2022-12-08 15:54:43 +01:00
2022-01-25 20:37:01 +01:00
```
2022-12-08 15:54:43 +01:00
apache2
postgresql
2022-01-25 20:39:09 +01:00
libapache2-mod-perl2
libapache2-reload-perl
libdbd-pg-perl
libcalendar-simple-perl
libdate-calc-perl
libdbd-csv-perl
libspreadsheet-writeexcel-perl
libtext-csv-xs-perl
libjson-perl
libxrender1
liburi-encode-perl
libxml-simple-perl
libio-all-perl
libdatetime-format-pg-perl
libcgi-pm-perl
libfile-copy-recursive-perl
libscalar-util-numeric-perl
libauthen-pam-perl
libnet-smtps-perl
libconfig-general-perl
libdigest-sha-perl
2022-01-25 20:47:13 +01:00
```
2022-01-27 19:17:55 +01:00
Webserver apache2 needs some modules loaded
2022-12-08 15:54:43 +01:00
2022-01-27 19:17:55 +01:00
```
a2enmod perl
a2enmod cgi
a2enmod rewrite
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod headers
a2enmod ssl
a2enmod proxy
a2enmod proxy_http
service apache2 restart
```
The copri operator-instance installation is done by
2022-12-08 15:54:43 +01:00
2022-01-25 20:47:13 +01:00
```
2022-01-27 19:17:55 +01:00
mkdir /exports && cd /exports
2022-01-27 20:43:26 +01:00
git clone https://gitlab.com/t6353/sharee.bike.git
2022-01-27 19:17:55 +01:00
mv sharee.bike gitlab
cd /var/www && ln -s ../../exports/gitlab/copri4
mkdir /var/log/copri4 && chown www-data /var/log/copri4
2022-12-08 15:54:43 +01:00
```
2022-01-25 20:47:13 +01:00
Mainly for the frontend user-interface we use some external open-source icons and javascript - css libraries which have to be installed.
```
mkdir /var/www/copri4external && cd /var/www/copri4external
```
2022-12-12 15:42:35 +01:00
In this directory we will keep some external ressources. Some have to be unzipped.
1. Download the latest stable bootstrap version for example from https://getbootstrap.com.
2022-12-12 15:42:35 +01:00
2. Download bootstrap-icons from https://icons.getbootstrap.com.
3. Download the latest stable jquery library from https://jquery.com.
4. Download the latest stable jquery-ui library from https://jqueryui.com.
The library path and filenames must be configured in global.cfg, more about this below.
```
cd /var/www/copri4/main
ln -s /var/www/copri4external external
chgrp -R www-data external/*
```
2022-01-27 19:41:11 +01:00
At first setup the base copri database. You have to configure postgres to get just access by localhost. Set your postgres access rights.
2022-12-08 15:54:43 +01:00
2022-01-27 19:17:55 +01:00
```
su - postgres
createdb sharee_operator
exit
cd /exports/gitlab/copri4/shareeconf
gunzip -c examples/sharee_operator.sql.gz | psql -U your_psql_user sharee_operator
2022-12-08 15:54:43 +01:00
```
The installation has some configuration defaults and examples. You have to edit to fit your web-reachable DNS registered sharee servers.
2022-01-25 20:47:13 +01:00
2022-12-08 16:33:50 +01:00
- Operator-Instance DMS hostname is identified by "shareedms-operator.example.tld" and the helper hostname "shareedms-operator1.example.tld"
- Operator-Instance App API hostname is identified by "shareeapp-operator.example.tld" and the helper hostname "shareeapp-operator1.example.tld".
- Web-Project hostname is identified by "shareeweb-operator.example.tld" and the helper hostname "shareeweb-project1.example.tld".
2022-12-08 15:54:43 +01:00
2022-01-27 19:17:55 +01:00
```
cd /exports/gitlab/copri4
edit shareeapp-operator/apache/shareeapp-operator.conf
edit shareedms-operator/apache/shareedms-operator.conf
2022-12-08 15:54:43 +01:00
edit shareeweb-project/apache/shareeweb-operator.conf
2022-01-25 20:47:13 +01:00
```
2022-12-08 15:54:43 +01:00
The global.cfg configuration is divided into sharp-cliped values.
2022-01-29 13:45:50 +01:00
- The `<operator>` block describes your operator-instance by operator-dbname `<sharee_operator>`.
- The `<project>` block describes your optional web-project by `<shareeweb-project>`.
2022-12-08 15:54:43 +01:00
- The `<merchant_ids>` block will indicate your block configuration on client request.
2022-01-27 19:17:55 +01:00
```
cd /exports/gitlab/copri4/shareeconf
2022-12-08 15:54:43 +01:00
rm *.cfg
2022-01-27 19:17:55 +01:00
cp examples/apikeys.cfg .
cp examples/mailx.cfg .
2022-12-08 15:54:43 +01:00
cp examples/global.cfg .
2022-01-27 19:17:55 +01:00
```
After setup all ressources make and check some file access rights by
```
cd /var/www/copri4 && ./mkaccess.sh
```
2022-01-27 19:17:55 +01:00
2022-01-29 13:45:50 +01:00
After configure your sharee apache confs, DNS, got SSLCertificate and set also the values in global.cfg. At last you have to softlink the sharee apache conf with:
2022-12-08 15:54:43 +01:00
2022-01-27 19:17:55 +01:00
```
cd /etc/apache2/sites-enabled
ln -s /var/www/copri4/shareeapp-operator/apache/shareeapp-operator.conf
ln -s /var/www/copri4/shareedms-operator/apache/shareedms-operator.conf
ln -s /var/www/copri4/shareeweb-project/apache/shareeweb-operator.conf
service apache2 restart
```
2022-01-27 19:35:08 +01:00
You should reach three webservers
2022-12-08 15:54:43 +01:00
2022-01-27 19:35:08 +01:00
1. For the bike sharing management
2022-12-08 15:54:43 +01:00
2022-01-27 19:35:08 +01:00
```
https://shareedms-operator.example.tld
```
2022-12-08 15:54:43 +01:00
2022-01-27 19:35:08 +01:00
2. To get access by the shareetool web-App and also by the sharee.bike bike booking App or your self-developed App. See also the API documentation
2022-12-08 15:54:43 +01:00
2022-01-27 19:35:08 +01:00
```
https://shareeapp-operator.example.tld
```
2022-12-08 15:54:43 +01:00
2022-01-27 19:35:08 +01:00
3. Is the optional webhost for iframe website integration. It implements station-map, user registration formular and contact menue.
2022-12-08 15:54:43 +01:00
```
2022-01-27 19:35:08 +01:00
https://shareeweb-project.example.tld
```
2022-12-12 15:46:11 +01:00
Pre-configured Operator Admin Account for first simple start. Please change login and password after setup!
Login: admin@example.tld
PW: Please_Change4
2022-12-08 15:54:43 +01:00
Best regards, Rainer Gümpelein (TeilRad GmbH) https://sharee.bike