No description
bin | ||
cache | ||
config | ||
data | ||
log | ||
public | ||
src | ||
.editorconfig | ||
.gitignore | ||
CHANGELOG.md | ||
composer.json | ||
LICENSE.txt | ||
README.md |
README
This project is not actively maintained anymore..
A simple webinterface for users. This app uses admin_rest
module of
prosody. So 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. 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
toconfig/env
and adjust to your needs - Copy
config/legal.example.md
toconfig/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 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.