Frequently Asked Questions for Bitnami Cloud Hosting

How to connect to the server through SSH?

The first step is to ensure that you have the SSH credentials for your server. Follow these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, note the server IP address.

    SSH credentials

  • Click the "Connect" button and download the SSH key for your server in .ppk format (for Windows) or in .pem format (for Linux and Mac OS X).

    SSH credentials

Then, depending on your platform, follow the instructions below:

Windows

The easiest way to log in to your server is with PuTTY, a free SSH client for Windows and UNIX platforms.

  • Download the PuTTY ZIP archive from its website.
  • Extract the contents to a folder on your desktop.
  • Double-click the putty.exe file to bring up the PuTTY configuration window.
  • Enter the host name or public IP address of your server into the "Host Name (or IP address)" field, as well as into the "Saved Sessions" field.
  • Click "Save" to save the new session so you can reuse it later. PuTTY configuration
  • In the "Connection -> SSH -> Auth" section, select the private key file (.ppk) you saved in the previous step. PuTTY configuration
  • In the "Connection -> Data" section, enter the username bitnami into the "Auto-login username" field. PuTTY configuration
  • Go back to the "Session" section and save your changes by clicking the "Save" button.
  • Click the "Open" button to open an SSH session to the server.
  • PuTTY will first ask you to confirm the server's host key and add it to the cache. Go ahead and click "Yes" to this request (learn more). PuTTY connection

You should now be logged in to your server.

Linux and Mac OS X

Linux and Mac OS X come bundled with SSH clients by default.

  • Set the permissions for your private key file to 0600 using a command like the one below:

     $ chmod 600 KEYFILE
    
  • Open a new terminal.
  • Connect to the server using the following command:

      $ ssh -i KEYFILE bitnami@100.101.102.103
    

    Remember to replace KEYFILE in the previous commands with the path to your private key file, and 100.101.102.103 with the public IP address or hostname of your server.

  • Your SSH client might ask you to confirm the server's host key and add it to the cache before connecting. Accept this request by typing or selecting "Yes" (learn more).

You should now be logged in to your server.

What is a Bitnami image?

A Bitnami image includes everything you need to run your Bitnami-packaged application of choice. The installation and configuration of all of the software included in the stack is completely automated, making it easy for everyone, including those who are not very technical, to get them up and running.

All Bitnami images are completely self-contained and run independently of the rest of the software or libraries installed on your system. This means that you don't have to worry about installing any other software on your system to make the new application work. They also won't interfere with any software already installed on the system, so everything will continue to work normally.

What is the directory structure?

The installation process will create several sub-directories under the /opt/bitnami directory:

  • Servers and related tools: apache2/, mysql/, postgresql/, apache-tomcat/, openoffice/, subversion/, etc.
  • Languages: php/, python/, ruby/, tcl/, etc.
  • Application files: apps/phpMyAdmin/, apps/drupal/, apps/joomla/, apps/redmine/, etc.
  • Common libraries: common/
  • Licenses of the components included in the stack: licenses/

Application files are stored in the /opt/bitnami/apps/APPNAME/htdocs directory. The configuration file for the Apache Web server is stored in the /opt/bitnami/apps/APPNAME/conf/ directory.

How to start or stop the servers?

Each Bitnami stack includes a control script that lets you easily stop, start and restart servers. The script is located at /opt/bitnami/ctlscript.sh. Call it without any arguments to restart all services:

$ sudo /opt/bitnami/ctlscript.sh start

Or use it to restart a single service, such as Apache only, by passing the service name as argument:

$ sudo /opt/bitnami/ctlscript.sh restart apache

Obtain a list of available services and operations by running the script without any arguments:

$ sudo /opt/bitnami/ctlscript.sh  

How to find application credentials?

Your default credentials become available once you create a cloud server. To find them, follow these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, look in the "Properties" tab in the lower panel, and display and make a note of the application username and password.

    Server credentials

NOTE: If you decide to set your own application password, it will not be available in this section.
NOTE: All your chosen applications on a server share the same username and password.

How to block a suspicious IP address?

If you have detected an IP address that is collapsing your server or just making suspicious requests, block it using iptables. To do this, run the following command:

$ sudo su
$ iptables -A INPUT -s 1.2.3.4 -j DROP

Remember to replace 1.2.3.4 with the IP address you want to block.

IMPORTANT: Use with caution. If you don't specify an IP address, you will block yourself.

This will block all requests from that IP address. To have your iptables rules active even after rebooting the server, follow these steps:

  • Execute these commands:

     $ sudo su
     $ iptables-save > /opt/bitnami/iptables-rules
     $ crontab -e
    
  • Edit the above file with your favourite editor and include this line at the end of the file:

     @reboot /sbin/iptables-restore < /opt/bitnami/iptables-rules
    
  • Save the file and exit.

Now, on every boot, the system will load and apply the iptables rules.

To delete a rule, run the following command:

$ sudo su
$ iptables -D INPUT -s 1.2.3.4 -j DROP

This will delete the rule. Remember to replace 1.2.3.4 with a valid IP address.

Rerun the iptables-save command shown previously to make the new rules active even after rebooting the server.

How to open the server ports for remote access?

By default, cloud servers launched through Bitnami Cloud Hosting have their ports closed to secure them against external attacks. This is done for all ports apart from ports 22 (SSH), 80 (HTTP) and 443 (HTTPS).

If you need to access your server remotely using a different port, you must first open the necessary port(s) using the Bitnami Cloud Hosting dashboard.

