Virtual Machines FAQ

A virtual appliance is a Virtual Machine image containing a minimal Linux operating system and a fully installed and configured version of a BitNami application, ready to be deployed in your virtualization infrastructure.

How to start your BitNami Virtual Appliance?

We currently offer BitNami Virtual appliances as VMware virtual machines. In order to run them you need to have virtualization software from VMware already installed, such as VMware Server or VMware Player. You can download them for free at www.vmware.com.

BitNami appliances are distributed inside a compressed file, and you will need to extract them before being able to run them. After that, simply launch your VMware server-console or your VMware Player and open the .vmdk image that you can find into the extracted folder.

How to log into the BitNami Virtual Machine?

BitNami applications are started by default upon boot, but you will still need to log into the operating system to stop or restart the servers, edit configuration files and so on. Once you have started your BitNami Virtual Machine you will get an username prompt. The default user is "bitnami" and the password is "bitnami" by default (some older versions include "root" user instead). This info is showed during the first boot.

Once you have logged in the first time, the machine will request a new user password automatically and you should modify it for security reasons. If you want remote shell access to the virtual machine, you will need to enable the SSH server, which is disabled by default. You can find how to enable it in the "How to enable sshd" section.

How to access the BitNami Virtual Appliance?

The bundled BitNami application is automatically started upon boot. You can access it from your browser at http://aaa.bbb.ccc.ddd/. You will need to substitute 'aaa.bbb.ccc.ddd' with the actual IP address picked up by your machine. This address is typically assigned to it by a DHCP server in your network. The IP address will be displayed on screen at the end of the boot process.

Regarding the web application itself, the default user and password for the administrator of your application is "user" and the password "bitnami" in most cases. The exact username and password are provided at the end of the boot process and it is recommended that you change these values. You can do so from the application itself, as it varies from program to program.

You can also see your IP address by typing "ifconfig" in the command prompt after login in. If the machine does not show any IP logging in address try to force reloading the IP:

  $ sudo /etc/init.d/network force-reload

If your machine can not get a valid IP it is possible that you do not have a DHCP address or it is not configured to give IP addresses to unknown machines. In this case you have two options: you can use the VMware DHCP server, or you can configure the network manually.

If you want to use the VMware DHCP server, you can stop the machine, change the network settings to "NAT" instead of "BRIDGE" and start the machine. This IP is internal so you have only access to the application from the same computer where the Virtual Machine is running.

If you prefer to configure the network manually you can run the following commands in the Virtual Machine:

  1. Stop the network:
      $ sudo ifdown eth0

  2. Your local network uses one of the following IP addresses:
      192.168.X.X
      172.X.X.X
      10.X.X.X
                   
    Depending on your network configuration you should use a different netmask. If you know a free IP address in your local network that the Virtual Machine could use, you can configure the network manually, for example:
     $ sudo ifconfig eth0 192.168.1.234 netmask 255.255.255.0 up 

  3. You can access the web application from any computer of your network at 192.168.1.234.

How to change the user password?

It is recommended that you change the default user password in the Virtual Machine. This password is automatically requested when you log into the virtual machine for the first time so it is likely that you have already changed it. You can also do so by logging into the console and typing "passwd" at the shell prompt.

How to enable sshd?

The "ssh" server is disabled by default. You can enable the "ssh" server as follows:

  • For Ubuntu
     $ sudo mv /etc/init/ssh.conf.back /etc/init/ssh.conf
     $ sudo start ssh
              
  • For openSUSE
     $ sudo chkconfig sshd on
     $ sudo /etc/init.d/sshd start
              

Now you can login from a different machine using "ssh" and the IP address of your Virtual Machine.

If you want to disable it you can use the reverse method:

  • For Ubuntu
     $ sudo stop ssh
     $ sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.back
              
  • For openSUSE
     $ sudo /etc/init.d/sshd stop
     $ sudo chkconfig sshd off
                  

IMPORTANT: Before enabling the sshd server you should modify your default user password for security reasons. In the "How to configure your sshd server to perform key-based authentication" section, you can find more information on how to increase the server security.

How to configure your sshd server to support key based authentication?

You need to create the pair of keys (public and private keys) using the following command in the Virtual Machine:

 $ ssh-keygen
 Generating public/private rsa key pair.
 Enter file in which to save the key (/home/bitnami/.ssh/id_rsa):
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:
 Your identification has been saved in /home/bitnami/.ssh/id_rsa.
 Your public key has been saved in /home/bitnami/.ssh/id_rsa.pub.
 The key fingerprint is:
 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX bitnami@linux
          

We strongly recommend that you set a long passphrase. Once you have executed this command, you can check that there are two files in the /home/bitnami/.ssh/ folder:
 $ ls /home/bitnami/.ssh
 id_rsa  id_rsa.pub
          

Save your private key (id_rsa file) in a secure location and do not share it with anybody.

Once you have the key pair ready, you need to enable access to the machine. It is only necessary to write the public key into the /home/bitnami/.ssh/ file.

 
 $ cd /home/bitnami/.ssh
 $ cat id_rsa.pub >> /home/bitnami/.ssh/authorized_keys
          
Now edit the "/etc/ssh/sshd_config" file using the vi editor and uncomment the following lines:
 RSAAuthentication yes
 PubkeyAuthentication yes
          

To disable the basic authentication it is necessary to configure the following lines:

 ChallengeResponseAuthentication no
 PasswordAuthentication no
 UsePAM no
          

Then reload the server configuration:
  • For Ubuntu
     $ sudo /etc/init.d/ssh force-reload
              
  • For openSUSE
     $ sudo /etc/init.d/sshd force-reload
              

copy your private key "id_rsa" file in the client machine from which you will access the server.
 $ mkdir /home/user/.ssh
 $ cp /path/to/id_rsa /home/user/.ssh
 $ chmod 0600 -R /home/user/.ssh
          

