***sharee.bike copri is a apache2 mod-perl postgresql based webapplication*** On installation you have to be root. This guide describes the setup of one copri operator-instance, which you can manage your own private or public accessible bike-sharing system. Ideally, you will connect to our primary server to get a part of a wide network of bike-sharing opportunities by single-sign-on users via sharee.bike App. You must be familiar with linux debian, apache webserver and postgres DBMS. 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 libemail-mime-createhtml-perl libemail-sender-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 ssh://gitlab/sharee.bike 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. Configure postgres to get access by localhost ``` 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 host.example.tld. Operator-Instance hostnames are indicated by "shareedms-operator.example.tld" and "shareeapp-operator.example.tld". Web-Project hostname is indicated 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 configuration is divided into of 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 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 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: https://shareedms-operator.example.tld for the bike sharing management https://shareeapp-operator.example.tld 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://shareeweb-project.example.tld is the optional webhost for iframe website integration. It implements station-map, user registration and contact menue. Best regards, Rainer Gümpelein (TeilRad GmbH) https://sharee.bike