Web Interfaces of PROSUME

README.md 2.3KB

WEB

Web Interfaces of PROSUME

Stack

The Web Interfaces is built upon CakePHP v3.7 Framework. The composer.lock is provided as the related vendors files. Javascript and CSS frameworks/library are also provided in the webroot/ directory. The Web Interfaces are backed by a MariaDB and the schema is provided in the sql/ directory. The HTTP server could be Apache or Nginx or else. For Apache the needed .htaccess files are provided. An example of Nginx configuration could be

server {
    listen 80;
    listen [::]:80;

    server_name *serverName*;
    server_tokens off;

    client_max_body_size 128M;

    root /path/to/webroot;
        index index.php index.html index.htm;

    error_log  /path/to/error.log  warn;
    access_log  /path/to/access.log  combined;

    location / {
        try_files $uri $uri/ /index.php?$uri&$args;
    }

    location = /robots.txt {
            log_not_found off;
            access_log off;
    }

    location ~ \.php$ {
            set $newurl $request_uri;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php/php*VERSION*-fpm.sock;
            try_files $uri =404;
            fastcgi_index index.php;
            fastcgi_param REQUEST_URI $newurl;
    }
}

Configuration

  • ./client.ini.dist has to be copied as client.ini and the 3 variables of the wallet group has to be changed setting the path to the utility account key, the path of configuration file in YAML format and the path of the prosume-cli executable. Change also the databaseb settings in the related group. If the charts value is set to 1, the charts of payment data will be displayed in the balance page of each meter.
  • in the database table conf change as needed the values accordingly to your needs pointing out the name of the utility account and the settings for the automatic top ups for both PRS and TFT tokens.
  • ./logs/ and ./tmp directory must be writable by the user that run the web server.

Cronjob

The following cron has to be set for an user able to execute a php command and to write in the ./locks directory

*/5 * * * * /usr/bin/php -f /path/to/webroot/readhistory.php