Documentation

66uptime by AltumCode

Get started

This documentation will get you through the installation of the product and some of the available configuration options.

The steps are straight forward and does not require any special or out of the ordinary task, but minimum overall web related knowledge is required.

Support is exclusively handled through email. Ensure to attach proof of purchase when requesting support.

Requirements

Ensure your server meets the specified requirements prior to installation or purchase.

PHP PHP 8.0 - 8.3
Extensions cURL, OpenSSL, mbstring, MySQLi
Database MySQL 5.7.3+ or MariaDB equivalent
Server Apache or Nginx
Note that there could be other required extensions aside from those mentioned here. These requirements assume you're running on a decent, up-to-date server with the essential extensions already in place.

Installation Services

I also offer quality installation services at a low cost if you do not want to bother with the installation process.

Software installation - $35

  • 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.
You must own a server with a control panel like Plesk, cPanel...etc.

Server configuration & software installation - $69

  • 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

  • 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).
You are responsible for reintegrating any custom modifications to the original product files after an update.
Get in touch via email

Installation

This installation typically requires approximately 10 minutes for completion when followed accurately.

Watch a video tutorial on how you can install the product a shared web host with cPanel.

Prepare the database

  1. Create a new Database User for the upcoming new database (optional)
  2. Create a new Database
  3. Prepare the Database Host, Name, Username and Password for the upcoming steps.

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.

Start the installation process

  1. Access the product on your website and access the domain.com/install path.
  2. 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.
  3. Follow the steps in the installation process.
  4. If the installation is successful, you will see the admin login credentials.

Cron job setup

The cron job must be set up as it is responsible for handling background tasks.

  1. Make sure to login and go to the Admin Panel -> Website Settings -> Cron tab
  2. Create a new cron job with each cron job commands that you see in there.
  3. The process varies based on your web host provider; refer to their documentation for Cron job setup instructions.

Update

This section guides you through updating your current installation to newer releases.

Watch a video tutorial on how you can update the product a shared web host with cPanel.

Backup

Prior to initiating the update process, ensure to create a backup to facilitate restoration in case of any issues.

  1. Backup your database
  2. Backup your files

Files update

  1. Download & unzip the latest version of the product.
  2. Navigate to the `product` folder, copy all files and folders, and upload them to your server where the product is installed.
  3. Do not upload/overwrite the config.php file.

Database update

  1. Go to your website and access the /update path, just like the following format: https://domain.com/update.
  2. Follow all the steps inside of the updating process.
  3. After you are finished, make sure to delete the update folder as you do not need it anymore.

NGINX Setup

Use the following NGINX rewrite rule to ensure proper functionality of the URLs:

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.

Social logins

These are the steps to integrate additional login methods through social networks.

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.

  1. Go to Facebook Developers page.
  2. Make sure to login to your Facebook account.
  3. Click on the My Apps menu dropdown and click on Create app.
  4. Add your details to the form and click submit the form to create the new app.
  5. Go to Settings from the sidebar menu and click on Basic.
  6. Fill out your Facebook app details in there.
  7. From the sidebar, under Facebook Login click on Quickstart link.
  8. Click on the Web platform and add your website URL. Skip the next steps.
  9. From the sidebar, under Facebook Login click on Settings link.
  10. In the Valid OAuth redirect URIs field, add your website's URL in this format: https://yourdomain.com/login/facebook (replace yourdomain.com with your own domain name).
  11. Save the changes.
  12. Go to App Profile page and copy the App ID and App Secret.
  13. Go to your website installation Admin Panel -> Website Settings -> Facebook Login Tab and fill in the copied keys.
  14. Make sure to Enable Facebook Login and Submit the new settings.
  15. Future configuration & review of the created Facebook app is fully up to you from now on.

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.

  1. Go to Google Developers Console page.
  2. Make sure to login to your Google account.
  3. Create a new project and select it.
  4. Go to OAuth consent screen menu item on the left.
  5. Select the User Type as External and click Create.
  6. Fill out your app details in there, save and continue.
  7. Make sure to add the userinfo.email & userinfo.profile scopes, save and continue.
  8. Finish the last remaining steps.
  9. Go to Credentials menu item on the left.
  10. Create new OAuth client ID credentials.
  11. Select the Web application type.
  12. In the Authorized redirect URIs field, add your website's URL in this format: https://yourdomain.com/login/google (replace yourdomain.com with your own domain name).
  13. Create the credentials.
  14. Copy the Client ID and Client Secret.
  15. Go to your website installation Admin Panel -> Website Settings -> Google Login Tab and fill in the copied keys.
  16. Make sure to Enable Google Login and Submit the new settings.
  17. Future configuration & review of the created Google app is fully up to you from now on.

