DreamPress

From DreamHost
Jump to: navigation, search

Overview

DreamPress is DreamHost's Managed WordPress hosting. It's a scalable service that allows users to manage their WordPress sites with simple pricing, added benefits of server robustness, caching, and memory.

Behind the scenes, it ties together different pieces of our existing technology into a cohesive single unit. Below are all the details of this new service.

Technical Details

Each DreamPress instance is actually made up of two VPS instances: one web, and one MySQL.

The two VPS instances:

  • are provisioned automatically
  • are configured as a pair
  • are hosted on isolated clusters of hardware so other sites won't interfere with their stability or performance. All of them are hosted in our Virginia datacenter as of June 2013.
  • disallow root and sudo access (unlike the standard VPS service)
  • auto-scale RAM (memory) dynamically (customers cannot modify the RAM allocation)

In addition to the standard VPS setup, we have added Varnish as a caching layer, which:

  • is set up automatically for the DreamPress customer
  • listens on port 80
  • responds to web requests as a proxy in front of the Apache and PHP WordPress stack
  • is extremely efficient at caching content
  • allows this set up to scale to very high levels of traffic
Note2 icon.png Note: Apache runs on port 81 and is still publicly accessible.


DreamPress 2

DreamPress 2 is the latest version of DreamHost’s managed WordPress Hosting service. The main difference between DreamPress 2 and DreamPress 1 is speed. Unlike DreamPress 1, all sites on DreamPress 2 are hosted on SSD drives and support PHP 5.5 with OpCache. DreamPress 2 also supports HHVM (Hip Hop Virtual Machine), Facebook’s faster replacement for PHP. HHVM is a beta feature on DreamPress 2 and can be enabled in your control panel. What does all this mean? DreamPress 2 outruns DreamPress 1 by a mile.

Service Restrictions

DreamPress is a managed service, which means DreamHost has restricted certain actions that users can take that would irreparably break their WordPress site.

DreamPress is a one-site service in that a single plan covers a single domain. However, users can have multiple DreamPress instances for multiple sites, and they can mix and match it with shared, VPS, and dedicated hosting as well.

Current Restrictions

  • Unable to configure or modify the VPS instances.
  • Unable to manually set memory on the VPS. The memory is configured and scales automatically.
  • No admin users or root SSH keys on the VPS instances.
  • Unable to add or remove users or domains on the VPS. One SFTP (optional SSH) user and the domain you choose will be configured automatically.
  • Unable to add or remove databases or hostnames on the MySQL VPS. The database and hostname will be created automatically for WordPress.
  • Unable to merge databases to or from the MySQL VPS
  • Unable to delete the web or MySQL VPS instances independently. To delete the VPS instances, go to the (Panel > ‘Domains’ > ‘Dreampress’) page and click on the Downgrade or Delete buttons.
  • Unable to add Wildcard DNS as DreamPress does not utilize a standard DreamHost VPS.

In general, if it's not listed as a restriction above, it's still doable. Adding unique IPs or an SSL can be done on the (Panel > ‘Domains’ > ‘Manage Domains’) page.

Setting up DreamPress

Note2 icon.png Note: It may take over an hour to set up a new DreamPress installation, but the original one-click WordPress site remains functional until the switch occurs. Then, the DNS propagation may possibly delay the site from working. However, this is only in the case of upgrading and adding a new instance, not in the case of an import to an existing DreamPress.


Setting up a new domain

You can add any domain without hosting to DreamPress easily. First make sure it's set as DNS Only.

  1. Visit the Backup article to backup any necessary web files.
  2. Navigate to the (Panel > 'Domains' > 'Manage Domains') page.
  3. To the right of your domain, under the 'Web Hosting' column, make sure your domain is set as DNS ONLY.
  4. If it isn't click the Edit button under this column.
  5. Dreampress-edit domain.png
  6. Scroll down to the bottom of that page.
  7. Dreampress-dns only.png
  8. Click the Host DNS Only! button.
Note2 icon.png Note: Once the domain is set as DNS only, you can then proceed with installing DreamPress.


  1. Log into your panel at panel.dreamhost.com.
  2. Navigate to (Panel > ‘Domains’ > ‘Dreampress’)
    The Managed WordPress Hosting page appears.
    Dreampress-setup.png
  3. Click the New DreamPress button to create a new site.
    Dreampress-add new domain.png
  4. Enter your domain in the URL field.
  5. Choose which payment plan you'd like to use.
  6. Click the Get DreamPress button.
    A popup box displays
    Dreampress-add new domain confirmation.png
  7. Click the Add DreamPress button to save.

Setting up an existing domain

You can easily transfer any domain to DreamPress that is currently using WordPress as a One-Click Install.

