Manage SSL certificates with the control panel

Posted in Control panel by

Screenshot of WebFaction control panel certificate picker

You can now manage SSL/TLS certificates with the WebFaction control panel! In just a few clicks, you can:

  • generate certificate signing requests
  • upload or copy and paste certificates
  • choose which certificate to use with each of your websites

Effective immediately, you can secure a site without opening a support ticket. But if you run into any problems, the support team is still available to help you out. Because we’re sure you’re eager to start managing certificates on your own, we’ve enabled the feature now, but we’re working to make managing certificates even better over the coming days, with complete documentation, API support, and more.

But as of today, you can upload a certificate and private key from any certificate provider through the control panel. If you don’t already have a certificate, you have a few choices when it comes to getting one:

  • You can use your server’s default, shared certificate, though visitors will get an error message warning that the connection may not be secure.
  • You can buy a certificate from a certificate provider (typically your domain name registrar can provide this service).
  • You can get a certificate from Let’s Encrypt, a certificate authority that provides free 90-day certificates.

The new functionality is available in the panel under “Domains/Websites > SSL Certificates”.

We’re really excited about Let’s Encrypt! It’s a great project that’s helping to make secure sites practical for everyone. And though we’re not ready to announce anything yet, let’s just say that we want Let’s Encrypt and the control panel to work very well together.

Update: As of 12 October 2016, our documentation and API have been updated to include the new SSL certificate management features!

-
-

WordPress 4.4 + PHP 7 + SSD = great performance

Posted in WordPress by

WordPress 4.4

WordPress 4.4 has been released! You can now find WordPress 4.4, named “Clifford”, in our one-click installer. It’s running recently-introduced PHP 7.0.

WordPress 4.4 has several new features, including:

  • a new default theme, Twenty Sixteen, that’s designed to look sharp on all screens, from mobile phones to giant desktop displays
  • responsive images so WordPress shows images at the right size for each device (potentially abbreviating page loads)
  • embeddable WordPress content, so your content can be shared more gracefully across sites that support consuming oEmbed data
  • more support for embedding outside content, like Speaker Deck and Reddit comments

Plus, many changes have been introduced to WordPress core to support WordPress developers—including changes that lay the groundwork for the eventual introduction of a REST API in WordPress core in a future release.

Specific to WebFaction, installations of WordPress 4.4 use PHP 7.0. PHP 7.0 is known to improve the performance of many PHP applications. In an informal test of a new WordPress 4.4 installation running under FastCGI, PHP 7.0 handled almost a third more requests per second than PHP 5.6:A graph comparing WordPress 4.4 under PHP 5.6 and PHP 7.0

And that’s before any other steps to optimize the application, like caching WordPress.

For a complete look at the changes in WordPress 4.4, check out the project’s official announcement. When you’re ready, fire up a WordPress 4.4 installation with the one-click installer. If you have any questions, join us in the Q&A community.

-
-

PHP 7 is here!

Posted in PHP by

PHP 7 is here

PHP 7 has been released! That’s right, PHP 5.6 has given way to PHP 7.0 (stop, do not pass PHP 6, do not collect $200)! The new version is now available on all WebFaction servers. So let’s take a look at some of the biggest changes in PHP 7.

Performance

Perhaps the most talked about part of PHP 7 is the substantial improvement in performance and memory usage. Measuring requests per second, benchmarks with PHP 7 have shown 30 to over 100 percent improvements over PHP 5.6. You read that correctly: upgrading to PHP 7 can sometimes double the performance of an application. The PHP project achieved these gains by merging the changes of PHPNG into the main PHP project. Although memory benchmarks are harder to come by, anecdotal reports are that PHP 7 uses less memory as well. While the real-world performance gains of upgrading to PHP 7 vary by application, you should expect to experience a marked improvement.

Spaceships

PHP 7 comes with a spaceship, or at least it comes with an operator that looks like a spaceship: <=>. The spaceship operator, more formally known as the “combined comparison” operator or “three-way comparison” operator, makes it easier to write comparisons for sorting. The spaceship operator compares two values and evaluates to 1, -1, or 0, if the first value is greater, less than, or equal to the second value, respectively.

Take the expression a <=> b, for example. If a is greater than b, then the expression evaluates to 1. But if a is less than b, then the expression evaluates to -1. If a and b are equal, the expression evaluates to 0. In this way, the spaceship operator reduces a complex ternary expression like ($a < $b) ? -1 : (($a > $b) ? 1 : 0) to just a <=> b.

Plus spaceships are cool. Pew pew!

Type hints

