DreamHost FAQs | Comparably
DreamHost Claimed Company
DreamHost is a global Web hosting and cloud services provider with over 350,000 customers and 1.2 million blogs, websites and apps hosted. The company offers a wide spectrum of Web hosting and cloud services including Shared Hosting, Virtual Private Servers (VPS), Dedicated Server Hosting, Domain Name Registration, the cloud storage service, DreamObjects, and the cloud computing service DreamCompute. read more
EMPLOYEE
PARTICIPANTS
37
TOTAL
RATINGS
470

DreamHost FAQs

DreamHost's Frequently Asked Questions page is a central hub where its customers can always go to with their most common questions. These are the 964 most popular questions DreamHost receives.

Frequently Asked Questions About DreamHost

  • The root cause of 'Site Not Found'

    Viewing your site’s IP address in your browser

    DNS changes

    How to check your current DNS records

    HTTPS

    Rebuilding the Apache config file via DreamHost's control panel

    If you're not using DreamHost's DNS

    Using Passenger WSGI enabled

    Using a suspended account

    Contacting support

    See also

    Overview

    When your site is not reachable, the following 'Site Not Found' error message appears:

    Flush DNS overview

    The following explains why you may see this error message and provides some common steps to help you resolve it.

    The root cause of 'Site Not Found'

    The 'Site Not Found' error means the IP address your domain is using is not pointed to the correct IP.

    More technically, the 'Site Not Found' error means that the DNS records for your domain are resolving to the IP address of an Apache web server service that is not configured for your domain.

    When this happens, the Apache web server is designed to only show the first domain listed in its config file. To make sure that nobody's site ever accidentally shows a random site hosted on the same Apache service, DreamHost makes the first domain in all its config files show the same custom error page.

    There are a few reasons why your IP may not be correctly pointed to your web server IP which are explained below.

    Viewing your site’s IP address in your browser

    Due to the way that DreamHost configures Apacheunless you have purchased a Unique IP address for your domainattempting to view your site by entering the IP address in your browser automatically gives you the 'Site Not Found' error. This is because you’re viewing the shared IP of your web server, not the IP of your site.

    If you absolutely need to view your site through an IP address, you must purchase a Unique IP. You can read more about Unique IPs in the following article:

    Unique IP

    DNS changes

    If the 'Site Not Found' error message appears shortly after making a configuration change for the domain in the control panel, the IP address may have changed for that domain. If that's the case, this error should go away within 4 hoursonce the DNS change propagates throughout the Internet, as this is normal. If it doesn't go away after 6 hours, then try the following troubleshooting techniques.

    Frequently the 'Site Not Found' error appears due to a change in your IP address, which is commonly triggered by removing hosting for a domain and then setting up a MIRROR, REDIRECT, or PARK. While changes to the DreamHost DNS are nearly instantaneous, the new information doesn't reach other servers around the world until the other servers expire the old data that they are holding on to. This is referred to as DNS propagation.

    The reason why you get this error during this period of time is that the DNS information you are receiving to your local computer is outdated, and the Apache instance that you are being incorrectly sent to no longer has any record of your site. Depending on your location, it can take up to several hours for DNS changes to propagate, so the best thing to do is leave your domain alone for a few hours before attempting any sort of fix.

    To refresh DNS, go to Manage Domains and click the small 'DNS' link under a domain.

    The DNS page appears:

    When you click the Go! button at the top, a DNS update is forced in DreamHost's system. To repeat, DNS propagation online may still take several hours.

    How to check your current DNS records

    To check on the status of your DNS update, you can visit what's my DNS? to see what IP address your domain currently resolves to.

    Using Linux or Apple Mac

    If you’re using a Linux or Mac computer, you can also run several commands in your terminal to check the current IP of your site. Visit the following SSH article regarding how to log in to your terminal:

    SSH overview

    Once you log in to your terminal, you can run the dig command to check the status of the IP resolution. For example, the following command checks the current IP address resolving online in your location (your IP is different depending on the server on which your site is located):

    [server]$ dig +short example.com

    64.90.47.165

    The following command checks the current IP assigned to your DreamHost web server (your IP is different depending on the server on which your site is located):

    [server]$ dig +short example.com @ns1.dreamhost.com

    64.90.47.165

    If 'example.com' is using DreamHost nameservers, you should receive the same IP with both commands. If not, try flushing your local DNS. You can read about this in the following article:

    Flush DNS overview

    Using Windows

    Windows users can use the nslookup command using the command prompt. You can read more about using the command prompt in Windows in the following:

    Windows commands

    The following command checks the current IP address resolving online in your location (your IP is different depending on the server on which your site is located):

    C:\Users\user> nslookup example.com

    Name: example.com

    Address: 64.90.47.165

    The following command checks the current IP assigned to your DreamHost nameserver (your IP is different depending on the server your site is located):

    C:\Users\user> nslookup example.com ns1.dreamhost.com

    Name: example.com

    Address: 64.90.47.165

    If 'example.com' is using DreamHost nameservers, you should be getting the same IP with both commands. If not, try flushing your local DNS. You can read about this in the following article:

    Flush DNS overview

    HTTPS

    The 'Site Not Found' error can also appear when attempting to access a site via a secure connection (HTTPS) to the domain without having an SSL certificate active. This occurs when the domain’s HTTP Apache service lacks a matching HTTPS Apache service to handle the secure request. To resolve this, add an SSL certificate to the domain.

    Rebuilding the Apache config file via DreamHost's control panel

    Go to Manage Domains in your panel and click the Edit button to the right of the domain under the ‘Web Hosting’ column. There's no need to change anything on this page. Simply save it by pressing the Change settings button. Then, wait up to 10 minutes to see if the problem has solved. With this solution, you've simply rebuilt the httpd configuration file on the web server.

    If you're not using DreamHost's DNS

    If you aren't using DreamHost to manage your domain's DNS, then most likely the IP address that points to DreamHost by your DNS provider is incorrect.

    You can figure out the correct IP by querying the DreamHost nameserver with one of the commands in the above section (depending on your Operating System).

    Here's another way to find the correct IP :

    Log in to your panel at Manage Domains.

    Click the 'DNS' link under your domain.

    When the Manage Domains page opens, find the A record in the "non-editable" section.

    Update your A record with your DNS provider to point to this DreamHost IP.

    Once the DNS propagates, the 'Site Not Found' error message should no longer appear.

    Using Passenger WSGI enabled

    This problem, or one like it, occasionally manifests on domains that use Passenger WSGI. In this case, the error appears differently in that the server error page does not display.

    Symptoms may include:

    Other domains on the same account and server working correctly.

    Timeouts when trying to access the site.

    No Passenger processes showing up when running ps -A from the shell.

    In this instance, the solution is the same: edit the domain and click Change Settings. Then, wait for it to propagate.

    You can also try disabling and re-enabling Passenger on the same domain edit page as well, which changes the domain configuration settings without altering the domain DNS records.

    Using a suspended account

    For accounts that are suspended due to non-payment, DreamHost stops serving the DNS for the account. Your site(s) instead show the 'Site Not Found' page until your account is paid and re-activated.

    Log in to your control panel or check your emails from DreamHost to see if this may be the case.

    Contacting support

    If you cannot solve this problem using the above suggestions, you can contact support for further assistance.

    To contact support, open your panel at Contact Support. Or, see the following article for other contact methods:

    Contacting DreamHost

    See also

    Contacting support overview

    List of website troubleshooting articles

    SSH overview

    Unique IP overview

    How to clear your browser's cache

     

    View Article
  • All Systems Operational

    There are currently no reported issues with any DreamHost systems.

    If you are noticing any issues with your website, please contact technical support.

    Contacting support

    Further details

    For more information on current or past status posts, view the following links:

    Current Status

    Status History

    Viewing the status page

    For all current and future updates, please visit and bookmark the official DreamHost status page.

    dreamhoststatus.com

    View Article
  • Overview

    Django is a web development framework for Python in the same way Rails is a framework for Ruby. It is used by a number of major web sites, including Google (i.e., for the Google Application Engine), and can make developing rich web applications much easier.

    Django is not an application on its own. You will need proficiency in Python programming in order to write an application using Django.

    Enabling Passenger on your domain

    Using Passenger with Django allows for easier deployment, maintainability and performance. View the following article to activate Passenger on your domain:

    How do I enable Passenger on my domain?

    You could use FCGI with Django, but the configuration is much more involved and not as efficient.

    Creating a database

    Navigate to MySQL Databases and create a new blank database which will only be used for your Django app.

    Visit the phpMyAdmin article for details on your hostname, username, and password.

    Installing Django

    The recommend way to install Django is in a virtual environment. View the following articles for instructions:

    How to install Django using virtualenv

    How to create a Django 1 project using virtualenv

    How to create a Django 2 project using virtualenv

    See also

    Django Project

    Django Project documentation

    How to install Django using virtualenv

    How to create a Django 1 project using virtualenv

    Django troubleshooting

    FastCGI

    Python FastCGI

    Passenger

    Installing virtualenv and custom modules in Python

    Python overview

    View Article
  • Overview

    DreamHost offers command line interface versions of PHP that are useful for developing shell applications. There are quite a few differences between the CLI (Command Line Interface), SAPI (Server Application Programming Interface), and other SAPIs (such as PHP-CGI). It's worth mentioning that CLI and CGI are different SAPIs even though they share many of the same behaviors. To learn more about these differences, you can begin by reviewing the PHP Manual's chapter, Using PHP from the command line.

    SSH overview

    View the following article for instructions on how to access your Shell.

    SSH overview

    PHP locations

    The paths for the default DreamHost PHP-CLI installed binaries are as follows:

    PHP 5.6 /usr/local/php56/bin/php

    PHP 7.0  /usr/local/php70/bin/php

    PHP 7.1   /usr/local/php71/bin/php

    PHP 7.2   /usr/local/php72/bin/php

    PHP 7.3   /usr/local/php73/bin/php

    PHP 7.4   /usr/local/php74/bin/php

    For convenience, DreamHost maintains shortcuts for all PHP versions in the ‘/usr/local/bin/’ directory:

    lrwxrwxrwx 1 root root 16 Mar 16 07:22 php-5.6 -> ../php56/bin/php

    lrwxrwxrwx 1 root root 16 May 11 11:57 php-7.0 -> ../php70/bin/php

    lrwxrwxrwx  1 root root     16 Jul 26 19:28 php-7.1 -> ../php71/bin/php

    lrwxrwxrwx  1 root root     16 Jan 30 19:28 php-7.2 -> ../php72/bin/php

    lrwxrwxrwx  1 root root     16 Jan 30 19:28 php-7.3 -> ../php73/bin/php

    lrwxrwxrwx 1 root root 16 Dec 4 00:04 php-7.4 -> ../php74/bin/php

    ‘/usr/local/bin’ is included in the shell PATH for users by default, so you can use the shortcuts instead of the full path to the binaries.

    Checking the version via SSH

    You can confirm the exact version numbers in use by executing the binary from within the shell using the "-v" option. For example, you can check the version of the PHP7.1 CLI binary as follows:

    [server]$ php-7.2 -v

    PHP 7.2.24 (cli) (built: Nov 13 2019 04:08:16) ( NTS )

    Copyright (c) 1997-2018 The PHP Group

    Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

    with Zend OPcache v7.2.24, Copyright (c) 1999-2018, by Zend Technologies

    The default PHP CLI interface on DreamHost can be seen by running php -v

    [server]$ php -v

    See also

    PHP overview

    How do I change the PHP version my shell uses?

    How do I change the PHP version of my site?

    Viewing your site's PHP version and settings

    php.ini overview

    What versions of PHP are available at DreamHost?

    View Article
  • Overview

    Most operating systems are designed to cache DNS records which is generally a good practice as it allows for faster requests to a web site. However, if DNS has recently changed, it may be necessary to flush the cache on your computer in order to retrieve the new DNS records. What this does is remove the local cache from your system and allow you to grab the most recent cache that your ISP is using.

    Flushing the DNS records on your computer is very useful when trying to speed up DNS resolution for a newly added or modified domain on your account. View the following links for instructions on how to flush your DNS:

    Flushing your DNS cache in Windows

    Flushing your DNS cache in Mac OS X and Linux

    Further recommendations

    Make sure that you have closed any browser windows that are open, as they'll continue to read from the previous cache that was loaded into memory. Then, restart the browser and attempt to view your site. Allow a reasonable amount of time (generally a couple of hours), and then you should be able to see your site online. If not, it's very likely that your ISP has not updated its DNS cache; it's not possible to get around this without making some hosts file modifications.

    Alternatively, you can use a third-party DNS server such as OpenDNS which allows you to manually ask it from their website to update the cache of any domain. In order for this to work, you must manually change your computer's configuration to use a third-party DNS server; bear in mind that it may not be possible or recommended to use a third-party DNS server in some business environments.

    DreamHost support is unable to assist in DNS propagation issues as it is generally the customer's responsibility.

    DNS changes may take up to 72 hours to complete If you notice your site not working after that time, contact support on the Contact Support page.

    See also

    Flushing your DNS cache in Windows

    Flushing your DNS cache in Mac OS X and Linux

    How to clear your browser's cache

    View Article
  • Windows 8 & 10

    Click the Windows logo while holding the R key at the same time.

    The run box appears.

    In the run box, type cmd and then hit the 'Enter' key.

    In the command prompt that pops up, enter:

    C:\Users\username> ipconfig /flushdns

    The command runs and returns to the prompt.

    Type exit, and then press the ‘Enter’ key to close the window.

    How to clear your browser's cache

    When exiting the Windows command prompt, you may see a pop-up box claiming that Windows "...cannot end the program as it may still be running..." it's completely safe (and required) to click the End Now button to exit.

    Windows 7

    Click the Start button, and then type 'cmd' in the search bar (where it says 'search for programs and files').

    In the command prompt that pops up, enter:

    C:\Users\username> ipconfig /flushdns

    Press the 'Enter' key, and then repeat the process two more times.

    Type exit, and then press the 'Enter' key to close the window.

    See also

    Flush DNS overview

    Flushing your DNS cache in Mac OS X and Linux

    View Article
  • Adding a contact

    To add a new contact:

    .vcf

    Click 'Contacts' in the left pane.

    Click the Create button at the top.

    Fill in all fields for your new contact.

    When finished, click the Save button at the bottom.

    Adding a contact image

    To add an image to the contact, simply click the silhouette icon:

    Search your computer for an image, and then save it.

    Deleting a contact

    Click 'Contacts' in the left pane.

    Click the contact name to highlight it.

    Click the trashcan icon to delete it.

    Confirm the deletion in the popup box.

    Importing contacts

    Click 'Contacts' in the left pane

    Click the Import button in the top menu.

    Click the Browser button and choose your vCard or CSV file to import.

    Click Import

    The file must be in or CSV format.

    Exporting contacts

    Exporting all contacts

    Click 'Contacts' in the left pane.

    Click the Export button in the top menu.

    The contacts are downloaded immediately as a .vcf file.

    Exporting specific contacts

    Click 'Contacts' in the left pane

    Select which contacts in the list you wish to export.

    Click the down arrow icon next to the Export button in the top menu.

    The contacts are downloaded immediately as a .vcf file.

    Adding a group

    You can also create a group to house multiple contacts within. This makes it easy to send an email to a specific group of addresses at once.

    Click 'Contacts' in the left pane.

    Click the folder icon or 3 dots icon next to 'Groups'.

    From the dropdown, choose 'Add new group'.

    In the pop-up, add a name for the group.

    Click Save.

    The new group displays in the list.

    Adding an existing contact to a group

    Click 'Contacts' in the left panel.

    Click the contact you wish to add to the group.

    Toggle the group name.

    Click Edit to save.

    You can also drag and drop contacts into the Groups folder.

    Sending an email to a group

    Now that the group has been created, you can send an email to all contacts within it.

    Click 'Compose' in the left pane.

    To the right of the To field, click the Add contact button.

    Click 'Add Personal Addresses'.

    In the pop-up, click the group name.

    Click the Insert button.

    View Article
  • Registration overview

    The basics

    Free registrations

    Multiple domain registration

    Renewals

    Transfers

    Purchasing

    Hosting

    See also

    Overview

    A domain registration is the name of your site, which must first be purchased in order for the domain to display online. There are a variety of different names and Top Level Domains (TLDs) that you can choose from in order to register. This article provides general information in regards to domain registrations with DreamHost.

    The basics

    Generally speaking, there are two major steps to get your site online:

    Purchase the domain registration (the name of your site).

    Purchase a hosting plan and add your site to it.

    What types of hosting plans are available?

    How do I add a domain?

    A domain registration (or TLD - Top Level Domain) is the first half of a two-step process for getting a site on the Internet. Purchasing a domain registration provides contact information for the registrant (the owner of the domain name), and assigns the nameservers which control the domains DNS settings.

    The registration information for any domain name can be looked up with a WHOIS search. You can take a look at the following article for more details on the WHOIS information and how you can retrieve it for your domain name:

    WHOIS overview

    What if my domain registration expires?

    The common .COM/.NET/.ORG/ and .INFO (as well as other TLDs) offer privacy for the contact information you provide when you register. However other TLDs may not offer any privacy protection. View the following article for a list of registrations that do NOT support privacy at DreamHost:

    Domain registration privacy

    Free registrations

    You can use your free registration credit for the following TLDs:

    .club

    .com

    .info

    .net

    .online

    .org

    .shop

    .tech

    .wedding

    .xyz

    In order to qualify for one free domain registration credit for the first full year, you must sign up for a 1-year or 3-year annual plan on a Starter Shared, Unlimited Shared/Happy Hosting, or any annual DreamPress plan (monthly Shared or monthly DreamPress plans do not apply). This free credit is NOT available under any other hosting plan. Please visit the following pages to view more details:

    Domain Registration Terms

    Sign up for Shared Hosting

    You can read more about the free registration offered with Shared hosting and DreamPress plans in the following article:

    Free Registration overview

    Multiple domain registration

    DreamHost allows you to register multiple domain names such as example.net, example.store, and example.club in a single sign up process through the panel.

    You can read more about how to register multiple domains in the following article:

    Can I purchase multiple domains at the same time?

    Renewals

    Visit the Renewals article for details on how to renew your domain registration at DreamHost.

    The latest pricing can be found in the "List of Current TLDs and Pricing" table on the following page, which dynamically generates the most up-to-date pricing info for new domain registrations and domain renewals:

    https://www.dreamhost.com/tlds/

    Transfers

    Effective December 1, 2016, ICANN is revising its Transfer Policy. Any change made to the registrant's name, organization, or email address will put the domain in a 60-day transfer lock; it will also trigger notification emails that are sent to the old and new registrant notifying them of the change.

    Please visit the following article for further details:

    ICANN Transfer Policy

    For an overview on how to transfer your registration to DreamHost, or away from DreamHost, please review the following articles.

    Transfer your domain registration to DreamHost

    Transfer your domain registration away from DreamHost

    Purchasing your domain registration

    View the following article for information on how to purchase a domain registration.

    How to purchase a domain registration

    Hosting your domain registration

    If your domain registration was purchased at DreamHost, you can host it by adding a hosting plan and adding your site to it.

    What types of hosting plans are available?

    How do I add a domain?

    If instead you had previously purchased the registration at another company, you must update your DNS settings at that company. View the following article for more information.

    How to host your domain at DreamHost if it is registered at another company

    See also

    Domain registration FAQs

    How to purchase a domain registration

    Can I purchase multiple domains at the same time?

    WHOIS overview

    What are the domain registration terms and conditions?

    How do I transfer my domain registration away from DreamHost?

    How do I transfer my domain registration to DreamHost?

    How do I redeem my domain registration?

    How do I renew my domain registration?

    How do I use a free domain registration?

    View Article
  • Overview

    DreamHost provides Shared (Starter Shared and Unlimited Shared/Happy Hosting) and DreamPress customers on annual plans with one free domain registration credit for the first year, which can be used toward a .club, .com, .info, .net, .online, .org, .shop, .tech, .wedding, or .xyz domain.

    How do I renew my domain registration?

    In order to qualify for one free domain registration credit for the first full year, you must sign up for a 1-year or 3-year annual plan on a Starter Shared, Unlimited Shared/Happy Hosting, or any annual DreamPress plan (monthly Shared or monthly DreamPress plans do not apply). This free credit is NOT available under any other hosting plan.

    You must also use the free registration within the first month of your annual Shared/DreamPress plan. If you do not use the free registration within the first month, then it's no longer available to use.

    Visit the following pages to view more details:

    DreamHost Domain Registration Terms

    Sign up for Shared Hosting

    The price of a transfer may be different than the price of a renewal. Visit the following pages for updated pricing information:

    DreamHost Domain Registration Terms

    DreamHost Domains and Prices

    What is the free registration program?

    When you sign up for an annual Starter Shared or Unlimited Shared/Happy Hosting hosting plan or any annual DreamPress plan:

    You receive one (1) registration credit for free.

    You can use this registration credit to register a new domain name, transfer to DreamHost a domain name, or renew an existing domain name (.club, .com, .info, .net, .online, .org, .shop, .tech, .wedding, or .xyz).

    If you use (or transfer) the free domain registration and then close your 'Starter Shared'/'Unlimited Shared' hosting or DreamPress plan before your annual period has completed, you are responsible for the cost of the registration for which the credit was used. Usually this amount is deducted from your refund, unless there is a balance due on the account before you cancel. You also continue to own the domain name until it expires.

    FAQs

    How can I check if I have a free credit on my account?

    You can check this in your panel, on the “Registrations” page by navigating to Registrations.

    If you have a free credit available, the price for the renewal of the selected domains mentioned above is listed as “$0.00”.

    For an example, please refer to the following screenshot:

    If this page shows a fee listed for your .club, .com, .info, .net, .online, .org, .shop, .tech, .wedding, or .xyz domain renewal, this means that your free credit has already been used for the year.

    If no registrations are listed on this page, you can register a new domain using the ‘Register a new domain’ box toward the top of the page:

    If you do not have any domains registered, a price is shown for the domain when registering it. This price only appears on the first page. Be sure that you:

    select '1 year' as the time period, and

    already purchased an annual hosting plan.

    You will then see that the cost is free on the 'Order Review' and 'Checkout' pages.

    Who owns the free registration? DreamHost or me?

    You are the full owner of the domain registration that you use the credit towards.

    Can I use the credit for other services?

    No. This credit cannot be used toward any other services or items.

    If the registration is transferred away to another company, can I renew it at that other company for free?

    No. The free domain credit only applies to domains that are managed through your DreamHost panel.

    On what type of registrations can I use the free registration credit?

    While DreamHost does offer many different domain extensions, the free credit is only available for use on the following standard domains:

    .club

    .com

    .info

    .net

    .online

    .org

    .shop

    .tech

    .wedding

    .xyz

    The credit cannot be used for specialty domains or international country-specific domains.

    I used my free credit toward one registration, but intended to use it for another registration. Can this be changed?

    Yes. DreamHost support can assist you with applying the free credit toward a different domain, if requested. An example would be if you renewed two domains at the same time, but wanted the credit to be used on one domain instead of the other. However, this would really only change which domain shows as renewed for free in your invoice it won’t change your payment amount, or the date that your credit was used.

    DreamHost understands that some customers are resellers and have a reason to use the credit for a specific domain listed on their invoices. Please feel free to contact support on the Contact Support page if you need assistance with this.

    Do I have to pay for my free domain registration when closing my account?

    If you are attempting to close your account during the first year, the panel may ask you to pay for your free registration credit. If so, please contact support for further assistance.

    See also

    Domain registration overview

    Domain registration FAQs

    View Article
  • Overview

    If your domain is not using DreamHost's nameservers, the mail-related DNS records will not be automatically active for the domain. You'll need to manually set up those records at the host where your domain's DNS is managed. You can verify where your nameservers are pointed at http://whoisweb.dreamhost.com.

    All the mail-related DNS records are automatically created in the DreamHost panel when a domain has email addresses set up on the Manage Email page.

    You can find your Mail DNS records on the Manage Domains page.

    How can I view my DreamHost email if my MX records are not pointed to DreamHost?

    If you're looking for information on how to set up your email in a client, view the following articles:

    Email client configuration overview

    Email client protocols and port numbers

    Locating your email DNS records

    Click the ‘DNS’ link under the domain to view your records.

    Please note that the records below are only examples. Your specific DNS records will be different.

    The examples below ONLY show email DNS records. Your website will have additional records, which you can read more about in the following article:

    DreamHost DNS overview

    There are two types of mail-related DNS records.

    MX records

    tells senders where emails for you should be delivered to.

    For example, if Spam filtering was NOT enabled, they would look like this:

    mx1.dreamhost.com

    mx2.dreamhost.com

    If Spam Filtering has been enabled your MX records would be the following:

    vade-in1.mail.dreamhost.com

    vade-in2.mail.dreamhost.com

    A records

    used by your mail program when you connect to the mail server to view your inbox or send out emails. There are several mail A records for your domain.

    Find the following records:

    DNS record

    Example value

    _domainkey

    DKIM records sign emails to help verify the sender.

    _autodiscover._tcp (SRV)

    5 0 443 autoconfig.dreamhost.com This is an SRV record that assists email applications automatically configure the correct settings.

    autoconfig (CNAME)

    autoconfig.dreamhost.com This is a CNAME record that assists email applications automatically configure the correct settings.

    *mail. (A)

    64.90.62.162 This is a standard subdomain that can be used to connect your client or program to the mail server.

    *mail. (MX)

    This domain has  enabled Spam filtering, so the MX records appear as:

    vade-in1.mail.dreamhost.com

    vade-in2.mail.dreamhost.com.

    If Spam filtering was not enabled, you'd see mx1.dreamhost.com and mx2.dreamhost.com.

    *mailboxes. (A)

    66.33.205.233  This is used to log into the DreamHost Mailboxes interface.

    *www.mailboxes. (A)

    66.33.205.233  This is used to log into the DreamHost Mailboxes interface.

    *webmail. (A)

    69.163.136.138 This is used to log into the DreamHost webmail panel.

    *www.webmail. (A)

    69.163.136.138 This is used to log into the DreamHost webmail panel.

    Enter all those records in to the system where the domain's DNS is hosted and managed.

    After you make the DNS adjustment, it will then take several hours for the changes to update online due to DNS propagation.

    See also

    What is an MX record?

    How do I change my MX records?

    View Article
  • Overview

    DreamHost offers several versions of PHP for you to use:

    What versions of PHP are available at DreamHost?

    Each version of PHP has several default settings you can view by creating a phpinfo.php file:

    Viewing your PHP version and settings

    You can then adjust these settings by creating a custom phprc file for your site:

    How do I create a phprc file via FTP?

    How do I create a phprc file via SSH?

    Default settings for all versions

    View the following links to view default PHP settings.

    PHP 7.2

    PHP 7.3

    PHP 7.4

    See also

    What versions of PHP are available at DreamHost?

    What version of PHP is my site using?

    How do I change the PHP version of my site?

    How do I change the PHP version my shell uses?

    How to install a custom version of PHP

    View Article
  • Flushing your cache on Mac OS X

    The commands to flush cache in OS X are slightly different depending on the version you're running. First, make sure you've opened up your terminal on your computer.

    SSH client software

    Once opened, run the command below that corresponds to your version of OS X.

    OS X 12 (Sierra) and later

    macbook$ sudo killall -HUP mDNSResponder;sudo killall mDNSResponderHelper;sudo dscacheutil -flushcache

    OS X 11 (El Capitan) and OS X 12 (Sierra)

    macbook$ sudo killall -HUP mDNSResponder

    Older versions

    OS X 10.10 (Yosemite)

    Versions 10.10.4+

    macbook$ sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder

    Versions 10.10.1, 10.10.2, 10.10.3

    macbook$ sudo discoveryutil udnsflushcaches

    OS X 10.9 (Mavericks)

    macbook$ dscacheutil -flushcache; sudo killall -HUP mDNSResponder

    OS X 10.7 (Lion) and 10.8 (Mountain Lion)

    macbook$ sudo killall -HUP mDNSResponder

    OS X 10.5 (Leopard) and 10.6 (Snow Leopard)

    macbook$ dscacheutil -flushcache

    OS X 10.4 (Tiger)

    macbook$ lookupd -flushcache

    Flushing your DNS cache in Linux

    Most current Linux distributions do not use a DNS resolver cache in the same way that Windows and Mac OS X use. To confirm which particular daemon is installed for your Linux distribution, check the website or its forum pages.

    However, a common DNS caching application sometimes used is the Name Service Caching Daemon (nscd). It’s most likely not installed by default so there is no need to flush the cache. But, if you’ve already installed it you can flush the cache by running the following command in a terminal:

    [local]$ sudo service nscd restart

    Alternatively, you can try these commands:

    [local]$ /etc/rc.d/init.d/nscd stop

    [local]$ /etc/rc.d/init.d/nscd start

    See also

    Flush DNS overview

    Flushing your DNS cache in Windows

    How to clear your browser's cache

    Find your macOS version

    View Article
  • Clear browser cache

    Forcing a page reload

    Bypass your cache

    Windows browsers

    Firefox

    Chrome

    Internet Explorer

    Apple browsers

    Safari

    Firefox

    Chrome

    Clear DNS cache

    Overview

    If you have made changes to your website but they are not appearing when you load the page, you may need to either force the page to reload from the server or clear your cache.

    This article walks you through how to clear your browser's cache.

    Forcing a page reload

    Before clearing your cache, you can first try forcing a page reload. To force a reload from the server, press:

    Windows

    CTRL + F5

    Mac

    CMD + R

    Flushing your DNS cache in Windows (Command key) On some Apple keyboards, this key also has an Apple () logo (Source: OS X keyboard shortcuts ).

    Linux

    F5

    Bypass your cache

    Sometimes, just refreshing your page does not show your new site content. In that case, you should bypass the cache. When you bypass your cache, you force your browser to re-download a web page's complete, up-to-date content. This should be enough for you to see the new changes.

    View the following Wikipedia page for instructions on how to do this on different operating systems and browsers:

    Bypass your cache

    Clearing your browser's cache

    Sometimes forcing a reload isn't enough, so you may need to clear your browser's supply of stored files. Select the browser you use and follow these instructions to clear the cache.

    Windows browsers

    Using Firefox (v68)

    Click the icon on the top right.

    In the dropdown, select 'Options'.

    On the 'Options' page, there are several menu items on the left. Click the 'Privacy & Security' menu item.

    In the center pane are several options. Under 'History' click the link titled 'Clear History...'.

    A pop-up box displays. At the top, choose the time frame you'd like to clear.

    Select the checkbox options for Cookies, Cache, and anything else you'd like to remove.

    Click the Clear Now button.

    Close and relaunch your browser.

    Click the following link to view further instructions from Mozilla:

    Clear Firefox Cache

    Using Chrome (v75)

    Shortcut: CTRL + SHIFT + DEL

    Click the icon on the top right.

    In the dropdown, select More Tools.

    Select Clear Browsing Data.

    In the pop-up box that appears, choose the time frame you'd like to clear.

    Select the checkbox options for Cookies, Cache, and anything else you'd like to remove.

    Click the Clear data button to finish.

    Close and relaunch your browser.

    Click the following link to view further information:

    Clear cache in Chrome

    Empty Cache Hard Reload (Chrome only)

    Chrome also allows you to perform a hard reload. This can be used if you find clearing your cache isn't working as intended.

    Open up dev tools. The shortcut in Windows is CTRL + SHIFT + i.

    Right click the refresh icon.

    In the dropdown click 'Empty Cache and Hard Reload'.

    Using Internet Explorer (v11)

    From the 'Menu bar', click the 'Tools' tab and select 'Internet Options'.

    Click the 'General' tab.

    On the 'General' tab, click the Delete... button under the 'Browsing history' section.

    In the pop-up, Un-check the box titled 'Preserve Favorites website data'.

    Check the boxes titled 'Temporary Internet files and website files', 'Cookies and website data', 'History' and 'Download History'.

    Click the Delete button.

    Close and relaunch your browser.

    Click the following link to view instructions on how to delete cache in IE9:

    Clear Cache in IE9

    Macintosh browsers

    Using Safari (v12)

    Click the Safari menu item on the top left of your screen.

    In the dropdown box choose Preferences. You could also click Cmd +,.

    In the pop-up window click the Privacy tab.

    Click the Manage Website Data... button.

    Click the Remove All button.

    On the pop-up box click the Remove Now button.

    Close and relaunch your browser.

    Autocomplete error in Safari

    While using the Safari browser, you may occasionally encounter the following error:

    var autocomplete_data = []

    This error is most often related to the Safari Browser’s cache. Clearing that cache as mentioned above will resolve the error in most cases. If the error persists after clearing the cache, try accessing the DreamHost panel via another browser, such as Firefox or Chrome.

    Using Firefox (v68)

    Click the History menu item.

    In the dropdown menu select Clear Recent History....

    A pop-up box displays. In the dropdown box titled 'Time range to clear.' select 'Everything'.

    In the 'Details' section below, check 'Cookies' and 'Cache'.

    Click the Clear Now button to save.

    Close and relaunch your browser.

    Using Chrome (v76)

    Click the Chrome menu item.

    In the dropdown menu, select 'Clear Browsing Data...'.

    In the pop-up box, check the options 'Cookies and other site data' and 'Cached images and files'.

    Click the Clear Data button.

    Close and relaunch your browser.

    Clearing DNS cache

    For detailed instructions on how to flush the DNS cache on your computer, please review the following article:

    Flush DNS

    See also

    Flush DNS overview

    Flushing your DNS cache in Mac OS X and Linux

    View Article
  • Overview

    You can add custom DNS records for a fully hosted domain as well as a domain set to DNS only. It all depends on what records you are creating and why you need them.

    Generally speaking, if you want your site hosted on DreamHost's servers, keep your site as Fully Hosted. However, if you want your site to point away from DreamHost by creating A or CNAME records, the first step is to remove the hosting service already applied to your domain at DreamHost.

    The following steps explain how to set a domain to DNS only (if necessary) and create the following types of custom DNS records.

    A record

    CNAME record

    Nameservers

    SRV record

    TXT record

    Unique IPv4 or IPv6 records

    Setting your domain to DNS only

    View the following article for instructions on how to set your domain to 'DNS Only'.

    Setting your domain to 'DNS Only'

    This is necessary if your site is currently hosted at DreamHost and you want to point your DNS to another hosting company using A or CNAME records.

    A record

    A records are IP addresses. They can be added to point your website to a different hosting company, or different subdomains of your site to external services.

    Pointing a subdomain to a specific IP address

    The following example shows how to point a subdomain of example.com to a specific IP address. For example, if your site is example.com and it's using DreamHost's nameservers, you could create a site called blog.example.com, or store.example.com. You can then set this subdomain to point to an outside hosting company. This is useful if you want a subdomain to point to an external host.

    Transferring website hosting to another company

    The example below shows how to create a subdomain called subdomain.example.com and point that to an IP. Make sure to change the IP address to the IP the external hosting service gives you.

    Click the DNS link located under your domain on the Manage Domains page.

    Enter the following in three fields to create the A record:

    Name: For the main domain, leave the ‘Name’ field blank. For ‘www’ or other subdomains, you can enter the subdomain name in this field.

    This field is often any of the following: www, blog, dev, store, and so on.

    Do not add the @ symbol into this field. This is added automatically.

    Type: The record ‘Type’ defaults to ‘A’.

    Value: Enter the IP address in the ‘Value’ field.

    This is the IP address you want this domain/subdomain to point to.

    Click the Add Record Now! button.

    The propagation for the new A record begins, and can take up to 6 hours before the new records update online.

    CNAME record

    Along with custom A records, you can point your hosting away from DreamHost with a CNAME record. This record is created to point one domain to another as opposed to pointing one domain to an IP address like the custom A record.

    Please keep in mind that the root A record (for example, example.com) cannot be a CNAME record and must always be an A record.

    Click the DNS link under the domain name on the Manage Domains page.

    Enter the following:

    Name: This field can be anything. But very often it’s just www. Adding www points the www subdomain away from DreamHost.

    In the example above, the CNAME record is named 'calendar' and is pointing to 'ghs.google.com'.

    Type: In the drop-down menu select ‘CNAME’.

    Value: Enter the location you’d like this record to point to.

    CNAME records cannot start with an underscore.

    Click the Add Record Now! button to save.

    After clicking the Add Record Now! button, the propagation for the new record begins. This can take up to 6 hours before the new records update online.

    It's possible you may see the following error when adding a CNAME:

    You already have a record for this name. You can't have a CNAME and any other record on the same name.

    This usually means that you're trying to add a CNAME for 'www', but since that record already exists in your DNS settings, you're not able to add a second one. If you need to add a CNAME for the www subdomain, you must set your domain to DNS Only first.

    Setting your domain to DNS Only

    If you're attempting to add a CNAME for something else, review your DNS records to see if the record you're adding already exists.

    Nameservers

    For details on how to set up custom/vanity nameservers, please visit the following article.

    Nameservers

    SRV record

    SRV (service) records are another set of records that can be applied to your domain. Certain programs and applications may require the set up of these types of records to make those services active.

    Your standard SRV record is in this type of format:

    _service._protocol.name. TTL class SRV priority weight port target.

    When entering an SRV record in your panel, ignore the TTL, class, and SRV fields. A full example is below.

    The following two Microsoft SRV records are some of the more common SRV records that are configured for a domain. The example can be seen here:

    Microsoft's two SRV records

    Type

    Name

    Target

    Protocol

    Service

    Priority

    Weight

    Port

    TTL

    SRV

    @

    sipdir.online.lync.com

    _tls

    _sip

    100

    1

    443

    1 hour

    SRV

    @

    sipfed.online.lync.com

    _tcp

    _sipfederationtls

    100

    1

    5061

    1 hour

    Below is an example of how to set up one of the records above.

    In your panel, go to Manage Domains.

    Click the 'DNS' link under your domain name:

    Name: _sipfederationtls._tcp

    This is the 'Service' followed by the 'Protocol'.

    In the screenshot above, only one of the SRV record is being created. Repeat these steps for the second record.

    Type: Select SRV from the dropdown menu.

    Value: You need to enter the values in the order (priority) (weight) (port) (target)

    Using the example for MS mail hosting above, the first record’s value is:

    100 1 5061 sipfed.online.lync.com.

    The following values are used in the above example:

    priority = 100

    weight = 1

    port = 5061

    target = sipfed.online.lync.com

    Click the Add Record Now! button.

    After clicking the Add Record Now! button, the propagation for the new A record begins and can take up to 6 hours before the new records update online.

    The two records look like this once created:

    _sipfederationtls._tcp SRV 100 1 5061 sipfed.online.lync.com.

    _sip._tls SRV 100 1 443 sipdir.online.lync.com.

    A trailing period is applied to the end of the record once it is created. This will not cause any issues.

    TXT record

    View TXT record at Wikipedia.

    Navigate to the Manage Domains page.

    Click the 'DNS' link under the domain name.

    Enter the following:

    Name: This field can be anything. Very often it’s left blank.

    Type: In the drop-down menu select ‘TXT’.

    Value: Enter the location you’d like this record to point to.

    The example above is a typical Google site verification TXT record.

    Click the Add Record Now! button to save.

    After clicking the Add Record Now! button, the propagation for the new record begins. This can take up to 6 hours before the new records update online.

    Unique IPv4 or IPv6 addresses

    You can also add a unique IPv4 or IPv6 record to your domain. View the following articles for further details.

    Unique IP overview

    How do I add or remove a Unique IP

    IPv6

    Additional details

    As with all changes to DNS, these records need time to update online. You may find that it may take a few hours for things to start functioning. You can Flush the DNS to see if this speeds up the propagation process, but there are no guarantees this will help. You can read instructions on flushing the DNS here:

    Flush DNS

    DNS changes can take up to 6 hours to resolve. If your nameservers are pointing to DreamHost and the services set up for the record created are not active within this time, you may contact support for assistance at Contact Support.

    DreamHost support is able to point you to where you can create custom records as well as check to see if the record is properly applied to your domain. However, support cannot assist with setting up these custom records or whether the record created is correct or not.

    See also

    Basic DNS records

    DreamHost DNS overview

    DNS propagation overview

    What DreamHost DNS records do I point my site to?

    Editing or deleting custom DNS records

    View Article
  • Overview

    There are various reasons why your website may be down. The following describes some common issues that may occur and steps to help you quickly resolve them.

    Is DreamHost down?

    Check DreamHost's status page

    Payment issue or abuse related

    Suspended account due to non-payment

    Disabled site

    Temporary blocks

    Server-related

    Confirm if your site is down everywhere

    Is my server up?

    Are my files in the correct spot?

    Domain registration issues

    DNS propagation

    Expired registration

    Advanced

    Were your processes killed on the shared server?

    Common error messages

    Checking your access and error logs

    Error establishing a database connection

    Check DreamHost's status page

    Check DreamHost's status page to view any issues DreamHost is currently aware of and working to resolve.

    dreamhoststatus.com

    Suspended account due to non-payment

    To check your account, log in to your panel. If your account is currently suspended due to non-payment, a large red "SUSPENDED" notice appears at the top of the screen. To fix, click the Make Payment button to pay which re-enables your account.

    An automated email is sent to you once the payment has been made, and then the system automatically re-enables your account. The DNS for your site must then propagate again online which may take several hours. After that, your site resolves again.

    anonymouse.org proxy site

    There is a high risk of data loss when an account is suspended. DreamHost keeps a 2-week backup of website files and 5-days worth of database records. However, DreamHost cannot guarantee that these backups are available to you. To avoid data loss, make sure to continually backup your data:

    Backup

    Disabled site

    In rare cases, DreamHost may disable your site. Log in via SSH or FTP and look at the directory name of your site. If you see the site directory has been renamed to indicate that the site has been disabled, please contact DreamHost support. In such a situation, an email is sent to you indicating what steps to take.

    Temporary blocks

    Repeat login attempts in a short period of time can be seen as an attempt to hack the user. In an effort to prevent security issues, our system may block you to prevent potential malicious activity. If you believe this to be the case, please contact support.

    Confirm if your site is down everywhere

    The first step to take is to confirm if the site is actually down in all locations, and not just your local computer. There are a couple of ways to do this.

    Is it down for everyone, or just me?

    downforeveryoneorjustme.com  checks if your site is online from a number of locations. It then lets you know if the site is down everywhere, or if only your computer is unable to view it.

    If only your computer is unable to view it and you've recently updated your DNS, check this site to see if the new DNS has updated in your location:

    Global DNS Propagation Checker

    If the DNS has updated, try forcing your browser to reload the page. This clears the cache out of the browser so you see the most recent version of the page.

    Forcing a page to reload

    Proxy sites

    Proxy sites allow you to bypass network issues and view the site from a different location. View the following article for a list of proxy sites you can use:

    Proxy sites

    If the proxy sites load your website, it confirms the site is resolving online. If you still cannot view it, try clearing your cache and flushing DNS:

    Clear cache

    Flush DNS

    Is my server up?

    If your registration is current, and your account has not been suspended, but you can’t reach your domain even with proxy sites, check to make sure that your server is up. You can do this by running a traceroute to your server, and by pinging your domain. Instructions for performing these steps are found here:

    Traceroute

    Collecting ping results

    If you cannot ping the server, or complete a traceroute, please contact support. If your traceroute shows multiple hops timing out, please contact your ISP for support.

    Are my files in the correct spot?

    Make sure that the files for your site are in the correct directory. If they are in the incorrect directory or assigned to the wrong user, it prevents the site from loading.

    Log in via FTP or SSH, and make sure that your site files are in the correct directory. View the following article for further details:

    Where do I upload my files once connected via FTP?

    DNS propagation

    If you have made any type of DNS change recently, your DNS may need more time to propagate online. This includes the following changes:

    Changing nameservers

    Adding hosting

    Changing hosting (e.g., changing from a redirect to fully hosted)

    Adding a custom DNS

    Most changes update online in 6 hours, although nameservers can take up to 72 hours. You can track where your new DNS values have updated around the world on the following site:

    whatsmydns.net

    Expired registration

    If a domain has expired, you still have 30 days to renew it. View the Renewals article for details on how to renew a domain name.

    If it’s been expired for over 30 days, the domain is in its Redemption period. View the Redemption article for details on how to resolve this.

    If your domain registration is not registered at DreamHost, you must check who the registrar is through an online WHOIS lookup. ICANN’s WHOIS search can be found here:

    ICANN WHOIS lookup

    If your status is anything other than ok, you must correct it with your domain registrar.

    Common website error messages

    There are many reasons why your site cannot load. The first thing you will need to do is identify the symptoms that you are seeing, typically by noting any error messages that appear when trying to reach your server.

    The following article describes and helps you fix many common errors that cause a site not to load:

    Troubleshooting a single site's connection

    Were your processes killed on the shared server?

    If your site (on a Shared server) is using too many resources, your processes are automatically killed which can cause your site to go down. For more information on why this happens, please view the following article:

    Why were my processes killed on my Shared server?

    Checking your access and error logs

    Check your site's access and error log files. These could contain information as to what is causing your site not to load. You can view these logs using an FTP client or using SSH.

    Viewing and examining your error log via SSH

    Viewing and examining your access log via SSH

    Viewing your access and error log via SFTP

    Error establishing a database connection

    View the following article for information on how to resolve this error message:

    Error establishing a database connection

    See also

    Internal links

    List of website troubleshooting articles

    Site not found

    Troubleshooting a single site's connection

    Viewing and examining your access log via SSH

    Viewing your access and error log via SFTP

    Common reasons for poor website performance

    External links

    downforeveryoneorjustme.com

    WHOIS lookup

    ICANN WHOIS lookup

    View Article
  • Overview

    DreamHost offers the ability to create many different types of users, each of which are necessary for different tasks within the panel as well as interacting with your site.

    Each user has its own unique password that is independent of other users. This article details how to change the passwords for each type of user in your DreamHost account.

    Types of users

    There are several types of users you may use when managing your DreamHost website and data. Below is a list of those users along with instructions on how to update their type of password:

    Website users

    Mail users

    MySQL users

    Panel users

    Stats users

    Dedicated server admin users

    Application users

    DreamCompute dashboard users

    Remixer users

    G Suite users

    WordPress users

    Password guidelines

    There are a few things you should always consider when creating a password. These will help to protect your user from being compromised as well as protect other users in the case of an intrusion:

    Never use your username as your password, or even a portion of it.

    Never use personal information such as your name, phone number, address, anniversary, birthday, pet's name, DOB, license plate, etc.

    The longer the password, the better. It's recommended it should be at least 8 characters.

    Never use the same password twice. Always change to something new.

    Combine letters, numbers and special characters to make your password harder to guess.

    Mix upper and lower case letters to increase security.

    Do not use common words that can be guessed such as ‘guest’ or ‘password’ or any variations of those words.

    Enable Multifactor Authentication when possible.

    You can also use an online website to help create a password. An example would be passwordgenerator.

    Last Pass

    Most important, do not share your password with anyone. If someone requires access to your account, try alternate options such as creating a new user for them or giving them panel access through Account Privileges.

    Limitations

    The max password length is 31 characters.

    You can add special characters. The only characters that are not allowed are single and double quotes.

    Troubleshooting

    It's possible that after resetting a password within your panel, you find it's not working, or the old password still functions. This is commonly due to two issues:

    Not enough time has passed since changing the password. Allow up to 30 minutes for your password to update online.

    Your old password is cached. You may need to clear your web browser’s cache if you find the old password for your user is still being cached upon logging in. If the new password does not work after 30 minutes of changing it, try clearing your web browser cache and then try again:

    Clear cache

    Flush DNS

    See also

    Internal links

    Change password (Website users)

    Change password (Mail users)

    Change password (MySQL users)

    Change password (Panel users)

    Change password (Stats users)

    Change password (Dedicated server admin users)

    Change password (One-Click Install users)

    Change password (G Suite users)

    Change password (WordPress users)

    External links

    Password Generator

    View Article
  • DNS overview

    Overview

    Where are my DNS records controlled?

    Where is my site hosted?

    Where do I point my DNS if my site is not hosted at DreamHost?

    Viewing your DreamHost DNS records

    Using a domain managed by a third-party registrar

    Customizing DNS records

    Non-editable DNS records

    MX records (mail records)

    See also

    Overview

    DNS, or Domain Name System, is a directory of names and numbers that are looked up and used to identify where a website and its services are hosted. For example, your website has a specific name, but DNS translates this into a number. When you visit your site in a browser, DNS uses this number value to point to the correct server where you website is hosted.

    Your site has a variety of DNS records for the multiple services it uses. For example:

    website IP addresses

    mail records

    mysql records

    ftp records

    Where are my DNS records controlled?

    All of your site's DNS records are controlled at the company where your site's Nameservers are pointed. This is a combination of two things.

    The company you registered your domain at (the Registrar)

    The company your Nameservers are pointing to (the hosting company)

    The Registrar

    The domain registration is the name of your site. The company you purchased this from is the Registrar. If you want to change your Nameservers, or any other of your site's DNS records, you must log into your account at this company to make changes.

    The hosting company

    The Registrar of your website controls your site's Nameservers. The company where the Nameservers are pointed to controls ALL of your site's DNS records.

    In this way, you can have the domain registered at one company, but host its DNS at another company.

    Where is my site hosted?

    View the following article for information on how to determine where your site is currently hosted.

    Where is my site hosted?

    Where do I point my site if my DNS is not hosted at DreamHost?

    View the following article for information on how to determine where your site is currently hosted.

    What DreamHost DNS records do I point my site to?

    Viewing your DreamHost DNS records

    View the following article for information on how to view your DreamHost DNS settings.

    Viewing your DreamHost DNS records

    These are the records for your site if your Nameservers are pointed to DreamHost.

    If your Nameservers are not pointed to DreamHost, these are the individual records you can point to from the company where your Nameservers are pointed.

    Using a domain managed by a third-party registrar

    You can still host your domain at DreamHost if it's registered at a different company. However, you will need to point your DNS to DreamHost in order for it to function. View the following article for information on how to adjust your DNS to point to DreamHost after setting up your domain in the panel.

    How to host your domain at DreamHost if it is registered at another company

    Customizing DNS records

    You can have your domain’s Nameservers pointing to DreamHost, but point your domain’s A records to another web host so that the site is being hosted elsewhere. You can also create custom DNS entries on the ‘DNS’ page for your domain. View the following article for more information on creating Custom DNS records.

    How do I add custom DNS records?

    Non-editable DNS records

    When viewing your DreamHost DNS records, you may notice many of them are set as Non-editable DNS records. You can remove these by setting your domain to 'DNS Only'. View the following article for further details.

    Non-editable DNS records

    MX records (mail records)

    For information on MX mail records at DreamHost, view the following article:

    What is an MX record?

    Locating your DreamHost email DNS records

    See also

    Below are some helpful links to outside sources that provide you with further details on various topics discussed on this page. The ‘Tool for looking up DNS records’ page is especially helpful in looking up your domain’s DNS records.

    Internal:

    Basic DNS records

    DNS propagation overview

    What DreamHost DNS records do I point my site to?

    How do I add custom DNS records?

    Nameservers overview

    Unique IP overview

    Various tools to check your DNS records

    How do I add custom DNS records?

    Flush DNS overview

    External:

    DNS entry at Wikipedia

    List of DNS records at Wikipedia

    Tool for looking up DNS records

    IP Address Details and API

    View Article
  • Overview

    DNS propagation can be thought of as the time it takes DNS records to expire on a server. For example, if you update your nameservers to point to a different hosting company, those new nameservers must propagate across the Internet. Each ISP has their own time frame on how often they update/expire their cached DNS records. Because there is no single shared standard throughout the Internet, this entire process can take from a few hours to up to 72 hours.

    Additionally, DNS Propagation is a rather inaccurate term used to describe the process of DNS resolution. The word "propagation" implies that DNS changes spread from DNS server to DNS server, and that you have no control over how quickly it happens. In fact, DNS servers check in with your local DNS server as needed, and the administrator of your local DNS server controls the 'time to live' (TTL) values for all DNS records in your domain.

    This page provides details on DNS Propagation, DNS Caching, TTL, Flushing DNS cache, and tools for checking propagation status.

    What DreamHost DNS records do I point my site to?

    DreamHost cannot control how fast your DNS propagates throughout the Internet.

    Caching

    How DNS caching works

    Because of the large volume of requests generated by a system like DNS, the designers wished to provide a mechanism to reduce the load on individual DNS servers. To this end, the DNS resolution process allows for caching (i.e., the local recording and subsequent consultation of the results of a DNS query) for a given period of time after a successful answer.

    Put simply, DNS caching allows any DNS server around the world to store locally the DNS records for a domain on that server. This allows the server to use those records immediately without the need for a new DNS query. Eventually, however, the DNS must be updated, which is when the time to live (TTL) value comes into play.

    Time to live (TTL)

    How long a resolver caches a DNS response (i.e., how long a DNS response remains valid) is determined by a value called the time to live (TTL). The TTL is set by the administrator of the DNS server handing out the response. The period of validity may vary from just seconds to days or even weeks.

    For example, the TTL on DreamHost’s server is set to 4 hours by default. This is the amount of time the DNS record is cached on the server.

    Caching time

    Changes to DNS do not always take effect immediately and globally. This is best explained with an example: If an administrator has set a TTL of 6 hours for the host www.dreamhost.com, and then changes the IP address to which www.dreamhost.com resolves at 12:01pm, the administrator must consider that a person who cached a response with the old IP address at 12:00pm will not consult the DNS server again until 6:00pm. The period between 12:01pm and 6:00pm in this example is called the caching time, which is best defined as a period of time that begins when you make a change to a DNS record and ends after the maximum amount of time specified when the TTL expires.

    It’s important to note that since it can take several hours for DNS records to resolve in all locations, different computers in different locations see the update at different times.

    Many people incorrectly refer to a mysterious 48 hour or 72 hour propagation time when you make a DNS change. When you change the nameserver records for your domain or the IP addresses for hostnames of authoritative DNS servers using one's domain (if any), there can be a lengthy period of time before all DNS servers use the new information. This is because those records are handled by the zone parent DNS servers (for example, the .com DNS servers if your domain is example.com), which typically cache those records for 48 hours. However, those DNS changes are immediately available for any DNS servers that do not have them cached. And, any DNS changes on your domain other than the nameserver records and authoritative DNS server names can be nearly instantaneous, if you so choose (by lowering the TTL ahead of time, and waiting until the old TTL expires before making the change).

    Adjusting Time To Live (TTL)

    The Time-To-Live (TTL) value for a domain is how long a website is cached (stored in memory) on a web server. The average time is 4 hours.

    If you are moving a domain from one hosting provider to another, it may be a good idea to drop the TTL as low as possible BEFORE you initiate the migration. This allows your DNS records at your current host to expire faster so you do not need to wait the full 4 hours until the records change.

    After the TTL for a domain is dropped, you must continue to wait until the current TTL expires. This could be 4 hours (depending on your hosting provider's TTL). Only after the current TTL has expired will the new TTL value control DNS updates.

    Once the 4 hours has expired and your new TTL is active, you should update your DNS to point to the new hosting provider.

    If for some reason you need to speed up or slow down the TTL for a domain hosted at DreamHost:

    Create a ticket on the Contact Support page in your panel and DreamHost support will adjust it for you.

    Make sure you let support know to make the change at least four hours before the time you’d like to update your DNS, as it will take that long to enable the new TTL.

    Flushing the DNS cache

    If you’ve made recent changes to a domain or other DNS related services, and are not seeing changes, you might need to flush your DNS cache in order to see the new changes appear at your location.

    Please visit the following article for more details on clearing DNS cache for Windows, Mac, and Linux:

    Flush DNS

    Tools to help you check the DNS status

    The following tools help you confirm in which locations your DNS has updated:

    What's my DNS?

    DNS Propagation Checker

    DNS Unlimited

    PropagatedYet

    Viewing your site before the DNS has propagated

    You can still view your site before the DNS has changed. There are two ways to do this:

    Previewing your site with a dreamhosters.com subdomain before changing DNS

    How to view your DreamHost site using your hosts file

    See also

    Basic DNS records

    DreamHost DNS overview

    How do I add custom DNS records?

    Nameservers overview

    Unique IP overview

    View Article
  • Using your hosts file

    Locate your A records

    Using Windows 7 & 8.1

    Using Windows 10

    Using Apple Mac OS

    Using Linux

    WordPress migration instructions

    See also

    Overview

    A 'hosts' file is a text file on your home computer. It is used to map a domain name to a specific server. If you edit it, you can change where your computer searches for a website.

    For example, when you look up a URL in your browser, your computer sends out a query into the Internet to find where your site is located. Your site is located where your DNS is pointed to. If you edit the 'hosts' file, you can change where your computer searches for a website.

    In this way you can view a site on your DreamHost server when the DNS is pointed to another company.

    Previewing your site with a dreamhosters.com subdomain before changing DNS

    This article explains how to view your site before pointing your DNS to DreamHost by editing the 'hosts' file on your desktop or laptopcomputer (not a mobile device).

    To test on a mobile device, or for another option on how to view your site at DreamHost before pointing DNS, view the following article:

    Previewing your site with a dreamhosters.com subdomain before changing DNS

    Locate your A records

    Each site at DreamHost has two A records for the URL. One for your domain with and without www. For example:

    208.113.137.245 example.com

    208.113.137.245 www.example.com

    View the DNS article for details on how to view these records. Make a note of these as you'll need to add the IP to your 'hosts' file in the next step.

    Using Windows 7 & 8.1

    On most Windows systems, you can find the hosts file in the following directory:

    C:\Windows\System32\Drivers\etc

    It might be set to hidden so make sure you have 'show hidden files' turned on.

    Notepad is a basic text editing program that is already install on Windows. To open the 'hosts' file with Notepad, follow the steps below:

    Open the 'Start' menu.

    In the search box, type in 'notepad'.

    Right click on the 'Notepad' option and choose 'Run as administrator'.

    This opens a blank Notepad file

    On the top left of this blank file, click the 'File > Open...' menu option.

    In the 'Explorer' window, navigate to the C:\Windows\System32\Drivers\etc directory.

    Choose the 'hosts' file and click Open.

    At the bottom of the file, add your DreamHost site IP followed by the domain.

    208.113.137.245 example.com

    208.113.137.245 www.example.com

    Save the file.

    Finally, make sure to flush your computer's DNS to ensure the new settings update.

    Flush DNS

    Restart your browser and try accessing your domain.

    You can now view your site as it appears on your DreamHost server. Once you point your DNS to DreamHost, you can then remove these lines.

    Using Windows 10

    On most Windows systems, you can find the hosts file in the following directory:

    C:\Windows\System32\Drivers\etc

    Notepad is a basic text editing program that is already install on Windows. To open the 'hosts' file with Notepad, follow the steps below:

    Open the 'Start' menu.

    Start to type in the word 'notepad' and it will display the icon.

    Right click on the 'Notepad' option and choose 'Run as administrator'.

    You may receive a pop-up message titled “User Access Control” asking, “Do you want to allow this app to make changes to your PC?” Click Yes. This opens a blank Notepad file.

    On the top left of this blank file, click the 'File > Open...' menu option.

    In the 'Explorer' window, navigate to 'This PC'. Then to the C:\Windows\System32\drivers\etc directory.

    Choose the 'hosts' file and click Open. You may need to change the “Text Documents (*.txt)” in the lower right to “All Files” in the drop-down list.

    At the bottom of the file, add your DreamHost site IP followed by the domain.

    208.113.137.245 example.com

    208.113.137.245 www.example.com

    Save the file.

    Finally, make sure to flush your computer's DNS to ensure the new settings update.

    Flush DNS

    Restart your browser and try accessing your domain.

    You can now view your site as it appears on your DreamHost server. Once you point your DNS to DreamHost, you can then remove these lines.

    Using Apple Mac OS

    Launch Terminal by pressing command () + spacebar which opens the search box.

    Type the word Terminal.

    Press the return key or click the Terminal icon beneath TOP HIT.

    View the ' Creating and editing a file via SSH ' article for instructions on how to edit this file. This example uses the 'nano' editor.

    Type the following into your terminal:

    [server]$ sudo nano /private/etc/hosts

    Enter the administrator password. Note: Typed passwords are not displayed on the command line.

    Once the hosts file is open, use the arrow keys to navigate to the bottom to make any modifications.

    When finished, save and close the file to return to your terminal prompt.

    Finally, close Terminal when finished.

    Make sure to flush your DNS to ensure the new settings update. Once you point your DNS to DreamHost, you can then remove these lines.

    Using Linux

    On most Linux-based systems:

    The hosts file can be located in the /etc/ directory.

    The hosts file is usually called hosts.

    The full path is /etc/hosts.

    The steps to edit and save the file are the same as the 'Mac OS' instructions above.

    WordPress migration instructions

    This section explains how to view your WordPress site (at DreamHost) if it was migrated by the Professional Services Team. This section only applies to NON-DreamPress migrations.

    First, read through the sectionsabove to locate and edit your computer's 'hosts' file.

    Normally, updating a 'hosts' file only requires you to add two lines (as mentioned above). With this migration process, you also need to add a third line of text for the MySQL server. For example, if your site was example.com, you would add these lines to the bottom of your 'hosts' file:

    111.111.111.111 example.com

    111.111.111.111 www.example.com

    222.222.222.222 mysql.example.com

    Replace the example IP addresses above with your site's actualIP addresses. You can find them in the DreamHost web panel on the Manage Domains page. Under your domain name, click 'DNS' link.

    If you need further assistance locating your site's IP addresses, view the ' DNS ' article for more detailed instructions.

    Confirming the 'hosts' file is working

    You can confirm you are loading the migrated site from DreamHost's servers if you are able to load the following page (replacing “example.com” with your domain):

    http://example.com/dhwpmigrate.html

    View your public site through a proxy

    Once your 'hosts' file is working, your computer will show you how your site looks at DreamHost. If you want to also view your current (public) site, you must use a proxy website.

    An example of a proxy site is http://kproxy.com. Visit that link in your browser, enter your domain name in the box, then click 'Enter'. It uses your site's public DNS (not your local 'hosts' file) to view the site at your current hosting company.

    Comparing the sites

    Viewing your site using a 'hosts' file and a proxy site allows you to view both versions of your site for a side by side comparison. You can have one browser tab open on the migrated site (viewed using your 'hosts' file) and another browser tab open on the proxy site (viewed using DNS) to see your current public site.

    Making further changes to your site

    During your inspection of the site, you may feel the need to change the setting of something that was out of scope of the migration service. Please refrain from changing anything that may alter the look or behavior of the site since the Professional Services Team must be able to compare the migrated site (at DreamHost) to the live site (at your current host).

    If you must update something, make sure to document any change so the Professional Services Team can separate what may have been affected by the migration from subsequent alterations on your end.

    See also

    View Article
  • Overview

    As of December 2019, PHP 5.6, 7.0, and 7.1 have been removed from the DreamHost panel. Any sites on a Shared server running PHP 5.6 or 7.0 are in the process of being upgraded to PHP 7.2. Websites on VPS and Dedicated servers will continue to run older versions of PHP for the time being.

    If you would like to manually change the PHP version of your site, the current options are 7.2, 7.3, or 7.4. For more information, see the following article:

    How do I change the PHP version of my site?

    What if my site was previously using PHP 5.6, 7.0, or 7.1?

    Any sites on a Shared server previously running PHP 5.6, 7.0, or 7.1 are in the process of being automatically upgraded to PHP 7.2.

    It's highly recommended that you upgrade your sites to PHP 7.2, 7.3, or 7.4 as older versions will soon be removed completely from all DreamHost servers.

    For more information on updating your site's PHP version, view the following article:

    Updating PHP overview

    List of PHP supported versions

    http://php.net/supported-versions.php

     

    View Article
  • Overview

    This article describes how to view your email headers in the Webmail program.

    Viewing headers

    Navigate to Webmail at https://webmail.dreamhost.com.

    The login page opens:

    How do I read email headers?

    Log into your account.

    In the main panel, click the email you wish to examine.

    Click the More button on the top right.

    From the dropdown, choose 'Show source'.

    The email headers appear.

    See also

    Webmail overview

    View Article
  • Overview

    After you have added an email address in the DreamHost panel, you can access it using DreamHost's webmail or an email client such as MacMail, Outlook, or Thunderbird.

    Webmail contacts

    After you add the first email address, it could take 4-6 hours for the DNS to update online. Only after the DNS updates will you be able to access webmail. Any additional addresses you add are immediately available.

    This article contains the following contents:

    Basics   Basic questions about DreamHost's webmail service.

    Using webmail  Composing emails and managing folders

    Spam  Managing Spam emails

    Misc questions  Misc questions about DreamHost's webmail service.

    Basics

    Accessing Webmail

    Visit the following URL to log into your Webmail service:

    https://webmail.dreamhost.com

    The login page opens:

    Webmail is automatically configured to connect to the DreamHost mail server. The only credentials you must enter are your email address and password.

    Updating your email password

    View the following article if you need to update your email password:

    Update your email password

    Retrieving your password

    View the following article for details on how to reset your email password:

    Change password (Mail users)

    Security warning when using HTTPS with your website URL

    In the past, it was possible to log into webmail at https://atmail.example.com (where example.com is your website). Due to improvements with DreamHost's email infrastructure, you should no longer use this URL to connect.

    It is highly recommended that you only use https://webmail.dreamhost.com  to connect to your webmail account.

    Is there a charge for webmail?

    No. Webmail is free with any purchased hosting plan.

    Using webmail

    Checking for new mail

    Webmail automatically checks and displays new mail if you leave it open. You can also click the Refresh button to manually check.

    Spell Checking emails

    When composing an email, you can run a Spell Check to ensure nothing is misspelled.

    Click 'Compose' in the left pane.

    Type the body of your email.

    Click the Spell button in the top menu.

    Any misspelled words display in red text.

    Message Threads

    By default, any email sent or received appears in your Inbox in list format. Another view option is to enable 'Threads'. When enabled, any ongoing conversation with recipient(s) appears in its own thread in the list.

    Click 'Mail' in the left pane.

    Click the folder icon or three dots icon.

    From the dropdown, select 'Options'.

    In the 'List mode' dropdown, select 'Threads'.

    Click the Save button.

    Any messages responded to then appear in a thread as shown below. Click the chevron (arrow) icon to display threaded messages.

    File attachments

    Webmail is a PHP application and the max attachment size available is 40 MB.

    Click 'Compose' in the left pane.

    To the left, click the Attach a file button.

    Subscribing to folder

    Your email address may have several folders within it that do not appear in webmail. The following steps explain how to display these hidden folders.

    Click 'Mail' in the left panel.

    Click the folder icon, or three dots icon.

    From its dropdown menu, select 'Manage folders'.

    A series of existing folders display:

    Toggle the button to the right of any folder you wish to display.

    The folder displays when navigating back to your Inbox.

    Deleting emails

    Emails in the Trash folder can quickly accumulate and add to your mailbox disk quota. To quickly delete all email:

    Select the email (or emails) you wish to delete. They will be highlighted in blue.

    You can also select ALL emails in a folder by clicking the Select button and choosing '* All'.

    Click the trashcan icon to delete them.

    Spam

    Subscribing to the Spam folder

    DreamHost purges all spam and trash email messages after 15 days. Please make sure you check your spam and trash messages within this time frame.

    If you cannot view these folders, make sure you have subscribed to them as mentioned above.

    Filtering emails into the Spam folder

    The Spam folder used in Webmail is automatically controlled by the default Vade anti-spam filters for all DreamHost addresses. If you find email is filtered incorrectly or not filtered, you can control this using the Blacklist/Whitelist feature in the panel.

    Moving spam messages to the Spam folder

    If any Spam emails arrive in your Inbox, you can then drag and drop them in the Spam folder.

    If you cannot view this folder, make sure you have subscribed to it as mentioned above.

    Creating custom filters

    Another available option is to manually create your own custom filters. This way you can control into which folder spam messages are sent.

    Message Filters

    Example of custom filter

    Misc questions

    Can I use an HTML signature?

    Plain text emails are enabled by default, so if you have a signature that uses HTML (links, images, and/or formatting), you also need to turn on HTML for composing emails.

    To enable this feature in webmail, click Settings > Preferences > Composing Messages, and then select "always" within the 'Compose HTML messages' drop-down menu.

    Can I remove the DreamHost the logo from webmail?

    Unfortunately, there is currently not a way to remove the DreamHost logo from webmail.

    Can I use HTML to embed an image?

    This is currently not possible. The only way to add an image is to create a new email.

    Then click the HTML icon.

    Click the image icon.

    Finally, either input the URL of the image, or click the upload button to upload an image from your computer.

    You can then input the link to the URL of the image.

    How do I create a signature?

    Click 'Settings' in the left pane.

    From the list, choose 'Identities'.

    From the list, click your email address.

    Add your signature in the window that opens.

    Click Save.

    Changing your timezone

    Webmail defaults to the server's timezone. You can change it to your local time if you like by following these steps:

    Log into Webmail at https://webmail.dreamhost.com.

    In the left pane, click Settings.

    Choose 'Preferences'.

    Choose 'User Interface'

    Select your timezone from the dropdown menu.

    Click the Save button to save your changes.

    See also

    Are there any alternatives to Webmail?

    How do I access Webmail?

    Viewing email headers using Webmail

    View Article
  • Adding a Dedicated server

    Navigate to the Dedicated Dashboard  page.

    What types of hosting plans are available?

    Click the Add a Dedicated Server button at the top of the page.

    You'll see a few options here that correspond to the chart in the overview article :

    Click the desired CPU cores button. The plan options change for each option.

    Once you decide which plan you'd like to purchase, click the 'Migrate existing server' dropdown.

    Select to either migrate existing data from another server, or to not migrate data at all.

    Click the Add Server button to complete your purchase.

    Upgrading to a new Dedicated server plan

    If you would like to migrate from your current Standard (formerly 'Blue Moon') dedicated server to a new Enhanced (formerly 'Summer Moon') plan, log in to your panel and navigate to the Contact Support page.

    Create a ticket for technical support requesting that your data on the current Standard server be migrated to a new plan. Please allow at least 3 days for this to take place after support has responded.

    See also

    Dedicated server overview

    How do I add users to a Dedicated server?

    How do I connect to a Dedicated server?

    How do I access my database on a Dedicated server?

    View Article
  • Overview

    This article describes the various ways you can upgrade or downgrade from a DreamPress hosting plan.

    Downgrading to Starter Shared

    If you would like to downgrade from a DreamPress plan to a Starter Shared hosting plan, make sure you fall within the limitations described in the following article:

    Adding a Starter Shared hosting plan

    If you would like to proceed, contact support to request this.

    Downgrading to another hosting plan

    First, make sure you've added the hosting plan you'd like to migrate to.

    Adding a Shared hosting plan

    Adding a private server (VPS)

    How do I add a Dedicated server?

    You can then use the following article to migrate off DreamPress to this new plan.

    Downgrading DreamPress to another hosting plan

    Migrating to a different DreamPress plan

    View the following article for instructions on how to change your DreamPress hosting plan.

    Changing a DreamPress plan

    View Article
  • Overview

    This article describes what a Starter Shared hosting plan is and how to create an account with this type of plan.

    What is a Starter Shared hosting plan?

    Starter Shared is DreamHost's most basic entry-level hosting plan.

    The Starter Shared plan is an excellent option to get a single website up and running quickly at a very low cost. Since it's a starter plan, there are a few limitations to be aware of which are all mentioned below.

    Does DreamHost offer other hosting plans?

    In addition to a Starter Shared plan, the following hosting plans are also available:

    Shared your site is hosted on a shared server

    VPS  your site is hosted on a private server

    Dedicated   your site is hosted on a private server

    Remixer   your site is hosted on the Remixer website builder plan

    DreamPress   your site is hosted on a private server running a DreamHost managed version of WordPress

    Are there any limitations?

    Since the Started Shared plan is an introductory plan, there are a few limitations you should be aware of:

    Only one website can be hosted

    Email not included

    6 MySQL databases

    5 subdomains

    50GB of storage space

    6 webserver users

    How to add a Started Shared hosting plan

    To create a Starter Shared hosting plan, visit the following page:

    https://www.dreamhost.com/hosting/shared/

    Upgrading a Starter Shared plan to Unlimited Hosting

    Under 'Started Shared' click the Sign Up Now button, and then follow the prompts to sign up for a new DreamHost account. Once completed, you'll have access to your DreamHost panel at:

    panel.dreamhost.com

    Adding your site to the plan

    After the plan has been added, log into your panel. You can view more information on how to log into your DreamHost control panel by visiting the following article:

    DreamHost control panel overview

    On the Manage Account page, your Starter Shared plan appears:

    To add your website to the new plan:

    Navigate to the Manage Users page. Use the following article to add a new user to your server.

    Adding a user to a server

    Once added, navigate to the Manage Domains page. Use the following article to add a new user to your server.

    How do I add a domain?

    After the domain is added, wait a few hours in order for it to propagate online. After that, you'll be able to visit it.

    Changing which domain is hosted on a Starter Shared plan

    You can use the following steps if you want to change your Starter Shared plan's 'Fully Hosted' domain to another that you own.

    Only one domain can be fully hosted at a time with a Starter Shared plan. However, you do not need to contact Support to change the active domain. To change the 'Fully Hosted' website on the plan:

    Navigate to the Manage Domains page. See the following article to remove hosting for the currently active domain:

    Setting your domain to 'DNS Only'

    After the old domain is set to 'DNS Only, see the following article to add your new domain as 'Fully Hosted' on your server.

    How do I add a domain?

    Adding a Starter Shared hosting plan if you have a registration only account

    If your account was previously opened as a Domain Registration only account, no hosting plans are active.

    Contact support if you wish to add a Starter Shared hosting plan:

    Contacting Support

    Otherwise you can add any other hosting plan you like, including:

    Shared Click the 'Upgrade to Happy Hosting' link under your current plan.

    VPS  View the Adding a private server (VPS)  article.

    Dedicated   View the Adding a Dedicated server  article.

    Remixer   View the Remixer plans and pricing article.

    DreamPress   View the Installing DreamPress  articles.

    See also

    View Article
  • Overview

    This article describes the various ways you can upgrade or downgrade from an Unlimited Shared hosting plan.

    Downgrading to Starter Shared

    If you would like to downgrade from an Unlimited Shared hosting plan to a Starter Shared hosting plan, make sure you fall within the limitations mentioned in the following article:

    Adding a Starter Shared hosting plan

    If you would like to proceed, contact support to request this.

    Upgrading to VPS hosting

    View the following article for instructions on how to add a new private server hosting plan.

    Adding a private server (VPS)

    When purchasing, you have the opportunity to migrate ALL of your users and domains to the new private server. You can also choose to not migrate any data.

    If you would like to only pay for a private server and remove Shared hosting, check the radio button to migrate all users and domains during this process.

    Upgrading to a Dedicated server

    View the following article for instructions on how to add a new Dedicated server.

    How do I add a Dedicated server?

    While creating the Dedicated server, you can choose to migrate all of your Shared users to the new machine.

    Upgrading to DreamPress

    If you already have a WordPress site on Shared hosting, you can use the following article to upgrade it to DreamPress:

    How do I upgrade a WordPress site to DreamPress?

    You can also add a new domain to DreamPress using the following article:

    How do I add DreamPress to a new domain?

    View Article
  • Overview

    This article describes the various ways you can upgrade or downgrade from a VPS hosting plan.

    Downgrading to Starter Shared

    If you would like to downgrade from a Private server (VPS) plan to a Starter Shared hosting plan, make sure you fall within the limitations described in the following article:

    Adding a Starter Shared hosting plan

    If you would like to proceed, contact support to request this.

    Downgrading to Shared

    First, make sure you've added a Shared hosting plan.

    Adding a Shared hosting plan

    You can then delete the Private Server.

    Deleting a private server

    When deleting, you will see a message informing you that everything on the VPS will be migrated to the Shared server.

    Changing your VPS hosting or billing plan

    If you have both a Shared and Dedicated server on your account, only the Dedicated server will show as an option to migrate to when deleting your VPS.

    If you would prefer to migrate to a Shared server, contact support. DreamHost support will then migrate the data for you.

    Upgrading to a Dedicated server

    If you'd like to migrate all of the content on your VPS to a Dedicated server, you must first purchase the Dedicated server as shown in the following article:

    How do I add a Dedicated server?

    During that process, select your VPS in the dropdown to migrate all data. Once everything has been migrated, you can then delete your VPS:

    Deleting a private server

    Upgrading to DreamPress

    View the following article for instructions on how to upgrade an existing WordPress site to DreamPress.

    How do I upgrade a WordPress site to DreamPress?

    If you only had the single WordPress site on your VPS, you can then cancel it.

    Deleting a private server

    If you have other sites on the VPS, you must continue paying for that plan since only the single site would have been migrated to DreamPress.

    Migrating to a different VPS plan

    View the following article for instructions on how to change your VPS hosting plan.

    View Article
  • Overview

    DreamHost no longer offers admin (sudo) access on DreamHost VPS instances.

    This article details why this was done along with examples of how to manage your VPS without admin (sudo) access.

    Why were admin users removed?

    DreamHost currently manages all private servers to provide quick and reliable updates necessary for the security and stability of the server. However, when users take server management into their own hands with the "sudo" command, it directly limits DreamHost's ability to provide a safe and reliable managed hosting environment.

    How can I install software and manage my VPS without an admin user?

    Most software does not need to be compiled into the operating system directly as root. You can generally install it to your home directory and run it as your non-root user. This can also be a more secure way to run these programs.

    Below are a few examples with links that show how to manage your VPS without admin (sudo) access.

    Changing PHP settings

    PHP changes such as the following can be done using a PHP.ini  file:

    Increasing the PHP upload limit

    Increasing the PHP memory limit

    Installing PHP modules/tools/frameworks

    PHP modules can also be installed locally. View the following for detailed examples:

    IonCube Loader

    PEAR

    Composer

    Zend framework

    Addition examples

    Ruby Version Manager to install a custom version of Ruby and Rails

    Python modules and custom version using virtualenv

    Django

    What other options do I have if I need an admin user?

    Dedicated server

    You could purchase a Dedicated server  which allows root access. On this server you can set up a root user and install software using sudo.

    DreamCompute

    Another option is that DreamHost's cloud computing service, DreamCompute, is completely unmanaged.

    You can install whatever software you like on it. Don't need a web server? No problem! DreamHost provides you with a base OS install (or you can even upload your own). On this machine, you can use sudo or log in as root if you want.

    DreamCompute provides the full and complete remote server control that so many DreamHost VPS users have been craving for years. View the following article for further details:

    DreamCompute Overview

    See also

    SSH overview

    Private server overview

    View Article
  • Overview

    Using virtualenv to install Django is recommended on DreamHost Shared and Private servers since your user doesn't have access to install into shared directories. When you use virtualenv, you create an isolated environment with its own installation directories which your user has full permissions to. This allows you to install a custom version of Python and its different packages which is not connected to the global installation on the server. This also solves the issue with permissions when installing software.

    pip and virtualenv

    View the following links for further details on installing and using pip and virtualenv, depending on which version of Python you're using:

    Python 2

    Installing and using virtualenv with Python 2

    Using pip to install Python 2 modules

    Python 3

    Installing and using virtualenv with Python 3

    Using pip3 to install Python3 modules

    Step 1 Installing a custom version of Python for your virtualenv

    If you're planning on using Django with a new virtual environment, chances are you want to use a specific version of Python. Review the following article (depending on your Python version) to install a custom version of Python and create a virtual environment using this custom version:

    Installing a custom version of Python 2

    Installing a custom version of Python 3

    Step 2 Create and activate your virtual environment

    View the following article (depending on your Python version) to create a virtual environment:

    Installing and using Python's virtualenv using Python 2

    Installing and using Python's virtualenv using Python 3

    After you've created and activated a project in a virtual environment, you can then install Django within this isolated environment.

    Installing and using virtualenv with Python 3

    These instructions assume the name of the virtual environment you created is 'venv'.

    Step 3 Setting up your Django site in your virtualenv

    To run the commands in this article, you must log into your server via SSH with your Shell user. View the following articles for more information:

    SSH overview

    Creating a user with Shell (SSH) access

    Install a custom version of Django and any other required packages (e.g., mysqlclient if you're going to use a MySQL database) for your website using pip:

    Using Python 2

    (venv) [server]$ pip install Django

    (venv) [server]$ pip install mysqlclient

    Using Python 3

    If you're installing in a Python3 environment, use the following instead:

    (venv) [server]$ pip3 install Django

    (venv) [server]$ pip3 install mysqlclient

    Installing version 2+ of Django

    If you want to install Django  version 2.0.3, you must be running  Python 3. If you attempt to install in a Python 2 environment, you'll see the following errors:

    Could not find a version that satisfies the requirement Django==2.0.3

    (from versions: 1.1.3, 1.1.4, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.3, 1.3.1,

    1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.4.8,

    1.4.9, 1.4.10, 1.4.11, 1.4.12, 1.4.13, 1.4.14, 1.4.15, 1.4.16, 1.4.17, 1.4.18, 1.4.19, 1.4.20,

    1.4.21, 1.4.22, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.5.9, 1.5.10, 1.5.11,

    1.5.12, 1.6, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6.9, 1.6.10, 1.6.11, 1.7,

    1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 1.7.10, 1.7.11, 1.8a1, 1.8b1, 1.8b2,

    1.8rc1, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.8.10, 1.8.11, 1.8.12,

    1.8.13, 1.8.14, 1.8.15, 1.8.16, 1.8.17, 1.8.18, 1.8.19, 1.9a1, 1.9b1, 1.9rc1, 1.9rc2, 1.9, 1.9.1,

    1.9.2, 1.9.3, 1.9.4, 1.9.5, 1.9.6, 1.9.7, 1.9.8, 1.9.9, 1.9.10, 1.9.11, 1.9.12, 1.9.13, 1.10a1,

    1.10b1, 1.10rc1, 1.10, 1.10.1, 1.10.2, 1.10.3, 1.10.4, 1.10.5, 1.10.6, 1.10.7, 1.10.8, 1.11a1,

    1.11b1, 1.11rc1, 1.11, 1.11.1, 1.11.2, 1.11.3, 1.11.4, 1.11.5, 1.11.6, 1.11.7, 1.11.8, 1.11.9,

    1.11.10, 1.11.11)

    No matching distribution found for Django==2.0.3

    /home/username/projectname/lib/python2.7/site-packages/pip/_vendor/urllib3/util/ssl_.py:339: SNIMissingWarning:

    An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform.

    This may cause the server to present an incorrect TLS certificate, which can cause validation failures.

    You can upgrade to a newer version of Python to solve this. For more information,

    see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

    SNIMissingWarning

    /home/username/projectname/lib/python2.7/site-packages/pip/_vendor/urllib3/util/ssl_.py:137:

    InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately

    and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this.

    For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

    InsecurePlatformWarning

    View the following article to view which versions of Python are compatible with specific versions of Django:

    What Python version can I use with Django?

    View the following for instructions on how to create a Django 2 project using Python3:

    How to create a Django 2 project using virtualenv

    Viewing the version of Django

    Run the following command to view the version of Django you installed.

    (venv) [server]$ python -c "import django; print(django.get_version())"

    Troubleshooting

    When installing Django or mysqlclient, it's possible you may see the following error message:

    Command "python setup.py egg_info" failed with error code 1

    If you see this, try upgrading your version of pip within your virtual environment. For example:

    (venv) [server]$ python -m pip install --upgrade pip

    Or for Python 3

    (venv) [server]$ python3 -m pip install --upgrade pip

    This should fix your installation error.

    See also

    Django overview

    How to create a Django 1 project using virtualenv

    How to create a Django 2 project using virtualenv

    Django troubleshooting

    Python overview

    Installing and using virtualenv with Python 2

    View Article
  • Overview

    Installing and using virtualenv with Python 3

    This article shows how to create a Django (version 2+) project. If you need to create a Django (version 1) project, view the following article instead:

    How to create a Django 1 project using virtualenv

    View the following article to view which versions of Python are compatible with specific versions of Django:

    What Python version can I use with Django?

    What version of Python is compatible with Django 2?

    You must be using Python 3.4 or higher to use Django 2. View the following chart for a full list of compatible versions:

    What Python version can I use with Django?

    Initial setup

    First, make sure you've installed a custom version of Python and created a virtual environment in your website's directory:

    Installing a custom version of Python 3

    Installing and using Python's virtualenv using Python 3

    Next, install Django into your virtualenv:

    How to install Django using virtualenv

    Finally, enable Passenger on your domain.

    How do I enable Passenger on my domain?

    Creating a Django project

    To run the commands in this article, you must log into your server via SSH with your Shell user. View the following articles for more information:

    SSH overview

    Creating a user with Shell (SSH) access

    Creating and editing a file via SSH

    The following instructions assume you've created a virtual environment titled 'venv' using the links above.

    Run the following commands in order to create your Django project within this environment:

    [server]$ cd $HOME/example.com

    [server]$ source $HOME/example.com/venv/bin/activate

    (venv) [server]$ python3 venv/bin/django-admin.py startproject <projectname>

    Replace 'example.com' with your domain name.

    When you run the 'startproject' command, it creates a new folder in your site directory named whatever your Django project name is.

    In order for Passenger to pick up your project, create a passenger_wsgi.py file within your site's top level directory (/home/username/example.com). Add the following:

    import sys, os

    INTERP = "/home/username/example.com/venv/bin/python3"

    #INTERP is present twice so that the new python interpreter

    #knows the actual executable path

    if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)

    cwd = os.getcwd()

    sys.path.append(cwd)

    sys.path.append(cwd + '/djangoprojectname') #You must add your project here

    sys.path.insert(0,cwd+'/venv/bin')

    sys.path.insert(0,cwd+'/venv/lib/python3.6/site-packages')

    os.environ['DJANGO_SETTINGS_MODULE'] = "djangoprojectname.settings"

    from django.core.wsgi import get_wsgi_application

    application = get_wsgi_application()

    Be sure to replace the following in the passenger_wsgi.py file:

    The path to your local python version in line #2. Run which python3 to confirm:

    (venv) [server]$ which python3

    /home/username/example.com/venv/bin/python3

    Your virtualenv project name on lines 11 and 12

    Your Django project name on lines 9 and 14

    Your Python3 version on line 12

    Set up Django's static file settings in order to correctly serve images, CSS, and JavaScript as you will need this for the admin interface to work. For example:

    Open the projects settings.py file found at example.com/projectname/projectname/settings.py. Scroll to the bottom and you will find that the STATIC_URL is probably configured to /static/.

    Add another line to set the location on the server of the actual static directory:

    STATIC_ROOT = os.path.dirname(BASE_DIR) + '/public/static/'

    In your /home/username/example.com/ directory, make sure to create this /static directory.

    (venv) [server]$ cd $HOME/example.com/public

    (venv) [server]$ mkdir static

    This will be the location where Django will put all of your static files you shouldn't put stuff here manually as it gets overwritten. View the following link for further details:

    https://docs.djangoproject.com/en/1.8/howto/static-files/

    Run the collectstatic command to set up the static items for the admin interface:

    (venv) [server]$ cd $HOME/example.com/projectname/

    (venv) [server]$ python3 manage.py collectstatic

    Set up your database as required within the settings.py file. The section of the settings.py file originally looks like this:

    DATABASES = {

    'default': {

    'ENGINE': 'django.db.backends.sqlite3',

    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

    }

    }

    Edit to make the following additions with your actual database credentials :

    DATABASES = {

    'default': {

    'ENGINE': 'django.db.backends.mysql',

    'NAME': 'mydatabase',

    'USER': 'mydatabaseuser',

    'PASSWORD': 'mypassword',

    'HOST': 'mysql.example.com',

    'PORT': '3306',

    }

    }

    The default is to use sqlite3, which may be suitable for the smallest of sites, but it's likely you'll want to set up a mysql database.

    Also in your settings.py file, update the ALLOWED_HOSTS field with your domain name. At first, it appears like this:

    ALLOWED_HOSTS = []

    Update it to include your domain name.

    ALLOWED_HOSTS = ['example.com', 'www.example.com']

    Make sure you're in your project directory:

    (venv) [server]$ cd ~/example.com/<projectname>

    Make sure mysqlclient is installed.

    (venv) [server]$ pip3 install mysqlclient

    Once configured, run migrate in your project directory:

    (venv) [server]$ python3 manage.py migrate

    Operations to perform:

    Apply all migrations: admin, auth, contenttypes, sessions

    Running migrations:

    Applying contenttypes.0001_initial... OK

    Applying auth.0001_initial... OK

    Applying admin.0001_initial... OK

    Applying admin.0002_logentry_remove_auto_add... OK

    Applying contenttypes.0002_remove_content_type_name... OK

    Applying auth.0002_alter_permission_name_max_length... OK

    Applying auth.0003_alter_user_email_max_length... OK

    Applying auth.0004_alter_user_username_opts... OK

    Applying auth.0005_alter_user_last_login_null... OK

    Applying auth.0006_require_contenttypes_0002... OK

    Applying auth.0007_alter_validators_add_error_messages... OK

    Applying auth.0008_alter_user_username_max_length... OK

    Applying sessions.0001_initial... OK

    Create a superuser:

    (venv) [server]$ python3 manage.py createsuperuser

    Username (leave blank to use 'username'): my_django_user

    Email address: [email protected]

    Password:

    Password (again):

    Superuser created successfully.

    Navigate to your /home/username/example.com directory.

    (venv) [server]$ cd /home/username/example.com

    Add a /tmp/restart.txt file:

    (venv) [server]$ mkdir tmp

    (venv) [server]$ touch tmp/restart.txt

    Whenever you make a change to your configuration, make sure to run the following in your site's directory to notify Passenger of the change:

    (venv) [server]$ touch tmp/restart.txt

    Confirming the installation was successful

    Visit your website.

    You should now see the standard Django holding page and be able to access the admin console at example.com/admin/.

    Troubleshooting

    If you notice any errors after installing, check to see if you have an .htaccess file in your site's directories. It's possible the code in it could cause issues with your installation.

    ModuleNotFoundError: No module named 'django'

    If you see this error when visiting your site, check your passenger_wsgi.py file. Confirm the following line points to your custom version of Python. For example, it should be 3.6 or 3.7 if you installed one of those versions.

    sys.path.insert(0,cwd+'/venv/lib/python3.7/site-packages')

    See also

    Django overview

    How to install Django using virtualenv

    Django troubleshooting

    Python overview

    View Article
  • General

    Where can I learn about DreamPress?

    This knowledge base offers several articles explaining how to use DreamPress. View the DreamPress category for a list of articles.

    How long does it take to set up DreamPress?

    A new DreamPress installation should finish within thirty minutes or less. The following items may delay an installation:

    if you are upgrading from an existing One-Click Install that has a lot of data that needs to be migrated.

    if you're migrating an existing site without a DreamHost plan that has a significant amount of data.

    Feel free to contact support for an update any time.

    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 the built-in server cache and, thus, DreamPress.

    Bad Behavior The way it sets cookies isn't 100\% compatible with the DreamPress cache 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 the DreamPress cache not to cache. Try not to use them on comment pages.

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

    Yes. You can create a temporary dream.press domain to create your site on. Then when you're ready, Technical Support can switch it over to your actual domain name.

    Hosting

    What can I host on DreamPress?

    The DreamPress service is only available and optimized for a single WordPress site. You can customize this single WordPress site however you like.

    What other applications can I host on DreamPress?

    Only a single installation of WordPress is supported with DreamPress. No other applications are allowed. If you require other applications to be run under the same URL, a standard VPS plan is a better fit.

    How many sites can I have on one DreamPress instance?

    DreamPress offers three different plans depending on your hosting needs. These plans allow you to host a single site, and you can purchase and mix-and-match additional DreamPress plans for each additional WordPress site you wish to host on DreamPress. View the following article for further details on the different hosting options:

    DreamPress plans and pricing

    Plans

    Is Multisite/WPMU supported?

    Not at this time.

    Is email provided with DreamPress?

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

    What is the difference between using DreamPress and Shared hosting?

    The primary difference are the servers DreamPress is hosted on. With DreamPress, all WordPress sites are hosted on DreamCompute, DreamHost's cloud service.

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

    Is there only one DreamPress plan?

    No, there are three. View the DreamPress plans and pricing  article for further details.

    Is a DreamHost VPS plan a better fit for me than DreamPress?

    It depends on what you would like to do with your website. Here are a few comparisons between a VPS plan and DreamPress:

    Number of sites On a VPS server, you can create as many WordPress installs as you like since you only pay for the server space. On a DreamPress server, you can only run a single site. You can add additional sites on DreamPress, but you pay for each new DreamPress site you add. Please keep in mind that you can have several sites on a DreamHost VPS while also having select sites on DreamPress, mixing and matching plans to fit your needs.

    Multisite Multisite is not supported on DreamPress.

    Custom/Un-managed sites  DreamPress is a fully managed service which means it's easier for beginners and those that just want to focus on the website without worrying about the server at all. However, some websites are more specialized and require a dedicated tech person to make sure the server is running correctly. If your site is very customized, you may find a VPS is a better fit for your specific setup.

    Customizations

    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 article for further instructions on how to change the user type:

    Creating a user with Shell (SSH) access

    Can I use IonCube Loader with DreamPress?

    IonCube Loader is not supported with DreamPress. IonCube's website states that it's purpose is to "makes it easy to protect PHP source code from easy observation, theft and change by compiling to bytecode." Since the WordPress software is open source, there is never a reason to use IonCube Loader to hide your code.

    If you absolutely require IonCube, the only options are to downgrade to a VPS or Shared hosting plan.

    Can I alter my PHP configuration for a DreamPress site?

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

    PHP.ini

    Security

    Will I have root/sudo access on a DreamPress plan?

    No. Only on a Dedicated plan is root/sudo access available.

    How do I use SSL on DreamPress?

    All DreamPress sites come configured with a free ' Let's Encrypt ' SSL certificate. It's installed along with DreamPress so you do not need to configure it manually.

    DreamPress overview

    Adding an SSL certificate will redirect all DreamPress generated links. However, it's possible for a visitor to input a direct URL to your site which is not encrypted. To force ALL requests (even direct HTTP requests) to redirect to HTTPS, add this code to your .htaccess file.

    Can I have password protected folders?

    Yes, but be careful. WordPress doesn't always play well with that, and the DreamPress cache 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.

    Is Secure Hosting (HTTPS) supported by DreamPress?

    Yes. You can use a secure connection on your site if you choose to. Bear in mind, while DreamHost caches all safe HTTPS requests, it still won't be quite as fast as a non-HTTPS site.

    Is HTTP/2 available for DreamPress?

    Yes! DreamPress servers come with Nginx and HTTP/2 by default for SSL/TLS. It's included on all HTTPS sites (loaded automatically for all new users by default, all existing users with HTTPS, and all existing users who add HTTPS to their DreamPress domain.

    Traffic

    How much traffic can my site take?

    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 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's multi-level caching systems.

    Caching

    How does WordPress caching work on DreamPress?

    Your DreamPress install includes the  Proxy Cache Purge  plugin, which was written by DreamHost WordPress developers. When active, the plugin automatically detects changes to your post content (such as an edit, a new post, or a comment on a post) and then flushes the appropriate cache for you. The plugin runs on its own and requires no configuration for the majority of its users.

    When editing pages in WordPress, you may notice a lag between the time you save a change and the time it appears live. Or, if you edit content outside of WordPress, such as uploading media via SFTP or editing CSS directly, you may not immediately see these changes. The built-in server cache allows you to fix this by giving you the ability to manually purge your cache at any time.

    To manually purge your cache, click the 'Purge Cache' link within the Cache drop-down menu, located in the WP-Admin toolbar at the top:

    How can I be sure my site is cached?

    The Proxy Cache Purge plugin offers an option in your WP-Admin panel that checks page URLs on your site to make sure they are caching successfully. If a page on your site is not caching, the 'Check Caching' option tells you the items you can check that may resolve this issue.

    To access this option, navigate to the 'Proxy Cache > Check Caching' menu in the left pane of your WP-Admin dashboard. For more information about using these features with the DreamPress Cache, see the following article:

    Managing the DreamPress cache

    Can I use other plugins besides the DreamPress cache 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 the DreamPress cache. You may need to enter your built-in server cache IP address. To find that, go to Manage Domains and click on the 'DNS' link beneath the domain. The IP Address entry for www is your built-in server cache. For example:

    www A 208.97.157.172

    See also

    View Article
  • Overview

    DreamPress offers several types of payment plans depending on your needs.

    Payment cycle Select either an annual pre-paid plan, or a monthly plan.

    Server storage Select 30GB for a DreamPress entry-level plan or select extra storage space at an added cost on DreamPress Plus or DreamPress Pro plans.

    Plan type Choose between a 'DreamPress', 'DreamPress Plus', or 'DreamPress Pro' plan.

    Visit the following page to view current plan details and prices:

    DreamPress plans and pricing

    Plan details

    Downgrading gives a credit for any unused portion of the billing period to be used on another hosting plan.

    A 30-day money-back guarantee is available when an annual plan is canceled in the first 30 days. View the ' Terms of Service ' page for further details.

    Additional domains

    All DreamPress plans include a single domain and the ability to add a staging site. If you wish to add more than one site, then each new site is billed individually.

    Non-Profit discount

    DreamHost offers US-based 501(c)(3) organizations a discount on DreamPress, managed WordPress hosting. The discount of up to 35\% off is good for the life of the plan. View the following article for details:

    DreamPress non-profit discount

    See also

    DreamPress overview

    How do I upgrade a WordPress site to DreamPress?

    View Article
  • Overview

    This article describes how to enable Passenger on your domain within the DreamHost panel.

    How to enable RVM

    If your Ruby application won't start because of a missing gem, then you must install it locally using Bundler. For more information about using Bundler, please visit the following page:

    Using Bundler to install Ruby gems

    Enabling Passenger

    Navigate to the Manage Domains page.

    Click the Edit button to the right of your domain under the 'Web Hosting' column.

    The 'Manage Domains' settings page opens:

    Scroll down to the 'Web Options' section and check the 'Passenger (Ruby/NodeJS/Python apps only):' check box.

    A WARNING dialog box then appears:

    Click the OK button. The panel adds the /public subdirectory for you.

    If you already have a /public directory in the current 'Web directory, clicking OK will only switch the 'Web directory' to this new /public folder. Nothing in it is removed.

    If you do not already have a /public directory, the panel creates it for you with a coming soon page. The files in your current 'Web directory' remain untouched.

    Click the Change settings button to save your changes.

    Whenever the code or configuration files for your application are modified, you must create or update the modification date of the file "tmp/restart.txt" in the application's root directory tree in order to trigger Passenger to reinitialize the application. Passenger caches many resources so changes are not recognized unless the modification date of "tmp/restart.txt" is changed.

    The most common method to make this change is to run the following command via SSH.

    [server]$ "touch tmp/restart.txt" .

    (Ruby on Rails automatically creates a directory named "tmp". If you are creating non-RoR application, you may need to create the "tmp" directory manually.

    The "public" subdirectory

    Passenger maps the directory named "public" to be the document root for your domain/subdomain.

    If a static HTML file named "public/index.html" exists, it's then used as the response for requests for the root document (i.e., "/").

    If you want your application to handle requests for the root document, then you must first remove "public/index.html" (if it exists).

    By default, Ruby on Rails creates a static "public/index.html" file.

    Likewise, a file inside the "public" subdirectory that is named with one of the suffixes recognized by Apache (e.g., "public/foo.cgi" or "public/foo.pl") will be treated as an executable CGI script in the usual Apache fashion. (See CGI for more information.)

    See also

    Passenger overview

    Passenger and Python WSGI

    How to enable Node.js

    View Article
  • Rebooting your VPS

    If necessary, you can restart your VPS within your panel:

    Go to the VPS page.

    To the right of your VPS, click the Restart button under the ‘Action’ column.

    Please allow a few moments to complete. You may notice a brief downtime on your website as a result.

    See also

    Commands to troubleshoot your VPS

    How to check your resource usage on a VPS

    How to change your web server to Nginx

    VPS optimization overview

    View Article
  • Overview

    This article explains how to change the type of VPS plan in your panel. This assumes you have already purchased a VPS plan and wish to change the amount of RAM and Storage to a different amount.

    Changing your plan type

    Navigate to the VPS page.

    How do I move users and domains to my private server?

    Click theChange Plan button to the right of your current VPS.

    ClickGet This VPSunder the plan you wish to change to.

    Click the billing plan you'd prefer.

    A success message confirms your VPS will be upgraded in just a few moments.

    Changing your billing plan

    Navigate to the VPS page.

    Click theChange Plan button to the right of your current VPS.

    ClickChange paymentbuttonunder the plan you wish to change to.

    Click the billing plan you'd prefer.

    Select your new billing plan.

    See also

    DreamHost VPS

    Adding a private server (VPS)

    How do I add a user to my private server?

    How do I log into my VPS before pointing DNS to DreamHost?

    View Article
  • Overview

    You can move a single domain by creating a new username on the new server, then switching your site to use this new username. When you save changes,all files will be migrated to the new server. View the following article for further details:

    Migrating a single website to a different server

    See also

    Internal links

    DNS propagation overview

    How do I manually migrate my domain to a private server?

    How do I move users and domains to my private server?

    How do I add a user to my private server?

    External links

    UNIX Tutorial for Beginners

    View Article
  • Adding a MySQL VPS

    Navigate to the VPS page.

    MySQL VPS overview

    Click the Add MySQL VPS button.

    Once added, it may take a few hours to provision the new server.

    When you sign up for a MySQL VPS, all your databases are moved to it at midnight Pacific time. (The panel shows it as a merge.)

    No SSH access is available.

    After it’s provisioned, you can manage it on your VPS dashboard page.

    Deleting a MySQL VPS

    If you no longer need your private database server, you can delete it in your panel.

    Navigate to the Dashboard page.

    You will see your server listed aspsmysqlXXXXX.

    To the right, click theDelete button.

    You are asked to confirm that you want your database data migrated to a Shared MySQL server.

    Click the buttonMove everything on psmysqlXXXXX back to shared and then destroy psmysqlXXXXX.

    Your data will then be migrated to the Shared server within 24hrs.

    See also

    View Article
  • What is MySQL VPS?

    DreamHost MySQL VPS is DreamHost's premium shared MySQL database service. Similar in concept to DreamHost VPS, DreamHost PS MySQL uses Linux-VServer to offer an isolated database server.

    This is different from the standard shared MySQL server which an account uses by default, as the shared MySQL server shares other users databases and resources. With the PS MySQL, your databases and resources are protected from other users in the same way a web private server is.

    How much does it cost?

    For the latest information on pricing and plans, visit the DreamHost MySQL VPS page:

    MySQL database pricing and plans

    Is root access available?

    A root and SSH access on a MySQL VPS is not available. You must upgrade to a Dedicated server where the MySQL instance is on the same machine, which allows access to the MySQL config files.

    See also

    How do I add or delete a MySQL VPS?

    MySQL overview

    DreamHost MySQL VPS DreamHost MySQL VPS page

    Commands to troubleshoot your VPS

    Private server overview

    View Article
  • Managing

    How do I create a database?

    Databases can be created in the DreamHost panel only. Databases cannot be created via SSH or phpMyAdmin. View the following article for further details:

    How do I manage my database?

    Is there a limit to how many databases I can create?

    There is no limit and you can create as many databases as you would like for any hosting service. The only exception is the Starter Shared plan where the limit is 5 databases.

    Where can I view the MySQL logs?

    Unfortunately logs are not available for shared MySQL. However, if you have upgraded to a MySQL VPS, support can retrieve the logs for you. Just submit a support ticket in your panel requesting this.

    Contacting support overview

    Is database encryption supported?

    Database encryption is not provided by DreamHost. Please note that if you plan on creating a custom solution to encrypt your database and require root/sudo access to the database server, you would need to purchase a  Dedicated server  or  DreamCompute. Only on those plans would you have direct access to the database.

    Backing up

    Do you provide long term backups for my databases?

    Long term backups for databases are not available. DreamHost only provides 5 days worth of database backups and these are not guaranteed. It’s highly recommended to continually backup your databases locally.

    How can I backup my databases myself?

    Backing up databases can be done via Shell or phpmyadmin. Instructions can be found in the following article:

    How do I backup my MySQL database?

    My domain is no longer pointed to your DNS or it has expired. How can I backup my database?

    If you have a Shell user, you can log into your web server via SSH and perform a mysqldump. Once you’ve completed the backup, you can log into your web server via FTP to download the backup file.

    Can I use my FTP user to access a database?

    No. Domain users such as Shell, SFTP, and FTP are isolated from your database users. Additionally, database access is only available on a Dedicated server.

    Specs and permissions

    Do I have root/sudo access to this MySQL VPS server?

    No. The MySQL VPS is still a managed service so access to the server is unavailable. Only on a Dedicated server would you have access since the databases are hosted locally on that same machine.

    Do database users have all privileges on the database?

    Not all privileges are available. View the following article for a current list:

    MySQL limitations due to shared hosting

    Can I provide limited access to other users to my database?

    Yes. You can create multiple users to access the database and set their privileges. View the following article for details:

    Managing MySQL users, allowable hosts, and privileges

    Accessing

    I have my domain pointed to another host's nameservers, but the domain is pointed to my DreamHost A record. Why am I not able to access the database via phpMyAdmin?

    There is a DNS A record for the actual database hostname in addition to the site’s A records. Just like the domain, you must add that A record as well for the database hostname to work. View the DNS article for details.

    Can I access my database via IP?

    No. You cannot use the IP as an alternative to the hostname.

    General

    Can I update the MySQL version?

    No.

    How do I import my database backup?

    You can do this with a Shell user via SSH or phpMyAdmin. View the following article for details:

    How do I migrate my database to DreamHost?

    What available services do you have for databases?

    All hosting services come with a shared MySQL server. You also have the option to upgrade to a private database server in your panel. View the following article for details:

    MySQL VPS overview

    Why is my database hostname not working?

    Several factors can cause this issue:

    The domain is not pointed to DreamHost’s DNS

    The domain is not fully hosted in the panel

    The domain registration has expired

    You’ve enabled Passenger, or are using Nginx instead of Apache.

    See also

    List of Pre-Sales questions by topic

    View Article
  • Overview

    DreamHost Shared, VPS, Dedicated, and DreamPress are four hosting plans  available for your website.

    The DreamHost Virtual Private Server (VPS) is a premium hosting solution based on Solid State Drives (SSDs.) It is available as an add-on to an existing DreamHost plan or a standalone service. DreamHost VPSs use Linux-VServer to create a "virtual machine" that protects a user's CPU and RAM resources from other users on the same physical machine.

    For example, on a shared server resources are shared by other users. On a VPS, these resources are more isolated which improves performance and helps to maintain stability.

    You can review pricing details for VPS plans on the DreamHost website.

    This article provides details on how to add a:

    VPS server

    VPS User

    other details for managing and using your VPS.

    What features does a VPS include?

    Protected CPU and RAM

    Persistent processes are allowed (and are never killed)

    Ability to alter the memory on the fly, without the need to reboot

    Ability to reboot the server from the panel

    Historical memory and load graphs can be viewed on the panel

    SSD-based drives offering speeds 20x times faster than traditional SATA disk drives

    IP addresses

    Each VPS comes with its own IP address included. You can then add a Unique IP to each domain (IPv4 or IPv6) for an additional fee. Unique IPs are just $5.95/month, or you can save $11.45 by pre-ordering for an entire year at $59.95. You can read more about Unique IPs here:

    Unique IP overview

    Please note that DreamHost is unable to offer static IP addresses. This means that the IP of your site (including Unique IPs) are subject to change. While it doesn't happen that often, DreamHost makes no guarantees that an IP address will never change. However when an IP change does occur, you will be notified via email in a timely fashion.

    Persistent processes

    Unlike a regular shared hosting setup, VPSs allow for persistent processes to run. Regardless of how long it takes to run these processes (web invoked, console invoked, cron, or otherwise), the processes are never killed by the server.

    Dynamic server settings adjustment

    Many of the key configuration options for your VPS server are configured on the fly by DreamHost's automation system to take the best advantage of your available server resources. For instance, if you have a 300MB VPS server, Apache is configured to use a smaller amount of memory than if you had a 1000MB server. The Apache configuration is proportional to the memory allocation and is adjusted when the allocation is increased for the server.

    Wildcard DNS

    Please visit the Wildcard DNS article for instructions on how to enable this service.

    How much does a VPS cost?

     

    Plan

    Monthly

    Yearly (effective monthly price)

    3 Years (effective monthly price)

    RAM

    Disk space

    Basic VPS

    $15

    $165 ($13.75/month)

    $360 ($10/month)

    1GB

    30GB

    Business VPS

    $30

    $330 ($27.50/month)

    $720 ($20/month)

    2GB

    60GB

    Professional VPS

    $60

    $660 ($55/month)

    $1,440 ($40/month)

    4GB

    120GB

    Enterprise VPS

    $120

    $1,320 ($110/month)

    $2,880 ($80/month)

    8GB

    240GB

    See the following page for more information on VPS features and pricing plans:

    https://www.dreamhost.com/hosting/vps/

    FFmpeg and Libav

    The availability of these libraries varies based on what version of Ubuntu your server is running. View the following article for further details:

    How do I prepare my site for Ubuntu Bionic?

    How to check the version of Linux your server is running

    If you need to view the version of Linux your VPS is running, log into your server via SSH. Once logged in, run the following command:

    [server]$ cat /etc/issue

    Ubuntu 14.04.5 LTS

    Are MySQL databases on the VPS?

    No. A VPS only runs website files. Any databases you add in your panel will default to a Shared MySQL server.

    You can also purchase a private MySQL server, but this would be a second server in addition to your VPS. View the following article for further details:

    MySQL VPS overview

    Will I be refunded if I cancel a VPS hosting plan?

    Refunds only apply to Shared hosting accounts. View the Refunds article for further details:

    Refunds

    See also

    DreamHost VPS

    Adding a private server (VPS)

    How do I add a user to my private server?

    How do I log into my VPS before pointing DNS to DreamHost?

    How do I move users and domains to my private server?

    Commands to troubleshoot your VPS

    VPS optimization overview

    VPS panel

    MySQL VPS overview

    Nginx overview

    View Article
  • Hosting plans

    Starter Shared hosting

    Shared hosting

    VPS hosting

    Dedicated

    DreamPress

    Apache and Nginx

    Comparison graph of hosting plans

    Remixer

    DreamCompute

    Secure hosting

    Email hosting

    MySQL hosting

    Overview

    DreamHost offers several different types of hosting plans running on the Ubuntu operating system. Most sites work well on the basic Shared hosting plan, however if your site is getting a large amount of traffic or if you need to make customizations not available to shared users, you may need to upgrade to a VPS, Dedicated, or DreamPress plan.

    You can find further details at DreamHost Hosting which describes the various options available to you as a DreamHost customer.

    What if my domain is registered at another company?

    You can still host your site at DreamHost if your registration was purchased at another company. You just need to point your DNS to DreamHost. The other option would be to transfer the registration to your DreamHost account. View the following articles for further details:

    What DreamHost DNS records do I point my site to?

    How do I transfer my domain registration to DreamHost?

    Starter Shared hosting

    Starter Shared is DreamHost's introductory Shared hosting plan that's geared for users who are new to web hosting. It's also a perfect solution for a personal or business website that displays simple information about yourself or services that you offer.

    What's included?

    Since this is a starter plan, there are a few limitations that don't exist with a regular Shared plan. For example, a Starter Shared plan offers the following:

    1 domain you can use for your website (e.g., example.com)

    5 subdomains of your single domain name (e.g., blog.example.com)

    Email is not included an email plan  is available for an extra charge

    Site storage is limited to 50GB

    A maximum of 6 FTP/SFTP/Shell users

    A maximum of 6 MySQL databases

    Refund policy

    Refunds on Starter Shared follow the same policy as a regular Shared hosting plan.

    Pricing

    Current prices are available on the following page:

    Shared hosting

    Adding a Starter Shared plan

    View the following article for instructions on how to add this plan:

    Adding a Starter Shared hosting plan

    Shared hosting (a.k.a. Happy Hosting)

    On a shared server, you 'share' server space with other customers. Though no other customer has access to your files, you and the other customers share the resources of the server. This means that if another website on the same server is receiving a large amount of traffic and using a lot of CPU resources, it's possible that your site may run slower as a result.

    While DreamHost works hard to make sure all sites on a shared server never disrupt other sites, this is always a possibility due to the nature of shared hosting.

    What can I host on shared hosting?

    Shared hosting is perfect for blogs, portfolios, personal/business sites, and database-driven sites. Visit the following page for further information:

    Shared hosting

    Non-Profit discount

    Shared hosting plans offer a free Non-Profit plan for qualifying non-profit, charitable organizations registered in the United States. View the following article for further information:

    Non-profit discount

    Pricing

    Commitment 

    Price

    1 month

    $10.95/month

    1 year

    $119.95 each year (prepaid; $9.95/month)

    3 years

    $282.20 every 3 years (prepaid; $7.95/month)

    View the Shared Hosting page for current plan options.

    VPS hosting

    The DreamHost Virtual Private Server ( VPS ) is a premium hosting solution that runs on Solid State Drives (SSDs.) It is available as an add-on to an existing DreamHost plan or a standalone service.

    DreamHost VPSs use Linux-VServer to create a "virtual machine" that protects a user's CPU and RAM resources from other users on the same physical machine. This is accomplished by kernel level isolation which allows the server to run multiple virtual units at once. Those units are sufficiently isolated to guarantee the required security, but utilize available resources efficiently, as they run on the same kernel.

    Comparison of Shared and VPS hosting

    On a shared server, resources are shared by other users. On a VPS, these resources are more isolated which improves performance and helps to maintain stability.

    You also have the ability to control how much RAM your server uses. On a shared plan, this is limited to a specific amount; but on a VPS, you get to select how much RAM your server can use.

    What can I host on a private server?

    A VPS is ideal for websites that require more resources than a shared server can provide, yet do not need the full power of a Dedicated server. It's ideal for businesses, ecommerce, designers, and developers.

    Pricing

    View the VPS Hosting page for current plan options.

    Dedicated

    A Dedicated server is a server that only contains your websites and data on it. No other customers share any resources or have any access to it, as it's "dedicated" to you and your data.

    You have full root access to customize it anyway you wish, but please note that DreamHost support cannot assist if any errors occur as a result of a customization.

    Another feature is that your MySQL server is on the same Dedicated server allowing faster access, unlike with all other hosting plans where your MySQL databases are on a separate database server.

    View the following page for further details on Dedicated plans:

    Dedicated

    What can I host on a Dedicated server?

    Dedicated servers are Fully-managed business-class servers. They are perfect for resource-heavy apps and giant websites.

    Pricing

    View the Dedicated Hosting page for current plan options.

    DreamPress

    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.

    One DreamPress plan is configured for a single domain. If you want multiple domains on DreamPress, they must each have their own separate DreamPress hosting plan activated.

    DreamPress uses both a VPS for the webserver and a private database server for your database. This is different from a standard VPS service where your databases are still on a shared database server.

    View the following page for further details:

    DreamPress

    DreamPress Non-Profit discount

    DreamPress plans offer a free Non-Profit discount for qualifying non-profit, charitable organizations registered in the United States. View the following article for further information:

    DreamPress non-profit discount

    Pricing

    View the WordPress hosting page for current plan options.

    Apache and Nginx

    If you have upgraded to a VPS or Dedicated server, you have the option to run Nginx as your web server. Shared and DreamPress hosting must use Apache. View the following article for a detailed comparison:

    Web Server Performance Comparison

    Comparison graph of hosting plans

    Feature

    Shared

    VPS

    Dedicated

    DreamPress

    Isolated CPU resources

    No

    No

    Yes

    No

    Isolated RAM resources

    No

    Yes

    Yes

    Yes

    root/sudo access

    No

    No

    Yes

    No

    MySQL server on same machine

    No

    No

    Yes

    No

    Root access to MySQL server

    No

    No

    Yes

    No

    Can run Apache

    Yes

    Yes

    Yes

    Yes

    Can run Nginx

    No

    Yes

    Yes

    Yes

    Free domain included

    Yes

    No

    No

    Yes

    Unlimited storage

    Yes

    No

    No

    No

    Unlimited domains

    Yes

    Yes

    Yes

    No

    Remixer

    Remixer is a 'cloud hosted' click-to-edit site builder, that requires no coding experience. You build your entire site within the Remixer panel, so there are no HTML/CSS/JavaScript files to upload. View the following articles for further details.

    Getting started with Remixer

    Remixer plans and pricing

    DreamCompute

    DreamHost also offers a cloud computing service called DreamCompute. View the following article for further details.

    What is DreamCompute?

    Secure hosting

    Secure hosting is not a specific plan, it's a service you can add on to any plan. View the following links for details:

    SSL certificates overview

    Adding an SSL certificate overview

    SSL certificates category

    Email hosting

    You can purchase an email-only plan or add email service to any Starter Shared or domain registration-only account. For more information, please see the following article:

    Paid email plan

    All Shared, VPS, DreamPress, and Dedicated hosting plans include email service. DreamCompute-only plans do not include email hosting.

    MySQL hosting

    With any Shared or VPS hosting plan, you also have free access to a shared MySQL server. This Shared MySQL server can store all of your databases for all of your websites. Since it's a shared server, resources are 'shared' with other customer in the same way as a shared web server mentioned above.

    If you need more database resources than the Shared MySQL server can offer, you can purchase a private MySQL server.

    MySQL VPS overview

    If you choose to purchase this plan, all of your databases will be moved to the private MySQL server. It's not possible to split databases across Shared and private MySQL servers.

    See also

    Hosting

    Web Server Performance Comparison

    Shared

    Shared hosting

    VPS

    VPS hosting

    Private server overview

    MySQL VPS overview

    Dedicated

    Dedicated hosting

    Dedicated server overview

    DreamPress

    DreamPress hosting

    DreamPress overview

    View Article
  • Overview

    MySQL is a relational database management system (RDBMS) released under the GNU General Public License (GPL). It is one of the most widely used open-source database systems, and is compatible with a multitude of website applications. DreamHost also offers SQLite  on DreamHost VPS and Dedicated servers.

    View the following article for instructions on how to add a MySQL database:

    Creating a MySQL database

    You can make changes to your MySQL databases on the MySQL Databases.

    MySQL version

    Shared MySQL servers are running MySQL version 5.7.  Private MySQL  servers created after Dec 2018 also run 5.7.

    Other database servers such as  DreamPress, Dedicated, and older  private MySQL  servers run 5.6.

    Storage engines

    The most common storage engines are provided with all DreamHost managed MySQL products. Here is a list of the available storage engines:

    mysql> show engines;

    Engine

    Support

    Comment

    Transactions

    XA

    Savepoints

    CSV

    YES

    CSV storage engine

    NO

    NO

    NO

    MRG_MYISAM

    YES

    Collection of identical MyISAM tables

    NO

    NO

    NO

    FEDERATED

    NO

    Federated MySQL storage engine

    NULL

    NULL

    NULL

    MyISAM

    DEFAULT

    Default engine as of MySQL 3.23 with great performance

    NO

    NO

    NO

    InnoDB

    YES

    Supports transactions, row-level locking, and foreign keys

    YES

    YES

    YES

    MEMORY

    YES

    Hash based, stored in memory, useful for temporary tables

    NO

    NO

    NO

    Customers familiar with running their own MySQL server and who wish to use a newer version, may be interested in the trying out DreamCompute which offers multiple newer operating systems to choose from which have newer versions of MySQL available for install.

    Comparison of MySQL products

    DreamHost shared and VPS products for MySQL run on specialized hardware to optimize disk i/o and therefore the speeds in which they return your query. These are networked products which run independent of the webserver hardware. Dedicated servers offer MySQL that is optimized for other use cases where the webserver and MySQL server co-existing makes more sense.

    Product

    Description

    Local/Networked

    Suitable For Hosting Needs

    Shared MySQL

    Included with a shared hosting plan, and with a Webserver VPS.

    Networked

    Standard MySQL for optimized and shared hosting appropriate databases.

    MySQL VPS

    An additional service similar to a webserver VPS that only runs the MySQL server and no other services.

    Networked

    High performance MySQL for customers who need higher uptime or have outgrown shared MySQL.

    Dedicated MySQL

    A dedicated server runs a MySQL server locally along with the other web services.

    Local

    A dedicated server is ideal for software that sends larges amounts of data between web applications and MySQL, as there is no network in between to limit throughput.

    MySQL limitations due to shared hosting

    Not all privileges are available to manage your database due to the nature of shared hosting. View the following article for a list of available privileges.

    MySQL limitations due to shared hosting

    How many databases can my account contain?

    There is no limit to the amount of databases, but in general you will have one for each site that requires a database.

    Is database encryption supported?

    Database encryption is not provided by DreamHost. Please note that if you plan on creating a custom solution to encrypt your database and require root/sudo access to the database server, you would need to purchase a Dedicated server or DreamCompute. Only on those plans would you have direct access to the database.

    See also

    How do I restore my database in the panel?

    How do I manage my database?

    How do I connect to my database via SSH?

    How do I connect to my database with a temporary MySQL hostname?

    How do I connect to my database using a third-party program?

    How do I connect to my database using SQLyog?

    Troubleshooting your MySQL database

    Backing up database overview

    Finding your database login credentials

    phpMyAdmin overview

    How do I optimize my database?

    SSH overview

    External links

    MySQL Documentation

    phpMyAdmin Home Page

    Indispensable MySQL queries for custom fields in WordPress

    View Article
  • Overview

    By default, domain registrations are not automatically renewed. This is different from hosting plans, which are automatically renewed. This article provides information on renewing your domains that are registered through DreamHost.

    What if my domain registration expires?

    The following domains are known as 'Auto-Renew Only' domains:

    .AT

    .DE

    .JP

    If you own one of these domains, view the following article:

    How are Auto-Renew domains renewed and charged?

    Option #1: Setting your domain to auto-renew

    You can set the automatic renewal of your domain registration in your panel at Registrations :

    On the 'Registrations' page, you see this column for your domain registration in the far right. In the image above, the auto-renewal option is already set since the word 'YES' is in bold. Click the other links to set the other status.

    The yes link sets the auto-renewal for the domain. The notices are still sent as per usual, but the notice states that the domain is automatically renewed when it is set to expire and the charge for that automatic renewal is applied to your account instead of requiring a payment for this up front.

    The let expire link sets the domain to expire on its expiration date, but the notices for this will still be sent as per ICANN’s policy with regards to notifying the registration owner of this information.

    The ask link sends notices to ask you if you wish to renew it. Manual renewals require payment up front when clicking the Renew! button for that domain on the ‘Registrations’ page.

    Regardless of how you set up the renewal process for your domain, the notices for the domain’s expiration are still sent even if it’s set to 'let expire'. Starting 5 weeks before the domain’s expiration date, DreamHost begins sending you notices of the domain’s expiration and how you can renew it if you wish to do so.

    The image above shows the renewal is processed for free as it’s showing a $0.00 price. Clicking the Renew! button renews the domain within 30 minutes.

    You can click the drop-down menu to renew the domain for multiple years. However, DreamHost only allows up to a 2-year renewal for any domain name.

    For more information on how auto-renew domains are renewed and charged at DreamHost, please see:

    How are Auto-Renew domains renewed and charged?

    Setting up AutoPay

    Option #2: Manually renewing a domain

    You must resolve any outstanding account balance before you can purchase, renew, or transfer-in a domain registration.

    To manually renew your domain name:

    Visit the Registrations page.

    Click on the Renew! button to the right of the domain name you wish to renew.

    The next pages displays the domain and the renewal price.

    The renewal price may show as $0.00. You still must continue this process to renew the domain registration.

    Click the Register Domain(s) Now button.

    It's currently not possible to renew multiple domains at once.

    Paying for the domain

    If a registration renewal price increases after you receive a renewal notice, DreamHost will honor the quoted rate in the notice. For example, if your quoted renewal is $9.99/year and the price then increases to $11.99/year, DreamHost will still bill you at $9.99/year.

    If you owe something for the registration renewal, the cost is listed in the drop-down menu in the screenshot above. This charge must be paid up front for manual renewals. Auto-renewals are automatically charged to your account.

    If you cannot log into your account

    If you cannot log into your account, contact support for assistance.

    What are the domain registration and renewal fees?

    The latest pricing can be found in the "List of Current TLDs and Pricing" table on the following page, which dynamically generates the most up-to-date pricing info for new domain registrations and domain renewals:

    https://www.dreamhost.com/tlds/

    Where can I find more information?

    View the following FAQ article for more details on domain registration renewals.

    DomReg Renewal FAQs

    Are domain registration renewals refundable?

    View the following article for further details.

    How domain registrations are charged and billed

    How long can I renew my domain for?

    You can renew a domain for up to 2 years, with payment required upon renewal.

    See also

    Domain registration overview

    How do I redeem my domain registration?

    How do I use a free domain registration?

    View Article
  • When can I renew my DreamHost domain?

    How domain registrations are charged and billed

    When you renew a domain, it adds the renewal period onto the existing time the domain has left. So, the expiration date never changes. If you registered the domain on May 1st but renewed on April 12th, the domain will renew from the original date of May 1st. You never lose any time, it just adds an extra year or 2 onto the existing time.

    Most domains can be renewed at any time throughout the year, however some foreign or specialty domains (such as .de, .es, and .eu) have different renewal requirements from their respective registries. Any special renewal requirements for these domains are noted in your domain renewal reminder emails which are sent to you starting 4 weeks before the domain's upcoming expiration date.

    Domains must be renewed in full-year increments.

    You are unable to renew a domain if a one-year renewal would put you over the maximum renewal duration.

    You can also enable auto-renew in the web panel for most domain extensions.

    What happens if I don't renew my domain in time?

    When your domain expires, any services associated with the domain (your website, email service, and so on) stop working. For most extensions/TLDs, DreamHost holds onto the domain registration for 30 days to allow you to renew it in case the renewal date was missed. After this 30-day period passes, DreamHost releases the domain back to the national registry service who starts the true expiration process at its level. It will then place the domain in a 'redemption' period for another 30 days and will only release the domain back to DreamHost for a fee that the registrar charges (in addition to a one-year renewal charge for the domain). To view the redemption fee chart, please visit the Domain Registration Terms page for further details.

    Once the redemption period ends, the national registry service schedules the domain for release back to the public.

    Some foreign registries, such as .de, .es, and .eu, have different time frames for the expiration process. If you own a domain that has a different renewal and expiration process, these are noted in your renewal reminder emails, which are sent to you starting 4 weeks before the domain's upcoming expiration date. 

    What can I do with my domain while it is expired?

    You cannot do the following once it has expired:

    use any email or website services at that domain

    change the WHOIS contact info for your domain

    change the nameservers for your domain

    Unfortunately, this isn’t anything DreamHost has control over as these restrictions are made at the registry level.

    If you need to do any of the actions that are mentioned above, you must renew your domain first. 

    Can I transfer my domain while it is expired?

    Yes. You can transfer a domain registration away from DreamHost if it’s expired, but unfortunately, the domain’s WHOIS details cannot be edited after the domain expires. So, DreamHost recommends that the transfer of your registration is completed before it expires. Otherwise, you must renew it with DreamHost in order to adjust any WHOIS information. 

    How can I use PayPal to register or renew a domain name?

    You can use PayPal to make payments towards the amount  of a pending renewal, either by AutoPay or by making a single payment, which results in a positive DreamHost account balance. This balance can then be used to renew (and Auto-Renew) domain name registrations.

    To register using PayPal:

    Navigate to the Manage Payments  page in your panel.

    See the ' Add PayPal to your account ' article and do one of the following:

    Enable AutoPay from your PayPal account, which automatically sets up recurring payments for DreamHost services.

    Make a single PayPal payment for specific DreamHost services.

    Once your PayPal payment processes, an email confirmation is sent to you.

    Renew your registration.

    Are domain registration renewals refundable?

    View the following article for further details.

    View Article
  • Deleting a database

    You can delete a database created on DreamHost through on the  MySQL Databases  page.

    MySQL overview

    To the right of the database, click the Delete DB button.

    The recycle bin

    Deleted Databases are moved to the recycle bin. You can access this by clicking the MySQL Recycle Bin button on the top left of the page. This allows for easy restoration of databases that are mistakenly deleted.

    Databases are stored here for 30 days. After 30 days, they are permanently deleted. 

    If you wish to permanently delete a database, you can log into MySQL using the command and issue a "drop database" statement to expedite the process.

    What happens to the database user?

    If the user for the database you deleted is NOT assigned to any other database, it will also be deleted along with the database.

    See also

    Managing databases

    View Article
  • Overview

    WordPress hardcodes your site's domain name into the database in such things as image, link, and page URLs. This is a problem when you migrate the site to another domain name, or add an SSL certificate because clicking on links redirect back to the old site, or non-secure version.

    If you even need to migrate your WordPress site to a different domain name, or add an SSL certificate to it, you must update the URLs in your database in order for your site to function. You have two options to update the URLs in your database:

    use a plugin

    use the command line

    How to log into your WordPress site

    When changing URLs in WordPress, you must make sure the DreamHost panel does not conflict with your new URL settings by adding or removing www from the domain name. View the following article for information on how to ensure the panel is correctly configured.

    When changing URLs breaks WordPress

    When to use these instructions

    There are three reasons you will need to update the URLs in your database.

    Reason

    URL change

    Moving to a different domain name

    example.com to dreamhost.com

    Moving to a subdirectory

    example.com to example.com/blog

    Adding an SSL certificate

    http://example.com to https://example.com

    The instructions in this article are the same in all of these cases. The only difference will be the URLs you enter into the plugin or the command line.

    This article adds HTTPS to the URL and changes the domain name to a subdirectory.

    Option 1 Using a plugin

    Below are a couple of plugins that work to change all URLs in your database.

    Velvet Blues Update URLs

    Search and Replace

    Better Search Replace

    The following steps walk you through how to update your URLs using the 'Search & Replace' plugin. This example changes the URLs in the database from 'http://example.com' to 'https://example.com/blog'.

    First, make a  backup of your database. Just in case something goes wrong, you can easily replace your old database data.

    Download the  Better Search Replace plugin. In your panel navigate to 'Plugins > Add New'.

    Search for 'Better Search Replace'.

    Click Install Now.

    Click Activate. 

    In your Dashboard, navigate to the plugin under 'Tools > Better Search Replace'.

    Click the 'Search/Replace' tab.

    In the first field titled 'Search for:', enter your current http URL. For example:

    http://example.com

    In the second field titled 'Replace with:', enter your new URL. For example:

    https://example.com/blog

    Select all tables.

    You probably want to leave 'Replace GUIDs' UN-checked. View the following article for further details:

    Important GUID Note

    Check the box titled 'Run as dry run?'. 

    Click Run Search/Replace.

    This should respond with a message at the top notifying you of what would have been updated if you did not check the 'Dry Run' box.

    If everything looks good, run it again with the 'Run as dry run?' box UN-checked.

    A confirmation will display notifying you of how many changes were made.

    At this point, all URLs in your database point to your site's new URL.

    Option 2 Using the command line

    If you are familiar with the command line, you can run the following command for the same effect (assuming you saved the old WordPress address).

    First, log into your server via  SSH.

    Next, navigate to your WordPress installation. Assuming it's 'example.com', you'd probably run the following:

    [server]$ cd ~/example.com

    In your site's directory, you can use  wp-cli  to update the URLs using the following command.

    [server]$ wp search-replace http://example.com https://example.com/blog --dry-run

    The --dry-run call at the end tests the address

    If the changes make sense to you, then run the above command again without the 'dry-run' call.

    Clear your plugin's cache

    At this point, you should also delete your cache if using WP Super Cache. 

    Deleting the cache

    If you check your site now, all URLs within your WordPress site will use the new domain name. 

    Final steps

    At this point, all URLs in your database point to HTTPS, however, there are a few other steps you must take to fully ensure all links within your site point to the secure version of your domain name (This means the 'HTTPS' version).

    View the following article for additional steps you should take to adjust your WordPress site to use an SSL certificate.

    How do I use an SSL certificate with WordPress?

    See also

    View Article
  • Overview

    The PHP language has a special built-in function called phpinfo() that retrieves information about the PHP environment used on your site.

    You can view this information by creating a phpinfo.php file and uploading it to your site. When viewed in a browser, you will see details about the PHP installation for the specific website.

    This includes information about:

    the PHP version

    PHP compilation options and extensions

    server information and environment (if compiled as a module)

    the PHP environment

    OS version information, paths, master and local values of configuration options

    paths

    master and local values of configuration options

    HTTP headers, and

    the PHP License.

    How do I create a phpinfo.php file?

    Creating it on your computer and uploading to the server

    Log into your server using an FTP client such as Filezilla.

    In Filezilla, create a blank file titled phpinfo.php. Make sure it has the .php extension and not a .txt extension.

    Edit this phpinfo.php file and add the following lines:

    <?php

    phpinfo();

    ?>

    Visit the file in a browser. For example:example.com/phpinfo.php

    The page lists all PHP settings currently used on your website.

    Creating the file on your server

    Log into your server via SSH.

    Make sure you're in your site's directory (where all the other site files are).

    View the Creating and editing a file via SSH article. This example uses 'nano' to create the file:

    [server]$ nano phpinfo.php

    The nano command opens a file. When the file is open, add the following lines:

    <?php

    phpinfo();

    ?>

    Save and close the file and return to your shell.

    Visit the file in a browser. For example:example.com/phpinfo.php

    The page lists all PHP settings currently used on your website.

    See also

    PHP overview

    FTP overview

    Creating and editing a file via SSH

    How do I force other file extensions to load as PHP?

    How do I change the PHP version my shell uses?

    How do I change the PHP version of my site?

    Command line PHP overview

    External links

    phpinfo at php.net

    View Article
  • Overview

    The cron daemon was designed in such a way that it does NOT execute commands within your normal shell environment. This means you cannot use bare commands in cron the way you would from the SSH shell command line. This is because the PATH environment variable is /usr/bin:/bin, and the SHELL environment variable is set to /bin/sh.

    Examples

    This is an example using the 'wp' command.

    * * * * * wp plugin update --all --path=example.com

    The cron daemon doesn't know where the 'wp' command is located. You must specify the full path to all commands not in the default PATH, and always specify the full path for files. For example:

    * * * * * /usr/bin/wp plugin update --all --path=example.com

    If you have any trouble locating where a command is, you can use the following command:

    [server]$ which command-name

    Example:

    [server]$ which wp

    The following prints to your terminal:

    /usr/bin/wp

    Using sudo and cron with an admin user on a Dedicated server

    If you’re on a Dedicated Server and have an admin user, do not use 'sudo' in your crontab. Instead of your script working, you’ll get an error like this.

    [server]$ sudo: no tty present and no askpass program specified

    This is because 'sudo' requires a password to be entered in order to run and cron jobs (along with any program/command/script you could execute from them) do not allow any input to be specified.

    If you need root level permissions for a script, you’ll need to create a file in crontab format in the /etc/cron.d/ directory. Of course, make sure to keep a backup of that file as that location is outside the /home directory and not included in DreamHost’s internal backups.

    MAILTO variable requirement

    For performance reasons, DreamHost now requires all crontabs to have a MAILTO variable set.

    The MAILTO variable can be set to anything. If you leave it blank, it does not email output of your cronjobs. You can set it to your username to have it delivered to your user as usual, or you can specify an external email address. Please note that if you specify an external email address, any cron emails that get sent (including completion/error notification messages) factor in to your shell user's hourly email sending quota. For more information about that limit, please view the SMTP quota article.

    Cronjob troubleshooting

    If your cron job doesn't create any output on the command line, no email is sent even if the cron job is set to send email.

    Examples of a valid MAILTO configuration in a crontab file

    To disable sending cronjob output via email:

    MAILTO=""

    To send cronjob output to [email protected]:

    [email protected]

    To send cronjob output to your shell user’s Maildir folder:

    MAILTO=youruser

    As stated when running man 5 crontab, strings are not parsed for environmental substitutions or replacement of variables. This means that MAILTO=$LOGNAME does not work.

    Cron job character limit

    When adding/modifying a cron job in the panel, the 'Command to run' field specifies a maximum of 1000 characters. This limit does not include the additional content DreamHost adds to the cron job (such as locking or the sh -c $’’ encapsulation). On average, that additional content should not be more than 100 characters. Violating the limit results in this warning:

    /bin/sh: -c: line 1: unexpected EOF while looking for matching `''

    /bin/sh: -c: line 2: syntax error: unexpected end of file

    If you encounter this error it’s recommended that you encapsulate your commands into a script and modify the cron job to execute the script instead. For example, if you place the command (or commands) that contain more than 1000 characters in a file named ‘cron.sh’ and place that file in your user’s home directory, you could then set the cron job command as follows.

    [server]$ . ~/cron.sh

    Be sure to review the Execution environment section above to make sure you account for any missing variables, paths, and/or declarations.

    See also

    SSH overview

    Crontab overview

    Creating a custom Cron Job

    How do I create a cron job?

    Command line PHP overview

    View Article
  • Overview

    When you run the php command on the server, it uses the system version (which changes over time). You can specify a version of PHP for your shell to use. This way, all PHP commands will use that specific version.

    Which shell user's file to update?

    The examples in this article use the bash shell. There are also other shells you can use at DreamHost. The profile file you update is different depending on the shell type you're using. For example, the current supported default shells are Bash, Korn, Tcsh, and Zsh. Below are the profile files for each shell type:

    .bash_profile

    .kshrc

    .tcshrc

    .zshrc

    Default PHP settings at DreamHost

    If you’re using tcsh, you must modify the command as shown below before they can be added to the .tcshrc profile:

    alias php /usr/local/php74/bin/php

    set path=(/usr/local/php74/bin $path)

    You can also modify this accordingly using the path to any of the PHP-CLI binaries.

    Changing your shell user's PHP version

    To change the default version of PHP under your Shell user:

    Log into your user via SSH.

    Make sure you’re in your user's directory by running the following:

    [server]$ cd ~

    View the  creating and editing a file via SSH  article for instructions on how to edit your existing .bash_profile. Add the following line to force PHP 7.4.

    export PATH=/usr/local/php74/bin:$PATH

    Save and close the file and return to your shell.

    Update that file by running the following command:

    [server]$ . ~/.bash_profile

    If you now run php -v you’ll see the new version being used.

    [server]$ php -v

    Using an alias to change the PHP version

    You can also use an alias instead. Add the following to your .bash_profile file.

    alias php='/usr/local/php74/bin/php'

    This works the same as export PATH when added to your .bash_profile.

    See also

    PHP overview

    Creating and editing a file via SSH

    Command line PHP overview

    How do I change the PHP version of my site?

    Viewing your site's PHP version and settings

    php.ini overview

    What versions of PHP are available at DreamHost?

    View Article
  • Overview

    This article shows how to manually create a custom cron job using your Shell user. It involves logging into the server via SSH to run several commands.

    These instructions can also be used to edit an existing cron job you created in the panel, however for simplicity, it's recommended that if you created it in the panel, you continue to edit it from the panel.

    Basic details

    The crontab files are where the lists of jobs and other instructions to the cron daemon are kept. Each user at DreamHost has their own individual crontab file that can be access by running the following command under your Shell user :

    [server]$ crontab -e

    Crontab files are simple text files that have a particular format. Each line of a crontab file follows a particular format as a series of fields, separated by spaces and/or tabs. Each field can have a single value or a series of values. A single cron job should take up exactly one line, but this can be a long line (more than 80 characters).

    Things to look out for when editing/creating your crontab

    Each line has five time/date fields, followed by a command, followed by a newline character ('\n'). A common problem is not including a newline, so hit 'Enter/Return' a time or three at the end of your command.

    Another common problem is automatic word-wrap breaking up a long line into multiple lines, so make sure your text editor doesn't do this.

    Blank lines and leading spaces and tabs are ignored. Lines whose first non-space character is a hash-sign (#) are ignored as they are considered comments. Note that comments are not allowed on the same line as cron commands, since they are interpreted as being part of the command. Similarly, comments are not allowed on the same line as environment variable settings (like MAILTO).

    What if I already created a cron job in the panel under my Shell user?

    There are two ways to create custom cron jobs.

    Editing the existing crontab on the server

    Using a custom crontab file

    If you've edited the existing crontab

    If you have already created a cron job in your panel, you can view it by running crontab -e under your Shell user. If you edit the file to add another cron job below the existing panel one, the panel cron job will continue to function normally in addition to your new edited code.

    Any adjustments in the panel will not affect your custom code.

    If you switched the server's crontab with your custom crontab

    You can also use a custom crontab that you created. If you do this, the server's crontab is overwritten. You can replace the server's crontab by running the following:

    [server]$ crontab /home/username/mycrontab

    However, if you then add or edit a cron job in the panel, your custom crontab will be overwritten. So you need to either use the server's crontab, or your custom crontab.

    Manually creating a custom cron job

    The instructions below explain how to add a custom cron job under your Shell user. These instructions assume you have NOT added a cron job in the panel yet, so the crontab file is blank.

    Log into your server via SSH using the Shell user you wish to create the cron job under.

    Once logged in, run the following command to open your crontab file.

    [server]$ crontab -e

    no crontab for example_username - using an empty one

    Select an editor. To change later, run 'select-editor'.

    1. /bin/ed

    2. /bin/elvis-tiny

    3. /bin/nano <---- easiest

    4. /usr/bin/emacs24

    5. /usr/bin/jed

    6. /usr/bin/jmacs

    7. /usr/bin/joe

    8. /usr/bin/jpico

    9. /usr/bin/jstar

    10. /usr/bin/mcedit

    11. /usr/bin/rjoe

    12. /usr/bin/vim.basic

    13. /usr/bin/vim.tiny

    Choose 1-13 [3]: 3

    You are then asked to choose an editor to view this file. #3 uses the program 'nano' which is the easiest option. View the ' Creating and editing a file via SSH ' article for instructions on how to use nano.

    You are presented with this new crontab file:

    # Edit this file to introduce tasks to be run by cron.

    #

    # Each task to run has to be defined through a single line

    # indicating with different fields when the task will be run

    # and what command to run for the task

    #

    # To define the time you can provide concrete values for

    # minute (m), hour (h), day of month (dom), month (mon),

    # and day of week (dow) or use '*' in these fields (for 'any').#

    # Notice that tasks will be started based on the cron's system

    # daemon's notion of time and timezones.

    #

    # Output of the crontab jobs (including errors) is sent through

    # email to the user the crontab file belongs to (unless redirected).

    #

    # For example, you can run a backup of all your user accounts

    # at 5 a.m every week with:

    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

    #

    # For more information see the manual pages of crontab(5) and cron(8)

    #

    # m h dom mon dow command

    At the bottom, add the code for your cron job. This example runs a file named mail.php under the username of 'example_username'. This should be the same username you're currently logged in under. This example runs the cron job at 8:13 pm.

    # Custom cron job

    MAILTO="[email protected]"

    13 20 * * * php /home/example_username/mail.php

    Cron job troubleshooting

    There are two parts to the command. The first part must specify the path to the program you'd like to use to run the cron job. For example let's say you have a PHP file named script.php in your domains directory:

    /home/username/example.com/script.php

    To run this command you'd enter the path to your chosen version of PHP followed by a space, followed by the path to the file:

    /usr/local/php71/bin/php /home/username/example.com/script.php

    You could also use the default version by using 'php' instead of the full path.

    Save the file. You should see the following response:

    crontab: installing new crontab

    That's it. The cron job should now run every day at 8:13pm.

    Crontab commands

    Please note that if you choose to replace the server's crontab, all cron jobs created in the panel for this specific username will no longer function since they would have been overwritten on the server.

    Additionally, if you update any cron jobs under this user in the panel, it will overwrite your custom crontab. The crontab will be replaced in its original form as created in the panel.

    Replace your existing crontab with your custom crontab file

    [server]$ crontab /home/username/filename

    Edit your server's crontab

    [server]$ crontab -e

    View your crontab

    [server]$ crontab -l

    Remove your crontab

    [server]$ crontab -r

    Explanation of the Date/Time fields

    The first five fields of the line are the date and time field which specify how frequently and when to execute a command. When adding the cron job in the DreamHost panel, the Date/Time is added for you automatically based on your 'When to run' setting.

    Field no.

    Description

    Permitted values

    1

    minute

    0-59

    2

    hour

    0-23

    3

    day of the month

    1-31

    4

    month

    1-12

    5

    day of the week

    0-7

    For day of the week, both 0 and 7 are considered Sunday. The time is based on that of the server running cron.

    Another (graphical) way of looking at these fields.

    # * * * * * command to execute

    #

    #

    # day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)

    # month (1 - 12)

    # day of month (1 - 31)

    # hour (0 - 23)

    # min (0 - 59)

    There are several ways of specifying multiple values in these fields:

    The comma (',') operator specifies a list of values.

    1,3,4,7,8

    The dash ('-') operator specifies a range of values.

    1-6

    This is equivalent to "1,2,3,4,5,6".

    The asterisk ('*') operator (frequently known as a wildcard) specifies all possible values for a field. For example, an asterisk in the hour (second) field would be equivalent to 'every hour'.

    The slash ('/') operator can be used in conjunction with an asterisk to skip a given number of values. Example:

    /3

    This means to skip to every third value. So "*/3" in the hour field is equivalent to "0,3,6,9,12,15,18,21"; "*" specifies 'every hour' but the "/3" means that only the first, fourth, seventh, etc. values given by "*" are used.

    You can also use one of these special strings in place of the time/date fields.

    Entry

    Description

    Equivalent to

    Example

    @yearly (or @annually)

    Run once a year at midnight on January 1

    0 0 1 1 *

    @yearly php /home/example_username/mail.php

    @monthly

    Run once a month at midnight on the first day of the month

    0 0 1 * *

    @monthly php /home/example_username/mail.php

    @weekly

    Run once a week at midnight on Sunday morning

    0 0 * * 0

    @weekly php /home/example_username/mail.php

    @daily (or @midnight)

    Run once a day at midnight

    0 0 * * *

    @daily php /home/example_username/mail.php

    @hourly

    Run once an hour at the beginning of the hour

    0 * * * *

    @hourly php /home/example_username/mail.php

    @reboot

    Run at startup (of the cron daemon)

    @reboot

    @reboot php /home/example_username/mail.php

    Review the following Wikipedia article for further information:

    Cron Nonstandard predefined scheduling definitions

    Output

    The output of the cron job is determined by what is sent to the terminal as a result of the commands/script that are executed. By default, all output is emailed to the location specified in the MAILTO variable (see the MAILTO variable requirement section for more information). As noted above, if your cron job command doesn't create any output on the command line then no email is sent.

    You can provide special instructions for the standard out (STDOUT) and standard error (STDERR) output by using the ">" operator. When you use ">" without a number before it, it defaults to "1>". This is the standard (non-error) output.

    When you use "2>" you are specifying what to do with the error output. So, for example, ">my_file.txt" would redirect standard output to a file called "my_file.txt", and "2>my_errors.txt" would redirect the errors to a file called "my_errors.txt".

    Permissions

    By default, files created on DreamHost's servers have a permissions level of 644. If you choose to execute a script via cron, you may need to set the permissions for the file to 744 using chmod in order to allow it to execute properly.

    Examples of custom cron scripts

    The following examples show what you could add to to a new file in order to create a cron job.

    Example 1: This runs a command at 4:10 PM PDT/PST, and emails you the regular and error output to the destination specified by MAILTO.

    10 16 * * * perl /home/username/bin/yourscript.pl

    Example 2: This runs a command at 2:00 AM PDT/PST on Saturday, and the only output is errors.

    0 2 * * 6 sh /home/username/weekly/weekly-pruning.sh > /dev/null

    Example 3: This runs at midnight on New Years Day (January 1st), and there is no output.

    0 0 1 1 0 python /home/username/happy.new.years.py >/dev/null 2>&1

    2>&1 is a special redirect that sends the standard error (“2>”) output to the same place as the standard out (“>” or “1>”) output.

    Example 4: This runs a PHP script called cron.php at the top of every hour.

    0 * * * * php /home/username/cron.php

    Example 5: This runs a local script (i.e. hosted at DreamHost) every 15 minutes.

    */15 * * * * /usr/local/php71/bin/php /home/example_username/myscript.php

    Example 6: This runs an external script (i.e. hosted elsewhere) every 30 minutes using curl.

    */30 * * * * /usr/bin/curl -s http://example.com/send.php &> /dev/null

    &>/dev/null is an abbreviation for 1> /dev/null 2> &1. It redirects both file descriptor 2 (STDERR) and descriptor 1 (STDOUT) to /dev/null.

    View http://unix.stackexchange.com/a/70971 for more information.

    Example 7: This runs a local script (i.e. hosted at DreamHost) every 10 minutes.

    */10 * * * * /usr/local/php71/bin/php /home/example_username/myscript.php

    Example 8: This uses wget to download a file to a directory named /cronfolder.

    */10 * * * */usr/bin/wget -P /home/username/cronfolder/ https://example.com/index.html

    Dedicated server editing

    If you are logged in as a Dedicated server admin user, you can edit the crontab file directly. It is stored here:

    /var/spool/cron/crontabs/youruser

    You’ll need to use sudo on your Dedicated server (or start an interactive session as the root user with sudo -i) to access that file.

    If you require sudo/admin access, you must upgrade to a Dedicated server.

    Example (opening the file with the 'vi' text editor):

    [server]$ sudo vi /var/spool/cron/crontabs/youruser

    See also

    SSH overview

    Crontab overview

    Execution environment of a cron job

    How do I create a cron job?

    Command line PHP overview

    View Article

Curious about DreamHost?

Anonymously Ask DreamHost Any Question

Ask Anonymous Question

×
Rate your company