To open other ports for remote access, follow these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • Select the "Firewall" tab in the lower half of the screen and click the "Add Custom Firewall Rules" button.

    Bitnami Cloud Hosting firewall configuration

  • In the resulting dialog, enter the port number, the protocol and the source IP. Set the source IP address to "All" to allow access from anywhere.

  • Click "Add" to add the new firewall rule to the system.

As an example, review the image below which demonstrates opening port 21 (the FTP port) for access.

Bitnami Cloud Hosting firewall configuration

Your firewall rule comes into effect immediately without any need to restart the server.

How to close the server ports and deny remote access?

To close a server port and deny remote access on that port, follow these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • Select the "Firewall" tab in the lower half of the screen.

  • Find the firewall rule for the port you wish to close and click the "Delete" button next to it.

    Bitnami Cloud Hosting firewall configuration

Your firewall rule comes into effect immediately without any need to restart the server.

How to upload files to the server with SFTP?

NOTE: Bitnami applications can be found in /opt/bitnami/apps.

First, obtain your SSH credentials by following these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, note the server IP address.

    SSH credentials

  • Click the "Connect" button and download the SSH key for your server in .ppk format (for FileZilla or WinSCP) or in .pem format (for Cyberduck).

    SSH credentials

Although you can use any SFTP/SCP client to transfer files to your server, this guide documents FileZilla (Windows, Linux and Mac OS X), WinSCP (Windows) and Cyberduck (Mac OS X).

Using an SSH Key

Once you have your server's SSH key, choose your preferred application and follow the steps below to connect to the server using SFTP.

FileZilla
IMPORTANT: To use FileZilla, your server private key should be in PPK format.

Follow these steps:

  • Download and install FileZilla.
  • Launch FileZilla and use the "Edit -> Settings" command to bring up FileZilla's configuration settings.
  • Within the "Connection -> SFTP" section, use the "Add keyfile" command to select the private key file for the server. FileZilla will use this private key to log in to the server. FileZilla configuration
  • Use the "File -> Site Manager -> New Site" command to bring up the FileZilla Site Manager, where you can set up a connection to your server.
  • Enter your server host name and specify bitnami as the user name.
  • Select "SFTP" as the protocol and "Ask for password" as the logon type. FileZilla configuration
  • Use the "Connect" button to connect to the server and begin an SFTP session. You might need to accept the server key, by clicking "Yes" or "OK" to proceed.

You should now be logged into the /home/bitnami directory on the server. You can now transfer files by dragging and dropping them from the local server window to the remote server window.

If you have problems accessing your server, get extra information by use the "Edit -> Settings -> Debug" menu to activate FileZilla's debug log.

FileZilla debug log

WinSCP
IMPORTANT: To use WinSCP, your server private key should be in .ppk format.

Follow these steps:

  • Download and install WinSCP.
  • Launch WinSCP and in the "Session" panel, select "SFTP" as the file protocol.
  • Enter your server host name and specify bitnami as the user name. WinSCP configuration
  • Click the "Advanced…" button and within the "SSH -> Authentication -> Authentication parameters" section, select the private key file for the server. WinSCP will use this private key to log in to the server. WinSCP configuration
  • From the "Session" panel, use the "Login" button to connect to the server and begin an SCP session.

You should now be logged into the /home/bitnami directory on the server. You can now transfer files by dragging and dropping them from the local server window to the remote server window.

If you need to upload files to a location where the bitnami user doesn't have write permissions, you have two options:

  • Once you have configured WinSCP as described above, click the "Advanced…" button and within the "Environment -> Shell" panel, select sudo su - as your shell. This will allow you to upload files using the administrator account. WinSCP configuration
  • Upload the files to the /home/bitnami directory as usual. Then, connect via SSH and move the files to the desired location with the sudo command, as shown below:

       $ sudo mv /home/bitnami/uploaded-file /path/to/desired/location/
    
Cyberduck
IMPORTANT: To use Cyberduck, your server private key should be in .pem format.

Follow these steps:

  • Select the "Open Connection" command and specify "SFTP" as the connection protocol. Cyberduck configuration

  • In the connection details panel, under the "More Options" section, enable the "Use Public Key Authentication" option and specify the path to the private key file for the server. Cyberduck configuration

  • Use the "Connect" button to connect to the server and begin an SFTP session.

You should now be logged into the /home/bitnami directory on the server. You can now transfer files by dragging and dropping them from the local server window to the remote server window.

How to configure your application to use a third-party SMTP service for outgoing email?

Bitnami applications can be configured to use a third-party SMTP service for outgoing email. Examples of such third-party SMTP services are SendGrid and Mandrill. Instructions for using both these are provided below.

SendGrid

SendGrid's SMTP service can be accessed using your SendGrid account credentials. These credentials can be obtained by logging in to the SendGrid website and visiting the "Account Details" page.

SendGrid configuration

To configure your application to send email through SendGrid's SMTP service, use the settings below. Replace USERNAME with your SendGrid account username and PASSWORD with your SendGrid account password.

  • SMTP host: smtp.sendgrid.net
  • SMTP port: 25 or 587 for unencrypted/TLS email, 465 for SSL-encrypted email
  • SMTP username: USERNAME
  • SMTP password: PASSWORD

Here's an example of configuring WordPress to use SendGrid:

WordPress with SendGrid

More information is available in the SendGrid documentation.

Mandrill

Mandrill's SMTP service requires an API key for access. To obtain this key, log in to the Mandrill website, navigate to the "SMTP & API" section and create an API key. Note the SMTP server name, username and API key, as these serve as your credentials for accessing the Mandrill SMTP server.

