This repository has been archived on 2023-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
prosody_web_admin_rest/README.md

92 lines
2.3 KiB
Markdown
Executable file

# README
A simple webinterface for users. This app uses [`admin_rest`](https://github.com/snowblindroan/mod_admin_rest) module of
prosody. So [prosody.im](http://prosody.im) and this module are hard dependencies. The interface allows users
* to have two step verification (as an alternative to the integrated `register_web` module),
* to delete of their accounts and
* to change their password.
This app uses
* Slim Version 3
* Slim Auth
* Eloquent ORM
* PHPMigration
* GUMP Validation
* Twig
* Curl
* PHPMailer
* Symfony Translation
* Sqlite
as dependencies.
The main git repository is hosted at _[https://git.myservermanager.com/varakh/prosody_web_admin_rest](https://git.myservermanager.com/varakh/prosody_web_admin_rest)_.
Other repositories are mirrors and pull requests, issues, and planning are managed there.
Contributions are very welcome!
## Requirements
* admin_rest module of prosody
* composer
* sqlite pdo, mb_string
## Install
* Install composer
* Change directory to project home
* Copy `config/env.example` to `config/env` and adjust to your needs
* Copy `config/legal.example.md` to `config/legal.md` and adjust to your needs
* `composer install`
* `php bin/phpmig migrate`
## Deployment
* Set up a cron job using `php projectRootDir/bin/UsersAwaitingVerificationCleanUpCronJob.php` to clean up users who
signed up but did not verify their account periodically.
* Point your document root to `public/`.
* Example nginx conf:
```
root .../public;
index index.php;
rewrite_log on;
location / {
try_files $uri $uri/ @ee;
}
location @ee {
rewrite ^(.*) /index.php?$1 last;
}
# php fpm
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include fastcgi_params;
}
```
You should be able to set a very strict Content-Security-Policy.
## Upgrade
* Change directory to project home
* `git pull`
* `composer update`
* `php bin/phpmig migrate`
* look into Changelog for major changes
## Developers
* start server with `php -S localhost:8080 -t public public/index.php`
* point browser to [localhost:8080](http://localhost:8080) to have a preview
## Translations
This app uses Symfony Translator. It's bootstraped in `Util\BootstrapHelper` and locales are placed under `data/locale/`
. Adjust to your needs or help translating.