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