and try to access to the Virtual Machine:
 $ ssh bitnami@IP_address
 Enter passphrase for key '/home/user/.ssh/id_rsa':
          

And that's all. If you do not want to repeat the passphrase you can run ssh-agent and ssh-add commands to save it during the session.

How to change your mysql root password?

The default mysql root password is "bitnami". By default nobody can access the database from outside of the Virtual Machine but it is also recommended that you change it. You can modify the mysql password using the following command at the shell prompt:

 $ sudo /opt/bitnami/mysql/bin/mysqladmin -p -u root password <your_new_password>
          

How to enable phpMyAdmin or phpPgAdmin?

phpMyAdmin and phpPgAdmin are web applications to manage the MySQL or PostgreSQL database that is included with most of the stacks. By default, it is disabled so it cannot be accessed remotely. You can enable it by editing the "/opt/bitnami/apps/phpmyadmin/conf/phpmyadmin.conf" file or the "/opt/bitnami/apps/phppgadmin/conf/phppgadmin.conf" file using the "vi" editor:

  Alias /phpmyadmin "/opt/bitnami/apps/phpmyadmin/htdocs"
 
  <Directory "/opt/bitnami/apps/phpmyadmin/htdocs">
  AuthType Basic
  AuthName phpMyAdmin
  AuthUserFile "/opt/bitnami/apache2/users"
  Require valid-user
  Order allow,deny
  Allow from all
  Satisfy all
  ErrorDocument 403 "For security reasons, this URL is only accesible
  using localhost (127.0.0.1) as the hostname"
  </Directory>
          

If you modify this file you should restart the Apache server. You can find how to restart the Apache server in the "How to start/stop servers" section. You can access it at http://IP_virtual_machine/phpmyadmin. The default user is "administrator" and the password is "bitnami".

How to change the phpMyAdmin or phpPgAdmin password?

The phpMyAdmin application is protected by an Apache directory password for security reasons. You can change the phpMyAdmin access password using the following command:

 $ sudo /opt/bitnami/apache2/bin/htpasswd -cb /opt/bitnami/apache2/users administrator <new_phpmyadmin_password>
          

How to start/stop servers?

You can use the /opt/bitnami/ctlscript.sh file or the /etc/init.d/bitnami script to manage your servers:

 $ sudo /opt/bitnami/ctlscript.sh help
 usage: /opt/bitnami/ctlscript.sh help
 /opt/bitnami/ctlscript.sh (start|stop|restart|status)
 /opt/bitnami/ctlscript.sh (start|stop|restart|status) mysql
 /opt/bitnami/ctlscript.sh (start|stop|restart|status) apache
 
 help       - this screen
 start      - start the service(s)
 stop       - stop  the service(s)
 restart    - restart or start the service(s)
 status     - show the status of the service(s)
          

How to increase the RAM memory?

You can increase the RAM memory for the Virtual Machines using the settings tools in your VMware application. All machines have 512 MB by default but it is recommended that you increase it depending of the number of users and the application performance. Recent versions of the Virtual Appliances include PAE kernel, which allows you to increase assigned RAM memory to more than 4Gb. The optimal setting will also depend on the host machine capabilities and the number of Virtual Machines running at the same time. A good practice is to share the RAM memory between the host and the Virtual Machine. For example, if your host machine has 2 GB of RAM and you are only running one virtual machine, you can increase the RAM of the Virtual Machine to 1 GB. It is not advisable to increase it more because at one point the host machine may run out of physical memory and use swap, decreasing overall performance.

How to configure the Firewall?

The SuSe Firewall is enabled by default and the only ports open are 80, 443 and 22. In the RubyStack and JRubyStack virtual appliances port 3000 is also open for development purposes by default.

In order to open a different port:

  • For Ubuntu
    You should run:
     $ sudo ufw allow $port
              
    If you need to modify the firewall configuration you can find more information about it at https://help.ubuntu.com/community/UFW.
     
  • For openSUSE
    You should include the port in the following line in the "/etc/sysconfig/SuSEfirewall2" file:
     FW_SERVICES_EXT_TCP="22 80 443"
              

    Then it is necessary to restart the firewall:
     $ sudo /etc/init.d/SuSEfirewall2_init restart
     $ sudo /etc/init.d/SuSEfirewall2_setup restart
              

    You can find more information about firewall configuration at http://en.opensuse.org/SuSEfirewall2.

How to ensure that my BitNami Virtual Appliance is accessible from other machines?

Some BitNami applications require you to reconfigure the IP/hostname if it changes during the boot.

If your Virtual Appliance seems to not be accessible from other machines, you should configure the application IP/hostname using the 'updateip' tool.

 $ sudo /opt/bitnami/updateip
          

How to configure the application IP/hostname?

By default, BitNami applications update their internal IP/hostname at boot time. However you may want to change it manually if the Virtual Machine has changed its IP. For doing that, execute:

 $ sudo /opt/bitnami/updateip --machine_hostname < ip or hostname >
          
or if you want the tool setting the current Virtual Machine IP you can type only:
 sudo /opt/bitnami/updateip
          

Then try to access from a remote machine. Please ensure that your Virtual Machine network configuration is "Bridged". You can see the "How to access the BitNami Virtual Appliance".

How to start the RubyStack or the JRubyStack sample application?

These frameworks include a sample ruby application. If you want to to test this application you can follow these steps:

For RubyStack:

 $ cd /opt/bitnami/projects/rubystack
 $ sudo script/server
          

For JRubyStack:
 $ cd /opt/bitnami/projects/jrubystack
 $ sudo jruby -S glassfish_rails ./
          

Then you can access it at http://machine_IP:3000 from your browser.