92 lines
2.3 KiB
Markdown
Executable file
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.
|