Setting a task to run at startup

Overview Services or scripts may be set to run upon server start within the control panel or via crontab(5) from the terminal. Either solution requires task scheduling support, which is found on Developer+ packages. Within the control panel Visit Dev > Task Scheduler to add a new routinely scheduled task. Command syntax follows the same as a…

tail emits warning: unrecognized file system type

Symptom tail when used on v6.5+ platforms will successfully open a file, but elicit a warning similar to: tail: unrecognized file system type 0x794c7630 for ‘error_log’. please report this to bug-coreutils@gnu.org. reverting to polling Cause Older versions of tail, such as shipped with RHEL7.2, do not ship with a version of coreutils that properly detects…

Elevating privileges with sudo

Overview Newer platforms, v6+, provide limited sudo support that allows you to remove, copy, and change ownership of files with elevated permissions (root). Depending upon the platform version, either  rm (v6) or rm, cp, and chown (v6.5+) commands are available. Usage sudo follows a general syntax: sudo command arguments. Certain commands have restrictions on what arguments…

Using Composer

Overview Composer is a dependency manager for PHP akin to npm for Node and Bundler for Ruby. Composer is provided with hosting accounts on all v5+ platforms. On an older platform? Request a platform migration! This guide covers installing a local copy of Composer on your account. Installing You may download the latest version from its…

Reclaiming process slots

Overview When trying to redeploy a Passenger process, Passenger may refuse deployment, because you have maxed out on available process slots. Terminating the process will free a connection slot and permit Passenger to launch a new process. Symptoms Upon launching an application after restarting, the app will hang and log an error similar to: […

Installing Ghost

Overview Ghost is a gorgeous blogging platform supported on Developer+ accounts on v6+ platforms. Ghost requires terminal access to deploy and hooks into Passenger affording simple process management.   Quickstart This guide is designed to get Ghost up and running with the fewest steps. Ghost will be SQLite as a database backend, but you might…

Running MongoDB

Overview MongoDB is fast, document-oriented NoSQL server. It’s complementary to key-value cache stores like Redis or Memcached and is suitable when necessary. It is available on newer platforms (v6+) without any additional compilation from source. Accounts with terminal access are eligible to use MongoDB. Quickstart From the terminal, first create a directory to store MongoDB data: mkdir…

Changing Python versions

Overview Recent platforms (v6+) support multiple Python interpreters from the shell using pyenv. pyenv allows seamless switching between available Python versions, and manages version-specific package installations too. Basics All commands are done from the terminal. Listing versions To get a current list of available Python interpreters, use pyenv versions: [myadmin@sol ~]$ pyenv versions system 2.7.8 * 3.3.5…

Django quickstart

Overview Django is a web framework based on Python. Python is available on all packages, and a Django application may be uploaded on any package. But, to create a new project on the server and complete this quickstart, a package with terminal access is necessary. This quickstart covers using Django with Passenger available on v6+ platforms. Quickstart From…

Installing packages

Overview Python uses a package management system called “pip“. Package management is available on newer hosting platforms v4.5 and above. Terminal access is necessary to use the feature. Package management All packages installed reside under /usr/local/lib/python/<VERSION> where <VERSION> is the Python version. Python versions may be switched on-the-fly using pyenv on v6 platforms. Important platform info: all commands listed here use pip.…