Memory doubled!

Posted in General by

We’re excited to announce that we have doubled the memory on our base plan without changing the price: the memory quota is now 512MB instead of 256MB and the price is still $9.50/mo (or $8.50/mo if you pre-pay for one year). All existing accounts have been upgraded to the new quota.

The memory used by the operating system, web server and database servers still doesn’t count towards your memory usage.

Customers on Web418 and over can also purchase an extra 512MB of memory (for a total of 1GB) for $7/mo. Unfortunately customers on Web417 and under are still limited to 512MB of memory per account per server as these machines don’t have enough RAM to accommodate more than that. If you’re on Web417 and under and want more than 512MB of memory you can request a migration in the control panel under “Account->Server migration”.

We have also doubled the memory on our larger plans and you can now get a 2GB plan, 4GB plan or 8GB plan for $40/mo, $80/mo and $160/mo respectively (discounts apply for yearly pre-payments). See the “Account->Upgrade / downgrade” screen in the control panel for details.

Enjoy the extra memory!

-
-

One-click installers: private MySql and PostgreSQL databases

Posted in MySql by

If you’ve been following this blog for long, you know what’s about to happen: another look at one-click installers available with the WebFaction control panel. This entry covers private database instances for MySQL and PostgreSQL.

For most applications, the shared MySQL and PostgreSQL databases are appropriate and easy to use. Routine database management, like creating databases and database users, can be done with the WebFaction control panel. The shared databases are also available by way of the phpMyAdmin and phpPgAdmin web-based administration tools for running queries and exploring your data. For the vast majority of use cases, the shared databases are a sensible choice.

But in some circumstances, we recommend the use of the private database instance installers for MySQL and PostgreSQL. In particular, private database instances are known to be useful in two special cases: custom configuration and the “bad neighbor” problem.

Private databases are handy when you want to take control of your database configuration. The shared databases are managed by the system administration team, so you cannot alter their settings. With a private database instance, you can change configuration values to your own specific needs, but without the hassle of compiling up from scratch.

Private databases are also useful when the “bad neighbor” problem presents itself. A “bad neighbor” appears when one database user consumes significantly more of the shared database’s resources than others. Switching that user from a shared database to a private instance makes performance expectations more consistent for all users on the server.

Both the PostgreSQL and MySQL installers benefit from using the server’s globally installed binaries and libraries, so you don’t have to worry about updating the database after security releases. When a private instance is installed, the installer creates two cronjobs: one to make sure the database is up and running every 20 minutes, and another to dump all of the instances databases to a file once per day. For more information, check out our private database documentation, including sample usage for Django and WordPress applications.

If a private database instance sounds like it might be useful to you, give it a try, and if you have any questions or need any help, join us in the Q&A Community.

-
-

One-click installers: version control tools

Posted in Git by

It’s that time again: a closer look at the one-click installers available with the WebFaction control panel. In the fifth part of our ongoing series, we’ll scope out version control systems. Version control tools make it easier to keep your code organized, with a full history of the changes you’ve made along the way. The control panel features two version control applications: Subversion and Git.

Subversion

Subversion is a tried-and-true centralized version control system, in which clients check out portions of a central repository’s files and their history. The Subversion client software is already installed system-wide on every WebFaction server, so if you need to check out code from a repository hosted elsewhere, then you can use svn checkout right away. But if you want to host your own repository, then you’ll want to add a Subversion application to your website with the control panel.

To learn more about using Subversion, check out the official Subversion documentation and our Subversion docs.

Additionally, the Subversion one-click installer integrates with the Trac one-click installer; see our last installer blog post for more about Trac and Subversion integration.

Git

Git is a popular distributed version control system, in which every client retains a full copy of the repository and its history. Like Subversion, the Git client software is already installed system-wide on WebFaction servers, so you can git clone or git init without any intermediate steps. But if you want to publish a repository on the web, then add a Git application to a website with the control panel.

To learn more about using Git, check out the official Git documentation and our Git docs.

Again, the Git one-click installer integrates with the Trac one-click installer; see our last installer blog post for more about Trac and Git integration.

Mercurial and Bazaar

Subversion and Git aren’t the only version control options out there. Although we don’t have one-click installers available for them, we do have documentation to get you up and running with Mercurial and Bazaar.

Regardless of which specific tool you choose, version control is a great way to get organized, so give one a try. If you have any questions or need help, join us in the Q&A Community.

-
-

One-click installers: project management tools

Posted in Control panel by

It’s time for another installment in our ongoing series about the one-click installers available with the control panel. Today’s look is at project management tools. Project management tools are handy for keeping up with the plans and changes of a software project. Project management tools offer features like version control browsers and ticket trackers. With the control panel, you can install two such tools: Trac and Redmine.

Trac

Trac has an impressive array of features, including a wiki, a ticket tracker, a roadmap and milestones tracker, and a whole-project timeline of recent activity (like version control changes and ticket updates).

