• Expunging PageSpeed cache

    PageSpeed will make a best effort to expire its asset (.css, .js, .png, .gif, .jpg) cache periodically. During periods of rapid changes, automatic expunction may lag behind changes pushed to a server necessitating a manual flush of the cache. Expunging PageSpeed cache A PURGE header may be sent to the asset…

  • Uploads are denied with 406, Not Acceptable

    Overview When uploading a particular file it fails with a 406, Not Acceptable error message. Cause All inbound file uploads are scanned for viruses before being saved on the server. If a file is found to contain a virus, it is rejected with a 406, Not Acceptable message. File scanning…

  • Redirects with mod_rewrite

    Overview A redirect changes the URL, in browser, from one URL to another. A variety of redirect codes exist to force a variety of behaviors in the browser (or spider). Usage All redirects are controlled through a .htaccess file in the document root of your target domain or subdomain. The…

  • 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…

  • Switching users

    Overview Newer platforms, v6+ platforms specifically, permit switching users from the account user from the terminal. Once switched to the user, you assume the permission rights as this user, including the ability to remove files. Usage Use su to switch users from the main user. You will not be required…

  • Terminal access times out

    Overview Attempting to access terminal remotely will result in a non-responsive server often falsely indicating the server is down. Cause All servers use a 3-5-10 brute-force deterrent mechanism: three invalid logins in a five minute window results in a ten minute block. After ten minutes the block automatically expires and you…

  • Unable to login using public key authentication

    Overview Ensure correct permissions on ~/.ssh/ are 700 (u: rwx, g: -, o: -) and ~/.ssh/authorized_keys is 600 (u: rw-, g: -, o: -). Provided the permissions are correct, then make sure your public key is listed in the authorized_keys file.   See Also Permission overview

  • Listening on ports

    Overview Some applications require persistence to continue to run after a page view has concluded. Node.js or other backend socket/server pairs connect a front-end process, like a web page view, with a backend process such as data crunching. For such circumstances, clients with Developer+ packages may run daemons necessary for their web…

  • Compiling programs

    Overview Custom programs may be compiled on Developer+ accounts, which is also bundled with terminal access. Custom programs may be installed under /usr/local. Per-Language C/C++ For C/C++ applications, supplying a –prefix=/usr/local during ./configure, i.e. ./configure –prefix=/usr/local && make && make install. In particular, this is negotiated not by C itself, but rather make/gmake and autoconf…

  • Accessing terminal

    Overview Your terminal is a command-line interface to your hosting account on the server. It provides a quick, efficient means to make permission changes, edit files, and even run services like MongoDB and node.js. Terminal access is provided with certain qualified packages. Logging In Terminal access follows general login guidelines: Login consists…