Upgrade to DreamPress

  1. Log into your panel at panel.dreamhost.com.
  2. Navigate to (Panel > ‘Domains’ > ‘Dreampress’).
    On the "Managed WordPress Hosting" page, you’ll see a drop-down box which lists your current One-Click WordPress installs.
  3. There are two ways to upgrade:
    • If you have no other DreamPress installs on this account, click the Upgrade from One-Click button.
    • If you have another DreamPress install, you'll see the following:
    Upgrade.png
  4. In either case, choose your domain from the dropdown.
  5. Choose a payment plan.
  6. Click Upgrade to DreamPress.
    You'll receive an email from DreamHost that confirms that DreamPress has successfully migrated.

Import to Dreampress

If you already have an existing DreamPress or WordPress site created with the One-Click installer, you are also able to import content into your DreamPress site.

  1. After you create your DreamPress installation, you’ll see an Import button on the DreamPress page:
    01 Dreampress Account Page.fw.png
  2. Click the Import button beneath the site into which you wish to import content.
    A window pops up allowing you to select a site from which to import your content:
    02 Dreamp import dialog.fw.png
  3. Choose the site you'd like to import data from in the dropdown menu.
  4. Click the Start Import button to begin the import process.

This creates a clone/copy of the One-Click and changes the domain name. This is ideal for testing DreamPress, testing new plugins or themes, and so on, since it leaves the original site intact. It's also good for splitting out a single WordPress installation from a domain that has multiple apps. For example, you can turn example.com/blog into blog.example.com.

Note2 icon.png Note: If you're importing your WordPress install from a different domain name, the migrator will attempt to replace the domain/URLs. If it fails to do so, the email following the import will indicate that. In any case, you should always double check if this data is correct after the import has completed.


If you wish to migrate a different domain's WordPress content to a domain that you want on DreamPress, then you should add the domain first to DreamPress and then use the Import feature.

Migrating NON-One-Click Installs

Note2 icon.png Note: DreamHost support is currently unable to provide assistance for WordPress instances that aren't set up through our One-Click installer or are transferred from another host.


The following steps guide your through how to manually migrate an existing WordPress site:

  1. Export the Wordpress MySQL database(s). View the following wiki for further instructions:
  2. Download your entire WordPress installation. View the following wiki for further instructions:
  3. Open the (Panel > 'Domains' > 'Manage Domains') page.
  4. Follow the directions above to Set up a new domain.
  5. Open the (Panel > 'Domains' > 'Dreampress') page.
    When the setup completes, your new DreamPress installation looks similar to this:
    06 Dreampress Account Created.fw.png
  6. You can import your database through phpMyAdmin or through a SHELL user. View the following wiki which explains each option:
    Note2 icon.png Note: The wp-cli tool is handy for the MySQL dump and import. You can read about this tool in the following wiki:
    • WordPress_wp-cli
    • Using the wp-cli tool is the fastest method.
    • To use the wp-cli tool, you'll need to make sure your DreamPress user has Shell access.
    • You can also visit the following wikis for further instructions on how to change the user type and how to log in via SSH:
    Enabling_Shell_Access
    SSH


  7. After connecting via SSH with your DreamPress user, run the following command (replacing "backup.sql" with the name of the MySQL backup that you uploaded previously):
    wp db import backup.sql
    

The database is now imported and your wp-config.php file links to the new installation.

Configuring DreamPress

Once you have at least one domain on DreamPress, the DreamPress page looks like this:

DreamPress2panel.png

You can obtain more information or change a setting by clicking a desired button. Below is a description of each.

  • Manage Service - Opens a page which allows you to migrate your DreamPress site to another server.
  • Details - Shows or hides your SFTP and MySQL username and hostname credentials.
  • Admin - Opens the /wp-admin page of your DreamPress site where you can log in.
  • Domain Settings - Opens the 'Manage Domains' page for your domain. The configuration has been optimized for WordPress.
  • Import - Opens a popup box that allows you to import data from another WordPress site.

Changing the DreamPress SFTP user password and switching the account type

By default, DreamPress sets your new user to an SFTP user. If you'd like to change the password or change to a Shell user, view the following article:

Pricing and Billing

  • Pricing is set at $24.95/month/per site for the life of the service. The price is a flat rate and is not affected by VPS memory scaling.
  • You may have multiple DreamPress sites, but they will be billed independently.
  • There is also a 'special promotion at $19.95/month/per site. There is no limit on how many you can add with the promo pricing. The end date for the promotion has not yet been determined. Customers who add a site while this promo is active get to keep the this special price even when the promotion is over. If the site is removed from DreamPress (Downgraded or Deleted), or if the customer's account is closed/disabled, they may lose the special promo pricing.
  • Deleting or downgrading will give a credit for any unused portion of the billing period.
  • If the account is under 97 days and the account is closed completely, as seen on the (Panel > ‘Billing & Account’ > ‘Manage Account’) page, the DreamPress service fee will also get refunded.