Twitter Login

The Twitter Login integration gives your users the ability to skip normal registration and login directly with their Twitter account.

  1. Go to Twitter Developer Portal page.
  2. Make sure to login to your Twitter account and submit your application for being accepted into the program.
  3. Go to Projects & Apps -> Overview menu item on the left.
  4. Click on the Create App button.
  5. Fill out your app details in there, save and continue.
  6. Make sure to add the Authentication settings of the app by enabling 3-legged Oauth & enabling the Request email addresses from users.
  7. In the Callback URLs field, add your website's URL in this format: https://yourdomain.com/login/twitter (replace yourdomain.com with your own domain name).
  8. Fill out the other details that are required.
  9. Go to Keys and tokens of the new app that you created.
  10. Get your API Key and API Secret.
  11. Go to your website installation Admin Panel -> Website Settings -> Twitter Login Tab and fill in the copied keys.
  12. Make sure to Enable Twitter Login and Submit the new settings.
  13. Make sure you request "Elevated" access for your Twitter API, from your Twitter API page on their website.

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.

  1. Go to Discord Developer Portal page.
  2. Make sure to login to your Discord account.
  3. Go to Applications menu item on the left.
  4. Click on the New Application button.
  5. Fill out your app details in there, save and continue.
  6. Go to the OAuth2 menu item on the left.
  7. In the Redirects section, add your website's URL in this format: https://yourdomain.com/login/discord (replace yourdomain.com with your own domain name).
  8. Get your Client ID and Client Secret.
  9. Go to your website installation Admin Panel -> Website Settings -> Discord Login Tab and fill in the copied keys.
  10. Make sure to Enable Discord Login and Submit the new settings.

LinkedIn Login

The LinkedIn Login integration gives your users the ability to skip normal registration and login directly with their LinkedIn account.

  1. Go to LinkedIn Developer Portal page.
  2. Make sure to login to your LinkedIn account.
  3. Find & click on the Create App button.
  4. Fill out your app details in there, save and continue.
  5. Go to your newly created app page.
  6. Click on the Products page of the app & request access to Sign In with LinkedIn feature.
  7. Click on the Auth page of the app.
  8. Go to the OAuth Settings section add a new Authorized redirect URL in this format: https://yourdomain.com/login/linkedin (replace yourdomain.com with your own domain name).
  9. Get your Client ID and Client Secret.
  10. Go to your website installation Admin Panel -> Website Settings -> LinkedIn Login Tab and fill in the copied keys.
  11. Make sure to Enable LinkedIn Login and Submit the new settings.

Microsoft Login

