Setup the Customer Portal

  1. Generate a SSL certificate to be used for encryption of data between the Customer Portal and the Customer Portal daemon (Edge). As root perform /usr/local/billmax/bin/setup_edge
  2. The portal requires at a minimum, PHP version 7.3. This version is not yet available via the standard CentOS® repositories. To install PHP 7.3 and related modules. As root perform:
    1. For CentOS 7, wget -q http://rpms.remirepo.net/enterprise/remi-release-7.rpm.
    2. For CenttOS 7.x®, rpm -i remi-release-7*.rpm
    3. Execute yum-config-manager --enable remi-php73
    4. Execute yum install php
    5. Execute yum -y install httpd mod_ssl php php-cli php-common php-pdo php-xml php-mbstring php-gd php-soap mod_php
    6. Execute systemctl restart httpd
  3. Generate a new application encryption key:
    1. cd /usr/local/billmax/portal.v2
    2. php artisan key:generate
  4. Each client portal instance requires a Remote Application entry. To create an entry, perform:
    1. Select System Administration > Remote Applications from the Main Menu.
    2. Select New from the Context Menu.
    3. Enter Name.
    4. Enter Description.
    5. Enter Email. Note that this field is only used for the old portal. The new portal uses a client side configuration instead.
    6. Enter Phone. Note that this field is only used for the old portal. The new portal uses a client side configuration instead.
    7. Choose Customer Portal for Type.
    8. Enter Portal URL. This is base URL for portal. Specify the https://<portal-host>/<path-to-portal>. This is used in email links for the forgotten password and login id recovery tasks. You may use https://<billmaxserver>/testportal if wanting to test off the BillMax server.
    9. Choose Company and Customer Profile. These values are used only for new customer registrations.
    10. Enter Application Login Name and Application Password. These will be used by the Customer Portal client software to authenticate access to the Customer Portal Server.
    11. Modify the Customer Portal Login Parameters as required. Note that the security questions and CAPTCHA options are presently not used in the new portal.
  5. vi /usr/local/billmax/portal.v2/config/edge.php. Enter the username and password using the value specified in Application Login Name and Application Password previously entered via the Staff Portal. Make sure the server entry has the correct name or IP address and port. You may configure other settings in this file as needed.
  6. Start the edge service. As the root user:
    1. systemctl start bx_edge
  7. Test functionality by pointing a browser at https://<billmaxserver>/testportal where <billmaxserver> is the address of the BillMax server. A view similar to what is shown indicate success. If you get a permission error, check zbillmax.conf in /etc/httpd/conf.d. In the /usr/local/billmax/html section, change AllowOverride None to AllowOverride All and restart the Apache server.
  8. Click Login to test access to the edge service.
  9. It is recommended that all customizations to the portal be done on the BillMax host then "pushed" to the remote web server after each update. Doing this will ensure your portal remains current and your customization are retained across upgrades. To copy the files, perform:
    1. cd /usr/local/billmax/portal.v2
    2. tar --exclude=.svn -c -z -f /tmp/portal.v2.tgz. Be sure to include the period at the end of this command.
    3. scp /tmp/portal.v2.tgz <remote-user>@<remote-host>:
  10. When installing the portal at a remote site, it must be installed so that only the portal's public directory and it's contents are in the Apache web server document tree. This can be accomplished by setting (typically in a VirtualHost section) the DocumentRoot variable to the public directory path or a symbolic link may be used. As an example of the latter technique, the /usr/local/billmax/html/testportal link points to /usr/local/billmax/portal.v2/public.
  11. When installing the portal at a remote site, configure the Apache server so the portal files are only served via HTTPS. Either disable port 80 or redirect port 80 traffic to HTTPS.
  12. When installing the portal at a remote site, ensure that the Apache server allows the use of .htaccess files by using the "AllowOverride All" directive in the appropriate <Directory> section for the portal in the httpd conf file.