Licenses Old

Requirements

  • Apache 2.2 (or newer) (modules: rewrite (rewriting from .htaccess must be enabled), headers)
  • PHP 5.3.6 (or newer) (extensions: gd (version 2+), exif, mysql, sqlite, pdo, pdo_mysql, pdo_sqlite, json, curl, mbstring, iconv, xml, openssl, zlib, zip)
    Note: Published websites require PHP 5.3.6 and Apache 2.2 too.
  • MySQL 5.5 (or newer, might work on older ex. 5.1)
  • ionCube Loader (newest version possible) ionCube install instructions can be found at ionCube site: http://www.ioncube.com/loaders.php
    The recommended way of installing ionCube loader is by downloading loader wizard loader-wizard.zip, extracting it to web-servers document root and opening it via browser and then just following install instructions from there.
Important:
Make sure PHP xdebug extension is not installed.
For CentOS owners:
  • You will possibly need to enable curl, sockets, ... (network access) for web server. This can be done by executing command: setsebool -P httpd_can_network_connect on
  • If ionCube is not working there might be problems with SELinux permissions. To fix that execute command: ls -alZ /usr/lib64/php/modules/ to list all php modules (command part /usr/lib64/php/modules/ is a path where you installed ionCube loader, so you need to set it to where you installed it), and check if ionCube loader SELinux context matches other php modules, if not, set it to match using this command:
    chcon system_u:object_r:lib_t:s0 /usr/lib64/php/modules/ioncube_loader_lin_5.3.so (command part system_u:object_r:lib_t:s0 is the context string, so you need to change it to match other php modules).
For NGINX owners:
Configuration for builder:
If you want to use NGINX Web Server instead of Apache for builder installation you will need to configure separate virtual host (server configuration) for it. Ex. if your builder domain is some.builder.domain and builder is installed at /home/builder/public_html you could set server configuration to something like this:
server {...} # click to expand
Note: if you change "builderSitePathPrefix" configuration option then you need to replace it ("sitepro" string) here too. Also this is only one of possible configurations, your server might require it to be different (for ex. line fastcgi_pass 127.0.0.1:9000; might be different on your server) so you will need to adjust it.
Configuration for published websites:
If you want to use NGINX Web Server in stead of Apache for published websites you need to configure separate virtual host (server configuration) for every website you will publish to. Ex. if web-sites you want to publish to domain is some.site.domain and it's document root is at /home/site/public_html you could set server configuration to something like this:
server {...} # click to expand
Note: if you change "builderSitePathPrefix" configuration option then you need to replace it ("sitepro" string) here too. Also this is only one of possible configurations, your server might require it to be different (for ex. line fastcgi_pass 127.0.0.1:9000; might be different on your server) so you will need to adjust it.

Installation To install builder:

Important:
If you change PHP version with already installed builder then you will need to manually update builder afterwards (see documentation) in case if PHP version changed range (from the list of PHP versions ranges specified above).
Notes:
  • Make sure published website URL is accessible (ex. with "wget http://websitedomain.com") from within builder server (not blocked by firewall, or software configuration).
  • If you hosting server FTP uses forced SSL connections only enable SSL publication option in builder. Review Configuration section below — option "useSecureFtp" for more details.
  • Enable Google Maps widget in builder. Review Configuration section below — option "googleMapsApiKey" for more details.

After builder installation is complete you will need to install builder plugin for your cpanel by following this link (the instruction can also be found in your license — "Plugin installation guide" link).

HTTPS:

In order to run builder under HTTPS protocol you need to take the following steps:

  • Update builder domain in your license from "yourbuilder.com" to "https://yourbuilder.com"
  • Open file "config.json" located in your builder web-root directory and update parameter "siteProApiUrl" to be also with "https://"

Installation video guide

Update

Note: Your builder version:
http://yourbuilder.com/version
The latest available version:
http://update.site.pro/assets/installer/builder/version (3.7.284)
Automated Updates (Recommended) Automated update system checks if there is new updates and updates if needed:

To update builder run the following command:
cd [BUILDER_DIR] && php index.php /api/update-builder
where [BUILDER_DIR] is web-root folder with your builder installation.

