diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 46 |
1 files changed, 38 insertions, 8 deletions
@@ -10,16 +10,19 @@ To report bugs use [engelsystem/issues](https://github.com/engelsystem/engelsyst ## Installation ### Requirements: - * PHP >= 7.0.0 + * PHP >= 7.0 * MySQL-Server >= 5.5 or MariaDB-Server >= 5.5 * Webserver, i.e. lighttpd, nginx, or Apache + * Node >= 8 (Development/Building only) + * Yarn (Development/Building only) ### Directions: * Clone the master branch: `git clone https://github.com/engelsystem/engelsystem.git` - * Install [Composer](https://getcomposer.org/download/) + * Install [Composer](https://getcomposer.org/download/) and [Yarn](https://yarnpkg.com/en/docs/install) (which requires [Node.js](https://nodejs.org/en/download/package-manager/)) * Install project dependencies: ```bash composer install + yarn ``` On production systems it is recommended to use ```bash @@ -27,14 +30,20 @@ To report bugs use [engelsystem/issues](https://github.com/engelsystem/engelsyst composer dump-autoload --optimize ``` to install the engelsystem - * The webserver must have write access to the 'import' directory and read access for all other directories - * The webserver must point to the public directory. + * Build the frontend assets + ```bash + yarn build + ``` + + * The webserver must have write access to the ```import``` 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 * Recommended: Directory Listing should be disabled. * There must a be MySQL database created with a user who has full rights to that database. - * It must be created by the db/install.sql and db/update.sql files. - * If necessary, create a config/config.php to override values from config/config.default.php. - * In the browser, login with credentials admin:asdfasdf and change the password. + * It must be created by the ```db/install.sql``` and ```db/update.sql``` files. + * If necessary, create a ```config/config.php``` to override values from ```config/config.default.php```. + * In the browser, login with credentials ```admin```:```asdfasdf``` and change the password. Engelsystem can now be used. @@ -68,11 +77,32 @@ To use the deployment features the following secret variables need to be defined ```bash SSH_PRIVATE_KEY # The ssh private key STAGING_REMOTE # The staging server, e.g. user@remote.host -STAGING_REMOTE_PATH # The psth on the remote server, e.g. /var/www/engelsystem +STAGING_REMOTE_PATH # The path on the remote server, e.g. /var/www/engelsystem PRODUCTION_REMOTE # Same as STAGING_REMOTE but for the production environment PRODUCTION_REMOTE_PATH # Same as STAGING_REMOTE_PATH but for the production environment ``` +### Docker container +To build the `engelsystem` and the `engelsystem-nginx` container: +```bash +cd contrib +docker-compose build +``` + +or to build the containers separately +```bash +docker build -f contrib/Dockerfile . -t engelsystem +docker build -f contrib/nginx/Dockerfile . -t engelsystem-nginx +``` + +Import database +```bash +docker exec -i db_container mysql -u engelsystem -pengelsystem engelsystem < db/install.sql +docker exec -i db_container mysql -u engelsystem -pengelsystem engelsystem < db/update.sql +``` + +To be able to send mails a relay is needed. Set `SMTPHOST=[mail container]` to configure it. + #### 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. |