**_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 ``` apache2 postgresql 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 ``` 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 /var/www && ln -s ../../exports/gitlab/copri4 mkdir /var/log/copri4 && chown www-data /var/log/copri4 ``` 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 ``` 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. 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/* ``` 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" 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". ``` cd /exports/gitlab/copri4 edit shareeapp-operator/apache/shareeapp-operator.conf edit shareedms-operator/apache/shareedms-operator.conf edit shareeweb-project/apache/shareeweb-operator.conf ``` The global.cfg configuration is divided into sharp-cliped values. - The `` block describes your operator-instance by operator-dbname ``. - The `` block describes your optional web-project by ``. - The `` block will indicate your block configuration on client request. ``` cd /exports/gitlab/copri4/shareeconf rm *.cfg cp examples/apikeys.cfg . cp examples/mailx.cfg . cp examples/global.cfg . ``` After setup all ressources make and check some file access rights by ``` cd /var/www/copri4 && ./mkaccess.sh ``` 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 ``` 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 ``` https://shareeapp-operator.example.tld ``` 3. Is the optional webhost for iframe website integration. It implements station-map, user registration formular and contact menue. ``` https://shareeweb-project.example.tld ``` Pre-configured Operator Admin Account for first simple start. Please change login and password after setup! Login: admin@example.tld PW: Please_Change4 Best regards, Rainer Gümpelein (TeilRad GmbH) https://sharee.bike