NolaPro was one of the first viable linux-based accounting packages for business, created from os nola in 2003!
wget https://www.nolapro.com/download/nolapro_release_php_72.zip;
unzip nolapro_release_php_72.zip;
Direct Link: Download
NolaPro runs on Apache, PHP and MySQL. It's possible to run under Nginx, or other web servers, but this tutorial will only cover the Apache setup. Database server of both MariaDB and MySQL are support.
The first thing to do is make sure you system is fully up-to-date before.
sudo apt update -y
Hit:1 http://us.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1,031 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [781 kB]
Fetched 2,141 kB in 3s (733 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
This tutorial will only cover the basics. You can find a more detailed guide to apache for Ubuntu here: Install and Configure Apache (ubuntu.com)
Apache can be installed on Ubuntu using this command
sudo apt install apache2 -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 ssl-cert
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser openssl-blacklist
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 ssl-cert
...
Confirm that Apache was installed, running and starts by default.
systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-12-11 06:21:49 America/Detroit; 5min ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 1565 (apache2)
Tasks: 55 (limit: 1072)
Memory: 5.8M
CGroup: /system.slice/apache2.service
├─1565 /usr/sbin/apache2 -k start
├─1568 /usr/sbin/apache2 -k start
└─1569 /usr/sbin/apache2 -k start
Configure your system firewall to allow for http & https
sudo ufw allow http
Rules updated
Rules updated (v6)
Configure your system firewall to allow for https
sudo ufw allow https
Rules updated
Rules updated (v6)
This tutorial will only cover the basics. You can find a more detailed guide to apache for Ubuntu here: How To Install MySQL on Ubuntu 20.04 (digitalocean.com)
sudo apt install mysql-server -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common
mysql-server-8.0 mysql-server-core-8.0
Suggested packages:
libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx tinyca
The following NEW packages will be installed:
libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common
mysql-server mysql-server-8.0 mysql-server-core-8.0
...
Confirm that MySQL was installed, running and starts by default.
sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) Mon 2023-12-11 06:21:49 America/Detroit; 5min ago
Main PID: 3493 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 1072)
Memory: 329.8M
CGroup: /system.slice/mysql.service
└─3493 /usr/sbin/mysqld
Set Root MySQL Password
sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'YOUR_PASSWORD_HERE';"
Start MySQL Configuration
sudo mysql_secure_installation
Type Y then [Enter] to when asked to enable the validate password component.
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: N
Type in the password you would like to assign to the root user, then press [Enter].
Please set the password for root here.
New password:
You'll then be prompted to enter the same password again.
Re-enter new password:
Finally you will be shown the password score and asked to confirm.
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Always choose to remove anonymous users.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
It is highly recommended to disallow the root login.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
It is recommended to remove the uneeded test database.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Always choose to reload the privilege table.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
At the end you should get this message.
Success.
All done!
Next you will need to add some specfic setting for NolaPro.
echo 'sql_mode=' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf > /dev/null
The MySQL service will need to be restarted to pick up the new settings.
sudo systemctl restart mysql
Lets create the NolaPro MySQL User
sudo mysql -u root -p
Enter your root mysql password
Enter password:
You should now be at the MySQL command prompt
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Create a new database for NolaPro
mysql> CREATE DATABASE IF NOT EXISTS nolapro;
Create the NolaPro user and password. Change the user and password below to something unique and hard to guess. Make sure to write this down, as you will need this username and password later in this guide.
mysql> CREATE USER 'SET_USERNAME_HERE'@'127.0.0.1' IDENTIFIED BY 'SET_NEW_PASSWORD_HERE';
Give your new MySQL user access to the NolaPro database
mysql> GRANT ALL ON nolapro.* TO 'SET_USERNAME_HERE'@'127.0.0.1';
Close the MySQL prompt with the exit command.
mysql> exit;
Lets first install the PHP software. A number of different version of PHP are support. This guide will cover PHP 7.4 using FPM.
sudo apt install php7.4 php7.4-fpm php7.4-curl php7.4-gd php7.4-mbstring php7.4-mysqli php7.4-zip -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.4-mysql' instead of 'php7.4-mysqli'
The following additional packages will be installed:
fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libonig5 libtiff5 libwebp6 libxpm4 php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache
php7.4-readline
Suggested packages:
libgd-tools php-pear
The following NEW packages will be installed:
fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libonig5 libtiff5 libwebp6 libxpm4 php-common php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd
php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline
...
Confirm that PHP-FPM was installed, running and starts by default.
systemctl status php7.4-fpm
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-12-11 06:21:49 America/Detroit; 5min ago
Docs: man:php-fpm7.4(8)
Process: 11598 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
Main PID: 11584 (php-fpm7.4)
Status: "Processes active: 0, idle: 2, Requests: 2, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 1072)
Memory: 8.2M
CGroup: /system.slice/php7.4-fpm.service
├─11584 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
├─11596 php-fpm: pool www
└─11597 php-fpm: pool www
...
Run these commands to configure Apache to use PHP.
sudo a2enmod proxy_fcgi setenvif;
sudo a2enconf php7.4-fpm;
sudo rm /var/www/html/index.html;
sudo systemctl reload apache2;
Let's now configure the PHP installation to better operator for NolaPro.
sudo nano /etc/php/7.4/fpm/conf.d/99-nolapro.ini;
Here are required settings that you must have in the file. Replace the timezone below with a entry from this list of timezones that fits your region.
short_open_tag = On
date.timezone = America/New_York
Here are recommended settings you can add to the file. Adjust these as you feel fit.
max_input_vars = 99999
upload_max_filesize = 32M
post_max_size = 32M
memory_limit = 1G
max_execution_time = 300
The PHP service will now need restarted to apply the new settings.
sudo systemctl restart php7.4-fpm
NolaPro Requires that IonCube support be added to your PHP installation to operate.
The installation wizard that IonCube offers is the simplest way to get this software ready.
cd /var/www/html;
sudo wget https://www.ioncube.com/loader-wizard/loader-wizard.tgz;
sudo tar -xf loader-wizard.tgz;
sudo rm loader-wizard.tgz;
Now, access your server via your browser to complete the IonCube installation: http://127.0.0.1/ioncube/loader-wizard.php . If you are accessing your server from another machine, replace the 127.0.0.1 with the needed IP or domain.
After you complete the ioncube installation, don't forget to delete the ioncube directory from your web folder.
sudo rm /var/www/html/ioncube -R
The final steps are to download and extract the NolaPro files into your web accessible folder.
We will need the zip tool to complete this task. Use this command to install zip into Ubuntu.
sudo apt install zip -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
unzip
The following NEW packages will be installed:
unzip zip
...
Now download and extract the installation files
sudo wget https://www.nolapro.com/download/nolapro_release_php_72.zip;
sudo unzip nolapro_release_php_72.zip;
sudo chown www-data:www-data /var/www/html -R;
The final parts of the NolaPro installation can be completed via your browser: http://127.0.0.1/ . If you are accessing your server from another machine, replace the 127.0.0.1 with the needed IP or domain.
If you have any troubles completing the installation, please feel free to contact us with questions.
Monday - Friday