2021-03-14 18:11:41 +01:00
[![pipeline status ](https://chaos.expert/engelsystem/engelsystem/badges/main/pipeline.svg )](https://chaos.expert/engelsystem/engelsystem/commits/main)
[![coverage report ](https://chaos.expert/engelsystem/engelsystem/badges/main/coverage.svg )](https://chaos.expert/engelsystem/engelsystem/commits/main)
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
2017-07-16 18:41:57 +02:00
# Engelsystem
2020-01-17 14:58:42 +01:00
Please visit [engelsystem.de ](https://engelsystem.de ) for a feature list.
2017-07-16 18:41:57 +02:00
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.
2017-12-04 13:25:44 +01:00
2017-07-16 18:41:57 +02:00
## Installation
2020-01-17 14:58:42 +01:00
The Engelsystem may be installed manually or by using the provided [docker setup ](#docker ).
2019-01-13 13:00:09 +01:00
### Requirements
2022-12-10 18:28:23 +01:00
* PHP >= 8.1
2018-10-19 02:43:12 +02:00
* Required modules:
2019-03-17 09:22:30 +01:00
* dom
2018-10-19 02:43:12 +02:00
* json
2019-03-16 19:56:58 +01:00
* mbstring
2018-10-19 02:43:12 +02:00
* PDO
2019-01-19 00:02:01 +01:00
* mysql
2019-03-17 09:31:19 +01:00
* tokenizer
2018-10-19 02:43:12 +02:00
* xml/libxml/SimpleXML
2019-03-17 09:30:29 +01:00
* xmlwriter
2018-10-01 18:30:13 +02:00
* MySQL-Server >= 5.7.8 or MariaDB-Server >= 10.2.2
2017-07-16 18:41:57 +02:00
* Webserver, i.e. lighttpd, nginx, or Apache
2019-01-13 13:00:09 +01:00
### 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
2022-11-28 19:25:42 +01:00
* The webserver must have write access to the `storage` directory and read access for all other directories
* The webserver must point to the `public` directory.
* The webserver must read the `.htaccess` file and `mod_rewrite` must be enabled
2017-07-16 18:41:57 +02:00
* Recommended: Directory Listing should be disabled.
2020-09-02 00:23:16 +02:00
* There must be a MySQL database set up with a user who has full rights to that database.
2022-11-28 19:25:42 +01:00
* If necessary, create a `config/config.php` to override values from `config/config.default.php` .
2023-09-24 21:42:44 +02:00
* To disable/remove values from the `themes` , `tshirt_sizes` , `headers` , `header_items` , `footer_items` , or `locales` lists, set the value of the entry to `null` .
2022-11-28 19:25:42 +01:00
* 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.
* In the browser, login with credentials `admin` : `asdfasdf` and change the password.
2017-07-16 18:41:57 +02:00
2020-01-17 14:58:42 +01:00
The Engelsystem can now be used.
2005-11-06 18:24:58 +01:00
2020-01-17 14:58:42 +01:00
### Session Settings
2017-07-16 18:41:57 +02:00
* 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
2022-04-20 00:07:09 +02:00
To build the `es_server` container:
2018-08-12 16:23:35 +02:00
```bash
2019-10-14 22:23:52 +02:00
cd docker
2023-01-25 00:05:21 +01:00
docker compose build
2018-08-12 16:23:35 +02:00
```
2022-04-20 00:07:09 +02:00
or to build the container by its own:
2018-08-12 16:23:35 +02:00
```bash
2022-04-20 00:07:09 +02:00
docker build -f docker/Dockerfile . -t es_server
2018-08-12 16:23:35 +02:00
```
2020-08-08 20:54:48 +02:00
#### Run
Start the Engelsystem
```bash
cd docker
2023-01-25 00:05:21 +01:00
docker compose up -d
2020-08-08 20:54:48 +02:00
```
2024-01-15 18:05:40 +01:00
#### Set Up / Migrate Database
Create the Database Schema (on a fresh install) or import database changes to migrate it to the newest version
2018-08-12 19:20:26 +02:00
```bash
2020-10-12 01:44:55 +02:00
cd docker
2023-01-25 00:05:21 +01:00
docker compose exec es_server 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.
2017-12-04 13:25:44 +01:00
2018-08-07 16:47:47 +02:00
For usage see `./bin/deploy.sh -h`
2017-12-04 13:25:44 +01:00
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-08-30 16:07:50 +02:00
2018-09-03 21:56:49 +02:00
For more information on how to use it call `./bin/migrate help`
2022-03-13 20:57:52 +01:00
### Documentation
More documentation can be found at: https://engelsystem.de/doc/