User Support

DreamPress comes with support from some of DreamHost’s top tech support, who also have experience in WordPress. After intensive training and evaluation by our in-house WordPress core contributors, they were selected as the best-in-class to represent DreamHost and WordPress, and help you with any problems with your DreamPress site. If they don’t know the answer, they know how to find someone who does.

All that said, please note that DreamHost support is not a replacement for an actual website developer (should you need one); DreamHost can help install/configure plugins, but cannot make custom plugins or themes for you. Also if a plugin or theme is causing problems, the only support DreamHost may be able to provide is disabling the plugin/theme and suggesting alternatives.

Caching

Caching on DreamPress is done via a Varnish server. We install the plugin Varnish HTTP Purge on all new and migrated DreamPress installs, which will automatically flush the cache when pages or posts are published.

Manually Purging the Varnish Cache Via the Plugin

The Varnish HTTP Purge plugin (included in all DreamPress installs) comes with a Purge Varnish Cache button. This button can be found in the main dashboard of WordPress, and clicking it will purge the entire cache. USE THIS SPARINGLY. The whole point of caching is to cache. If you need to selectively purge the cache, you'll still need to do it via SSH for now.

Manually Purging the Varnish Cache Via SSH

The instructions provided in this article or section are considered advanced.

You are expected to be knowledgeable in the UNIX shell.
Support for these instructions is not available from DreamHost tech support.
Server changes performed by DreamHost may break your modifications. You, as the user, are responsible for troubleshooting and resolving issues with your customizations.

A Purge is an HTTP request using the method PURGE. In DreamPress, the request URI can be interpreted in several different ways, one of which is as a Perl Compatible Regular Expression (PCRE). If the URL includes characters that look like a PCRE (for example .*), then it will be treated as a PCRE, so be sure to always include .* if your intention is to purge multiple pages. See the DreamHost Varnish config for more details.

The DreamPress Varnish config uses IP-based Access Control Lists (ACLs) so that the purge request must come from the DreamPress machine. Purge requests from other IPs will show error 405 Not allowed.

To manually purge the Varnish Cache, you must change the DreamPress user to be a shell account, and make use of the curl command-line tool while logged into your domain via SSH.

The following is an example command of how to purge a single css file:

$ curl -X PURGE "http://mydomain.com/wp-content/themes/mytheme/style\.css"
Note2 icon.png Note: If your site is using www or any other subdomain, you must use the complete domain name in the purge URL. Make sure the domain part matches exactly with what appears when visiting your site.


Note that . (dot) and other PCRE metacharacters need to be escaped if they are present in the path. Do not escape . (dot) characters in the domain name.

If you are making changes to your theme files, or updating themes, an easy way to clear all theme files from your cache would be:

$ curl -X PURGE "http://mydomain.com/wp-content/themes/.*"

You can also target specific types of files using the following syntax:

$ curl -X PURGE "http://mydomain.com/wp-content/themes/.*\.js"
$ curl -X PURGE "http://mydomain.com/wp-content/themes/.*\.css"

FAQs

How much traffic can my site take?

2.1 Million visits per month on DreamPress 2.

DreamHost does not limit the amount of visitors to your site, or have any overages for traffic. Many customers asked for a direct comparison of competitor offerings, so DreamHost took a look at the performance of DreamPress 2 using loader.io, an independent benchmarking tool. This estimate is based on 50-100 un-cached visitors per minute (averaging 3 page views each) on a basic WordPress install filled with content. Under most circumstances, your site will be able to sustain significantly higher traffic levels due to DreamPress 2's multi-level caching systems.

How many sites can I have on one DreamPress instance?

At this time, you can can only host one domain name per DreamPress account. Need another instance of DreamPress for another site? No problem. Additional instances of DreamPress can be ordered and managed through your DreamHost control panel.

Is Multisite/WPMU Supported?

Not at this time.

Is email provided with DreamPress?

Yes. Email service is available on DreamPress-only accounts.

Is Secure Hosting (https) supported by DreamPress?

Yes. You can use a secure connection on your site if you choose to. Bear in mind, Varnish cannot cache https requests by design, so you won't see the performance gain Varnish can provide.

Can I alter my PHP configuration for a DreamPress site?

You can find instructions on how to edit your php.ini in the following wiki:

Can I develop my site on DreamPress while it's hosted elsewhere?

You can use a dreamhosters.com subdomain to mirror the site content. Please check the following wikis for instructions on how to set up the mirror:

