Overview
In this page you can find the needed documentation for you to fully install and configure the product.
The product installation procedure is straight forward and does not require any special / out of the ordinary task. Minimum knowledge on how to work with a database and managing files on a server is required.
Requirements
Please make sure your server meets the following requirements before attempting to install or purchase the product.
PHP | PHP 8.0 - 8.2 |
Extensions | cURL, OpenSSL, mbstring, MySQLi |
Database | MySQL 5.7.3+ or MariaDB equivalent |
Server | Apache or Nginx |
Installation Services
I also offer quality installation services at a low cost if you do not want to bother with the installation process.
Product Installation - $35
The product installation package includes the following:
- Uploading the product files on your server (requires a fully configured and ready to go server).
- Creating and configuring the database that is going to be used.
- Full installation of the product.
Full Server Installation - $69
The full server installation package includes the following:
- Setting up a new server (Ubuntu OS) on one of those platforms: Cloudways, Vultr, DigitalOcean
- Setting up the domain for the server
- Free SSL Certificate Installation (Let's Encrypt)
- Installation of Apache, MySQL with MySQLi, PHP
- Installation and configuration of PHP's necessary modules / extensions
- Full installation of the product
Product Update - $30
The product update package includes the following:
- Backup of the files & database (upon request).
- Update of the product to the latest version (no matter which version are you currently on).
- Update of all the plugins you own (if any).
Installation
This installation process should take no more than 10 minutes if followed and done correctly.
Watch a video tutorial on how you can install the product a shared web host with cPanel.
1. Prepare the database
- Create a new Database User for the upcoming new database (optional)
- Create a new Database
- Prepare the Database Host, Name, Username and Password for the upcoming steps.
2. Upload the product
Upload the content of the product/
folder on your webhost.
The product can be uploaded either on a subdomain, domain or subfolder, depending on your needs.
product
folder and it may appear hidden on your pc and if not uploaded, it will produce a 404 Error on any link you click in the website.3. Start the installation process
- Access the product on your website and access the
domain.com/install
path. - You need to set the permissions (CHMOD) of the files / folders mentioned in the installation process to either 755, 775, or 777 which will depend on your actual server.
- Follow the steps in the installation process.
- If the installation is successful, you will see the admin login credentials.
4. Cron job setup
The cron job must be set up as it is responsible for handling background tasks.
- Make sure to login and go to the Admin Panel -> Website Settings -> Cron tab
- Create a new cron job with each cron job commands that you see in there.
Update
This part of the documentation is for the time when you want to update your current installation to newer releases.
Watch a video tutorial on how you can update the product a shared web host with cPanel.
1. Backup
Before even starting with the updating process, you must backup to make sure that if something goes wrong, you can always restore to the previous version.
- Backup your database
- Backup your files
2. Files update
- Download & unzip the latest version of the product.
- Go inside of the
product
folder, copy and upload all the files and folders to your server where you have the product installed.
Do not replace nor upload the following files/folders:
/config.php
/install/
/uploads/
3. Database update
- Go to your website and access the
/update
path, just like the following format:https://domain.com/update
. - Follow all the steps inside of the updating process.
- After you are finished, make sure to delete the
update
folder as you do not need it anymore.
Configuration
Nginx Servers
The product was designed to work by default for Apache servers. This is an extra thing that I provide for NGINX users although support is NOT guaranteed for NGINX servers.
The rewrite rule for NGINX that you need to add so that the urls work is the following:
if (!-e $request_filename){
rewrite ^\/(.+)$ /index.php?altum=$1 last;
}
This command should be added in your domain.conf nginx file in the location / { ... } field.
Captchas
Google Recaptcha
- Go to your Admin Panel -> Website settings -> Captcha page.
- Set the captcha type to Google ReCaptcha v2 checkbox.
- Go to Recaptcha Admin Panel and Login to your Google account.
- Make sure to select the reCAPTCHA v2 type
- Fill in the other needed details from the form.
- Copy the Site Key and Secret Key and paste them in the Admin Panel.
- Save your new settings in the admin panel.
hCaptcha
- Go to your Admin Panel -> Website settings -> Captcha page.
- Set the captcha type to hCaptcha.
- Go to hCaptcha and create/login to your account.
- Go to Add New Site and fill in the required details.
- After submitting your new site, go to the sites page, select the newly added site and click on Settings.
- Copy the Site key and paste it in the Admin Panel.
- Go to hCaptcha settings.
- Copy the Secret key and paste it in the Admin Panel.
- Save your new settings in the admin panel.
Payment processors
PayPal
The PayPal integration gives your users the ability to pay via PayPal on your website.
- Go to PayPal Developer Console and Login to your account after clicking the Log into Dashboard button
- Go to REST API apps section and click the Create App button.
- Add your own details for the new app and create it.
- Switch to Live by clicking the button near your new App's Name.
- Copy the Client ID and Secret
- Go to your product installation Admin Panel -> Website Settings -> Paypal Tab and enter the Client ID and Secret keys.
- Make sure to also switch the Mode to Live and Submit the new settings.
- Go to the newly created App in the Paypal Developer Console and click on the Add Webhook button.
- In the Webhook Url field, add your website's URL in this format:
https://yourdomain.com/webhook-paypal
(replaceyourdomain.com
with your own domain name). - In the Event types field, check the Payment sale completed, Checkout order approved events and submit the Webhook.
Stripe
The PayPal integration gives your users the ability to pay via Stripe on your website.
- Go to Stripe Dashboard and Login to your account.
- Go to Stripe API Keys page.
- Make sure your API keys are set to Live Mode so that you can accept real payments.
- Copy the Publishable key and Secret key.
- Go to your product installation Admin Panel -> Website Settings -> Stripe Tab and enter the Publishable key and Secret Key.
- From the sidebar, under Developers click on Webhooks link.
- Click on the Add endpoint button
- In the Endpoint URL field, add your website's URL in this format:
https://yourdomain.com/webhook-stripe
(replaceyourdomain.com
with your own domain name). - In the Events to send field, select the
checkout.session.completed
,invoice.paid
,invoice.upcoming
and click the Add endpoint button. - Copy the Signing secret key and paste it in the product's Webhook Secret field in the admin panel.
Offline payments
The offline payments integration gives your users the ability to pay offline (bank transfer, for example), give you the proof of payment and receive what the customer paid for when the payment is approved.
- As an admin you can enable the offline payments system from the Admin Panel -> Website Settings -> Offline payment tab.
- In the Instructions field you can write details for the user on where to send an offline payment.
- The customer will have the ability to choose the offline payment method when checking out.
- The customer will see the Instructions for the payment and also be required to upload a proof of payment.
- When the customer checks out, the admin will need to go in the Admin Panel -> Payments page and review the proof of purchase and then, approve it.
- After the approval, the customer will get the plan that was chosen
- If the proof of payment is not correct and the payment is fake, simply delete the payment from the list.
Coinbase
The Coinbase integration gives your users the ability to pay with crypto via the Coinbase payment gateway.
- Go to Coinbase Dashboard and Login to your account.
- Go to Coinbase Settings page.
- Scroll down to the API Keys section and copy the API key.
- Go to your product installation Admin Panel -> Website Settings -> Coinbase Tab and enter the API Key.
- Scroll down to the Webhook subscriptions section, click on the Add an endpoint button.
- In the field, add your website's URL in this format:
https://yourdomain.com/webhook-coinbase
(replaceyourdomain.com
with your own domain name) and save it. - Copy the Shared secret webhook secret key and paste it in the Webhook Secret field in the admin panel.
Crypto.com
The Crypto.com integration gives your users the ability to pay with crypto via the Crypto.com payment gateway.
- Go to Crypto.com Merchant and Login to your account.
- Go to Developers page.
- Copy the Publishable key and Secret Key.
- Go to your product installation Admin Panel -> Website Settings -> Crypto.com Tab and enter the Keys.
- Go to the Webhooks tab and click on the Add webhook button.
- In the field, add your website's URL in this format:
https://yourdomain.com/webhook-crypto-com
(replaceyourdomain.com
with your own domain name) and save it. - Copy the Signature secret webhook secret key and paste it in the Webhook Secret field in the admin panel.
PayU
The PayU integration gives your users the ability to pay with via the PayU payment gateway for one time purchases.
- Go to PayU and Login to your account.
- Create a new shop, fill in all the details.
- Go to your product installation Admin Panel -> Website Settings -> PayU Tab and enter the given API Keys.
Paystack
The Paystack integration gives your users the ability to pay with via the Paystack payment gateway for one time & recurring purchases.
- Go to Paystack and Login to your account.
- Go to the Settings page -> API Keys & Webhooks tab on Paystack.
- Go to your product installation Admin Panel -> Website Settings -> Paystack Tab and enter the given API Keys.
- Add your website's URL in this format:
https://yourdomain.com/webhook-paystack
(replaceyourdomain.com
with your own domain name) in the Webhook URL field & save the changes.
Razorpay
The Razorpay integration gives your users the ability to pay with via the Razorpay payment gateway for one time & recurring purchases.
- Go to Razorpay and Login to your account.
- Go to the Settings page -> API Keys tab on Razorpay & generate your API keys.
- Go to your product installation Admin Panel -> Website Settings -> Razorpay Tab and enter the given API Keys.
- Go to the Settings page on Razorpay & generate your API keys.
- Go to the Settings page -> Webhooks tab on Razorpay & Add a new Webhook.
- Add your website's URL in this format:
https://yourdomain.com/webhook-razorpay
(replaceyourdomain.com
with your own domain name). - Add a new Secret (like a password) & check the
subscription.charged
andpayment_link.paid
& save the webhook. - Go to your product installation Admin Panel -> Website Settings -> Razorpay Tab and enter the set webhook secret.
Mollie
The Mollie integration gives your users the ability to pay with via the Mollie payment gateway for one time & recurring purchases.
- Go to Mollie and Login to your account.
- Go to the Developers -> API Keys page on Mollie get your API key.
- Go to your product installation Admin Panel -> Website Settings -> Mollie Tab and enter the given API Key.
- Make sure to activate your allowed payment methods via your Mollie account.
Yookassa
The Yookassa integration gives your users the ability to pay with via the Yookassa payment gateway for one time purchases.
- Go to Yookassa and Login to your account.
- Go to the Developers -> API Keys page on Mollie get your API key.
- Go to your product installation Admin Panel -> Website Settings -> Yookassa Tab and enter your Yookassa required API keys.
- Go to Yokassa Integration - HTTP Notifications and add a new Webhook.
- Add your website's URL in this format:
https://yourdomain.com/webhook-yookassa
(replaceyourdomain.com
with your own domain name). - Make sure your Yookassa account has receipts/invoices enabled on your account.
Paddle
The Paddle integration gives your users the ability to pay with via the Paddle payment gateway for one time purchases.
- Go to Vendors Paddle and Login to your account.
- Go to the Developers Tools -> Authentication page to get your Vendor ID and API Key.
- Go to your product installation Admin Panel -> Website Settings -> Paddle Tab and enter your the Vendor ID and API Key .
- Go to Paddle Developers Tools -> Public Key and copy that as well into the product installation Public Key field.
Taxes & Billing
The taxes system is helpful when you want to add taxes that the user gets included or needs to pay extra. Taxes need to be created & configured as per your specifications and attached to any created plan.
- As an admin you can enable the Taxes & Billing system from the Admin Panel -> Website Settings -> Payment tab.
- The Taxes & Billing system will give all your users the ability to enter their billing details before checking out and will give you the ability to create and attach taxes to paid plans.
- Go to the Admin Panel -> Taxes page.
- Start by creating a new Tax by clicking on the Create Tax button.
- Once you have one tax ready, you can go to the Admin Panel -> Plans page, select a paid plan and then you'd be able to activate a certain tax to be applied.
This is done so that the customers that have paid for a plan with a particular tax attached, will still be able to get their taxes on their invoices with the exact amount that they've paid in that particular moment.
Google Safe Browsing
The Safe Browsing integration will automatically check all url's that are submitted by your users with Google to see if they are malware, spam or any other threats.
- Go to Google Developers Console page and make sure you are logged in.
- Now you need to create a new project.
- Now you need to search for the SafeBrowsing API in the API Library and make sure to enable it.
- Go to the Credentials page by clicking on the link in the sidebar.
- Click on the Create Credentials button and select API Key
- Copy your freshly created API Key
- Go to your Product's Admin Panel -> Website Settings -> Links and enter the Google Safe Browsing API Key that you copied.
Additional global domains
Setting up additional custom domains will give you and your users the ability to use the additional domain to create pages on the new domain.
Watch a video tutorial on how you can set up Custom Domains on a shared web host with cPanel.
To add multiple domains you can simply go to the Admin Panel and go to the Domains page and insert extra domains that you have access to.
I am on a shared webhost
If your website is hosted on a shared webhost with panels like cPanel then you must go to the Addon Domain page inside of your cPanel and add that extra domain that you are going to use. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.
I am on a VPS / Dedicated Server
In this case you will need to make sure that your extra domain is set up properly and attached to your server. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.
Configuration for Apache Servers domains are usually found in the /etc/apche2/sites-enabled/
folder for each of your existing domains on your server.
Configuration of this feature is not offered in support as this setup is based on your host provider / server.
Custom domains
Setting up custom domains for users will give your users the ability to add their own custom domains to their account to create pages on the new domain.
To enable this features for the users you must go to the Admin Panel -> Website Settings -> Links tab and make sure that Custom Domains system is enabled.
You also have to make sure that you allow your users to have this feature enabled on their plans, based on however you want to offer this feature, configurable from the Admin panel -> Plans section.
A user will need to connect his custom domain to your own, before he submits his custom domain. You will need to then accept his custom domain from the admin panel, after you did the setup and accepted his custom domain.
I am on a shared webhost
If your website is hosted on a shared webhost with panels like cPanel then you must go to the Addon Domain page inside of your cPanel and add all the domains that your users will add on their accounts. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.
I am on a VPS / Dedicated Server
In this case you will need to make sure that all the extra domains from your users are added and configured on your server. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.
Configuration for Apache Servers domains are usually found in the /etc/apche2/sites-enabled/
folder for each of your existing domains on your server.
A good and simple solution works in most cases would be to edit the 000-default.conf file and point the DocumentRoot and Directory to the already existing Product Installation. This way all the domains that will be added, will automatically be linked to the original installation.
Configuration of this feature is not offered in support as this setup is based on your host provider / server.
Hosting & domains
VPS Hosting
(intermediate, advanced)If you are just starting out to work with VPS servers & do not want to complicate yourself with server management, manually installing & configuring the server, then I would highly suggest Cloudways.
If you do not need the managed cloud hosting solution and you are confortable with managing and configuring your own VPS, I would suggest going for Vultr.
Shared hosting
(beginner)When you are starting out and you do not have that much knowledge, I would highly suggest getting a shared webhosting plan.
Why? Because you get a lot of value for the money, such as: a free domain (in some cases), cpanel, support, documentation, custom domain email...etc.
Domains
Since I have found NameCheap almost 2 years ago, I have personally transferred all my domains from Godaddy to Namecheap as they offer better deals, prices for domains and a much more intuitive and simpler user interface.
Frequently asked questions
app/languages/english#en.php
file for the frontend part. The admin panel translations are found in the app/languages/admin/english#en.php
file.
app/languages/english#en.php
file, rename the duplicated file to your actual language name and start editing the newly created file. The same process needs to happen for the admin panel translations, app/languages/admin/english#en.php
.
If you want to keep the main language to English, but you still want to edit the already existing English strings, then the best way would be to create a new language pack and only translate the strings you wish to change.
After that, make sure to disable the original English language pack.
This way, when you update the product, you get all the latest English strings which come from the latest update, and you get to keep your custom changes (since you run the custom language pack).
The default English language pack will always be used as fallback. So if you did not translate certain strings, they will fallback to the orignal English file.
In the vast majority of cases, this is caused by either one of those cases:
- You do not have the
.htaccess
file uploaded. - Your web host provider does not have
mod_rewrite
enabled for Apache. - The
.htaccess
file exists, but the content is not the same as the original file from my product. - You run on Nginx and you have not configured the rewrite rules.
Please, triple check these.
- If you run a server which supports
.htaccess
, some servers might not accept the first line of the.htaccess
file. Try to delete the first line on the.htaccess
file. - If you get this error when submitting a form, this means that your webhost blocked the request. Try to disable
mod_security
, as it may trigger a false-positive, or contact your webhost provider.
Please, triple check these.
Spam registrations can not ever be fully prevented. No website can do fully get rid of spam. My products offer a lot of spam protection measures, so you would simply have to use them.
- Email confirmation - Set from the Admin panel -> Website Settings -> Users section.
- Captcha - Set from the Admin panel -> Website Settings -> Captcha section.
- Country block - Set from the Admin panel -> Website Settings -> Users section.
- Email domain block - Set from the Admin panel -> Website Settings -> Users section.
- Auto delete unconfirmed / old users - Set from the Admin panel -> Website Settings -> Users section.
- Bulk deletion of users - Set from the Admin panel -> Users page. In case you want to delete a lot of users in bulk.
/sitemap
path on the website.
This can be done in multiple ways. You can either edit the actual content by editing the themes/altum/views/index/index.php
file, editing the language file for text changes, or the themes/altum/assets/images/
folder for changing any images.
The second way would be to have a fully custom landing page, and redirecting (disabling) the default landing page, by editing & pasting the new landing page URL in the Custom landing page URL field in the Admin panel -> Website settings -> Custom landing page URL field.
This can be done in multiple ways, depending on your actual CSS/SCSS knowledge.
- Easiest way: You can edit the theme colors directly Admin panel -> Website settings -> Theme page.
- You can write your own custom css, that overwrites the already existing rules, and paste that in the Admin panel -> Website settings -> Custom CSS field.
- You can manually replace the colors via the bootstrap CSS files in the
themes/altum/assets/css/
folder. - You can also fully modify the theme, by editing the bootstrap SCSS files in the
themes/altum/assets/css/
folder, recompile them back to CSS, and then overwrite the original CSS bootstrap files (advanced).
Keep in mind: Support for any kind of customizations is not included, so this is fully up to you.
users
table, find your admin account and set the password to $2y$10$uFNO0pQKEHSFcus1zSFlveiPCB3EvG9ZlES7XKgJFTAl5JbRGFCWy
which equals to admin
as the password. Now you need to find the uploads/cache/
from the product installation files and delete the folder you see inside.
In this case, you'd need to access your database manager (such as phpMyAdmin), select the database of the installed product, go to the settings
table, find the captcha
key and modify the value
as following:
Find the "login_is_enabled":true
part of the text and edit that to "login_is_enabled":false
.
Now you need to find the uploads/cache/
from the product installation files and delete the folder you see inside.
config.php
file and make sure all the details inside are still correct.
Make sure you check all the following steps if the custom domains that you added do not show up:
- Go in the Admin panel -> Plans -> Update plan and make sure to select the additional domains that you wish to enable.
- Important: If you are on a custom plan, you must edit that from the User update page in the Admin panel
- Go to the Admin panel -> Website settings -> Links page and make sure you have the Custom domains / Additional domains feature enabled.
- Go to the Admin panel -> Website settings -> Cache page and make sure you clear the cache.
About
I build High quality, ready to use & affordable software. Here's where you can find me:
Support is only done through Codecanyon's email form or comments section.
Social logins
Facebook Login
The Facebook Login integration gives your users the ability to skip normal registration and login directly with their Facebook account.
Watch a video tutorial on how you can setup Facebook Login.
https://yourdomain.com/login/facebook
(replaceyourdomain.com
with your own domain name).Google Login
The Google Login integration gives your users the ability to skip normal registration and login directly with their Google account.
Watch a video tutorial on how you can setup Google Login.
https://yourdomain.com/login/google
(replaceyourdomain.com
with your own domain name).Twitter Login
The Twitter Login integration gives your users the ability to skip normal registration and login directly with their Twitter account.
https://yourdomain.com/login/twitter
(replaceyourdomain.com
with your own domain name).Discord Login
The Discord Login integration gives your users the ability to skip normal registration and login directly with their Discord account.
Watch a video tutorial on how you can setup Discord Login.
https://yourdomain.com/login/discord
(replaceyourdomain.com
with your own domain name).LinkedIn Login
The LinkedIn Login integration gives your users the ability to skip normal registration and login directly with their LinkedIn account.
https://yourdomain.com/login/linkedin
(replaceyourdomain.com
with your own domain name).Microsoft Login
The Microsoft Login integration gives your users the ability to skip normal registration and login directly with their Microsoft account.
https://yourdomain.com/login/microsoft
(replaceyourdomain.com
with your own domain name)