Mandrill configuration

To configure your application to send email through Mandrill's SMTP service, use the settings below. Replace USERNAME with your SMTP username and API-KEY with the generated API key.

  • SMTP host: smtp.mandrillapp.com
  • SMTP port: 25, 587 or 2525 for unencrypted/TLS email, 465 for SSL-encrypted email
  • SMTP username: USERNAME
  • SMTP password: API-KEY

Here's an example of configuring WordPress to use Mandrill:

WordPress with Mandrill

More information is available in the Mandrill documentation.

Similar steps can be followed for other third-party SMTP services as well. Consult your service provider's documentation to obtain details on authentication credentials and available ports.

Does Bitnami collect any data from deployed Bitnami stacks?

Yes. Bitnami cloud images and virtual machines include a small agent that starts on boot and collects a few pieces of information about the system. For users of Bitnami Virtual Machine Images, Cloud Templates, and Container Images we may also collect information from downloaded, pulled or deployed images or instances, such as the instance type, IP address and operating system version or the Bitnami account used to launch the image in order to improve our product offerings.

We encourage you to leave this tracking on, but if you would like to turn it off, you can comment out or delete the following line in the /etc/crontab file:

X * * * * root cd /opt/bitnami-stats ; ./agent.bin -run  

(where X is a random number for each instance generated at the boot time)

Our complete privacy policy is available online. If you have any questions, please feel free to contact us at hello@bitnami.com.

What does the SSH warning 'REMOTE HOST IDENTIFICATION HAS CHANGED' mean?

This warning is normal when trying to connect to the same IP address but a different machine - for instance, when you assign the same static IP address to another server. You can fix the problem by removing the IP address that you are trying to connect to from your ~/.ssh/known_hosts file.

If you use PuTTY, the SSH key mismatch warning looks like the image below:

SSH warning

In this case, click "Yes" if you know the reason for the key mismatch (IP address reassigned to another server, machine replaced, and so on).

How can I send email from EC2 instances?

We recommend using an external SMTP server to send email from EC2 instances, due to AWS limitations on EC2 machines. For PHP applications, read the instructions on how to send emails using Gmail or using Amazon Simple Email Service (SES).

How to give SSH access to another person, such as a customer?

Follow the steps below:

Step 1: Create private/public keys for the new account

If the person to whom you wish to give access doesn't have a private/public key pair yet, he or she must first generate this key pair.

To generate a new SSH key pair, use PuTTYgen (Windows) or the ssh-keygen command (Linux and Mac OS X). For instructions on how to use PuTTYgen, refer to this page. For instructions on how to use ssh-keygen, refer to this page.

The generated key pair will contain two files:

  • A private key. This should not be shared with anyone else. The user will need this to access the server.

  • A public key. The user should share this with you to gain access to the server. Copy this public key file to the server. This example assumes that the public key file is named USERNAME.pub.

Now, there are two ways to proceed:

  • Option A: Create a separate account for the new user (recommended)
  • Option B: Allow the new user to log into the server using the existing bitnami user account

Step 2 (Option A): Create a separate account for the new user

Follow the steps below:

  • Log in to the server console as the bitnami user.

  • Create a new user account that will share the same user privileges as the bitnami user. Replace the USERNAME placeholder with the username for the new account.

     $ sudo useradd -s /bin/bash -o -u `id -u` -g `id -g` USERNAME
    

    This will create an alias user for the bitnami account, giving it the same privileges.

  • Configure SSH access for the new user account, by copying the /home/bitnami/.ssh directory to the new user's home directory. As before, replace the USERNAME placeholder with the username for the new account.

     $ sudo mkdir ~USERNAME/ 
     $ sudo cp -rp ~bitnami/.ssh ~USERNAME/
     $ sudo cp -rp ~bitnami/.bashrc ~USERNAME/
     $ sudo cp -rp ~bitnami/.profile ~USERNAME/
    
  • Add the content of the user's public key file to the /home/USERNAME/.ssh/authorized_keys file:

     $ cat ~/USERNAME.pub >> /home/USERNAME/.ssh/authorized_keys
    

To grant other users access to the server using this same account, repeat the last step and add each user's public key to the authorized_keys file.

To allow the new user to execute commands as the root user, add the new user account to the bitnami-admins group, by executing the following command when logged in as the bitnami user:

$ sudo usermod -G bitnami-admins USERNAME

To delete the new user account, execute the following command:

$ sudo userdel USERNAME -f

Confirm that the account has been successfully removed by executing the command below:

$ id USERNAME

Step 2 (Option B): Allow the new user to log in using the bitnami account

Follow these steps:

  • Back up your list of authorized keys:

     $ cp /home/bitnami/.ssh/authorized_keys /home/bitnami/.ssh/authorized_keys.bak
    
  • Add the new user's public key to the authorized_keys file. Perform this step carefully to ensure that existing keys are not modified or deleted, as an error could result in you losing all SSH access to the server.

     $ cat ~/USERNAME.pub >> /home/bitnami/.ssh/authorized_keys
    

The new user should now be able to access the machine by logging in as bitnami.

To revert the changes, remove the last line (the most recently added key) from the /home/bitnami/.ssh/authorized_keys file or restore the old authorized_keys file:

$ cp /home/bitnami/.ssh/authorized_keys.bak /home/bitnami/.ssh/authorized_keys

How to clone a server from one AWS account to another?

NOTE: These steps assume that you have access to a Bitnami Cloud Hosting account and access credentials for both the AWS accounts.