PHP 7 expands the language’s type hinting features. Previous versions of PHP supported limited argument type hinting. PHP 7 adds scalar type hinting to arguments, so you can hint int, float, string and bool for argument types. What’s more, PHP 7 lets you declare what type a function is expected to return, including the scalar types.

But there’s a catch

With these changes, you may be eager to upgrade, but keep in mind that PHP 7 is not a drop-in replacement for PHP 5.6. Many long-deprecated SAPIs and functions have been removed. There have been changes to errors and exceptions, variable handling, and source parsing too numerous to list here.

We recommend that you read the official guide on Migrating from PHP 5.6.x to PHP 7.0.x or see the the official ChangeLog to learn about every change and how it may affect your application. We also recommend that you test your application before upgrading your live site.

When you are ready to upgrade, you’ll find PHP 7 available in our one-click installer and on the command line as php70.

-
-

Your WebFaction account: customer support

Posted in General by

This is the fourth in a series that’s going over what’s included in your WebFaction account. In today’s installment, we’re taking a closer look at the team that supports your account.

Above all, the customer support team is committed to communicating with you in a timely, accurate, and courteous way. If you have a question, a problem, or a suggestion, we want you to be able to trust that the customer support team will respond with care and respect. Whether you’re asking a question in the Q&A Community or opening a support ticket, WebFaction customer support is there to help you.

But the customer support team isn’t passively waiting to hear from you. The support team is connected to monitoring and reporting about the state of the WebFaction service, so many problems are resolved without your intervention. For example, if a network connection goes down or server needs to be rebooted, the support team is often notified about and can respond to the problem before customers are even aware of the issue, much less had a chance to submit a support ticket.

Yet having a monitoring system doesn’t mean much if there’s no one around when alarms start going off, so WebFaction’s support team provides 24-hour coverage every day of the year. The team is globally distributed, so even though it might be a weekend, evening, or holiday where you are, it’s usually just another work day for the support team member that responds to your request. With continuous coverage, you can expect that it won’t be long before you receive a response and that the support team member that responds to you is up to the task.

In addition to the customer-facing support team, our team of systems administrators is on hand and on call too. Their main task is to make sure your server is stable, secure, and up-to-date. For example, our sysadmins took the steps required to protect WebFaction servers from the POODLE SSL vulnerability discovered recently. Or, in the event of a major problem, like a hardware failure, the systems administrators step in to restore the server to a working state or migrate it to new hardware.

In a perfect world, software never has bugs, servers never crash, and network connections never fail. Unfortunately, we don’t live in that world, so that’s why we’ve put together a multitalented team to look out for you.

To learn more about what you can do with your WebFaction account and how to get help, check out our documentation site, or join us in the Q&A Community to ask the support team a question.

Previously in the “Your WebFaction account” series: emailserversthe control panel.

-
-

Your WebFaction account: the control panel

Posted in Control panel by

This is the third in a series that’s going over what’s included in your WebFaction account. In today’s installment, we’re taking a closer look at the control panel.

screenshot of the control panel

There’s a lot going on the control panel because it’s the hub of every WebFaction account. Nearly every part of account management, from billing to disk usage to applications to support, has a part to play in the control panel. And that’s by design: the control panel is often the first and last place you need to go to manage something to do with your account.

For example, the control panel is your account’s virtual postmaster, with the ability to create and manage email addresses and mailboxes. Common tasks, like setting up autoresponders and forwarding mail can be managed from the control panel, without requiring complicated configuration files.

One area of the control panel that we’re particularly fond of is our one-click installers. With the control panel, you can install a bunch of popular applications with the absolute minimum of hassle. It’s such an important part of the control panel, we did a whole series of blog posts on just one-click installers.

Of course, sometimes you don’t want to have to actually click anything. That’s why many things that you can do with the control panel can also be done with the XML-RPC API. With the API, you can automate many control panel tasks, like creating email addresses or managing DNS overrides. The API even knows a few tricks that the control panel doesn’t, so check out the API documentation for a tutorial and reference.

Lots of web hosts have control panels, but many use off-the-shelf packages that are designed for the generic idea of web hosting. We’ve made our own control panel that’s designed for our customers’ use cases and our service’s strengths. We have the flexibility to improve the control panel, and do things like add a new feature without waiting on a vendor’s release schedule. We’re proud of the control panel and strive to make it the best tool possible for our customers.

To learn more about what you can do with your WebFaction account and the control panel, check out our documentation site or join us in the Q&A Community.

Previously in the “Your WebFaction account” seriesEmailServers

-
-

New control panel feature: simple user permissions

Posted in Control panel by

