Documentation for installing, using, updating, transferring, and uninstalling Installatron Server.
◎ Install
◎ Upgrade
◎ Transfer
◎ Uninstall (Linux)
◎ Uninstall (Windows)
Advanced Installatron Server configuration topics like clustering.
1. verb: When using Installatron Server, clustering is the addition of nodes to scale the service.
1. noun: The action of using Installatron to install an application, to create a new website.
(see: Installatron Plugin)
1. noun: The standalone version of Installatron that administrators can hook into their own webhosting systems. (note: previously known as Installatron Servers)
(see: Installatron Server)
1. noun: Installatron Server uses "a key" to track ownership. (Note that Installatron Plugin does not use a key, it instead uses a license.)
(see: Installatron Server key)
1. noun: Installatron Plugin uses "licenses" to track ownership. (Note that Installatron Server does not use a license, it instead uses a key.)
2. noun: Some of the applications installed by Installatron also have an optional "pro" version which uses a license.
(see: Installatron Plugin license)
1. Introduction
2. Cloud-Hosted vs. Self-Hosted
2.1. Cloud-hosted (On Installatron.com)
2.1.1. Prerequisites
2.1.2. Get Started
2.2. Self-Hosted
2.2.1. Prerequisites
2.2.2. Generate a License Key
2.2.3. Download and Install
2.2.4. Complete
3. Interfacing with Installatron Server
3.1. Interfaces
3.1.1. Accessing Installatron Server through UI
3.1.2. Accessing Installatron Server through APIs
4. Maintaining Installatron Server
4.1. How app updates work
4.2. Settings.ini values
4.3. Useful command-line tools
Installatron Server is an API and optional UI that enables scalable and flexible application management to be integrated seamlessly into existing web hosting infrastructure.
Please reference the What is Installatron Server? page for more information about what Installatron Server is.
As outlined, there are two hosting options for Installatron Server:
And three integration interfaces for Installatron Server:
These interfaces are not mutually exclusive: you can use safely use multiple interfaces on the same Installatron Server instance. And the interfaces do not differ between self-hosted and cloud-hosted.
Installatron Server is mostly managed through API calls. To use Installatron Server, you will need to be comfortable using API-driven systems.
This document will explain how to use and interface with each hosting option, and offer suggestions for which methods work best in which situations.
The cloud-hosted instance of Installatron Server for your company is provisioned on Installatron.com's servers and managed by our team.
This option is recommended for a low-maintenance, hassle-free solution:
Follow these steps to use Installatron Server as a cloud service:
Your web hosting platform will need to allow connections from Installatron.com. This may require firewall rule and rate limiting adjustments.
There are no additional prerequisites because Installatron Server is hosted on Installatron.com.
If you haven't done so already, you'll need to create an Installatron.com account and then log in.
Afterwards, contact us to receive access and begin the integration process.
The self-hosted Installatron Server is installed on one or more servers on your network and managed by your team.
This option is recommended to maximize data security and performance optimization:
Follow these steps to deploy Installatron Server on your network:
Installatron Server's architecture minimizes requirements while maximizing compatibility.
At least one server with a permanent internet connection is required to run Installatron Server. Management of this server is your responsibility, and we recommend the following best practices:
For small-to-medium production deployments we recommend starting with these hardware specifications:
For larger deployments, contact us for recommendations based on anticipated usage.
Installatron Server supports the following Linux distributions:
We always recommend selecting a "minimal" variation of the distribution. Installatron Server will provision all necessary system services for you.
When partitioning your disk, we recommend a straightforward partition structure of:
Finally, Installatron Server uses a MySQL database to store data. There are two options available:
This concludes the Self-Hosted best practices and prerequisites. Contact us with any questions.
If you haven't done so already, you'll need to create an Installatron.com account and then log in.
You can now generate an Installatron Server License Key through your Installatron.com account portal.
The generated License Key can be used on any number of Installatron Server instances.
Start by provisioning the server following the best practices outlined in the Prerequisites section above.
Execute these commands from the SSH root command prompt (replace YOUR_LICENSE_KEY with the Installatron Server License Key generated in step 2.2.2):
curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh yum -y remove httpd ./installatron-server.sh -f --key YOUR_LICENSE_KEY
curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh yum -y remove httpd ./installatron-server.sh -f --key YOUR_LICENSE_KEY
apt-get update apt-get -y dist-upgrade apt-get -y install curl net-tools curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh ./installatron-server.sh -f --key YOUR_LICENSE_KEY
Note: If the MySQL database has been offloaded to a dedicated database server, or to add an additional Installatron Server node to a cluster, add these arguments to the install command:
--db-host=sql.yourhost.com --db-user=youruser --db-pass=yourpass --db-name=itron
That will take a couple minutes to install the system services and dependencies for Installatron Server. Contact us if you observe any issues during the process.
Core files and programs are installed here:
/usr/local/installatron/
And Installatron's data files are installed here:
/var/installatron/
Installatron Server is now ready!
Continue to 3 Interfacing with Installatron Server below to see how to use your new instance of Installatron Server.
Installatron Server can be accessed via UI or through API calls: the APIs can be called from both CLI and over HTTP.
There are two ways to interface with Installatron Server, and it's worth noting that these interfaces are not mutually exclusive: they can both be used on the same server at any time.
See the /users/{id}/login for examples of using the Installatron Server UI.
See Installatron Server API Specification 2.0 for a complete list of all API calls and examples of how to use them.
This additional information can help you understand your Installatron Server.
The settings at Installatron Admin > Settings control how frequently Installatron Server checks for new app updates by configuring the crontab process at "/etc/cron.d/installatron". When this crontab process executes, Installatron Server checks every installation to determine whether an update is available, and if automatic update is enabled then Installatron Server will automatically queue the update task, otherwise an email notification will be sent to inform the user to let them know that an update is available.
Installatron Server utilizes a task queue to prevent the system from overloading from too many simultaneous tasks. No more than the number of tasks configured at Installatron Admin > Settings can execute concurrently.
As of Installatron Server 4.1.15, a new setting at Installatron Admin > Features > Force Update After enables server administrators to configure Installatron Server to forcibly update installed apps after a set number of days have elapsed since the update became available. This feature can be useful to enforce an application update policy.
Installatron Server's "/usr/local/installatron/etc/settings.ini" configuration file is provisioned automatically during installation and generally doesn't require manual editing. But here are some typical lines found in the settings.ini file:
NAME | VALUE |
key | required The product key. |
noperl | optional, default is "no" Installatron Server uses Perl .cgi files on the destination web server to speed up tasks. If Perl is not supported, this setting should be set to "yes" to avoid every task having to test Perl. |
update | required, default is "release" The update channel. Valid values include "edge", "release", "stable", or "never" to switch off automatic updates. |
debug | optional, default is "no" Set to "yes" to enable the debug log at /var/installatron/logs/debug_log which contains very verbose output which can be useful tracking down a multitude of issues. |
db_type | required, default is "mysql" The type of database server. This setting is configured automatically during installation to use MySQL or MariaDB. |
db_host | required for mysql, default is configured automatically The database server. |
db_name | required for mysql, default is configured automatically The database. |
db_user | required for mysql, default is configured automatically The database username. |
db_pass | required for mysql, default is configured automatically The database password. |
num_cpu | optional, default is the number of CPU threads multiplied by two The number of tasks allowed to execute concurrently systemwide. |
num_cpu_perserver | optional, default is 5 The number of tasks allowed to execute concurrently per web server. |
db_schema_update | optional, default is yes Whether database schema updates should be automatically managed by Installatron (recommended: yes). |
Here are some useful CLI commands:
Forcibly update/repair the entire system:
/usr/local/installatron/repair -f --quick
Create a single-use access token for the administrative UI:
/usr/local/installatron/installatron --createsession
Reset administrative login:
/usr/local/installatron/installatron --repair --reset-admin
Forcibly check for customer app updates for user named barry:
/usr/local/installatron/installatron --taskscheduler --full --user barry
Installatron automatically adds a Crontab or Windows Task Scheduler process to upgrade/update once per day. This automatic process can be disabled and re-enabled through Installatron's administration page.
To force an upgrade/update you can either:
Run these commands as root (DON'T RUN THESE COMMANDS IF YOU ARE USING INSTALLATRON SERVER!): curl -O https://data.installatron.com/installatron-plugin.sh chmod +x installatron-plugin.sh ./installatron-plugin.sh -f --quick
Tip: To run update in interactive mode, remove -f from the last command.
To perform an update on Installatron Plugin Windows, follow the same setups used to install Installatron Plugin. See: https://installatron.com/docs/plugin/install/installatron-plugin-plesk-windows
Run these commands as root (DON'T RUN THESE COMMANDS IF YOU ARE USING INSTALLATRON PLUGIN!): curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh ./installatron-server.sh -f --quick
Tip: To run update in interactive mode, remove -f from the last command.
To perform an update on Installatron Server Windows, re-run the installatron-server.exe wizard.
Or, alternatively:
Installatron Server was previously named Installatron Server -- they are the same product
To transfer Installatron Server to another server and retain all existing installed applications, backups, and administrative settings:
/usr/local/installatron/etc/settings.ini
/var/installatron/data /usr/local/installatron/etc
To uninstall Installatron Server from a Linux/FreeBSD/UNIX server run the following from CLI as root:
Remove RPM package (if applicable):
rpm -e installatron-server
Remove Debian package (if applicable):
dpkg -r installatron-server
Delete the core:
rm -fr /usr/local/installatron rm -f /etc/cron.d/installatron
Delete user install data (be careful!):
rm -fr /var/installatron
To uninstall Installatron Server from a Windows server run the following from CLI as root:
Delete the core:
rd \"%itron_dir%\\etc\" /S /Q rd \"%itron_dir%\\lib\" /S /Q \"%itron_dir%\\uninstall.exe\"
Delete user install data (be careful!):
rd \"%itron_dir%\\Data\" /S /Q
1. Introduction
1.1. High Availability
1.2. Scalability
Installatron Server enables high availability and scalability by allowing multiple Installatron Server nodes to be clustered together. By leveraging a cluster of Installatron Server nodes, businesses can ensure that their Installatron Server deployment remains reliable, responsive, and ready to scale as required:
High Availability (HA) refers to a Installatron Server's capability to remain operational and accessible even in the face of hardware failures, network issues, or other disruptions by distributing the API and UI requests across a cluster of nodes. In a high-availability configuration, redundancy and failover mechanisms help to ensure that services remain online with minimal downtime.
Scalability refers to Installatron Server's capability to handle an increase in API and UI requests by distributing the requests across a cluster of nodes. As demand increases, additional nodes can be added to the cluster to balance the load efficiently. This ensures that no single node is overwhelmed, maintaining optimal performance and responsiveness.
Start by configuring a single Installatron Server node following the typical installation instructions. While not required, you may choose to offload the MySQL/MariaDB database to a dedicated database server by including the necessary installation parameters.
Next, add your first additional Installatron Server node following the Additional Node installation instructions which instruct Installatron Server on the additional node to share the same database as the first Installatron Server node.
The first and second Installatron Server nodes are now clustered. They now share the same database and workload, helping to ensure the Installatron Server cluster as a whole remains dependable, efficient, and scalable to accommodate increasing demand.
Additional nodes can be added as demand requires by repeating the Additional Node step.
To remove a node, simply power off the node and the cluster will adapt to the removed node by consolidating requests to the remaining node(s).
By default, requests are assigned to available nodes in a Round Robin manner, distributing traffic sequentially to help maintain an even load. If a node becomes unavailable, the remaining nodes automatically handle the requests to ensure continuity.
A dedicated load balancer, though optional, serves as an intermediary that optimizes request distribution more efficiently. Load balancers can be configured in various ways to meet specific infrastructure needs and performance goals.
Common load balancing configurations include:
Contact Installatron Support if you have any questions.