Follow these steps:

  • Log in to the Bitnami Cloud Hosting dashboard.

  • Select the "Clouds" menu item and click the "New" button. Enter the credentials for the new AWS account, in case they are not already present.

Server cloning

  • Select the "Servers" menu item.

  • Select the server you wish to move and click the "Clone" button.

  • In the "Clone" dialog box, enter the name and domain name for the new server and select the newly-added AWS account in the "Cloud Account" selection list.

Server cloning

  • Click "Clone Server" to clone the server into the new account.

How to install ec2-api-tools?

The EC2 API tools are commands that wrap the Amazon EC2 API actions. Refer to the Amazon EC2 documentation for more information.

  • Before installing, make sure you have the multiverse repository enabled. Add the following lines to the /etc/apt/sources.list file (this is an example for the us-east zone, other zones may differ):

     deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ lucid multiverse
     deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ lucid multiverse
     deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
     deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
    
  • Run the following commands to install the tools:

     $ sudo apt-get update
     $ sudo apt-get install ec2-api-tools
    
  • Check the version of the installed tools:

    $ ec2-version
    1.3-46266 2009-11-30
    

Another approach is to install Bitnami Cloud Tools, which packages the Amazon Web Services command-line tools with preconfigured Java, Ruby and Perl language runtimes. It is a self-contained, easy to use distribution with one goal in mind: to make it simple to get started using AWS services from the command line. Find more information on Bitnami Cloud Tools.

How to install and configure Webmin?

Webmin is a web-based interface for system administration. Using any modern web browser, it enables management of user accounts, Apache, DNS, file sharing and much more.

The steps below walk you through the process of installing and configuring Webmin on a Bitnami virtual machine or server:

  • Log in at the machine console.

  • Download the latest stable version of Webmin.

  • Install dependencies and uncompress the tarball:

     $ sudo apt-get install perl5 libnet-ssleay-perl
     $ tar -xzvf webmin-*
     $ cd webmin-*
    
  • Run the installer and follow the installation steps. During the installation, you will be prompted for user credentials.

     $ sudo sh setup.sh
    
  • Open the default Webmin port of 10000 in the server firewall, as described in the FAQ.

Once Webmin is installed, access it with the credentials set during the installation process by browsing to http://SERVER-IP:10000.

To configure Webmin to manage the Bitnami servers:

  • Create the configuration file /etc/webmin/mysql/config for MySQL and fill it with the content below:

     date_subs=0
     max_text=1000
     perpage=25
     stop_cmd=/etc/init.d/bitnami stop mysql >/dev/null 2>&1
     mysqldump=/opt/bitnami/mysql/bin/mysqldump
     nodbi=0
     mysql_libs=/opt/bitnami/mysql/lib
     max_dbs=50
     start_cmd=/etc/init.d/bitnami start mysql >/dev/null 2>&1 &
     mysql_data=/var/lib/mysql
     mysqlimport=/opt/bitnami/mysql/bin/mysqlimport
     access=*: *
     style=0
     my_cnf=/opt/bitnami/mysql/my.cnf
     mysqlshow=/opt/bitnami/mysql/bin/mysqlshow
     mysql=/opt/bitnami/mysql/bin/mysql
     nopwd=0
     add_mode=1
     passwd_mode=0
     blob_mode=0
     mysqladmin=/opt/bitnami/mysql/bin/mysqladmin
    
  • Similarly, create the configuration file /etc/webmin/apache/config for Apache and fill it with the content below:

     link_dir=/opt/bitnami/apache2/conf/sites-enabled
     test_manual=0
     show_list=0
     mime_types=/opt/bitnami/apache2/conf/mime.types
     access_conf=/opt/bitnami/apache2/conf/access.conf
     auto_mods=1
     stop_cmd=/etc/init.d/bitnami stop apache
     virt_file=/opt/bitnami/apache2/conf/sites-available
     test_apachectl=1
     max_servers=100
     srm_conf=/opt/bitnami/apache2/conf/srm.conf
     httpd_dir=/opt/bitnami/apache2
     start_cmd=/etc/init.d/bitnami start apache
     show_order=0
     test_always=0
     httpd_conf=/opt/bitnami/apache2/conf/httpd.conf
     defines_file=/opt/bitnami/apache2/bin/envvars
     apachectl_path=/opt/bitnami/apache2/bin/apachectl
     show_names=0
     test_config=1
     apply_cmd=/opt/bitnami/apache2/bin/apachectl graceful
     httpd_path=/opt/bitnami/apache2/bin/httpd
    
  • Similarly, create the configuration file /etc/webmin/postgresql/config for PostgreSQL (if you have it installed) and fill it with the content below:

     simple_sched=0
     sameunix=1
     date_subs=0
     max_text=1000
     perpage=25
     stop_cmd=/opt/bitnami/postgresql/scripts/ctl.sh stop
     pid_file=/opt/bitnami/postgresql/data/postmaster.pid
     hba_conf=/opt/bitnami/postgresql/data/pg_hba.conf
     psql=/opt/bitnami/postgresql/bin/psql
     plib=
     nodbi=1
     max_dbs=50
     start_cmd=/opt/bitnami/postgresql/scripts/ctl.sh start
     pass=
     dump_cmd=/opt/bitnami/postgresql/bin/pg_dump
     access=*: *
     webmin_subs=0
     style=0
     rstr_cmd=/opt/bitnami/postgresql/bin/pg_restore
     access_own=0
     basedb=template1
     login=postgres
     add_mode=1
     blob_mode=0
    
  • Browse to the Webmin application, log in and click the "Refresh Modules" button. You should now see the "Apache Webserver", "PostgreSQL Database Server" and "MySQL Database Server" listed in the "Servers" tab.

