Setup the Customer Portal

  1. The portal requires at a minimum, PHP version 5.6. This version is not yet available via the standard CentOS® repositories. To install PHP 5.6 and related modules. As root perform:
    1. For CentOS7, wget For CentOS6, wget
    2. For CenttOS 7.x®, rpm -Uvh remi-release-7*.rpm. For CenttOS 6.x®, rpm -Uvh remi-release-6*.rpm
    3. vi /etc/yum.repos.d/remi.repo. Change "enabled" to 1 in both the remi and remi-php56 sections.
    4. Execute yum -y install httpd mod_ssl php php-cli php-common php-pdo php-xml php-mbstring php-gd mod_php
    5. systemctl restart httpd
  2. Prepare the vendor files
    1. cd /usr/local/billmax/portal.v2/vendor.
    2. tar -xzf vendor.tgz.
    3. cd /usr/local/billmax/local.
    4. ./accesscheck --repair.
  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. Create and Install the Edge SSL certificate
    1. As the BillMax system user, execute /usr/local/billmax/bin/
    2. Supply values for the prompts. For every password/passphrase request, use the same value entered for the first request. Make note of the value for use in a subsequent step.
  7. cp /usr/local/billmax/local/edge.conf-dist /usr/local/billmax/local/edge.conf
  8. vi /usr/local/billmax/local/edge.conf. Replace ???? with the password/passphrase specified in step 6.b.
  9. Install the edge service - CentOS 6.x®. As the root user:
    1. cp /usr/local/billmax/bin/bx_edge /etc/init.d
    2. chkconfig --add bx_edge
    3. chkconfig bx_edge on
    4. service bx_edge start
  10. Install the edge service - CentOS 7.x®. As the root user:
    1. cp /usr/local/billmax/pkg/bx_edge.service /usr/lib/systemd/system
    2. systemctl enable bx_edge
    3. systemctl start bx_edge
  11. Test functionality by pointing a browser at https://billmax-host/testportal where billmax-host is the address of the BillMax server. A view similar to what is shown indicate success. If you get a permission error, check the zbillmax.conffile in /etc/httpd/conf.d. In the /usr/local/billmax/html section, change AllowOverride None to AllowOverride All and restart the Apache server.
  12. Click Login to test access to the edge service.
  13. 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 use "." instead of "*" otherwise some hidden files will be excluded from the tar file.
    3. scp /tmp/portal.v2.tgz <remote-user>@<remote-host>:
  14. 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.
  15. 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.