sharee.bike-Wiki/2.-Installation-guide.md
2022-01-31 15:00:12 +00:00

3.6 KiB

sharee.bike copri is a apache2 mod-perl postgresql based webapplication

You must be familiar with linux debian, apache webserver and postgres DBMS.

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.
On debian based Linux systems you have to install following packages

libapache2-mod-perl2 
libapache2-reload-perl 
perlmagick 
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

Webserver apache2 needs some modules loaded

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

mkdir /exports && cd /exports
git clone https://gitlab.com/t6353/sharee.bike.git
mv sharee.bike gitlab
cd gitlab/copri4 && ./mkaccess
cd /var/www && ln -s ../../exports/gitlab/copri4
mkdir /var/log/copri4 && chown www-data /var/log/copri4

At first setup the base copri database. You have to configure postgres to get just access by localhost. Set your postgres access rights.

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

The installation has some configuration defaults and examples. You have to edit to fit your web-reachable DNS registered sharee servers.

  • Operator-Instance DMS hostname is identified by "shareedms-operator.example.tld"
  • Operator-Instance App API hostname is identified by "shareeapp-operator.example.tld".
  • Web-Project hostname is identified by "shareeweb-operator.example.tld".
cd /exports/gitlab/copri4
edit shareeapp-operator/apache/shareeapp-operator.conf
edit shareedms-operator/apache/shareedms-operator.conf
eidt shareeweb-project/apache/shareeweb-operator.conf

The global.cfg configuration is divided into sharp-cliped values.

  • The <operator> block describes your operator-instance by operator-dbname <sharee_operator>.
  • The <project> block describes your optional web-project by <shareeweb-project>.
  • The <merchant_ids> block will indicate your block configuration on client request.
cd /exports/gitlab/copri4/shareeconf
cp examples/apikeys.cfg .
cp examples/mailx.cfg .
cp examples/global.cfg  .

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:

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

You should reach three webservers

  1. For the bike sharing management
https://shareedms-operator.example.tld
  1. 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
https://shareeapp-operator.example.tld
  1. Is the optional webhost for iframe website integration. It implements station-map, user registration formular and contact menue.
https://shareeweb-project.example.tld 

Best regards, Rainer Gümpelein (TeilRad GmbH) https://sharee.bike