The Microsoft Login integration gives your users the ability to skip normal registration and login directly with their Microsoft account.

  1. Go to Microsoft Azure Portal page.
  2. Make sure to login to your Microsoft account account.
  3. Find & go to the Add application registration page.
  4. Fill out your app details:
    1. Fill the name of the app.
    2. Make sure to select the Supported account types to Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox).
    3. Set the Redirect URI to Web type and the value to https://yourdomain.com/login/microsoft (replace yourdomain.com with your own domain name)
  5. Go to your website installation Admin Panel -> Website Settings -> Microsoft Login Tab and paste the Application (client) ID that you got after creating the new application.
  6. Go to Certificates & Secrets page on the sidebar of the newly created app.
  7. Create a new secret key and copy/paste the Value (and not the Secret ID) in the Admin panel of your website.
  8. Go to Authentication page on the sidebar of the newly created app.
  9. Make sure to check the Access tokens (used for implicit flow) checkbox and save.
  10. Make sure to Enable Microsoft Login and Submit the new settings.

Captchas

These are the steps to integrate more advanced and powerful captcha codes for your system.

Cloudflare Turnstile

  1. Go to your Admin Panel -> Website settings -> Captcha page.
  2. Set the captcha type to Cloudflare Turnstile.
  3. Go to Cloudflare Dashboard and Login to your account.
  4. Go to the Turnstile page on Cloudflare & click on Add Site.
  5. Fill in the details in the form and submit.
  6. Copy the Site Key and Secret Key and paste them in the Admin Panel.
  7. Save your new settings in the admin panel.

Google Recaptcha

  1. Go to your Admin Panel -> Website settings -> Captcha page.
  2. Set the captcha type to Google ReCaptcha v2 checkbox.
  3. Go to Recaptcha Admin Panel and Login to your Google account.
  4. Make sure to select the reCAPTCHA v2 type
  5. Fill in the other needed details from the form.
  6. Copy the Site Key and Secret Key and paste them in the Admin Panel.
  7. Save your new settings in the admin panel.

hCaptcha

  1. Go to your Admin Panel -> Website settings -> Captcha page.
  2. Set the captcha type to hCaptcha.
  3. Go to hCaptcha and create/login to your account.
  4. Go to Add New Site and fill in the required details.
  5. After submitting your new site, go to the sites page, select the newly added site and click on Settings.
  6. Copy the Site key and paste it in the Admin Panel.
  7. Go to hCaptcha settings.
  8. Copy the Secret key and paste it in the Admin Panel.
  9. Save your new settings in the admin panel.

Payment processors

These are the steps to connect the available payment processors with your system. Only available for extended license holders.

PayPal

The PayPal integration gives your users the ability to pay via PayPal on your website.

  1. Go to PayPal Developer Console and Login to your account after clicking the Log into Dashboard button
  2. Go to REST API apps section and click the Create App button.
  3. Add your own details for the new app and create it.
  4. Switch to Live by clicking the button near your new App's Name.
  5. Copy the Client ID and Secret
  6. Go to your product installation Admin Panel -> Website Settings -> Paypal Tab and enter the Client ID and Secret keys.
  7. Make sure to also switch the Mode to Live and Submit the new settings.
  8. Go to the newly created App in the Paypal Developer Console and click on the Add Webhook button.
  9. In the Webhook Url field, add your website's URL in this format: https://yourdomain.com/webhook-paypal (replace yourdomain.com with your own domain name).
  10. In the Event types field, check the Payment sale completed, Checkout order approved events and submit the Webhook.

Stripe

