Add Installation Guide

coderkun 2016-10-28 23:01:22 +02:00
parent f640ac1534
commit b22a20394f

128
Installation-Guide.md Normal file

@ -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 Apaches [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
<pre>
CREATE DATABASE z
CREATE USER 'z'@'%' IDENTIFIED BY 'legendofZ';
GRANT ALL PRIVILEGES ON z.* TO 'z'@'%'
</pre>
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
<pre>
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'
)
);
</pre>
* 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 email notifications
* mailcontact
Displayable email address for contact
* registration_host
limit user registration to this host
* languages
supported languages (_do not change this!_)
### Database
File source:configs/AppConfig.inc
<pre>
public static $database = array(
'user' => 'z',
'host' => 'localhost',
'password' => 'legendofZ',
'db' => 'z'
);
</pre>
* user
name of database user
* host
name of database host
* password
password for database user
* db
name of database to use
### EMail notifications
File source:configs/AppConfig.inc
<pre>
public static $app = array(
[…]
'mailsender' => '',
[…]
);
</pre>
* mailsender
Sender used for FROM-header in email notifications
<pre>
public static $mail = array(
'host' => '',
'port' => 465,
'username' => '',
'password' => '',
'secure' => '',
'charset' => 'UTF-8'
);
</pre>
* 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