WebFaction’s Trac installer comes in two variations: one for use with Git repositories and another for use with Subversion repositories. Make sure to choose the version that matches your version control repository. (A while back we blogged about adding Git support to our Trac installer).

For more information, see the WebFaction-specific docs for Trac and the official Trac Guide.

Redmine

Like Trac, Redmine offers a bunch of features, like a wiki, issue tracking, and time tracking.

Unlike the Trac installer, the Redmine installer doesn’t link directly to another repository application; you can configure repositories after Redmine is set up. It even supports multiple projects, with public and private permissions, if needed.

For more information, see the WebFaction-specific docs for Redmine and the official Redmine Guide.

So if you’re working on a project, give one of these tools a try. If you have any questions, join us in the Q&A Community.

-
-

One-click installers: content management systems

Posted in Drupal by

It’s time for another installment (pun-intended) in our ongoing series about the one-click installers available with the WebFaction control panel. Today, it’s all about content management systems. Whether you need to organize a complex knowledge base or start (or re-start) your blog, we’ve got a few one-click installers that might meet your needs: Drupal, Joomla, Plone, and WordPress.

Drupal

Drupal is an open source content management system with a thorough system for controlling the publishing process, from taxonomies to sophisticated author and editor management. Drupal’s large community has also created a variety of themes and modules that add to Drupal’s already-capable core components.

Check out the WebFaction-specific docs for Drupal and the official Drupal docs.

Joomla

Joomla, like Drupal, is a PHP-based content management system. Joomla has a set of tools for creating and organizing content, along with handy features like polls and internal messaging system. The Joomla community has also expanded the capabilities of Joomla with a large collection of extensions.

Check out the WebFaction-specific docs for Joomla and the official Joomla docs.

Plone

Plone is a content management system built atop Zope, a Python-based web application server. Like Drupal, Plone has a robust set of publishing tools, for controlling when and how your content is presented, whether it’s text, images, or files. The Plone community has also created many add-on products to introduce new features and themes.

Check out the WebFaction-specific docs for Zope and Plone and the official Plone docs.

WordPress

WordPress is one of the most popular blogging tools, and so it comes as no surprise that its one of our most popular one-click installers. WordPress is no mere blogging tool, however. It’s broad set of features and the numerous plugins make it a capable content management system, fit for running a variety of sites, not just your personal weblog.

Check out the WebFaction-specific docs for WordPress and the official WordPress docs.

So we invite you to try a new CMS and, if you need any help, join us in the Q&A Community.

-
-

New Django screencast

Posted in Control panel by

Django is a fun and handy Python web framework, so it’s not exactly a surprise that it’s one of our more popular one-click installers. Given that popularity, we’ve created a short screencast that shows you how to create a simple website with Django and a static media application:

Click here to view the video

The screencast demonstrates several common installation and configuration steps that most Django sites on WebFaction need, but it’s not comprehensive. Depending on your needs, some additional steps may be required. To learn more about setting up Django on WebFaction, see our Django documentation. If you have questions, join us in theQ&A community.

-
-

One-click installers: Ruby

Posted in Rails by

For our second post taking a closer look at the one-click installers available with the WebFaction control panel, it’s time to look at running Ruby applications. For Ruby developers, we have two key installers: Ruby on Rails and Passenger.

Ruby on Rails

Ruby on Rails, commonly known as just Rails, is the dominant web application framework for Ruby. Rails comes with a variety of components that make it easy to route requests, render pages, or store information in a database. It’s backed by a large community, and many supporting libraries.

See the WebFaction Rails documentation for more information on deploying your Rails project, common configuration and installation tasks, and troubleshooting.

Passenger

Phusion Passenger is an application server that supports Ruby Rack applications. Rack is a common interface to connect Ruby applications with web servers. It’s the lingua franca of Ruby web applications, including Rails and Sinatra. So the Passenger one-click installer can be used to run arbitray Ruby web applications.

Ruby is exceptionally popular for creating web applications, and these one-click installers are a quick way to get started. Try one out and, if you need any help, join us in the Q&A Community

-
-

One-click installers: Python web frameworks

Posted in Python by

This post is the first in a series taking a closer look at the variety of one-click installers available with the WebFaction control panel. Today, we’re starting close to our Python roots, by taking a look our Python web application tool belt.

We have one-click installers for several popular ways of building a web application with Python: CherryPy, Django, Pyramid, TurboGears, Zope and Plone, and mod_wsgi:

CherryPy

CherryPy is an object-oriented web framework that affords flexibility when it comes to choosing templating, database interaction, and more. CherryPy has a long history with WebFaction, as the control panel and API started out as CherryPy applications.

Django

Django is far and away the most popular Python one-click installer, and it comes as no surprise, thanks to its “batteries included” approach, extensive documentation, and enormous ecosystem of pluggable apps. Django’s all-in-one package includes a database ORM, a templating engine, and an administration interface.

See the WebFaction Django docs for a “getting started” guide and various configuration and troubleshooting sections.

Pyramid

