Documentation

11Uptime by AltumCode

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 7.4+
Extensions cURL, OpenSSL, mbstring, MySQLi
MySQL MySQL 5.7.3+
Apache with mod_rewrite
Access to exec() function Used strictly to send ping commands to servers, for monitoring purposes.

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 - $25

The product installation package includes the following (you must own a s:

  • 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 - $49

The full server installation package includes the following:

  • Setting up a new server 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
Get in touch

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

  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.

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.

3. Prepare the product files

You need to set the permissions (CHMOD) of the following files / folders to either 755, 775, or 777 which will depend on your actual server.

  • /uploads/favicon/
  • /uploads/logo/
  • /uploads/opengraph/
  • /uploads/cache/
  • /uploads/offline_payment_proofs/
  • /uploads/status_pages_favicons/
  • /uploads/status_pages_logos/
  • /config.php

4. Start the installation process

  1. Access the product on your website and access the /install path. (ex: https://yourdomain.com/install)
  2. Follow the steps in the installation process
  3. You can now access the website and login with your admin account

5. 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.

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.

  1. Backup your database
  2. Backup your files

2. Files update

  1. Download & unzip the latest version of the product.
  2. 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:

  1. /config.php
  2. /install/
  3. /uploads/

3. 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.

Extra Configuration

Here are the integrations that you can configure on the product after installation.

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.

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.

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 PayPal 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.

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.

  1. As an admin you can enable the Taxes & Billing system from the Admin Panel -> Website Settings -> Payment tab.
  2. 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.
  3. Go to the Admin Panel -> Taxes page.
  4. Start by creating a new Tax by clicking on the Create Tax button.
  5. 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.

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.

Custom Domains for Admins

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 Custom Domains is not offered in support as this is directly related to your host / server!

Custom Domains for Users

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 option for the users you must go to the Admin Panel -> Website Settings -> Stores tab and make sure that Custom Domains system is enabled.

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 Custom Domains is not offered in support as this is directly related to your host / server!

Ping servers (plugin)

Ping servers are extra server locations from where 11Uptime can get data from.

Get plugin

You can set up as many ping servers as you want to.

Normally you should set them up on different locations around the world, so that you can monitor servers from different locations.

Example: If your original 11Uptime installation location is in the United States, and you add another ping server, somewhere in Europe, then 11Uptime will be able to verify and check your / your users monitors from either the United States or/and 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 11Uptime 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.

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.

Get Cloudways hosting

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.

Get $100 on 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.

Namecheap web hosting

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.

Namecheap domains

FAQ

Here are the most popular questions and their answers.

  • How can I update text on the website?
    Any from the website can be changed from the app/languages/english.json file for the frontend part. The admin panel translations are found in the app/languages/admin/enlish.json file.
  • How can I create my own language?
    Duplicate the app/languages/english.json 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/enlish.json.
  • When I click on any link it returns 404 Not Found, why?
    That means that you either didn't add the .htaccess file or that your webhost doesn't have mod_rewrite enabled on the apache server.
  • Is there any Sitemap?
    Yes, you can access the sitemap by accessing the /sitemap path on the website.

About

I build High quality, ready to use & affordable software. Here's where you can find me:

Support is only done through email, make sure to attach a proof of purchase when requesting support.