The Stripe integration gives your users the ability to pay via Stripe on your website.

  1. Go to Stripe Dashboard and Login to your account.
  2. Go to Stripe API Keys page.
  3. Make sure your API keys are set to Live Mode so that you can accept real payments.
  4. Copy the Publishable key and Secret key.
  5. Go to your product installation Admin Panel -> Website Settings -> Stripe Tab and enter the Publishable key and Secret Key.
  6. From the sidebar, under Developers click on Webhooks link.
  7. Click on the Add endpoint button
  8. In the Endpoint URL field, add your website's URL in this format: https://yourdomain.com/webhook-stripe (replace yourdomain.com with your own domain name).
  9. In the Events to send field, select the checkout.session.completed, invoice.paid, invoice.upcoming and click the Add endpoint button.
  10. 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.

  1. As an admin you can enable the offline payments system from the Admin Panel -> Website Settings -> Offline payment tab.
  2. In the Instructions field you can write details for the user on where to send an offline payment.
  3. The customer will have the ability to choose the offline payment method when checking out.
  4. The customer will see the Instructions for the payment and also be required to upload a proof of payment.
  5. 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.
  6. After the approval, the customer will get the plan that was chosen
  7. 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.

  1. Go to Coinbase Dashboard and Login to your account.
  2. Go to Coinbase Settings page.
  3. Scroll down to the API Keys section and copy the API key.
  4. Go to your product installation Admin Panel -> Website Settings -> Coinbase Tab and enter the API Key.
  5. Scroll down to the Webhook subscriptions section, click on the Add an endpoint button.
  6. In the field, add your website's URL in this format: https://yourdomain.com/webhook-coinbase (replace yourdomain.com with your own domain name) and save it.
  7. 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.

  1. Go to Crypto.com Merchant and Login to your account.
  2. Go to Developers page.
  3. Copy the Publishable key and Secret Key.
  4. Go to your product installation Admin Panel -> Website Settings -> Crypto.com Tab and enter the Keys.
  5. Go to the Webhooks tab and click on the Add webhook button.
  6. In the field, add your website's URL in this format: https://yourdomain.com/webhook-crypto-com (replace yourdomain.com with your own domain name) and save it.
  7. 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.

  1. Go to PayU and Login to your account.
  2. Create a new shop, fill in all the details.
  3. Go to your product installation Admin Panel -> Website Settings -> PayU Tab and enter the given API Keys.

Iyzico

The Iyzico integration gives your users the ability to pay with via the Iyzico payment gateway for one time purchases.

  1. Go to Iyzico and Login to your account.
  2. Go to Merchant settings page.
  3. Copy the API Key and Secret Key.
  4. Go to your product installation Admin Panel -> Website Settings -> Iyzico Tab and enter the given API Keys.
  5. Scroll down in the Iyzico page until you find Merchant notifications section.
  6. In the field, add your website's URL in this format: https://yourdomain.com/webhook-iyzico (replace yourdomain.com with your own domain name) and save it.

Paystack

The Paystack integration gives your users the ability to pay with via the Paystack payment gateway for one time & recurring purchases.

  1. Go to Paystack and Login to your account.
  2. Go to the Settings page -> API Keys & Webhooks tab on Paystack.
  3. Go to your product installation Admin Panel -> Website Settings -> Paystack Tab and enter the given API Keys.
  4. Add your website's URL in this format: https://yourdomain.com/webhook-paystack (replace yourdomain.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.

  1. Go to Razorpay and Login to your account.
  2. Go to the Settings page -> API Keys tab on Razorpay & generate your API keys.
  3. Go to your product installation Admin Panel -> Website Settings -> Razorpay Tab and enter the given API Keys.
  4. Go to the Settings page on Razorpay & generate your API keys.
  5. Go to the Settings page -> Webhooks tab on Razorpay & Add a new Webhook.
  6. Add your website's URL in this format: https://yourdomain.com/webhook-razorpay (replace yourdomain.com with your own domain name).
  7. Add a new Secret (like a password) & check the subscription.charged and payment_link.paid & save the webhook.
  8. 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.

  1. Go to Mollie and Login to your account.
  2. Go to the Developers -> API Keys page on Mollie get your API key.
  3. Go to your product installation Admin Panel -> Website Settings -> Mollie Tab and enter the given API Key.
  4. 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.

  1. Go to Yookassa and Login to your account.
  2. Go to the Developers -> API Keys page on Mollie get your API key.
  3. Go to your product installation Admin Panel -> Website Settings -> Yookassa Tab and enter your Yookassa required API keys.
  4. Go to Yokassa Integration - HTTP Notifications and add a new Webhook.
  5. Add your website's URL in this format: https://yourdomain.com/webhook-yookassa (replace yourdomain.com with your own domain name).
  6. 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.

  1. Go to Vendors Paddle and Login to your account.
  2. Go to the Developers Tools -> Authentication page to get your Vendor ID and API Key.
  3. Go to your product installation Admin Panel -> Website Settings -> Paddle Tab and enter your the Vendor ID and API Key .
  4. Go to Paddle Developers Tools -> Public Key and copy that as well into the product installation Public Key field.

