engelsystem/README.md

92 lines
3.5 KiB
Markdown
Raw Normal View History

[![pipeline status](https://chaos.expert/engelsystem/engelsystem/badges/master/pipeline.svg)](https://chaos.expert/engelsystem/engelsystem/commits/master)
[![coverage report](https://chaos.expert/engelsystem/engelsystem/badges/master/coverage.svg)](https://chaos.expert/engelsystem/engelsystem/commits/master)
2016-08-21 17:26:03 +02:00
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/20b3b0b4e93344a29da6bec77f329e7a)](https://www.codacy.com/app/engelsystem/engelsystem)
2020-01-17 14:58:42 +01:00
[![GPL](https://img.shields.io/github/license/engelsystem/engelsystem.svg?maxAge=2592000)](LICENSE)
2016-08-21 17:24:04 +02:00
# Engelsystem
2020-01-17 14:58:42 +01:00
Please visit [engelsystem.de](https://engelsystem.de) for a feature list.
2020-01-17 14:58:42 +01:00
To report bugs use [engelsystem/issues](https://github.com/engelsystem/engelsystem/issues).
Since the Engelsystem is open source, you can help improving it.
We really love to get pull requests containing fixes or improvements.
Please read the [CONTRIBUTING.md](CONTRIBUTING.md) and [DEVELOPMENT.md](DEVELOPMENT.md) before you start.
## Installation
2020-01-17 14:58:42 +01:00
The Engelsystem may be installed manually or by using the provided [docker setup](#docker).
### Requirements
* PHP >= 7.3
* Required modules:
2019-03-17 09:22:30 +01:00
* dom
* json
* mbstring
* PDO
* mysql
2019-03-17 09:31:19 +01:00
* tokenizer
* xml/libxml/SimpleXML
2019-03-17 09:30:29 +01:00
* xmlwriter
* MySQL-Server >= 5.7.8 or MariaDB-Server >= 10.2.2
* Webserver, i.e. lighttpd, nginx, or Apache
### Download
* Go to the [Releases](https://github.com/engelsystem/engelsystem/releases) page and download the latest stable release file.
* Extract the files to your webroot and continue with the directions for configurations and setup.
### Configuration and Setup
* The webserver must have write access to the ```storage``` directory and read access for all other directories
2018-01-28 14:29:13 +01:00
* The webserver must point to the ```public``` directory.
* The webserver must read the ```.htaccess``` file and ```mod_rewrite``` must be enabled
* Recommended: Directory Listing should be disabled.
* There must be a MySQL database set up with a user who has full rights to that database.
2018-01-28 14:29:13 +01:00
* If necessary, create a ```config/config.php``` to override values from ```config/config.default.php```.
2018-10-27 12:11:37 +02:00
* To remove values from the `footer_items`, `available_themes`, `locales`, `tshirt_sizes` or `headers` lists the config file has to be renamed.
* To import the database, the ```bin/migrate``` script has to be run. If you can't execute scripts, you can use the `initial-install.sql` file from the release zip.
2019-10-28 20:59:43 +01:00
* In the browser, login with credentials ```admin``` : ```asdfasdf``` and change the password.
2020-01-17 14:58:42 +01:00
The Engelsystem can now be used.
2020-01-17 14:58:42 +01:00
### Session Settings
* Make sure the config allows for sessions.
* Both Apache and Nginx allow for different VirtualHost configurations.
2014-11-12 19:45:55 +01:00
2019-10-14 23:36:26 +02:00
### Docker
2020-08-08 20:54:48 +02:00
#### Build
2019-10-14 23:36:26 +02:00
To build the `es_nginx` and the `es_php_fpm` containers:
```bash
cd docker
docker-compose build
```
or to build the containers separately
```bash
2019-10-14 23:36:26 +02:00
docker build -f docker/nginx/Dockerfile . -t es_nginx
docker build -f docker/Dockerfile . -t es_php_fpm
```
2020-08-08 20:54:48 +02:00
#### Run
Start the Engelsystem
```bash
cd docker
docker-compose up -d
```
#### Migrate
Import database changes to migrate it to the newest version
```bash
cd docker
docker-compose exec es_php_fpm bin/migrate
2019-10-14 23:36:26 +02:00
```
2020-01-17 14:58:42 +01:00
### Scripts
#### bin/deploy.sh
The `bin/deploy.sh` script can be used to deploy the Engelsystem. It uses rsync to deploy the application to a server over ssh.
2018-08-07 16:47:47 +02:00
For usage see `./bin/deploy.sh -h`
2020-01-17 14:58:42 +01:00
#### bin/migrate
The `bin/migrate` script can be used to import and update the database of the Engelsystem.
2018-09-03 21:56:49 +02:00
For more information on how to use it call `./bin/migrate help`