A few days ago, we quietly introduced a much-requested new feature to the control panel: granting extra SSH and SFTP users access to directories. We made this two-minute screencast about managing extra user accounts that covers the new feature:

Now you can grant an extra user access to a particular directory right from the control panel. It’s much faster and less error-prone than doing so in a shell session manually. While it’s not a substitute for fine-grained access control, it’s perfect for dealing with the common case of granting a user access to a particular application or subdirectory.

So check out the screencast and give the new feature a try. If you have any questions, join us in the Q&A Community.

-
-

Your WebFaction account: email

Posted in Control panel by

This is the second post in an in-depth series on what’s included with your WebFaction account. In today’s installment, it’s time to take a look at email. Email’s easy to take for granted, but your account includes several email features that ought to make life with email a little easier. Let’s look at the highlights:

  • Sending, receiving, and storing email
    Rather than expecting you to run your own mail server, you can send, receive, and store email using our managed mail servers. Instead of fiddling with configuration files by hand, you can set up accounts and email addresses with the WebFaction control panel.
  • Spam filtering
    We take broad measures to prevent spam from reaching your inbox, like rejecting mail from servers that are misconfigured or known to be operated by spammers. We also run SpamAssassin, an open source tool for detecting spam, to give a spam score to every incoming message. With the control panel you can choose how spam messages are handled: have them immediately discarded, have them put into a spam folder or, for advanced users, have them processed with custom filtering rules.
  • Automatic mail tools
    Aside from spam detection, you can set up other ways to automatically deal with email. You can forward incoming messages to another address, or you can set up autoresponders to let people know when you can’t respond yourself. You can even choose to direct incoming messages to a script to process with your favorite programming language.
  • Many ways to get your mail
    Once you’ve received mail, you have several ways to access it. You can configure your mail client to access mail stored on the server with IMAP, or to download mail with POP. To send mail, you can use SMTP. And if you don’t want to run a dedicated mail client, you can log in to WebFaction’s webmail interface.
  • Unlimited email addresses
    Feel free to set up as many email addresses as you like. You can add addresses with the control panel, and you have the flexibility to have a single mailbox receive messages for multiple addresses. You can also receive as much mail as you like, provided you don’t exceed your account’s disk space limits.

With this set of features, email with WebFaction can be used in a variety of ways. Individuals can set up their favorite email client or use the webmail interface to exchange mail with friends and family or clients and colleagues. Likewise, your web applications can benefit from email communications, like sending welcome email or password reset messages.

We hope this post gives you a better idea of the mail capabilities of your WebFaction account. For more details, check out our mail documentation, and if you have any questions, join us in the Q&A Community.

Previously in the “Your WebFaction account” series: Servers

-
-

Your WebFaction account: servers

Posted in General by

This post is the first in a new series for potential and current WebFaction customers to learn more about what’s included in WebFaction plans and accounts. For new and potential customers, we’re going to go in-depth on what WebFaction delivers. For customers who’ve been with us for a while, we hope to remind you of your plan and account features, so you can continue to get the most out of your account.

At the core of every WebFaction plan is use of one of our shared or dedicated servers, depending on your subscription. Regardless of the specific plan, each comes with an allocation of disk space, an allocation of memory, and SSH access.

Disk space and memory are critical to web hosting. Your disk space allotment, measured in gigabytes, is the amount of files you can store on a WebFaction server. Currently, our plans start with disk space allotments of 100 GB. As a point comparison, 100 GB is which is about as much data found on two to four Blu-ray discs. Your memory allotment, measured in megabytes, is the amount of the server’s working memory (also known as RAM) that you can use. Currently, a WebFaction plan starts with 512 MB of memory, which is sufficient for a wide variety of processes, including web applications and utilities.

Note that, on a shared server, your memory and disk space aren’t dedicated pieces of hardware for your use alone. To keep costs and prices low, your files are stored on disk drives split up between users, just as your processes use physical memory modules split between users. This kind of sharing is done in controlled way, so that individual users may not exceed their allotments of memory or disk space to the detriment of their server neighbors. This kind of sharing also comes with a major benefit: common processes, like nginx for static-only sites and shared MySQL and PostgreSQL databases, are shared across the server’s users, so they don’t count against your individual consumption of your memory allocations. Compare that to a Virtual Private Server (VPS), where each individual user must pay for the memory and disk space required to run a full operating system.