Midtrans

The Midtrans integration gives your users the ability to pay with via the Midtrans payment gateway for one time purchases.

  1. Go to Midtrans Dashboard and Login to your account.
  2. Go to the Settings -> Access Keys page to get your Server Key.
  3. Go to your product installation Admin Panel -> Website Settings -> Midtrans Tab and enter your the Server Key.

Flutterwave

The Flutterwave integration gives your users the ability to pay with via the Flutterwave payment gateway for one time purchases.

  1. Go to Flutterwave Dashboard and Login to your account.
  2. Go to the Settings -> API keys page to get your Secret Key.
  3. Go to your product installation Admin Panel -> Website Settings -> Flutterwave Tab and enter your the Secret Key.
  4. Go to Flutterwave Webhooks page.
  5. Add your website's URL in this format: https://yourdomain.com/webhook-flutterwave (replace yourdomain.com with your own domain name).

Taxes & Billing

Our tax system allows you to seamlessly integrate tax charges into user transactions. You can create and tailor taxes according to your requirements and link them with any specific plan.

  1. Activate the Taxes & Billing system via Admin Panel -> Website Settings -> Payment tab.
  2. This feature enables users to input their billing information at checkout and allows you to attach taxes to paid plans.
  3. Access the system through Admin Panel -> Taxes.
  4. Create a new tax by selecting the Create Tax button.
  5. After creating a tax, visit Admin Panel -> Plans, choose a paid plan, and apply the desired tax.

Multicurrency

Our multicurrency feature enables users to select from various currencies you provide. Configure this option in the Admin Panel -> Website Settings -> Payment tab.

Set distinct prices for each currency of a plan by modifying it through the Admin Panel -> Plans page.

Enable or disable specific currencies for each payment processor by adjusting the settings in the Admin Panel -> Website Settings page.

For multiple currency usage, obtain an API key from FreeCurrencyAPI.com and integrate it into your Admin Panel -> Website Settings -> Payment tab.

While the API key is optional, it's recommended for automatically converting transactions into the default currency, ensuring precise and consistent statistics for administrative analysis.

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, go to the Admin Panel and navigate to the Domains page. Insert the extra domains to which you have access.

I am on a shared webhost

If your website is hosted on a shared webhost with panels like cPanel, visit the Addon Domain page in your cPanel and add the extra domain you intend to use. Ensure that the Root Directory of the new domain is set to the same directory as the already existing Product Installation.

I am on a VPS / Dedicated Server

In this case, ensure 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 as the already existing Product Installation.

Configuration for Apache Servers domains is usually found in the /etc/apache2/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 feature for users, navigate to the Admin Panel -> Website Settings -> Links tab and ensure that Custom Domains system is enabled.

Additionally, allow users to have this feature based on their plans, configurable from the Admin panel -> Plans section.

A user will need to connect his custom domain to your own before submitting it. Admin approval is required after setup to accept the custom domain.

I am on a shared webhost

If your website is hosted on a shared webhost with panels like cPanel, go to the Addon Domain page inside your cPanel and add all the domains that your users will add to their accounts. Make sure that the Root Directory of the new domain is set to the same directory as the already existing Product Installation.

I am on a VPS

In this case, you will need to make sure that all the extra domains from your users are added and configured on your server. Ensure that the Root Directory of the new domain is set to the same directory as the already existing Product Installation.

Configuration for Apache Servers domains is usually found in the /etc/apache2/sites-enabled/ folder for each of your existing domains on your server.

