Menüs

OneClick-Umfrage auf Ubuntu-Server installieren und konfigurieren

In meinem Artikel zur Umfragesoftware OneClick -> ONLINE-UMFRAGEN LEICHT GEMACHT habe ich die Software der University of Ljubljana, Faculty of Social Sciences, Centre for Social Informatics empfohlen, die m.M.n. zu den ausgereiftesten Umfragetools gehört. 1ka bietet die Software auf Anfrage an das Helpdesk auch zur Installation auf dem eigenen Server an. In einem beiliegenden PDF-File ist eine sehr knappe Beschreibung enthalten, die jedoch einiges an Fachwissen voraussetzt und auch dann noch ein paar Klippen bereit hält.

Operating system: Ubuntu 16.04 Server

Ich beschreibe nachfolgend daher ausführlich, wie man OneClick-Survey auf einem eigenen Server installiert um dann auch Vorteile wie z.B. die personalisierten Links in E-Mails an die Teilnehmer komfortabel nutzen zu können. Getestet wurde mit einem Ubuntu-Server 16.04 auf Virtualbox.

Voraussetzung ist ein installiertes MySQL ( -> HowTo ) , der Apache2 Webserver ( -> HowTo ) und phpMyAdmin ( -> HowTo ). Empfehlenswert ist es hier, sich bei der Serverinstallation gleich den LAMP-Server und die Server-Utilities mit zu installieren.
Bei der MySQL-Installation verwende ich bei der Installation als User 1kaadmin.

Die RewriteEngine des Apache2 muss aktiviert werden:

:~$ sudo a2enmod rewrite
:~$ sudo a2enmod actions
:~$ sudo service apache2 restart

 

Eine weitere Voraussetzung sind einige PHP-Komponenten, die versionsabhängig sein können. Prüfen Sie Ihre Version mit

:~$ php -v 

 

Ab der Version PHP 7.2 muss mcrypt manuell installiert werden, da alle nachfolgenden Versionen die Bibliothek libsodium verwenden. Für die Versionen ab 7.2 finden Sie -> hier eine Anleitung. Nach wie vor benötigt man php-mysql und php-mbstring.
Ich gehe hier von der Version PHP 7.0 aus, empfehle aber wenn möglich PHP 5.6 zu verwenden, da man damit auch das Problem der -> short_open_tags umgeht. In PHP 7.0 wird php-mycrypt noch so installiert:

:~$ sudo apt install php7.0-mcrypt php7.0-mbstring php7.0-mysql

Welche Module bereits installiert sind, kann man übrigens mit folgendem Befehl anzeigen:

:~$ php -m 

 

Hier die ganz rabiate Methode, falls man sich nicht mit den bereits installierten Modulen beschäftigen möchte:

:~$ sudo apt-get install php7.0 php7.0-cli php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml php7.0-xsl php7.0-zip php7.0-bz2 libapache2-mod-php7.0 -y
:~$ sudo systemctl restart apache2 

 

Hat man vom Helpdesk das Softwarepaket als ZIP-Datei erhalten, kopiert man es auf den Server, auf dem es installiert werden soll. In der Regel wird das das Verzeichnis /var/www/ sein, in dem es auch entpackt wird.

:~$ cd /var/www
:~$ sudo unzip 1ka_install.zip

 

Es wird das Verzeichnis /1ka/ und eine Datei 1ka.sql erzeugt. Die Rechte müssen nun geändert werden, so dass www-data der Besitzer aller Dateien in den Unterverzeichnissen ist, Auch die Gruppe wird auf www-data geändert.

:~$ sudo chown www-data:www-data -R /var/www/*

 

Die MySQL-Datenbank wird durch das Anlegen der neuen Datenbank 1ka in phpMyAdmin vorbereitet. Danach kann die Datei 1ka.sql aus dem ZIP-Archiv über Importieren mit phpMyAdmin ausgeführt werden. Über die Konsole ist das ebenso möglich mit:

:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
....
mysql> CREATE DATABASE 1ka;
....
mysql> USE 1ka;
....
mysql> SOURCE /var/www/1ka.sql;
....
mysql> exit 

 

Ist die Datenbank erfolgreich angelegt, wird für die Datenbank 1ka ein eigener Benutzer für den Datenbankzugriff angelegt. In phpMyAdmin oder der MySQL-Konsole geht das mit

mysql> CREATE USER '1kaadmin'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON 1ka.* TO '1kaadmin'@'localhost';
mysql> FLUSH PRIVILEGES;

 

Die Konfiguration von OneClick erfolgt in der Datei /var/www/1ka/settings.php indem man die Originaldatei /var/www/1ka/settings.php.example umbenennt. Dort werden der MySQL-Server, Benutzer, Passwort und Datenbankname entsprechend angepasst. Auch $site_domain und $site_path müssen natürlich angepasst werden.
Testet man lokal in einer VirtualBox, muss auch die lokale hosts-Datei des Clients einen Eintrag mit der IP des Domainnamens bekommen, damit der Name vom Client aufgelöst werden kann. Ansonsten kann man sich später nicht als admin einloggen, da die URLs nicht aufgerufen werden können und man landet immer wieder auf der Startseite von OneClick.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/**
* Splošne nastavitve spletne strani
*/