chown -R [USER]:[GROUP] ./* .htaccess
Note: [USER] and [GROUP] needs to be replaced with appropriate values (user and group that server will use to run builder).
Note: These commands must be executed from within builder server.

Automated update can also be setup as CRON to be executed automatically in specific periods of time (ex. every day):
crontab -e
Write command:
0 0 * * * cd [BUILDER_DIR] && php index.php /api/update-builder && chown -R [USER]:[GROUP] ./* .htaccess
and save command.
Note: [USER] and [GROUP] needs to be replaced with appropriate values (user and group that server will use to run builder).
Note: CRON command adding mechanism can vary per hosting panel where you can add CRON command from hosting panel interface.

Note: make sure that PHP versions are the same in web-server (that runs builder) and in command-line (where you run update command) or builder installation will break.

Old method (deprecated):
Automated update can be initiated manually by executing this command:
wget -O - http://yourbuilder.com/api/update-builder

Automated update can also be setup as CRON to be executed automatically in specific periods of time (ex. every day). For CRON you can use this command:
wget -q -o /dev/null -O /dev/null http://yourbuilder.com/api/update-builder
or this url:
http://yourbuilder.com/api/update-builder
depending on what you need for CRON configuration on your system.

Note: This URL will not work when running from browser.

Note: If during builder update you get error 404 Not Found then open file "/etc/hosts" on your builder server and add the following line:
109.235.65.18  site.pro
After builder update is complete you can delete this line and builder update should still working further.

Manual Updates (Legacy) To update already installed builder version to newer:
  • Backup (copy to a safe place) file config.json located in your builder web-root folder.
  • Download site builder archive and extract it to builder installation folder overwriting all files. Important! Do not delete files before extraction:
  • Execute SQL scripts located in folder installer/sql those which contain version number in file name higher or equal to your builder version.
  • Delete folder installer.
  • Restore file config.json (the one you backed up/copied to a safe place in the first step) by overwriting the one that already exists.
  • Update builder file version located in web-root folder with a new version.

Cleanup available since version 3.7.263 (enterprise)

During normal use of builder, temporary files are being created, and after some time they might start using a lot of disk space. You can use this CRON to regularly (ex. daily) cleanup those files:
Run command crontab -e to open CRON editor.
Then append this line at the end:
0 0 * * * cd [BUILDER_DIR] && php index.php /cron/cleanup/temp-files
and save.

You can also use command:
cd [BUILDER_DIR] && php index.php /cron/cleanup/temp-files?dryRun=1
to get information on how much space will be freed (running this command will not delete any files).

Configuration

You can set extra options for your builder by modifying file config.json located in your builder web-root folder:
  • String — Plans separated by comma for which builder will not work default: -
  • String — Opposite to "disabledHostingPlans". If specified "disabledHostingPlans" will be ignored default: -
  • String — Message to show when hosting plan matches the one from specified in "disabledHostingPlans" option or when hosting plan is not included in plans specified in "enabledHostingPlans" option (used together with "disabledHostingPlans" or "enabledHostingPlans" accordingly). The value is multilingual.* default: default sentence(1)
  • String — Yandex Metrika ID for builder default: -
  • Boolean — Use Yandex Metrika ID only in public demo builder default: false
  • Object — Object adding extra buttons to builder toolbar - default: example below(2)
  • Boolean — Defines whether to use FTP with SSL encryption during publishing. default: false
  • String — Builder UI theme ID to use (currently only "modern" is available). Will be ignored if "themeUrl" is set. default: -
  • String — URL to css file to change builder UI style. default: -
  • String — Google.com Maps API key. Required to enable Google Maps plugin (get it from here). default: -
  • String — Google.com Fonts API key. Required to enable Google Fonts feature (get it from here). Note: Google Fonts also works with parameter "googleMapsApiKey" if set. default: -
  • Boolean — If true template usage statistics will be logged to database (enable only if you are using automated builder updates). default: false
  • Boolean — If true will show forced HTTPS port option in builder settings dialog. default: false
  • Boolean — If true will disable URL rewriting for published websites. default: false
  • Boolean — If true then forced HTTPS option will be enabled in new websites by default. default: false
  • Boolean — If true then forced redirection option will be enabled in new websites by default. default: false
  • Boolean — Forced redirection option chosen by default (1 - redirect from www to non-www, 2 - redirect from non-www to www). default: 1
  • (1) — "The software is not available for your hosting plan."
  • (2) — example shows how to add two extra buttons in builder toolbar:
    "ui" : {
        "toolbars" : {
            "control-toolbar-cont" : {
                "items" : [
                    {
                        "name" : "Prices",
                        "img" : "/path/or/url/to/prices.png",
                        "url" : "http://yoursite.com/prices",
                        "order" : 21
                    },
                    {
                        "name" : "Domains",
                        "img" : "/path/or/url/to/domains.png",
                        "url" : "http://yoursite.com/sign-up",
                        "order" : 22
                    }
                ]
            }
        }
    }
    All default builder buttons have orders multiple to 20, that is 20, 40, 60 etc.
    Parameters "name" and "url" are multilingual (please see explanation below).
  • * — Multilingual value can be either a string like:
    "disabledHostingPlansMessage": "My message"
    or an object containing values for multiple languages like:
    "disabledHostingPlansMessage": {
    	"en": "My message",
    	"it": "Il mio messaggio"
    }

Custom Plugins available since version 3.7.81 (enterprise)

You can enable your custom plugins by adding file <builder_installation_root>/plugins/plugins-ext.json. File format is the same as <builder_installation_root>/plugins/plugins.json. Those two files will be merged by adding custom plugins listed in plugins-ext.json file to your builder toolbar after plugins listed in plugins.json file.