A good and simple solution that 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.

Ping servers (plugin)

Ping servers serve as additional server locations from which 66uptime can retrieve data.

You have the flexibility to establish any number of ping servers.

It is advisable to distribute these servers across various global locations, enabling more comprehensive and geographically diverse monitoring of servers.

Example: Should your initial installation of 66uptime be located in the United States, and you subsequently establish an additional ping server in Europe, 66uptime will then possess the capability to verify and monitor your services, or those of your users, from either the United States or Europe.

  1. Make sure you have another server location where you can install the Ping server script onto it.
  2. Make sure the extra server has the specified requirements, as mentioned in this documentation, along with a way to directly access it via URL (IP or domain).
  3. Copy the ping-server folder (from inside the product folder) in the new server, where you can publicly access it via URL.
  4. Go to your 66uptime installation -> Admin panel -> Ping Servers -> Add ping server.
  5. Fill in the Ping server URL field with the full URL to the ping server folder in your new server, following the format: https://domain.com/ping-server/index.php.
  6. Fill in the other fields and hit Create.
Get plugin

Notification handlers

Twilio notification handler (SMS & Call)

This is the setup tutorial for the Twilio notification handler implementation.

  1. Go to Twilio Console and make sure to login to your account.
  2. Get a phone number from Twilio and then scroll down in the Console Dashboard to see the Account info section.
  3. Go to your product installation -> Admin panel -> Settings -> Notification handlers page.
  4. Enable the Twilio notification handler while also copying the Account SID, Account token & Phone number from Twilio and pasting it their respective fields.
  5. To enable different regions for Twilio SMS, go to Twilio Console -> Messaging -> Settings -> Geo Permissions page.
  6. To enable different regions for Twilio calling, go to Voice Geographic Permissions page.

Whatsapp notification handler (Whatsapp message)

This is the setup tutorial for the Whatsapp API notification handler implementation.

  1. Go to Facebook Developers page.
  2. Make sure to login to your Facebook account.
  3. Click on the My Apps menu dropdown and click on Create app.
  4. Select the Other use case and continue.
  5. Select the Business app type and continue.
  6. Fill the other needed fields and continue (Make sure to attach your Business Account).
  7. After finishing it up, choose Add Product from the sidebar of your dashboard.
  8. Make sure you add the WhatsApp product to your app.
  9. After that, go to WhatsApp -> API Setup page.
  10. Add your own business From phone number and confirm it.
  11. Copy your Phone number ID and paste it into the product installation -> Admin panel -> Settings -> Notification handlers page.
  12. Open the Auth token documentation from Facebook and get your Permanent Access token, so that you can paste it into the same page in your installation as above.
  13. After that, go to WhatsApp -> Quickstart page -> Message templates page.
  14. Now you must create a template for each type of notification you will send out, do it as per the data below.

Name monitor_up
Language English
Category Utility
Content
Your {{1}} ({{2}}) monitor is now UP 🟒.

View all the details at {{3}}πŸ”—.
Sample {{1}} Example
Sample {{2}} example.com
Sample {{3}} https://YOUR_DOMAIN_HERE/monitor/1

Name monitor_down
Language English
Category Utility
Content
Your {{1}} ({{2}}) monitor is now DOWN πŸ”΄.

View all the details at {{3}}πŸ”—.
Sample {{1}} Example
Sample {{2}} example.com
Sample {{3}} https://YOUR_DOMAIN_HERE/monitor/1

Name heartbeat_up
Language English
Category Utility
Content
Your {{1}} heartbeat is now UP 🟒.

View all the details at {{2}}πŸ”—.
Sample {{1}} Example
Sample {{2}} https://YOUR_DOMAIN_HERE/heartbeat/1

Name heartbeat_down
Language English
Category Utility
Content
Your {{1}} heartbeat is now DOWN πŸ”΄.