Webmin

How to configure a static IP address?

Bitnami Cloud Hosting launches instances with a dynamic IP address by default, which means that the IP address changes every time the server is stopped and restarted. In many cases, this is not desired and so, users also have the option to assign the server a static IP address (also known as an "elastic IP").

To configure a static IP address:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, navigate to the "Properties" tab in the lower panel, which will display the server's current IP address and indicate whether it is "static" or "dynamic".

    Server static IP address configuration

  • In the upper panel, click the "Assign IP" button.

    Server static IP address configuration

  • In the resulting dialog, choose "Newly created static IP" to create and assign a new static IP address or, if you already have unassigned static IP addresses, choose the one you wish to assign.

    Server static IP address configuration

  • Click "Ok" to save the changes. The server will shortly become available at the new IP address and the server properties will indicate that this is a static IP address.

    Server static IP address configuration

NOTE: Static IP addresses are only free when attached to a server. Review the costs associated with static IP addresses.

How to configure a custom domain?

To use a custom domain with a server started through the Bitnami Cloud Hosting dashboard, follow these steps:

Configure a static IP address for your cloud server

Follow these instructions.

Configure the domain in your DNS provider

The next step is to update your domain's DNS settings, specifically by adding an A record that points to the static IP address of your cloud server.

This change can only be accomplished through your domain name provider; it cannot be made through the Bitnami Cloud Hosting dashboard. You will therefore need to log in to your domain name provider's management console and make the necessary changes. Step-by-step instructions for some popular providers are listed below:

Remember that once you make the necessary changes, it can take up to 48 hours for the change to propagate across other DNS servers. You can verify the new DNS record by using the Global DNS Propagation Checker and entering your domain name into the search field.

Configure the domain for your Bitnami Cloud Hosting server