Can I create cronjobs with my DreamPress user?

By default, DreamPress users are created as SFTP users so support for cronjobs is not immediately available. See the following wiki for further instructions on how to change the user type:

Can I use PageSpeed and Varnish together?

Yes. PageSpeed likes to put in Caching headers. To say 'not to cache', you need to put this in the .htaccess file in your domain's directory:

<IfModule pagespeed_module>
  ModPagespeed on
  ModPagespeedModifyCachingHeaders off
</IfModule>

You can add in the rest of your normal rules; just make sure you include ModPagespeedModifyCachingHeaders.

Can I use CloudFlare and Varnish together?

When you use CloudFlare or any other similar service, there's a proxy in front of the Varnish proxy. In general, this isn't a bad thing. The problem arises when the DNS sends the purge request to your domain name. When you have an additional proxy like CloudFlare, you don't want the request to go to the proxy; you want it to go instead to the Varnish server.

To fix this, add the following to your wp-config.php file:

define('VHP_VARNISH_IP','123.45.67.89');

Replace "123.45.67.89" with the IP of your Varnish Server (not CloudFlare, Varnish). DO NOT put in http in this define statement.

You can also set the option vhp_varnish_ip in the database. This will NOT take precedence over the define; it's just there to let hosts who are using something like wp-cli do this for you in an automated fashion:

wp option add vhp_varnish_ip 123.45.67.89

and

wp option update vhp_varnish_ip 123.45.67.890

To find your Varnish IP, go to (Panel > 'Domains' > 'Manage Domains') and click on the DNS link beneath the domain. The IP address entry for the www or blank A record is your varnish server. For example:

 www A 208.97.157.172

Can I use other plugins besides your Varnish plugin for caching?

Yes, but DreamHost does not provide support for them. It's possible to set up W3 Total Cache, for example, to use Varnish. You may need to enter your Varnish IP address. To find that, go to (Panel > 'Domains' > 'Manage Domains') and click on the DNS link beneath the domain. The IP Address entry for www is your varnish server. For example:

 www A 208.97.157.172

Are there any plugins I can't use?

At this time, DreamHost has not banned customers from using any specific plugins. That said, there are some plugins that DreamHost does not recommend you use with DreamPress as they're not the best fit. In general, if a plugin uses PHP Sessions, it's not going to perform well with Varnish and, thus, DreamPress.

  • Bad Behavior – The way it sets cookies isn't 100% compatible with Varnish and can cause caching not to set.
  • Simple Session Support – Uses PHP Sessions.
  • Captcha plugins – These generally apply cookies and/or sessions in a way that tells Varnish not to cache. Try not to use them on comment pages.
  • Advanced Custom Fields – This doesn't always play well with Memcached. Many people have reported that it works better on PHP 5.4

Can I have password protected folders?

Yes, but be careful. WordPress doesn't always play well with that, and Varnish won't know to flush the cache for that folder if it's not powered by WordPress. You may have to manually flush the cache for that folder, any time you update its contents.

How can I be sure my site is cached?

Since logged in users (that is, you) don't get the same cached page, this can be hard to figure out if you're not accustomed to looking at page headers. A useful tool is http://www.isvarnishworking.com/ which will not only tell you if it's working, but also when it's not, so you can pinpoint the problem and troubleshoot.

What happened to DreamPress 1?

DreamPress 1 is still around but existing DreamPress customers are being migrated to DreamPress 2. Once the migrations have completed, DreamPress 1 will be put to bed.

What is the difference between using DreamPress 2 and Shared Hosting?

Three words: VIRTUAL PRIVATE SERVERS! With DreamPress 2, all WordPress sites are hosted on their own isolated virtual private server. All MySQL databases are also hosted on an isolated virtual private server.

In addition, WordPress is automatically installed on every instance of DreamPress 2. On a shared hosting plan, WordPress can be installed through the One-Click Install feature located in the DreamHost control panel.

BOOM! Take that shared hosting!

Is there only one DreamPress 2 plan?

Yes, at this time there is only one DreamPress 2 plan. However DreamHost is always working on improvements so additional plans may be available in the future.

How can I downgrade or delete DreamPress?

To downgrade or delete Dreampress:

  1. Navigate to (Panel > ‘Domains’ > ‘Dreampress’).
    Downgrade-dreampress-01.png
  2. Click the 'manage service' link.
    The Mange DreamPress page opens:
    Downgrade-dreampress-02.png
  3. Make a selection (downgrade or delete):
    • Migrate to One-Click WordPress (follow the on screen instructions), or
    • Delete DreamPress.
Note2 icon.png Note: You must have an active hosting plan in order to downgrade your DreamPress install.