BitNami Magento

    Magento is a feature-rich, professional open-source e-commerce solution that offers merchants complete flexibility and control over the look, content, and functionality of their online store.

     

    Please, take a look to the Quick Start Guide to know the basic use of this Stack.

    How to start/stop the servers?

    Graphical tool

    The Stacks include a graphical tool to manage the servers easily. You can find the "manager-windows.exe", "manager-osx" or "manager-linux" tool in your installation directory. Using this tool, you can Start, Stop or Restart the servers and check the log files. You can click on the icon to start it.

    manager-servers.png

     

    manager-osx.png

     

     

     

     

     

     

     

     

     


    win_platform.png

    On Windows: You can also start the Manager tool from shortcuts: Start -> Program Files -> BitNami Stack -> Manager tool

    Command line tool

    If you prefer, you can use the "ctlscript.sh" utility from the command line. This script is in the installation directory.

    linux_platform.png

    On Virtual Machines and Cloud images:

    $ sudo /opt/bitnami/ctlscript.sh start

    A native installer on Linux:

    $ cd ~/application-version
    $ ./ctlscript.sh start
    

    mac_platform.png

     

    On OS X: You can start the Manager tool from the installation directory or you can use the "ctlscript.sh" utility from a Terminal.

    host:~ user$ cd /Applications/application-version
    host:~ user$ ./ctlscript.sh start

    How to change the default URL?

    Automatic approach

    The  Virtual Appliances, BitNami Cloud Hosting and AMI images ship a tool called "updateip". Using this tool you be able to configure the URL automatically. It includes a new option to remove the "/magento" prefix from the URL. If you want to modify that you can run the following command:

    $ sudo /opt/bitnami/apps/magento/bnconfig --appurl /
    

    Now you will be able to access to the Magento application at http://YOUR_DOMAIN instead of http://YOUR_DOMAIN/magento. In case you have already configured your domain name, it is also required to specify the domain name:

    $ sudo /opt/bitnami/apps/magento/bnconfig --appurl / --machine_hostname your_domain
    

    win_platform.png On Windows:

    This tool is also included for Windows. You can open the "Use BitNami Magento Stack" command prompt from the Windows shortcuts and run the following comand:

    > cd apps\magento
    > bnconfig.exe --base_directory "C:\Program Files\BitNami Magento Stack" --appurl /
    
    Manual approach

    This approach describes how to configure your application to run in the root URL directly. The details are described below.

    Native Installer

    If you want to change the default URL from http://your_domain/magento to http://your_domain, you should add a "DocumentRoot" entry in your application conf file. Edit the /installdir/apps/magento/conf/httpd-prefix.conf file to add this line and commenting the "Alias" entries. Modify the

    httpd_prefix.conf file content:

    DocumentRoot "/installdir/apps/magento/htdocs"
    # Alias /magento/ "/installdir/apps/magento/htdocs/"
    # Alias /magento "/installdir/apps/magento/htdocs"
    
    (...)
    

    Some applications also require changes in their configuration files or in the database.

    Virtual Machine

    If you want to change the default URL from http://your_domain/magento to http://your_domain, you should add a "DocumentRoot" entry in your application conf file. Edit the /opt/bitnami/apps/magento/conf/httpd-prefix.conf file (magento.conf in previous versions) to add this line and commenting the "Alias" entries. You can use the "nano" editor:

    $ sudo nano /opt/bitnami/apps/magento/conf/httpd-prefix.conf
    

    httpd-prefix.conf file content:

    DocumentRoot "/opt/bitnami/apps/magento/htdocs"
    # Alias /magento/ "/opt/bitnami/apps/magento/htdocs/"
    # Alias /magento "/opt/bitnami/apps/magento/htdocs"
    
    (...)
    

    Some applications also require changes in their configuration files or in the database.

    Cloud Image/BitNami Hosting

    If you want to change the default URL from http://your_domain/magento to http://your_domain, you should add a "DocumentRoot" entry in your application conf file. Edit the /opt/bitnami/apps/magento/conf/httpd-prefix.conf file (magento.conf in previous versions) to add this line and commenting the "Alias" entries. You can use the "nano" command line editor or you can also edit this file from your favorite FTP program.

    $ sudo nano /opt/bitnami/apps/magento/conf/httpd-prefix.conf
    

    httpd-prefix.conf file content:

    DocumentRoot "/opt/bitnami/apps/magento/htdocs"
    # Alias /magento/ "/opt/bitnami/apps/magento/htdocs/"
    # Alias /magento "/opt/bitnami/apps/magento/htdocs"
    
    (...)
    

    Some applications also require changes in their configuration files or in the database.

    Tabs end

     

    Modify the htaccess.conf file (/installdir/apps/magento/conf/htaccess.conf) to comment the following line

     #RewriteBase /magento/
    

    Magento also saves the URL in the database. If you have changed the URL or you are trying to access from a different machine and Magento does not work, you have to modify the domain name or the URL you should run the following command to modify the database:

    $ mysql -u root -p -e "USE bitnami_magento; UPDATE core_config_data SET value ='http://NEW_DOMAIN/' WHERE core_config_data.path = 'web/unsecure/base_url'; UPDATE core_config_data SET value ='https://NEW_DOMAIN/' WHERE core_config_data.path = 'web/secure/base_url';"
    

    And remove the cache:

    $ rm -r /installdir/apps/magento/htdocs/var/cache/*
    $ rm -r /installdir/apps/magento/htdocs/var/session/*
    

    Virtual Appliances, BitNami Cloud Hosting and AMI images include a tool called "updateip" which updates the IP automatically during boot. Note that this tool changes the URL to http://NEW_DOMAIN/magento. If you have your application in the root URL you should use the previous "mysql" command.

    $ /opt/bitnami/updateip --machine_hostname NEW_DOMAIN
    

    If you have configured Magento to use an static domain name or IP, you should rename or remove the "/opt/bitnami/apps/magento/updateip" file in recent versions (or /opt/bitnami/updateip in previous versions).

    How to create a full backup of Magento?

    Because BitNami stacks are self-contained, the simplest option for performing your backups is to copy or compress the BitNami Stack installation directory. To do so in a safe manner, you will need to stop all servers, so this method may not be appropriate if you have people accessing the application continously.

    linux_platform.pngOn Virtual Machines and Cloud Images:

    sudo /opt/bitnami/ctlscript.sh stop

    mac_platform.png

    On OS X:

    $ cd installdir
    $ ./ctlscript.sh stop
    $ cp -r installdir application-backup
    

    Or you can create a tarball:

    $ tar -czvf application-backup.tar.gz installdir
    

    Or a zip file:

    $ zip -r application-backup.zip installdir/*

    To restore this backup you only need to uncompress the backup in the same location. It is important to use the same path that was used when the stack was originally installed.

    For example if you have a backup in a Red Hat machine, you can copy it to an Ubuntu Linux machine (a different distro!) in the same location. Then start the servers and that’s all.

    On Virtual Machines and Cloud Images:

    $ sudo /opt/bitnami/ctlscript.sh start

    On OS X:

    $ cd installdir
    $ ./ctlscript.sh start
    

    You just need to be carefull to keep the same permissions for the files and folders. If you installed as root make sure that in the new machine you copy the files also as root. And this case, if you are also moving MySQL or PostgreSQL, you will need to create those users in the new machine (if they don't exist yet).

    win_platform.png On Windows you should follow the same process. Stop the servers using the shortcuts and copy the whole installation directory. To restore the system, copy the directory to a different Windows machine in the same location and follow these steps from a command prompt:

    $ cd installdir
    $ serviceinstall.bat INSTALL
    

    You can access your BitNami Application at the usual URL.

    If you want to create only a database backup, check the following link for MySQL /Components/MySQL#How_to_create_a_database_backup or for PostgreSQL /Components/PostgreSQL#How_to_create_a_database_backup.3f

    How to upgrade Magento?

    It is strongly recommended that you create a backup before starting the update process. If you have important data, it is advisable that you create and try to restore a backup to ensure that everything works properly.

    There are two different ways to upgrade your application.

    1. If you want to upgrade the application and all Stack components PHP, Ruby, MySQL, Apache… You can follow the steps described at How to upgrade the full Stack migrating the data?
    2. In case you only want to upgrade the application code without modifying any other Stack components,  you should follow the guide which is in the application page itself.

    One of the options for the method 2 is to use Magento Connect interface for upgrading your plugins including the Magento Core. Open Magento's administration panel and go to System > Magento Connect > Magento Connect Manager. Select "Check for updates" and select which components you want to upgrade.

    Where is the administration interface of Magento?

    The admin panel is located at http://your_domain/magento/index.php/admin

    Which is the administrator username and password?

    If you used the native installer you should have been prompted for the username and password during the installations.

    If you are using a BitNami Virtual Appliance or a BitNami AMI then the default username is user and the default password is bitnami1.

    For BitNami Cloud Hosting check this.

    How to install a plugin on Magento?

    Open Magento's administration panel (http://your_domain/magento/index.php/admin) and go to System > Magento Connect > Magento Connect Manager.

    Paste the extensions' key (available on Magento Connect) and click install. Once the system downloaded the extension you can click "Proceed" to install it. You can see something similar to this window at the bottom of the page.

    What is my Magento encryption key?

    Your encryption key is located at /installdir/apps/magento/conf/magento_info.txt and is randomly generated during the install process. You will need it to restore backups.

    How do I set up Magento to send emails through my Gmail/Google Apps account?

    Manual approach

    If your Magento installation does not support the ASchroder SMTP Pro extension bellow, SMTP settings can be set manually by editing the following file: installdir/apps/magento/htdocs/app/code/core/Mage/Core/Model/Email/Template.php and filling the following configuration parameters in the getMail() function:

              $config = array(
                   'ssl' => 'tls',
                   'port' => '587',
                   'auth' => 'login',
                   'username' => '<your_username>@gmail.com',
                    'password' => '<your_gmail_password>'
              );
              $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
    Using ASchroder SMTP Pro extension

    You will need to configure your Magento installation to be able to send emails from it. When you finish this tutorial you will be able to send and receive emails from your customers (receipts, customer support...), you will also be able to send these emails from a number of customized departments ("Sales" and "Customer Support", for example) and your customers will not know that the mail comes from a Gmail account.

    The first step is to install a free extension called ASchroder SMTP Pro. Open your Magento admin panel (http://your_server/index.php/admin/) and go to System > Magento Connect > Magento Connect Manager:

    step1.png

    Supply your username and password and log in:

    step2.png

    Copy and paste the extension key into the text field ("http://connect20.magentocommerce.com/community/ASchroder_SMTPPro", without quotes) and click install.

    step3.png

    Magento Connect will now fetch the extension information. Click Proceed to continue.

    step4.png

    At the bottom of the screen you will see a log of the install process. When the process is over, check the output for error messages and click Refresh to continue.

    step5.png

    The extension will now appear in the extension list.

    step6.png

    Open the Administration panel again (http://your_server/index.php/admin/) and go to System > Configuration.

    step7.png

    To configure your store email adresses, look in the left side of the page for a navigation frame like the one below. Click the section named "Store email addresses".

    step8.png

    Enter the names of the departments that you have and the emails addresses associated with them. These need to be real email accounts, as these addresses will be the ones your customers will see. Click on "Save Config" when you are done.

    step9.png

    Next step is to configure Magento to send all store email through your Gmail/Google Apps account. Look in the navigation section again and find the section called "System".

    step10.png

    Inside "SMTP Pro Email General Settings", choose "Google Apps/Gmail" as your extension option and change "Use Store Email Addresses for Reply-to" to yes. You can also set "Log all messages" to yes if you would like to save all sent emails to the Magento email log. This setting does not affect the emails on your inbox.

    Also, inside "SMTP Pro Email Google Apps/Gmail Settings" you have to enter your Gmail account information email and password. Click on "Save Config" when you are done.

    step11.png

    To test that everything is working properly, locate a button labeled "Run Self Test" in the above screen. If you click it, a test email will be sent to your account. You can check the email log at any time at System > Tools > Email log.

    step12.png

    How to enable SSL?

    You can see how to configure Apache to enable SSL connections at How to set up SSL to access through https?

    How to debug Magento errors?

    Once Apache starts, it will create two log files, the access_log and the error_log /installdir/apache2/logs directory or in /var/log/httpd if you are using Amazon Linux or Red Hat Enterprise cloud images.

    In Virtual Machines, Cloud Images and Ubuntu based Bitnami Cloud Hosting images installdir is /opt/bitnami.

    The access_log file is used to track client requests. When a client requests a document from the server, Apache records several parameters associated with the request in this file, such as: the IP address of the client, the document requested, the HTTP status code, and the current time.

    The error_log file is used to record important events. This file includes error messages, startup messages, and any other significant events in the life cycle of the server. This is the first place to look when you run into a problem when using Apache.

    If no error is found, you will see a message similar to:

    Syntax OK
    /installdir/ctlscript.sh : httpd started
    

    The main MySQL log file is created at /installdir/mysql/data/mysqld.log file.

    How to increase the allowed size of the uploaded files?

    You can modify the following option in the php.ini file to increase the allowed size for uploads:

    ; Maximum size of POST data that PHP will accept.
    post_max_size = 16M
    
    ...
    
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 16M
    

    How to configure the Magento cron task?

    In order to run Magento Schedulers, it is necessary to add the following line to the crontab file. You can add this line with the crontab editor in the Virtual Machine or AMI "sudo crontab -e":

    * * * * *  su daemon -c "/bin/sh /opt/bitnami/apps/magento/htdocs/cron.sh"
    

    It is also necessary to edit the cron.sh file to change the PHP binary file:

    PHP_BIN=/opt/bitnami/php/bin/php

    How to connect to the Magento API (REST, SOAP)?

    Magento API is available at the following URL by default: http://your_domain/magento/index.php/api/ 

    How do I set up Beetailer?

    Beetailer is a service that allows you to integrate your existing online store with Facebook, allowing you to display your products so Facebook users can discover, comment, share, and purchase them. http://beetailer.com

    First of all, you will need to have a Magento installation with a publicly accessible IP. Then go to the admin panel (http://your_domain/magento/index.php/admin) and click on the "Facebook Store" tab. Follow the onscreen instructions.

    How do I protect my application with a password?

    To request a username and a password when accessing your application, follow these steps:

    linux_platform.png

    mac_platform.png

    On Linux and OS X: Open the console that you can find in the installation directory and type the following.

     

    $ cd your_installation_directory
    $ apache2/bin/htpasswd -cb apache2/yourapplicationname_users username password
    

    win_platform.png On Windows: Open a console from the Start Menu shortcuts and type the following commands:

     

    > cd your_installation_directory
    > apache2\bin\htpasswd -cb apache2\yourapplicationname_users username password
    


    Then it is necessary to add the following in the Apache configuration file. BitNami applications have their own configuration file that you can find at "installdir/apps/app_name/conf/httpd-app.conf". Don't forget to comment the "Require all granted" line.

    <Directory "/installdir/apps/my_application/htdocs">
    ...
      AuthType Basic
      AuthName MyAuthName
      AuthUserFile "/installdir/apache2/yourapplicationname_users"
      Require valid-user
    ...  
    
    <IfVersion >= 2.3>
    # Require all granted
    </IfVersion>
    ...
    </Directory>
    

     

     

    Restart the Apache server:

    $ sudo /installdir/ctlscript.sh restart apache
    
     
    If you want to change the password, run the htpasswd utility without the -c switch. Like this:
    $ sudo /installdir/apache2/bin/htpasswd /installdir/apache2/yourapplicationname_users username
    

    Enable Multisite Support

    This configuration guide assumes that the Apache server is using port 80, and that Magento URL has been moved to root. If Magento is not in your root URL, move it as explained here

    The capability of providing support to Multi-Stores in Magento is an important feature. We are going to explain how to enable it in a Bitnami Magento Stack. The paths used are related to Cloud and Virtual Machines. If you are using a native installer, substitute the path /opt/bitnami for your installtion directory where it appears.

    For this example, we’ll be attempting to set up domain1.com and domain2.com, all of them sharing catalog. You can also configure subdomains if you prefer, and use a different catalog for each store.

    Add the new categories

    To begin with, you have to add new Categories. You can add Subcategories or Root Categories, depending on whether you want to share catalog or not. In our case, we will create two Subcategories, Shoes and Clothes. To do so, go to Catalog->Manage Categories->Add Subcategory. Use the name you want, set Is Active to yes in the General Information tab, and Is Anchor to yes in the Display Settings tab.

    Store Configuration in the Magento Admin

    The next step is to create the web sites. To do so, go to System->Manage Stores->Create Website. Write in Name the domain of your new site and in Code the code Magento will use to call this site. In our case

    image

    Once the website has been created, we’ll create the store corresponding to this website by clicking on the “Create Store” button in System -> Manage Stores. Website is the website to which this store will be associated, Name is the same as Website, and Root Category is the root category that will be used for this store.

    image

    Finally, we'll create the store view which is the interface that the customer will be able to access on the frontend.  Click the “Create Store View” button in System -> Manage Stores. Store is store to which this view will be associated, Name is name of this store view, Code is code for this store view and Status allows you to enabled this store view, being accessible from our frontend, otherwise, it will not be accessible.

    image

    After the Store has been created, you need to configure the Unsecure Base URL and Secure Base URL under System -> Configuration -> General -> Web.  Before setting their respective base URLs, ensure that the configuration scope is set to the domain1.com website to define which site you are working on.

    image

    Then, modify the base URLs for both Unsecure:

    image

     

    and Secure:

    image

    with the corresponding domain name by unchecking the ”Use default [STORE VIEW]” checkbox and then save the configuration.

    Now just repeat the steps above for the other website, domain2.com.

    Apache Server Configuration

    Now, we have to configure Magento configuration files for Apache to use Virtual Hosts and the htaccess file to redirect depending on the domain.

     

    The following changes are only necessary if you are not using Bitnami Cloud Hosting. If you have /magento in the URL previously, you should enable VirtualHost configuration.

    bitnami-apps-prefix.conf

    Comment the line that includes the Magento configuration file in /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf

    ...
    #Include "/opt/bitnami/apps/magento/conf/httpd-prefix.conf"
    ...
    
    bitnami-apps-vhosts.conf

    Add the following line to include the Magento configuration file for Virtual Hosts, /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf

    ...
    Include "/opt/bitnami/apps/magento/conf/httpd-vhosts.conf"
    ...
    
     

    httpd-vhosts.conf

    Add the new domains to the VirtualHosts, into the ServerAlias directive, /opt/bitnami/apps/magento/conf/httpd-vhosts.conf

    <VirtualHost *:80>
      ServerName yourdomain.com
      ServerAlias www.yourdomain.com domain1.com domain2.com
      DocumentRoot "/opt/bitnami/apps/magento/htdocs"
      Include "/opt/bitnami/apps/magento/conf/httpd-app.conf"
    </VirtualHost>
    

    htaccess.conf

    Add the following lines at the end of the htaccess file to redirect the request depending on the domain, /opt/bitnami/apps/magento/conf/htaccess.conf

    ...
    SetEnvIf Host www\.domain1\.com MAGE_RUN_CODE=domain1_com
    SetEnvIf Host www\.domain1\.com MAGE_RUN_TYPE=website
    SetEnvIf Host ^domain1\.com MAGE_RUN_CODE=domain1_com
    SetEnvIf Host ^domain1\.com MAGE_RUN_TYPE=website
    
    SetEnvIf Host www\.domain2\.com MAGE_RUN_CODE=domain2_com
    SetEnvIf Host www\.domain2\.com MAGE_RUN_TYPE=website
    SetEnvIf Host ^domain2\.com MAGE_RUN_CODE=domain2_com
    SetEnvIf Host ^domain2\.com MAGE_RUN_TYPE=website
    

    Where MAGE_RUN_CODE is the code provided when configuring the New Website.

    Restart Apache Server

    Finally, restart the Apache server to load the new configuration.

    sudo /opt/bitnami/ctlscript.sh restart apache
    

     

    That's all. Now you have different stores depending on the domain used.

    Tag page (Edit tags)
    • No tags
    Pages that link here
    Page statistics
    83867 view(s), 80 edit(s) and 23102 character(s)

    Comments

    You must login to post a comment.

    Attach file

    Attachments

    FileSizeDateAttached by 
     magento-connect.png
    Magento Connect
    15.85 kB10:50, 9 Jun 2014AdminActions
     step1.png
    No description
    32.39 kB15:48, 30 Jun 2011josueActions
     step10.png
    No description
    16.52 kB15:49, 30 Jun 2011josueActions
     step11.png
    No description
    141.96 kB15:49, 30 Jun 2011josueActions
     step12.png
    No description
    17.65 kB15:49, 30 Jun 2011josueActions
     step2.png
    No description
    9.51 kB15:49, 30 Jun 2011josueActions
     step3.png
    No description
    61.6 kB15:49, 30 Jun 2011josueActions
     step4.png
    No description
    71.63 kB15:49, 30 Jun 2011josueActions
     step5.png
    No description
    18 kB15:49, 30 Jun 2011josueActions
     step6.png
    No description
    67.3 kB15:49, 30 Jun 2011josueActions
     step7.png
    No description
    26.42 kB15:49, 30 Jun 2011josueActions
     step8.png
    No description
    18.24 kB15:49, 30 Jun 2011josueActions
     step9.png
    No description
    127.12 kB15:49, 30 Jun 2011josueActions