From b22a20394f13184fafd45afd6acadf3ff9cf8650 Mon Sep 17 00:00:00 2001 From: coderkun Date: Fri, 28 Oct 2016 23:01:22 +0200 Subject: [PATCH] Add Installation Guide --- Installation-Guide.md | 128 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 Installation-Guide.md diff --git a/Installation-Guide.md b/Installation-Guide.md new file mode 100644 index 0000000..3d94ce8 --- /dev/null +++ b/Installation-Guide.md @@ -0,0 +1,128 @@ +# Installation Guide + +## Software + +* [Apache](https://www.apache.org) 2.2/2.4 + * [mod_rewrite](https://httpd.apache.org/docs/current/mod/mod_rewrite.html) +* [PHP](http://php.net) >= 5.4 + * [mysqlnd](http://php.net/manual/en/book.mysqlnd.php) + * [intl](http://php.net/manual/en/book.intl.php) + * [imagick](http://pecl.php.net/package/imagick) +* [MySQL](https://www.mysql.com) or [MariaDB](https://mariadb.org) + + +## Installation + +### Webserver + +1. Checkout source code +`hg clone https://zyren.inf-d.de/repositories/Questlab` +1. Move files to Apache’s [DocumentRoot](http://httpd.apache.org/docs/2.4/mod/core.html#DocumentRoot) or use a [Virtual Host](https://httpd.apache.org/docs/2.4/vhosts/) +1. Make sure all files are readable by Apache (usually user http or www-data) +1. Make the following folders writable by Apache: logs, media, seminarymedia, seminaryuploads, tmp, uploads + +### Database + +1. Create a new database +
+    CREATE DATABASE z
+    CREATE USER 'z'@'%' IDENTIFIED BY 'legendofZ';
+    GRANT ALL PRIVILEGES ON z.* TO 'z'@'%'
+
+1. Run script to create tables +The script creates triggers so either give the user SUPER "privileges":https://mariadb.com/kb/en/mariadb/grant/ or enable "log_bin_trust_function_creators":https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-variables/#log_bin_trust_function_creators +`$ mysql -u z -p z < create.sql` +1. Run script to import default values +`$ mysql -u z -p z < import.sql` + + +## Configuration + +### General + +File source:configs/AppConfig.inc +
+    public static $app = array(
+        'name'              => 'Questlab',
+        'genericname'       => 'The Legend of Z',
+        'namespace'         => 'hhu\\z\\',
+        'timeZone'          => 'Europe/Berlin',
+        'mailsender'        => '',
+        'mailcontact'       => '',
+        'registration_host' => '',
+        'languages'         => array(
+            'de'    => 'de_DE.utf8'
+        )
+    );
+
+* name +Displayable name of application +* genericname +Generic name used internally (_do not change this!_) +* namespace +Namespace of this application (_do not change this!_) +* timeZone +Timezone of application +* mailsender +Sender used for FROM-header in e‑mail notifications +* mailcontact +Displayable e‑mail address for contact +* registration_host +limit user registration to this host +* languages +supported languages (_do not change this!_) + +### Database + +File source:configs/AppConfig.inc +
+    public static $database = array(
+        'user'      => 'z',
+        'host'      => 'localhost',
+        'password'  => 'legendofZ',
+        'db'        => 'z'
+    );
+
+* user +name of database user +* host +name of database host +* password +password for database user +* db +name of database to use + +### E‑Mail notifications + +File source:configs/AppConfig.inc +
+    public static $app = array(
+        […]
+        'mailsender'        => '',
+        […]
+    );
+
+* mailsender +Sender used for FROM-header in e‑mail notifications +
+    public static $mail = array(
+        'host'      => '',
+        'port'      => 465,
+        'username'  => '',
+        'password'  => '',
+        'secure'    => '',
+        'charset'   => 'UTF-8'
+    );
+
+* host +SMTP host to send mails via +* port +SMTP port to use +* username +name of SMTP user +* password +password for SMTP user +* secure +transport security to use (e. g. “ssl”) +* charset +charset to use for mails \ No newline at end of file