$site_domain = '<domain_name>';         # Eine FQD angeben z.B. onclick.impuscatura.ro
$site_url = 'http://<domain_name>/';     # Eine FQD angeben z.B.  http://onclick.impuscatura.ro/
http://1ka.si/)
$site_root = $_SERVER['DOCUMENT_ROOT'] .'/';
$site_path = '/var/www/1ka/';
$site_frontend = 'simple';
$cookie_domain = '<domain_name>';   # Eine FQD angeben z.B. onclick.impuscatura.ro
/**
*/

$pass_salt = '6y;s]bSAhzK_l>ku@KY{(BH3i7I2TQXs-DL,F]fMwPwIPG3I!uD0W.G5K-z<z/qhu3#Z1)g(ICz(0[AUr4x:I5M#M,!;3c$/56QyYWpa@P)3Msr4/OLym(lZ4[Fz<tp4@6}RwlSp1K#g4d.TSp#6h<z.}6d@)tW!@SDp5&FzzrG[vkQ:ADMIB,mwLqqDJ:oCzSS<H)x7k44F-nmiQZQ#F4i?$yoxgD1G&nEwf2[pzZVh:9qyC8k8EtSsS7PYdk<)';
/**
*/

$mysql_server = 'localhost';
$mysql_username = '1kaadmin';
$mysql_password = 'password';
$mysql_database_name = '1ka';

<optionale Parameter> 

Den Salt aus diesem Beispiel bitte nicht verwenden, sondern selbst erzeugen und in die settings.php unter $pass_salt einfügen.

:~$ cd /var/www/1ka/utils
:~$ php create_salt.php

 

Wird Ihnen hier nur der Source Code ausgegeben, editieren Sie die Datei create_salt.php und fügen nach <? am Beginn der Datei php ein, so dass die erste Zeile <?php lautet. Der Salt wird dann zwischen den HTML-Tags <font face=“courier“ size=“2″> und </font> angezeigt.

Die Standardkonfigurationen des Apache2 in /etc/apache2/sites-available/ werden nicht benötigt und disabled.

:~$ sudo a2dissite 000-default.conf && a2dissite default-ssl.conf
:~$ sudo systemctl reload apache2

 

Für 1ka wird eine neue Konfigurationsdatei mit dem Namen 1ka.conf angelegt,

:~$ sudo nano /etc/apache2/sites-available/1ka.conf

die so aussehen muss:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/1ka/
ErrorLog ${APACHE_LOG_DIR}/1ka_error.log
CustomLog ${APACHE_LOG_DIR}/1ka_access.log combined
<Directory /var/www/1ka/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
RewriteEngine on
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

 

Die neue Konfiguration wird aktiviert:

:~$ a2ensite 1ka.conf
:~$ service apache2 restart

 

Die Installation von OneClick erfolgt nun mit

:~$ cd /var/www/1ka
:~$ composer install 

 

Der erste Login erfolgt in englischer Sprache mit

http://<Domain oder IP-Adresse>/index.php?lang_id=2 

und admin als Benutzername und ohne Passwort.

Im ZIP-Archiv befindet sich auch eine PDF-Datei mit Tipps zum Troubleshooting.

 

Hinweis

Mit PHP 7.0 wird die Administrationsseite leer angezeigt, da diese PHP-Version das short_open_tag nicht ohne weiteres erkennt. Die PHP-Scripte müssen daher editiert werden oder man aktiviert kurz eine andere PHP-Version. Weitere Infos finden Sie -> hier.

Buy Me a Coffee at ko-fi.com

Kommentare 1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.