There are two types of domain configurations possible for Bitnami Cloud Hosting servers:

  • Application domain: An application domain is one wherein a specific application like WordPress, Joomla! or Drupal can be accessed directly at a custom domain like http://example.com/.

  • Main server domain: A main server domain is one which is shared between applications, which are accessible either using a prefix (like http://example.com/wordpress and http://example.com/drupal) or using subdomains (like http://wordpress.example.com and http://drupal.example.com).

NOTE: The steps below assume that you have a running server.
Application domain

Assign a custom domain to an application following the steps below:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, navigate to the "Applications" tab in the lower panel and click the pencil icon that appears next to the application name.

    Server domain configuration

  • In the resulting dialog, select the "Use Custom Domain" option and enter the custom name name. Click "Update" to save the changes.

    Server domain configuration

At the end of this step, entering your custom domain name into the browser address bar should take you to your Bitnami application on the cloud server, as shown below:

Custom domain in browser

TIP: In Bitnami Cloud Hosting, every server has only one wildcard domain assigned. For example, demo-server.bitnamiapp.com and all its subdomains will point to the same server IP address. Therefore, it is possible to change the application domain to use any name under the specified wildcard domain, such as me.blogs.demo-server.bitnamiapp.com.
Main server domain

Assign a custom domain as the main server domain following the steps below:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, navigate to the "Properties" tab in the lower panel and click the pencil icon that appears next to the "Public DNS" field.

    Server domain configuration

  • In the resulting dialog, click the "Add Custom Domain" link.

    Server domain configuration

  • Specify the custom domain name and click "Ok".

    Server domain configuration

NOTE: If you change the main server domain name (for example, from demo-server.bitnamiapp.com to demo-server-123.bitnamiapp.com, then all application domains configured using "Prefix" and "Subdomain" strategies will also be updated. Refer to this section for more information.

Update application configuration

For some applications, such as Prestashop, it is also necessary to perform additional configuration so that the application "knows" its domain and the domain name is correctly reflected in application URLs. This is easily accomplished with the command-line Bitnami Configuration tool, bnconfig, which will update the application configuration and database to use the new domain wherever needed.

To use this tool, follow these steps:

  • Log in to your server console (instructions).
  • Change to your application directory, usually located under /opt/bitnami/apps/APP-NAME.
  • Execute the following command:

     $ sudo ./bnconfig --machine_hostname DOMAIN-NAME
    

For example, to configure Prestashop to use the domain my-shop.com, use the commands below:

$ cd /opt/bitnami/apps/prestashop
$ sudo ./bnconfig --machine_hostname my-shop.com

Or, to configure your WordPress Multisite blog to use the primary domain my-blog.com, use the commands below:

$ cd /opt/bitnami/apps/wordpress
$ sudo ./bnconfig --machine_hostname my-blog.com

How to create a server backup?

Create a server backup from the Bitnami Cloud Hosting dashboard by following these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, navigate to the "Backups" tab in the lower panel, and click the "Create Backup" button.

    Server backup

Backups are incremental snapshots of your server and the process takes seconds.

How to restore a server backup?

Restore a server backup from the Bitnami Cloud Hosting dashboard by following these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Backups" menu item.

  • On the resulting page, select the backup you wish to restore.

  • Click the "Restore" button.

    Server restore

  • Specify the configuration parameters for the new server and click "Restore".

  • After confirming that everything works well on the new server, stop the previous server and assign its IP address to the new one.

How to schedule automatic server backups?

Schedule a server backup from the Bitnami Cloud Hosting dashboard by following these steps:

  • Browse to the Bitnami Cloud Hosting dashboard and sign in if required using your Bitnami account.

  • Select the "Servers" menu item.

  • Select your cloud server from the resulting list.

  • Click the "Manage" button.

  • On the resulting page, navigate to the "Scheduled Tasks" tab in the lower panel, and click the "Scheduled Backup" button.

    Server backup

  • Set backup preferences and click "Save".

    Server backup

Can I use a reserved instance?

Yes, you can buy reserved instances via the AWS console and then use the Bitnami Cloud Hosting interface to launch servers in a very specific availability zone.

The reserved instance is just a billing term. For example, if you buy an AWS micro reserved instance for a year via the AWS console, then you can launch and terminate micro instances any time you want (via BCH console, API calls etc.), and as long as they are created in the same AWS availability zone as your reserved instance, you will be billed with the lower rate.

Make sure that you select the availability zone where you have purchased the reserved instance when launching your server with Bitnami Cloud Hosting, to make sure that you are charged based on the reserved instance pricing. To do so:

  • Click the icon with the American flag on the "Create Server" screen.

    Reserved instance usage

  • Select the appropriate region.

  • Click "Advanced Options" to select the availability zone.

    Reserved instance usage

Choosing between light, medium or heavy utilization will depend on the percentage of time you expect your server to be running but it will not affect anything mentioned above. Read more about reserved server instances.

How to move an instance to a different availability zone?

Bitnami Cloud Hosting allows you to move instances to different availability zones but not to different regions for the moment. Please follow these steps:

  • Stop the current server.

  • Create a backup.

  • Once the backup finishes, click "Restore" next to the new backup.

    Server restore

  • In the resulting dialog, click the "Advanced Options" link and specify the new availability zone.

    Server restore

  • Click "Restore".

  • Once the server is running in a different availability zone, un-assign the static IP address from the old server (if one was assigned to it) and reassign it to the new server.

How to set application credentials?

By default, Bitnami Cloud Hosting will set an auto-generated random password for your applications during the server build process. If this is not what you want, choose your own username and password by clicking the "Application Options" button when configuring a new server and setting these to custom values, as shown below:

Server credentials

How to use AWS IAM user credentials?

Bitnami Cloud Hosting creates temporary IAM users to perform different operations. Therefore, it is important to ensure that your AWS IAM identity has enough permissions to add these temporary users.

Follow the steps below to create the user and fetch the credentials:

  • Log in to the AWS IAM console and navigate to the "Policies" section.

  • Click the "Create Policy" button and then select the "Create Your Own Policy" option.

  • Set the name for the policy to "BitnamiCloudHosting" and add the policy document shown below, replacing the placeholder value 123456781234 with your Amazon account ID. Find your account ID here.

     {
       "Version":"2012-10-17",
       "Statement": [
         {
           "Effect": "Allow",
           "Action": "iam:*",
           "Resource": "arn:aws:iam::123456781234:user/bitnami-hosting-operators/*"
         }, 
         {
           "Effect": "Allow",
           "Action": ["ec2:*", "cloudwatch:GetMetricStatistics"],
           "Resource": "*" 
         }
       ]
     }     
    

    The message "BitnamiCloudHosting has been created. Now you are ready to attach your policy to users, groups, and roles." will be displayed if the policy was created successfully.

  • Navigate to the "Users" section and click the "Create Users" button.

  • Specify a user name, tick the option to "Generate an access key for each User" and click "Create".

    IAM account usage

  • Click the "Show User Security Credentials" button to get the "Access Key ID" and "Secret Access Key". Note these values as they will be used later in the Bitnami Cloud Hosting dashboard to create your cloud account.

    NOTE: The "Secret Access Key" will not be displayed again. Ensure that you copy it carefully.
  • Navigate to the "Users" section and select the new user record.

  • Click the "Attach Policy" button in the "Permissions -> Managed Policies" section and select the "BitnamiCloudHosting" policy.

    IAM account usage

The "Access Key ID" and "Secret Access Key" can now be used to create the cloud account in the Bitnami Cloud Hosting dashboard.

IAM account usage

How to edit files on the server?

To edit files that are writable by the bitnami user, use the tools described in the section on uploading files.

To edit files that require administrator privileges, such as system configuration files, use the steps below to edit files as the root user:

  • Log in to the server console

  • Use the nano editor:

     $ sudo nano FILENAME
    
  • Edit the file.

  • Type "Ctrl+X" to exit the editor, followed by "Y" to save the changes.

Find out more about the nano editor.

How to launch T2, C4 or M4 instances using Bitnami Cloud Hosting?

T2, C4 and M4 instances can only be launched in an Amazon Virtual Private Cloud (VPC). A default VPC is usually configured for an AWS account when it is first created, but some older AWS accounts may not have this default VPC. For these accounts, it is not possible to launch T2, C4 or M4 instances using the AWS Launchpad.

To resolve this, create a new AWS account and associate it with your Bitnami Cloud Hosting account using the "Clouds -> New" menu. Read more about this in the AWS documentation.

What does the message "AWS instance scheduled for retirement" mean?

This message is usually related to hardware maintenance by Amazon. It can be resolved by stopping and starting your server, which will move it to different hardware and fix the problem. Note that you should not "restart" the server but instead separately "stop" and "start" it or perform a "hard reboot", since a normal reboot would not change the hardware.

TIP: Create a backup before stopping the server to ensure you can recover your data if something goes wrong in the process.

How to troubleshoot server problems?

There are several possible reasons for a server operation such as "Server Build", "Server Start", "Server Resize" and others to finish with an "Unexpected Error" message or with a server being in the "Pending" state for long period of time. Use the list below to identify what might have gone wrong.

Server remains in "Pending" state

For every server operation executed, Bitnami Cloud Hosting ensures that the server is in the correct, ready-to-run state. This means that the Bitnami Cloud Hosting dashboard has to wait for the server to be in that specific state to continue the process of setting up applications on it. Sometimes, the AWS EC2 API returns a response that the server is "Pending" when in fact the server is available. In these cases, the server operation may take more time than usual. This part of the process depends on the responsiveness of AWS.

Static IP address was assigned to your instance

Once the "change IP address" operation is executed, Bitnami Cloud Hosting waits for the server to respond from new IP address. This sometimes takes additional time and is dependent on the responsiveness of AWS.

Your AWS credentials are not valid

This error could occur if:

  • You use special AWS IAM user credentials and that IAM user account does not have the permissions required by Bitnami Cloud Hosting. As a result, Bitnami will not be able to execute operations on your behalf. To resolve this, use a different IAM account or give the account elevated permissions.

  • You changed or reset your AWS Access Key ID and Secret Access Key. To resolve this, update these credentials in Bitnami Cloud Hosting.

Required ports are not open

Please make sure that ports 22 and 80 are open in your AWS security group settings. If you need to keep those ports closed, you must at least open them for the IP address 184.72.221.134. Bitnami uses these ports to check if the server is available and to collect monitoring data.

For more tips on troubleshooting your Bitnami Cloud Hosting server, review our troubleshooting guide.

What operating systems are supported?

We currently support only Linux. The main Linux distributions supported are Ubuntu, Amazon Linux and Red Hat.

Review more detailed information about the base image, bundled components and versions.

How do I keep my base system up to date?

Connect to the server via SSH and execute the following commands:

$ sudo apt-get update
$ sudo apt-get dist-upgrade

What is the root password?

No password is configured for the root account by default. Use the sudo command to switch to the root user account, as shown below. You will not be asked for the password.

$ sudo su -

Learn more about the sudo command.

Can I install and use Linux's default Apache/MySQL servers?

Servers started with the Bitnami Cloud Hosting dashboard come pre-installed with various servers and development tools, such as MySQL, Apache, PHP, Ruby and others.

Should you wish to install, start or stop the system's default Apache/MySQL servers, be sure to stop the Bitnami-provided services first by executing the following command:

$ /opt/bitnami/ctlscript.sh stop

To avoid the Bitnami-provided services restarting when the server reboots, also remove the ctlscript.sh entry from the /etc/init.d/bitnami initialization script.

Where are my applications installed?

Bitnami stack components, such as Apache, MySQL, PHP and Ruby, are installed in the /opt/bitnami directory. Web applications are installed in the /opt/bitnami/apps directory.

What versions of MySQL, PHP and Apache are installed on my server?

Log in to your server console via SSH and run the following commands to obtain this information:

$ /opt/bitnami/mysql/bin/mysql -V ; /opt/bitnami/apache2/bin/apachectl -V; /opt/bitnami/php/bin/php -v

Review more detailed information about the base image, bundled components and versions.

How to set up a development environment for Ruby, PHP, or Java?

To get a ready-to-run development environment for PHP, Ruby on Rails or Java on Bitnami Cloud Hosting, simply launch a server from the Bitnami Cloud Hosting console without adding any applications to it. This will produce a server with the "base stack", which contains all these components.

Review more detailed information about the base image, bundled components and versions.

How to configure the application domain name?

Bitnami Cloud Hosting supports two strategies to configure your application's domain name:

  • Prefix: This is the default configuration, wherein your application is accessible at a path under the server domain name (for example, at http://demo-server.bitnamiapp.com/drupal).

  • Subdomain: This approach makes the application accessible as a subdomain of the server domain (for example, at http://drupal.demo-server.bitnamiapp.com). This is the default strategy for applications like WordPress Multisite, Discourse and OpenERP.

NOTE: Once an application is configured with the "Subdomain" strategy, it is not possible to change it to the "Prefix" strategy later through the Bitnami Cloud Hosting dashboard.

How to sign up for an AWS account?

To sign up for a new AWS account, follow the steps outlined in this tutorial. This will also automatically give you access to various services, including the Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3) and Elastic Block Store (EBS) services, needed for launching new servers with Bitnami Cloud Hosting.

If you already have an AWS account that was created before October 2011, you may need to manually subscribe to these services, as described below:

  • Visit the AWS account management page and log in if needed.

  • Confirm that "Amazon Elastic Compute Cloud (EC2)", "Amazon Simple Storage Service (S3)" and "Elastic Block Store (EBS)" are listed as services you are signed up for.

    AWS service subscription

  • If these are not listed, click the "Add Now" button and follow the instructions to add these services to your account.

    AWS service subscription

How to connect an AWS account with a Bitnami account?

Assuming that you have already registered an account with AWS and with Bitnami, connect the two accounts by following the steps outlined in this tutorial.

Which browsers are supported?

Bitnami Cloud Hosting currently supports the following browsers:

NOTE: Users of older browser versions may find some functionality impaired in the Bitnami Cloud Hosting dashboard.

How much does Bitnami Cloud Hosting cost?

Bitnami Cloud Hosting is available as a monthly subscription. View the available plans on the Bitnami Cloud Hosting website. We also offer a free tier of service that allows you to deploy and manage one micro or small instance for free.

Please note that the Bitnami monthly subscription fees are in addition to the charges you will incur from Amazon for running your servers on AWS. We have developed a cloud cost estimator to make it easy to get the estimated costs for running your servers on Amazon.

How much do backups cost?

Bitnami Cloud Hosting backups are complete, incremental snapshots of your server. They are based on Amazon EBS snapshots which are stored incrementally on Amazon infrastructure. This means that you will only get billed for the amount of data that has been modified on the EBS volume since the latest snapshot. Learn more about EBS snapshots.

Why do AWS Free Tier servers still show as charges in the Bitnami Cloud Hosting dashboard?

If you signed up for your Amazon account after 1 November 2010, you are eligible for one year of use of a free micro instance, plus other free services from Amazon. More details can be found on the AWS Free Tier page. As long as you meet the criteria and your usage limits are within those provided on that page, you will not incur any charges from Amazon.

The charges that are displayed in the Bitnami Cloud Hosting dashboard are based on Amazon's normal rates. We do not yet have the ability to account for any free services from Amazon within the Bitnami Cloud Hosting dashboard. So, in the Bitnami Cloud Hosting dashboard, what you see are the charges that you would incur from Amazon if you were not eligible for the Free Tier (or once your eligibility expires), not the actual charges that will be billed by Amazon.

Are static IP addresses free of charge?

Static IP addresses are free when they are attached to an instance. When an instance is shut down, its static IP address is no longer considered "attached", and you will therefore be charged $0.005 per hour until the server is running again. This adds up to approximately $3.60 per month to keep the same static IP address attached to a server if it isn't running.

Static IP addresses can be deleted via Bitnami Cloud Hosting as follows:

  • Click the "Clouds" link in the left navigation panel.

  • Select the cloud account you wish to use and click the "Manage Static IPs" button in the lower panel.

    Static IP address management

  • In the resulting dialog, delete the static IP addresses you no longer wish to use.

    Static IP address management

NOTE: Once deleted, the same IP address cannot be attached again later.

What are the default AWS limits?

Servers created using Bitnami Cloud Hosting are run using Amazon Web Services (AWS). Bitnami Cloud Hosting checks for resource usage on your AWS account and information about reaching one or more AWS limits will be included in your weekly report email. When your account is close to reaching its limits, you can request a higher limit from Amazon. After receiving confirmation that your limit has been increased, please contact us to also increase the limit that Bitnami Cloud Hosting uses when monitoring your account usage.

  • Each server run with Bitnami Cloud Hosting is an EC2 instance.
  • Each server run with Bitnami Cloud Hosting can have one or more static IP addresses.
  • Bitnami Cloud Hosting server backups are created as AWS snapshots.
NOTE: Limits other than the ones listed below are not monitored by Bitnami Cloud Hosting, which may result in your account reaching a limit without generating a corresponding warning from Bitnami Cloud Hosting.

AWS defines certain limits by default, to prevent users from accidentally creating too many resources. Your AWS account may reach one or more of these limits when using a large number of servers, backups or static IP addresses.

EC2 Instances

By default, AWS has a limit of 20 instances per region. This includes all instances set up on your AWS account.

To increase EC2 limits, request a higher limit by providing information about the new limit and regions where it should be applied.

Static IP Addresses

By default, AWS sets a limit of 5 static IP addresses per region. This includes IP addresses unassigned and currently assigned to a server.

To increase IP addresses limit, request a higher limit by providing information about the new limit and regions where it should be applied.

Snapshots

The AWS default limit for all snapshots is 10000 snapshots per region.

To increase the number of snapshots allowed, contact AWS Support and request a higher limit.

Other Limits

If your AWS account reaches any of AWS' other limits, contact AWS Support and request a higher limit.

How to check AWS status?

Check the current status of AWS data centres.

How to check Bitnami Cloud Hosting status?

You can always check the status of Bitnami Cloud Hosting on the Bitnami announcements page or Twitter account @bitnami_status. You can contact Bitnami via the helpdesk.

How do I check my current AWS usage?

Check your exact AWS usage here. Click the "Bill Details" link on the right for more information.

Where can I get support and more information?

For support, visit the following resources:

For more information, visit the following resources:

Do you provide refunds?

Our free tier of service allows you to test the functionality of Bitnami Cloud Hosting, so we do not provide refunds. The service is available on a month-to-month basis and you may cancel your account at any time by going to the "Settings" menu and clicking the "Delete account" button. As the monthly subscription fee for Bitnami Cloud Hosting is billed in advance on or around the 1st day of every month, the pro-rated monthly charge for the remainder of the month after an account is cancelled will be credited to the account. Account credits are available for use one year from the date of issue, after which they expire.

How do I set my Bitnami Helpdesk password?

Use this page to set your Bitnami Helpdesk password.

How can I cancel my account?

TIP: Instead of cancelling, consider downgrading to our "Developer" plan to preserve your account - it lets you deploy and manage one micro or small instance for free.

While we are sorry to see you go, cancelling your account is easy:

  • Log in to Bitnami, click the "Console" button at the top right, and select "Bitnami Cloud Hosting".

  • Click the "Billing" link in the left panel.

  • Click the "Delete Account" button.

NOTE: This action is permanent. Your Bitnami Cloud Hosting data cannot be restored after it is deleted, so make sure that you are ready to cancel when you click the button.
NOTE: Any servers that you have running or backups that you have made will remain in your Amazon Web Services account. If you want to delete those after cancelling your Bitnami Cloud Hosting account, you will need to log in to the Amazon Web Services console and do so manually.