Pyramid, fomerly known as repoze.bfg, is a web framework that’s often discribed as “minimalist.” Much like CherryPy, or in contrast to Django, Pyramid makes few assumptions about what components your web application might use, such as templating engines or databases.

See the WebFaction Pyramid docs for a deployment example, and a couple of WebFaction-specific Pyramid instructions.

TurboGears

TurboGears brings together several separate libraries to form a web framework. For example, TurboGears uses SQLAlchemy, a Python SQL toolkit, to provide persistence with a database, or Genshi for templating.

See the WebFaction TurboGears docs for a deployment example.

Zope and Plone

Zope is an object-oriented web application coupled with a unique persistence layer, the Zope Object Database, that stores actual Python objects. Plone is a comprehensive content management system that runs on Zope. The one-click installer provides both, but creating a Plone site is optional.

See the WebFaction Zope and Plone documentation for instructions on setting up a Plone site, and detailed Zope and Plone administration tasks.

mod_wsgi

WSGI, the Web Server Gateway Interface, is a standard interface for Python web applications (as defined in PEP 333). WSGI provides a common way for Python web applications to communicate with web servers. Most Python web frameworks you know and love are WSGI compatible. mod_wsgi is a module that adds WSGI support to the Apache web server.

The mod_wsgi one-click installer provides an Apache server with mod_wsgi installed and configured. The mod_wsgi one-click installer is especially handy for situations where you want to use a WSGI-compatible framework that doesn’t already have a one-click installer, like Flask and Bottle, or something of your own creation.

 

Python has a broad and capable family of web frameworks, so there’s sure to be one that has the features or characteristics you need. If one of these tools has piqued your interest, try its one-click installer. If you need any help, join us in the Q&A Community.

-
-

Introducing our new control panel design

Posted in Control panel by

Today we’re excited to unveil the latest change to the WebFaction hosting service: a new design for the WebFaction control panel.

This new design is the most visible change but under the hood it comes with a complete rewrite of the software powering the control panel. This new system should allow us to add new features quicker.

As always, please let us know what you think in the comments. We’ve tried to work out all the bugs ahead of time, but there’s no substitute for the keen eye of our customers, so if you run into any problems, join us in the Q&A Community for help.

-
-

A look at installing your own tools on WebFaction servers

Posted in Server setup by

In previous posts, we’ve demonstrated how to use software we provide through one-click installers or through your shell account. But sometimes you may want to use something we haven’t installed. Today we’d like to give a better picture of how to do that, and what WebFaction servers already have installed to help you.

Sometimes the software you want to use will be available as a binary or script you can run more or less straight away, without any compilation steps. It’s simply a matter of downloading and running. wget and curl both make it easy to download files, limiting the need to upload with SFTP.

Take ack, a grep alternative, as an example. Downloading and installing ack is a one-liner, provided $HOME/bin is in your PATH:

curl http://betterthangrep.com/ack-standalone > ~/bin/ack && chmod 0755 !#:3

Much of the software you may want to install may require a more complicated installation process, however. In particular, you may be required to configure, compile, and install as separate steps.

To that end, each WebFaction server comes equipped with many of the common tools you need to do that. In particular, each WebFaction server has make for running the compilation and installation process, C/C++ compilers, and plenty of common prerequisite libraries. Preinstalled libraries include essentials such as readline and libcurl, as well as fancier libraries, like ImageMagick for graphics manipulation (to get a sense of what’s installed, try running ldconfig -p).

System configuration details are a bit dry, however. For a more concrete demonstration, we’ll compile the open source key-value store Redis. In general, the strategy for setting up software in your home directory is:

  1. Get the source.
  2. Configure (if applicable) and build.
  3. Install.

Of course, no two packages are alike, so be sure to read the software’s README file and other documentation. You should also look over the WebFaction Installing Software from Source documentation for some additional guidelines.

In Redis’s case, the process is simple. First, log in to your SSH account, then download the source with this command:

wget http://redis.googlecode.com/files/redis-2.6.11.tar.gz

Next, extract the tarball and switch to the source directory with these commands:

tar -xf redis-2.6.11.tar.gz
cd redis-2.6.11

Redis doesn’t require any configuring before building, so the next step is to compile. Enter make and press Enter. It takes a couple of minutes to compile, but when it’s done you’ll have working redis-server and redis-cli executables in the src directory. Before continuing, it’s best to confirm that the compilation finished without any problems. Many packages, including Redis, provide a test suite to confirm the build results. Run the test suite with this command:

make test

The tests take a few minutes to run, but provide confidence that the software will work as expected. Once we’re satisfied it’s ready, then we can install Redis to the home directory. Install with this command:

make PREFIX=$HOME install

Now, the Redis binaries are in your $HOME/bin directory. You can run the server with redis-server and the command-line client with redis-cli. You’re free to store keys and values to your heart’s content.

For a broader example, featuring several different packages and numerous dependencies, check out our post Setting up the reddit app without root access. It contains several more examples of installing software in your home directory.

Let us know what you’re installing in the comments, and if you need any help, join us in the Q&A Community.

-
-