View all the details at {{2}}πŸ”—.
Sample {{1}} Example
Sample {{2}} https://YOUR_DOMAIN_HERE/heartbeat/1

Name domain_name_ssl
Language English
Category Utility
Content
The {{1}} ({{2}}) domain name SSL is expiring in {{3}} days ({{4}}).

View details: {{5}} πŸ”—.
Sample {{1}} Example
Sample {{2}} example.com
Sample {{3}} 5
Sample {{4}} 2025-05-05 UTC
Sample {{5}} https://YOUR_DOMAIN_HERE/domain-names

Name domain_name_whois
Language English
Category Utility
Content
The {{1}} ({{2}}) domain name is expiring in {{3}} days ({{4}}).

View details: {{5}} πŸ”—.
Sample {{1}} Example
Sample {{2}} example.com
Sample {{3}} 5
Sample {{4}} 2025-05-05 UTC
Sample {{5}} https://YOUR_DOMAIN_HERE/domain-names

Name dns_monitor
Language English
Category Utility
Content
Your {{1}} ({{2}}) DNS monitor values have changed.

View details: {{3}} πŸ”—.
Sample {{1}} Example
Sample {{2}} example.com
Sample {{3}} https://YOUR_DOMAIN_HERE/dns-monitor/1

Name server_monitor
Language English
Category Utility
Content
The {{1}} ({{2}}) server monitor resource consumption of {{3}} is now at {{4}}.

View details: {{5}} πŸ”—.
Sample {{1}} Example
Sample {{2}} example.com
Sample {{3}} Disk Usage
Sample {{4}} 50%
Sample {{5}} https://YOUR_DOMAIN_HERE/server-monitor/1

Hosting & Domains

VPS Hosting

(Intermediate, Advanced)

For seamless VPS server management without complications, consider Cloudways.

Get Cloudways Hosting

If you're comfortable managing your VPS and don't need managed cloud hosting, explore Vultr.

Get $100 on Vultr

Shared Hosting

(Beginner)

For beginners with limited knowledge, a shared web hosting plan is recommended.

Benefits include a free domain (in some cases), cPanel, support, documentation, and custom domain email.

Namecheap Web Hosting

Siteground Web Hosting

Domains

Consider NameCheap for domain registration, offering better deals, competitive prices, and a user-friendly interface.

Namecheap Domains

Frequently asked questions

 

Any static text from the website can be changed from the Admin Panel -> Languages system, or via the 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.

That is most likely because your webhost settings does not allow you, please read the information message at the top of the language update / create page and ask your webhost provider to change it for you.

You can either use the Admin panel -> Languages system to easily create or edit a language, or: Duplicate the 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.

Yes, you can access the sitemap by accessing the /sitemap path on the website.

All errors related to the email sending system are caused by either: Incorrect SMTP credentials, not properly working SMTP server, or web host blocking the actual SMTP connection. For any of these issues, contact your SMTP or web host provider.

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.

You are either not sending the Bearer Authentication header properly, or your web host provider is dropping that header before it reaches my product. In such case, you need to contact your web host provider, or you can personally try a quick fix, which might work for some people: https://stackoverflow.com/questions/26549250/apache-strips-down-authorization-header

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.

You can do this via the Admin panel -> Resources, Pages section.

That is most likely because you've skipped or misconfigured a step when configuring the payment gateway.

That is most likely because you did not associate the discount/redeemable code with the plan you want to use it on. Go to the Admin panel -> Plans section, and update the plan that you want to associate the discount/redeemable code with.

In this case, you'd need to access your database manager (such as phpMyAdmin), select the database of the installed product, go to the 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.

No. Those are automatically generated avatars by gravatar.com. If you have an account there, you can change it. This is a global solution for avatars that is highly popular.

You would first need to backup both the files and the database of your current installation. Then you would need to perform the actual migration to another host with the backup up files and database, and after that, you would simply need to edit the 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 -> Status pages 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.