To access your server, your plan comes with a user account that’s accessed with SSH, or Secure Shell. SSH is an encrypted and authenticated way for you to connect to your server. You can use it control your files and processes and, thus, your disk space and memory consumption. With SSH, you can run software using a command-line interface called a shell (most people use the default shell, Bash). You can manage files using command line utilities, or connect with your favorite SFTP client. SFTP is a secure alternative to FTP, and uses SSH to communicate between client and server. Many hosts do not allow SSH connections (or even SFTP), but we offer it because it’s more secure and flexible.

To learn more about what you can do with your WebFaction account, check out our documentation site or join us in the Q&A Community.

Next in the “Your WebFaction account” series: Email

-
-

New one-click installers: Node.js and Ghost

Posted in Ghost by

Today we’re unveiling two new one-click installers: Node.js and Ghost. Both of these applications have been requested often, and we’re happy to be able to bring them to you.

Node.js

Node.js is a platform for running JavaScript applications, especially on the server. Node (as it’s commonly referred to) uses the V8 JavaScript engine from Google Chrome, so you can use the familiar browser language that you know and might love in a whole new environment.

Node has a substantial API, including an HTTP server, so a simple application looks something like this:

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(13478);

In fact, you’ll find a hello-world.js script just like this in the Node.js application directory, after you install it with the control panel. You can check out:

~/webapps/node_app_name/bin/start
and
~/webapps/node_app_name/bin/stop

to see how the application runs (or modify them to run your own Node creation).

Node also comes with a package manager called npm, and so does the Node one-click installer. The package manager makes it quick and easy to install Node modules and their dependencies. Your Node application’s copy of npm is available in the application’s bin directory, and it can be used like this:

[demo@web310 ~]$ cd webapps/node_demo/
[demo@web310 node_demo] $ ./bin/npm install underscore
npm http GET https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz
underscore@1.5.2 node_modules/underscore

Then you can require installed modules just as you’d expect:

[demo@web310 node_demo] $ ./bin/node
> var underscore = require('underscore')._;
undefined
> underscore.map([1, 2, 3], function(num){ return num * 3; });
[ 3, 6, 9 ]

To learn more about Node.js, check out Node.js’s official documentation.

Ghost

Ghost Screenshot

In addition to the Node.js one-click installer, we’ve also added an installer for Ghost, a new, open source blogging application. Ghost is described as “just a blogging platform,” as opposed to more complicated content management systems, like WordPress or Drupal. There’s been a lot of excitement about Ghost, especially because over 5,000 people backed the project on Kickstarter earlier this year.

Because Ghost runs on Node.js, everything you’ve just learned about the Node.js one-click installer also applies to the Ghost installer. To get started with Ghost, add a Ghost application to a website, and then open http://example.com/ghost/signup/ (where example.com is your site’s domain) in your web browser. Ghost comes with a handy example post to teach you some of the basics.

To learn more about Ghost, check out the Ghost Guide, but keep in mind that Ghost is experimental software (its first public release was last week), so you may find yourself breaking new ground.

Whether you’re interested in Node.js or Ghost, give one of the new installers a try. If you have questions or run into problems, then join us in the Q&A Community.

-
-

New one-click installer: Django and Python 3

Posted in Django by

Today we’re introducing a new installer and we think this one is pretty special. You can now install Django 1.5 running on Python 3.3. The team at WebFaction is excited to be an early Python 3 adopter by becoming one of the first hosts to support Django on Python 3.

If you’re a Python user, you know that the transition from Python 2 to Python 3 hasn’t happened overnight. In fact, the first Python 3 release happened almost five years ago. The pace of transition has been influenced by a kind of chicken or the egg problem: Python users have been reluctant to upgrade because few libraries supported Python 3, but library maintainers (and web hosts) have been reluctant to upgrade because of few Python 3 users. But that’s starting to change with Python 3 support appearing in popular libraries such as Requestsnose, and now Django.

With Django on Python 3.3, you get all the new benefits of Python 3 which were not backported to Python 3 (check out the “What’s New” documentation for Python 3.03.13.2, and 3.3 for complete details). For example, if you’ve ever needed to do something like this with a generator in Python 2 code:

for elem in some_iterable:
    yield elem

You can now simplify that code using Python 3.3’s yield from syntax:

yield from some_iterable

Before you dash headlong into upgrading your Django sites, please exercise some caution. The Django project considers Python 3 support to be experimental, so the current Django release comes with a few limitations. Notably, MySQL with Python 3 is unsupported. Additionally, while many libraries have added Python 3 support, support for the new language version is far from universal, so be sure to investigate your dependencies (including pluggable Django applications) before upgrading.

If you’re ready to give Django on Python 3 a whirl, give the installer a try with the WebFaction control panel. And if you run into problems with the new installer, join us in the Q&A Community.

-
-