Button Button

Sputnik is designed to be easy to install on shared hosting.

Sputnik is currently provided as a software that you install on your own server. So, you do need a web hosting account for that. You do need ssh access to the server to install Sputnik, but you do not need to be root. Your host does not need to support Lua. (It does need to provide you with build tools, but most do.)

The Simplest: CGI

The easiest way to install run Sputnik in a shared hosting setup is using CGI. Follow the instructions on the Installation page, including the section on CGI. You will need to make sure to put your sputnik.cgi file in the right place and set BASE_URL parameter to the right value.

Note also that depending on the specific server's policy, you may need to set different permissions on the sputnik.cgi file and the directory where this file goes. (Doing "chmod 0755" on the file and the directory will probably give you the highest likelihood of success.)

Speeding Things Up

One easy way speed up Sputnik's performance is to serve all the files such as icons, CSS and JS statically. (You can get a full list of those nodes by visiting "sputnik" node on your installation of Sputnik.)

To set this up, save all the icons in a directory where your web server will see them and then set parameters such as ICON_BASE_URL to point to this directory. (Run "sputnik topic urls" for all the relevant parameters.)

Other things to consider:

  1. Install zlib and set USE_COMPRESSION to enable HTTP compression.
  2. Set further expire headers on some of your pages.
  3. Use FastCGI — see below.


If your server allows you to run FastCGI, that would often be a good solution for making Sputnik run faster. See "FastCGI" on the Installation page.

Xavante Behind a Proxy

Another deployment option is to run Sputnik in Xavante and to proxy requests using a web server such as Apache. For example, assuming you are running xavante on localhost:8080, the following apache2 snippet plus the command a2enmod proxy_http should do the job:

ProxyRequests Off
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/