زکات علم

زَکاةُ العِلمِ أن تُعَلِّمَهُ عِبادَ اللّه‏ِ امام باقر (ع)
زکات علم

مطالبی در زمینه کامپیوتر و علاقه مندی های شخصی من مطالب این وبلاگ غالبا مطالبی ست که در جای جای اینترنت کتاب یا دانشته های شخصی خودم می باشد که به عنوان مرجعی برای رجوع دوباره در اینجا جمع آوری شده اند .
ehsunitd.ir personal website

پیوندها

۸ مطلب در دی ۱۳۹۳ ثبت شده است

Backup & Recovery in Windows

Subscribe to Backup & Recovery in Windows 8 post(s), 4 voice(s)

 

Avatarsyed

16 post(s)

What is the best possible way to “backup redmine” in Windows OS.
Please help.

Thanks & Best Regards,
Syed

 

AvatarBeltrán Rueda

Administrator

3,714 post(s)

You can create a backup using several methods. I will comment two of them.

1. If you want to create a backup of the database only.

Go to the “use_redmine” shortcut and type the follwing in the command prompt:

> mysqldump -u root -p bitnami_redmine > backup.sql

The password is the same than your administrator password in Redmine application or the same that you write during the installation. You should also copy the files that you have uploaded to the application, which are into the /apps/redmine folder.

2. If you want to backup the whole Stack.

This method is very quick and let you move your Redmine application to another Windows machine easily.

IMPORTANT: Stop the servers. You can stop the servers using the shortcut or you can stop the services in the Windows service panel ( you can type in a command prompt “services.msc”). The name of the services are redmineApache, redmineMySQL and redmineMongrel. It is possible that you have more than one Mongrel.

- Once you have stopped the services, copy your installation directory in a USB, CD or to the other machine directly. It is important that the installation directory is the same in the new machine. For example if you have installed the Stack in C:\Program FIles\BitNami Redmine Stack, this is the same location where you should copy the backup in the new machine.

- Install the services in the new machine. Go to a command prompt and type:

> cd “C:\Program Files\BitNami Redmine Stack”
> servicesinstall.bat INSTALL

That’s all, I hope it helps.

 

Avatarsyed

16 post(s)

Dear Beltran,

I prefer the second solution..and it is working without any problem.
Thanks you very much for the excellent help.

Thanks & Best Regards,
Syed

 

AvatarBeltrán Rueda

Administrator

3,714 post(s)

Great! I’m glad to hear this.

 

Avatarekasadevelop...

11 post(s)

Dear, Beltran

I´ve sent a topic similar to this to do a question (https://bitnami.com/forums/forums/redmine/topics… for recovery the backup.sql before the command
mysqldump -u root -p bitnami_redmine > backup.sql

I don´t Know how to do this and i don´t see anything about this in the forum to recovery de backup in Windows

Thanks

 

Avatarekasadevelop...

11 post(s)

Dear all,

Finish, i find the command to recovery the backup.

Apologize for the inconvenients.

 

AvatarSriram Chitturi

5 post(s)

Before installaing I did the following, which helped me backing up and moving the Bitnami redmine to another machine easily.
a) create or pick up some directory (say for eg. C:\MyProjects\Redmine) where you want to install the stack
b) use Windows “subst” command and assing a uncommon drive letter to the directory, eg. subst X: “C:\MyProjects\Redmine”
c) Now when you install the Bitnami stack give this drive (X:) as the destination folder to install
d) Make sure to place the subst command in autoexec.bat file, so that the drive letter is correctly assigned whenever the machine is rebooted

Now you can back up the complete Bitnami stack as it is.
Not only that if you run out of space on the current disk, or if you attach anoter drive or what ever, just move the contents to that folder and change the subst command. Hope this helps.

 

AvatarBeltrán Rueda

Administrator

3,714 post(s)

Great quick guide for backups. Thanks for sharing with other BitNami users.

  • ehsan gholami

change the opencart logo and footer in the admin panel 

 





easiest way to do this would be just to replace the main logo for admin site:

CODE: SELECT ALL
/public_html/admin/view/image/logo.png



for footer, edit the file:

CODE: SELECT ALL
/public_html/admin/language/english/common/footer.php
 
  • ehsan gholami

When operating an e-store in OpenCart sometimes store owners want to edit or delete Powered by OpenCart title, which is positioned right below in the footer. Usually to enhance presentation they put their store name or completely get rid of the title for various reasons. In this tutorial we will lead you through the necessary steps on how to edit and delete the Powered by OpenCart.

 
Editing Powered by OpenCart:
 
In order to edit the Powered by OpenCart you need to go to Catalog/Language/(The current language you are using)/Common/Footer and look for the line that reads:
$_['text_powered']      = 'Powered By <a href="http://www.opencart.com">OpenCart</a><br /> %s &copy; %s';
You can basically substitute the text with whatever message you want to send to your website visitors.
 
Removing Powered by OpenCart:
 
In order to remove the Powered by OpenCart you need to go to Catalog/View/Theme/(The Name of your Theme)/Template/Common/Footer.tpl
 
Look for the line that reads:
 
<div id="powered"><?php echo $powered; ?>
You can delete the line if you think you won't need to retrieve the Powered by OpenCart one day or you can comment it by putting:
 
/* <div id="powered"><?php echo $powered; ?> */
 
In case you are using iCustomFooter, things are even easier. All you need to do is go to the admin and click on Support & Settings/Settings and select Hide 'Powered By' message to No and click onSave.
 
  • ehsan gholami

You seem to be missing the following line in your config.php file which appears usually after define('DIR_SYSTEM', '../system/');

define('DIR_DATABASE', '../system/database/');

I would go back to relative paths, keep in mind there are two config files, one in the root of the site and one in admin. You need to add the '../system' in the admin one if the one in root is 'system'

  • ehsan gholami
This post is part of a series called Create a Custom Theme With OpenCart.
Create a Custom Theme With OpenCart: Part Three

If you've followed the series thus far, you should be able to find the location of home page layout template. Although a quick look at the templates here and there inside "€œdefault"€ theme should give you a hint that it's located at €œdefault/template/common/home.tpl

But if you may have noticed the route of the home page, it contains the value€œcommon/home. So, as we discussed earlier, you can always map this route to find the appropriate layout template file.

Homepage Layout Elements

Looking at the œhome.tpl€ file, you'll realize that most of the content is generated via the generic elements like $header$footer etc. We won't discuss the $headerand $footer elements as you already know that the contents of those variables are coming from œheader.tpl and €œfooter.tpl€ files underneath  template/common directory, respectively. 

In the case of default OpenCart home page, there are no modules assigned at the "€œColumn Left"€ or "€œColumn Right"€ position so you can say that $column_left and$column_right variables are not doing anything. So everything you see on the home page except for the header and footer, is coming from either $content_topor $content_bottom variable. "€œSlideshow"€ and "€œFeatured"€ modules are assigned to "€œContent Top"€ position and "€œCarousel"€ module is assigned to "€œContent Bottom"€ position to the "€œHome"€ layout.

Now lets go further and see how exactly these modules are assigned to "€œHome"€ page layout.

Get logged into the back-end and go to "€œExtensions > Modules"€. This will list out all the modules available in the system. Now, click on the "€œEdit"€ link for the "€œSlideshow"€ module which will display the module assignment interface.

Slideshow Module Configuration

Although there is quite a bit of configuration available here, the important column for us are "€œLayout"€ and "€œPosition"€. As per the values assigned there, "€œSlideshow"€ module will be displayed at "€œContent Top"€ part in the "€œHome"€ layout. 

From here, you can also assign a "€œSlideshow"€ module to any layout at any position using "Add Module" button. Now let's take a look at an another example, on the module listing page click on the "€œEdit"€ link for the "€œFeatured"€ module.

Featured Module Configuration

Again you can see that, the "€œLayout"€ and "€œPosition"€ values are same as that of the "€œSlideshow"€ module. So now you should be familiar with how exactly these modules are displayed in the home page. As you may have noticed that there is also "€œRemove"€ button available which is used to un-assign a module from the specific layout. Go ahead and explore the settings for "€œCarousel"€ module yourselves!

Now that you are aware with how module is assigned and unassigned to a specific page and position, we'll go through the same to tweak the home page layout. Jump into the admin section, and go to the "€œExtension > Modules"€ to bring the module listing page on the table.

In this step, we'll remove all the assigned modules from the home page.

  • Click on the "Edit" link for the "Slideshow" module. Now, click on the "Remove" button to un-assign a module from "Home" layout. After that click on "Save" button to apply the changes. Repeat the same procedure for the "Carousel" and "Featured" modules. 

At the end of this step if you check your home page, you should see almost an empty home page except "header" and "footer" parts. Don't worry, that's what we really intended to do! In the next step, we'll assign a bit different set of modules to "€œColumn Left"€ and "€œColumn Right"€ positions in home page. Let's go to the module listing page again.

  • Click on the "€œEdit"€ link for the "€œCategory"€ module. At the bottom right of the page, you'll see an "€œAdd Module"€ button, clicking upon which would add a new row to the listing. In that row, in the "€œLayout"€ column select "€œHome"€ and in the "€œPosition"€ column select "€œColumn Left"€. After that click on "€œSave"€ button to apply the changes.
  • Click on the "€œEdit"€ link for the "€œAccount"€ module. Click on the "€œAdd Module"€ button to add a new row. In the newly added row, in the "€œLayout"€ column select "€œHome"€ and in the "€œPosition"€ column select "€œColumn Right"€. Apply your changes using the "€œSave"€ button.

So now let's have a look at our front-page:

Partial Homepage

So far we have done all the layout related tweaking from the back-end itself. In this section, we'll add a bit of static text content to the œhome.tpl. Whenever you need to add a static text in any template, instead of putting the text directly inside the template you should follow the standard way of the OpenCart. Let's exercise the same. 

Of course, you won't directly edit the œhome.tpl file in the "€œdefault"€ theme, lets override it in your custom theme!

Go ahead and open €catalog/language/english/english.php. Add the following line at the end of the file just before the line which contains œ?>.

Now go ahead and open œcatalog/controller/common/home.php. We'll include the language variable added in the english.php file in this controller file so it's available in the œhome.tpl file for display.

In "€œhome.php"€ before the following line,

Add this one,

This will make sure that the $welcome_text variable is available in the layout template file just like any other variables. Now the only thing remaining is to include$welcome_text in the home.tpl file. So your home.tpl should look like this,

I've done very few changes in this file. I've added the variable $welcome_textsurrounded by <div> tag. I've also removed the display:none from the <h1> tag so the title is displayed. Finally, a bit of formatting of the code is done for better readability. Here's the final snap!

Complete Homepage

There are a couple of important things to note here, although we've directly modified english.php and home.php files but it's strictly discouraged to do so. It was just done to keep this example simple. In fact, you should use "vQmod" OpenCart extension in the case in which you need to modify the core files.

So this was a pretty simple example to demonstrate the layout modifications on the home page layout. Although we added a simple static text, you can fetch more dynamic information from the database and display the same in the template! 

Of course, that is something requires a bit of knowledge of how OpenCart model works. You're encouraged to go further and assign couple of more modules to the different positions to see how things work.

I hope this series helped you to understand what exactly OpenCart theme is all about and how to customize the default theme with your own. You can always shoot your comments and questions in the feed below.

  • ehsan gholami

How do you remove Help menu in Admin

 

admin/view/theme/common/header.tpl

delete all lines with the word help. just search for the word in the file.
  • ehsan gholami

The first thing we need to do is backup your website files. Open up FileZilla (or your favorite FTP program) and enter your current host's FTP Host, username and password into the top boxes then click the Quickconnect button. If you don't know what these settings are then you can usually find them in your control panel with your current hosting company. Failing that, you can contact your host and ask them for these.

Opencart FTP Download

Once connected, you will need to navigate to where your OpenCart website is located. This is usually in your public folder called Public_html or Htdocs. If you installed your OpenCart website into a sub folder e.g. yourwebsite.co.uk/shop, then you will need to find your 'shop' folder.

Double click on your public folder to open it.

public_html

You should now see your website's files. We need to double check you are in the correct folder for your OpenCart files. Look for the below three files. If you can see these you are in the correct location.

  • config.php
  • hide_config_files.php
  • index.php

If you can't see these files then you will need to look inside your other folders. If you installed your OpenCart store in a sub folder e.g. yourdomain.co.uk/shop then look for your 'shop' folder and double click it to open it. Then look for the above files.

Once you are in the correct location, you will need to select all the files and folders. To do this, left click once on config.php and press the 'CTRL' button and the 'A' key at the same time (command-A on a Mac). This will change all the files to be selected. You can now drag the files into a folder of your choice (left click on one file and drag them over a folder on your computer). We suggest having a folder on your desktop called 'old website' and downloading the files into here.

Download Opencart Files via FTP

You will see a lot of connection and download text show in the top bar. Once this has stopped you should have all your OpenCart files downloaded to your computer.

Next, we need to download a copy of your OpenCart database. To do this, we will use phpMyAdmin. You will need to contact your current host and ask them for instructions on how to access phpMyAdmin for your database. Usually this will be under your control panel in a manage MySQL databases section.

Once in phpMyAdmin, click your database from the left hand menu.

OpenCart Database

You should see a list of tables related to open cart, starting with oc_ e.g. oc_address,oc_affiliate etc.

Next, click the export tab at the top.

Export OpenCart Database

Click the custom button then click the 'Select All' link to highlight all of the OpenCart tables.

Export database settings

Finally choose zipped from the 'Compression' drop down, then scroll down and click the 'Go' button.

Ziped OpenCart databse

You will be asked to save this to your computer. Make sure you remember where you save it to as you will need it later.

Step 2 : Upload your OpenCart Files to your new server

Now you have a copy of your website, we need to upload it and restore it on your new hosting/server. If you have purchased hosting with Squirrel Hosting then you can follow this guide exactly. If you're using another company for hosting, you will need to contact them for details on how to connect to your hosting via FTP and how to setup/connect to your database.

Open up FileZilla and connect to your new hosting company. Squirrel Hosting customers check your welcome e-mail for your FTP details. As your domain is still technically loading up your old hosting company at this stage, you will need to use the host's IP address instead of ftp.yourdomain to connect.

Opencart FTP upload

Double click on your public folder to open it up (for Squirrel Hosting customers, double click public_html).

public_html

Next, we need to upload all the files you downloaded in step 1 (do not upload your MySQL database).

To do this open up the folder where your files are stored and highlight them all, then drag them over onto your public folder.

Upload OpenCart via FTP

Step 3 : Create a MySQL Database

Now we need to create a new database on your new hosting. This can vary depending on which hosting company you choose to use. For Squirrel Hosting customers, simply follow the below steps. For other hosting companies you will need to contact them and ask how to set up a MySQL Database. You will also need to make a note of the database hostname, username, password and database name then skip to step 4.

For Squirrel Hosting customers only, load up your eXtend control panel (see your welcome e-mail for details on how to do this) and click the MySQL Databases icon.

MySql databases icon

Next, enter your desired username in the username box and then click the 'Generate Password' button. Finally click Create.

Generate database password

Scroll down to the bottom of the page and under the 'Manage MySQL Databases' section you will see the database you have just created. Make a note of the following;

  • Username (including any - )
  • Password (hover over to view it)

OpenCart database username and password

Step 4 : Upload your OpenCart Database

We now need to load phpMyAdmin on your new hosting to import our OpenCart database. Again if you are with a company other than Squirrel Hosting you will need to contact them for details on how to access your database. For Squirrel Hosting customers, click the 'manage database' button under your 'MySQL databases' button in eXtend.

Manage database

Once in phpMyAdmin, click your database menu on the left.

Import database tab

Click the 'Choose File' button and select the OpenCart database you made a backup of in step 1. Then scroll down to the bottom and click the 'Go' button.

Choose Opencart database

This may take a few moments to process depending on how big your database is.

uploading database

Once complete, you should see a message stating "Import has been successfully finished".

Import has been successfully finished

You have now restored your database and website files.

Step 6 : Update your config files

We now need to update your config.php and admin/config.php files to have the correct settings. You can either do this via FileZilla (FTP) or edit the files on your computer then upload them via FileZilla. If you do upload them, make sure they go in the correct location.

For the purpose of this guide, we will update them via FileZilla.

Open up FileZilla and connect to your new hosting package. Double click on your public folder (public_html). Next, right click on your config.php file and select 'View/Edit' (if you have installed your OpenCart in a sub folder, you will find your config file in there.)

View/Edit config.php

The file should now open up for editing. In here you will need to edit a few lines of code. Find the lines:

// DIR
define('DIR_APPLICATION', '/home/sites/YOUR-DOMAIN/public_html/catalog/');
define('DIR_SYSTEM', '/home/sites/YOUR-DOMAIN/public_html/system/');
define('DIR_DATABASE', '/home/sites/YOUR-DOMAIN/public_html/system/database/');
define('DIR_LANGUAGE', '/home/sites/YOUR-DOMAIN/public_html/catalog/language/');
define('DIR_TEMPLATE', '/home/sites/YOUR-DOMAIN/public_html/catalog/view/theme/');
define('DIR_CONFIG', '/home/sites/YOUR-DOMAIN/public_html/system/config/');
define('DIR_IMAGE', '/home/sites/YOUR-DOMAIN/public_html/image/');
define('DIR_CACHE', '/home/sites/YOUR-DOMAIN/public_html/system/cache/');
define('DIR_DOWNLOAD', '/home/sites/YOUR-DOMAIN/public_html/download/');
define('DIR_LOGS', '/home/sites/YOUR-DOMAIN/public_html/system/logs/');

You will need to update these to your correct path. Contact your hosting company for the full path to your public folder. (for Squirrel Hosting customers, use /home/sites/YOUR-DOMAIN/public_html/ . Make sure to replace YOUR-DOMAIN with your domain without the www. e.g. /home/sites/mywebsite.co.uk/public_html/)

Next, you need to update your database connection settings. Find the below:

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your-old-opencart-databse-username');
define('DB_PASSWORD', 'your-old-opencart-databse-password);
define('DB_DATABASE', 'your-old-opencart-databse-database);
define('DB_PREFIX', 'oc_');

You will need to replace these with the new details made in step 3;

  • DB_HOSTNAME = Your database host (usually localhost). Squirrel Hosting customers, use localhost here.
  • DB_USERNAME = Your Database username.
  • DB_PASSWORD = Your Database password
  • DB_DATABASE = Your database name (Squirrel Hosting customers, use your database username here.)

Once you have updated these, save the file and click back to FileZilla. It will ask you if you wish to upload the file as it has changed. Click 'Yes' to this.

Upload config.php to server

Next, we need to make the file 'read only' (CHMOD it to 444). On most servers, this is 444. To do this, right click on the config.php file again and click 'File Permissions'.

edit Config.php file permissions

In the popup box, enter 444 in the number area then click 'OK'.

Chmod config.php to 444

This file is now non editable. If you find you have made a mistake in what you have typed and you need to re-edit the file, you will need to re do this last step and enter 777. Make sure you DON'T leave this file CHMOD to 755 or you may leave your site open to hackers!

Next, we need to do the same edit with the admin/config.php file. Double click on your OpenCart admin folder.

OpenCart Admin Folder

As we did last time, right click on the config.php file and click 'View/Edit'.

edit admin config.php

As we did before, update the below to show your correct path.

// DIR
define('DIR_APPLICATION', '/home/sites/YOUR-DOMAIN/public_html/admin/');
define('DIR_SYSTEM', '/home/sites/YOUR-DOMAIN/public_html/system/');
define('DIR_DATABASE', '/home/sites/YOUR-DOMAIN/public_html/system/database/');
define('DIR_LANGUAGE', '/home/sites/YOUR-DOMAIN/public_html/admin/language/');
define('DIR_TEMPLATE', '/home/sites/YOUR-DOMAIN/public_html/admin/view/template/');
define('DIR_CONFIG', '/home/sites/YOUR-DOMAIN/public_html/system/config/');
define('DIR_IMAGE', '/home/sites/YOUR-DOMAIN/public_html/image/');
define('DIR_CACHE', '/home/sites/YOUR-DOMAIN/public_html/system/cache/');
define('DIR_DOWNLOAD', '/home/sites/YOUR-DOMAIN/public_html/download/');
define('DIR_LOGS', '/home/sites/YOUR-DOMAIN/public_html/system/logs/');
define('DIR_CATALOG', '/home/sites/YOUR-DOMAIN/public_html/catalog/');

Then edit your Database settings:

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your-old-opencart-databse-username');
define('DB_PASSWORD', 'your-old-opencart-databse-password);
define('DB_DATABASE', 'your-old-opencart-databse-database);
define('DB_PREFIX', 'oc_');

Your database settings will be the same as you entered in your other config.php file earlier. Once edited save the file then confirm the upload on FileZilla.

Upload admin config.php Opencart

Finally, CHMOD this file like you did with your other config.php (right click 'File Permissions') to 444.

  • ehsan gholami

Bitnami Redmine

     

     

    redmine-stack.png

    Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database. Its main features are:

    • Multiple projects support
    • Flexible role based access control.
    • Flexible issue tracking system
    • Gantt chart and calendar
    • News, documents and files management
    • Feeds and email notifications.
    • Per project wiki
    • Per project forums
    • Simple time tracking functionality
    • Custom fields for issues, projects and users
    • SCM integration (SVNCVS, Mercurial and Darcs)
    • Multiple LDAP authentication support
    • User self-registration support
    • Multilanguage support
    • Multiple databases support

     

    Bitnami Redmine Stack was configured using Passenger on Linux and OS X and Thin servers on Windows forversions higher than 1.4.3. In this page you can find the documentation related to this configuration.

    If you are using Bitnami Redmine lower than 1.4.3 version, please check this documentation.

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

    Bitnami structure and configuration

    The applications in Bitnami are installed in the 'apps' folder that you can find in the installation directory. In virtual machines, cloud images and in Bitnami Cloud hosting servers the installation directory is /opt/bitnami.

    The main folders that you can find inside 'apps/redmine' are the following:

    • conf: folder that includes the apache configuration files for redmine
    • htdocs: this folder includes the redmine files (Gemfile and Rakefile files, redmine configuration files, plugins folder, gems, etc).

    The location of the redmine configuration files (database configuration, email settings, etc) is the 'apps/redmine/htdocs/config'folder.

    You can find more details about the Bitnami directory structure here.

    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 prefix?

    If you want to change Redmine to the root url you should follow the next next section. In this section you can see how to replace the URL "/redmine" with "/new_url".

    linux_platform.png  mac_platform.pngOn Linux and OS X, you should modify the following options in the "opt/bitnami/apps/redmine/config/httpd-prefix.conf" file. Note if you are using a native installer, replace "/opt/bitnami" with your installation directory.

    Alias /new_url/ "/opt/bitnami/apps/redmine/htdocs/public/"
    Alias /new_url "/opt/bitnami/apps/redmine/htdocs/public"
    Include "/opt/bitnami/apps/redmine/conf/httpd-app.conf"
    

    It is also necessary to update the installdir/apps/redmine/conf/httpd-app.conf:

    <Directory "/opt/bitnami/apps/redmine/htdocs/public">
        PassengerEnabled on
        Options -MultiViews
        AllowOverride All
        <IfVersion < 2.3 >
        Order allow,deny
        Allow from all
        </IfVersion>
        <IfVersion >= 2.3>
        Require all granted
        </IfVersion>
        SetEnv RAILS_RELATIVE_URL_ROOT "/new_url"
        PassengerAppRoot "/opt/bitnami/apps/redmine/htdocs"
    </Directory>
    
    PassengerPreStart http://127.0.0.1:80/new_url
    

    Then, restart the server:

    sudo /opt/bitnami/ctlscript.sh restart apache
    


    win_platform.pngOn Windows it is necessary to modify the Apache configuration. Edit "installdir/apps/redmine/conf/redmine.conf" the file to modify the "/redmine" setting:

    ProxyPass /redmine balancer://redminecluster
    ProxyPassReverse /redmine balancer://redminecluster
    
    <Proxy balancer://redminecluster>
      BalancerMember http://127.0.0.1:3001/redmine
      BalancerMember http://127.0.0.1:3002/redmine
    </Proxy>

    You should modify the "installdir/apps/redmine/scripts/serviceinstall.bat" and change the prefix entry "--prefix /redmine".  You should also update the prefix in the "installdir/apps/redmine/htdocs/config/additional_environment.rb" file.

    Then run the following command from a command prompt with Admin privileges:

    > cd “C:\Bitnami\redmine-<version>\apps\redmine\scripts”
    > serviceinstall.bat UNINSTALL
    > serviceinstall.bat INSTALL
    

    Then restart the Apache server using the Manager graphical application.

    How to change the default URL?

    Automatic Approach

     

    This approach is based on the Bitnami Configuration Tool (bnconfig).

     

     

    The best way to change your URL in BCH is to go to your application tab and modify it there. In the Bitnami Cloud Hosting console, select Servers, choose your server, Manage and go to the Applications tab. Press there the pencil next to the application which URL you want to modify and choose .

     

     

     

    Manual Approach

    If you want to move the Redmine application from the prefix http://example.com/redmine to the root url (i.ehttp://exmple.com), you can follow the steps described below: 

     

     

    Comment out the line "SetEnv RAILS_RELATIVE_URL_ROOT"  and remove the "/redmine" part in the PassengerPreStart URL in the file "/opt/bitnami/apps/redmine/conf/httpd-app.conf": 

    <Directory "/opt/bitnami/apps/redmine/htdocs/public">
        Options -MultiViews
        <IfVersion < 2.3 >
        Order allow,deny
        Allow from all
        </IfVersion>
        <IfVersion >= 2.3>
        Require all granted
        </IfVersion>
        # SetEnv RAILS_RELATIVE_URL_ROOT "/redmine"
        PassengerAppRoot "/opt/bitnami/apps/redmine/htdocs"
        <IfModule pagespeed_module>
            ModPagespeedDisallow "*"
        </IfModule>
    </Directory>
    
    PassengerPreStart http://127.0.0.1/
    
    

    Comment out the aliases and add the public redmine directory as DocumentRoot in the file /opt/bitnami/apps/redmine/conf/httpd-prefix.conf" :

    # Alias /redmine/ "/opt/bitnami/apps/redmine/htdocs/public/"
    # Alias /redmine "/opt/bitnami/apps/redmine/htdocs/public"
    
    DocumentRoot "/opt/bitnami/apps/redmine/htdocs/public"
    
    Include "/opt/bitnami/apps/redmine/conf/httpd-app.conf"
    

    Check that the configuration is correct: 

    $ sudo apachectl -t
    Syntax OK
     
    Finally, if the configruation is correct, restart the Apache server:
    sudo /opt/bitnami/ctlscript.sh restart apache
     

     

    How to create a full backup of Redmine?

     

    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.pngOn 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 Redmine?

    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. You can get more info about  how to create a full backup here.

    Of course, before executing any command, you have to start the bitnami_console script or the shortcut on Windows before typing the following commands.

    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 can find below the steps to upgrade only the Redmine application.

    In the Redmine case, these are the steps to migrate the database from an old version to a new one. You can launch a new Redmine version instance or download the latest Redmine installer from http://bitnami.com/stack/redmine. Note this guide uses "/opt/bitnami" as the default installation directory, you can use a different one if you have installed it in a different folder.

    • Copy the database backup to the new Bitnami version server.

    • Stop all servers and start only MySQL. Note that the installation directory could be different. This is the default installation directory for Virtual Machines and Cloud images.

      $ sudo /opt/bitnami/ctlscript.sh stop
      $ sudo /opt/bitnami/ctlscript.sh start mysql
      
    • Remove the previous database and create the new one. You can configure the database user password with a secure password.

      $ mysql -u root -p 
      Password: ****
      mysql> drop database bitnami_redmine;
      mysql> create database bitnami_redmine;
      mysql> grant all privileges on bitnami_redmine.* to 'bitnami_redmine'@'localhost' identified by 'DATABASE_PASSWORD';
      
    • Restore the new database:

      $ mysql -u root -p bitnami_redmine < backup.sql
      
    • Edit the Redmine configuration file to update the database user password (the same that you set previously) "/opt/bitnami/apps/redmine/htdocs/config/database.yml"
    production:
      adapter: mysql2
      database: bitnami_redmine
      host: localhost
      username: bn_redmine
      password: "DATABASE_PASSWORD"
      encoding: utf8

     

    • Migrate the database to the latest version:
    $ cd /opt/bitnami/apps/redmine/htdocs 
    $ ruby bin/rake db:migrate RAILS_ENV=production
    

     

    Troubleshooting:

    If you see the following error, go to your database and remove the specified table and run the migrate command again.

    Mysql::Error: Table 'changeset_parents' already exists: CREATE TABLE `changeset_parents` (`changeset_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL) ENGINE=InnoDB
    
    $ mysql -u root -p 

    mysql> use bitnami_redmine;

    mysql> drop table changeset_parents;

    • Copy the ""/opt/bitnami/apps/redmine/htdocs/files" folder from the old installation to the new one. 
    • If you have installed plugins in the previous version, copy the folders from "vendor/plugins" directory into new installation directory, in "plugins" folder.
    • Check the plugins also support this new version and run the following command
    $ ruby bin/rake redmine:plugins RAILS_ENV="production"
    
    • Finally you should clean the cache and the sessions:
    $ ruby bin/rake tmp:cache:clear
    $ ruby bin/rake tmp:sessions:clear
    
    • Restart the servers and you can access to your new Redmine.
    ​$ sudo /opt/bitnami/ctlscript.sh restart

     

    Troubleshooting:

    If you upgrade it from a 1.x version and you see something similar to this error creating an issue:

    MysqlStatement::Error Value for field `value` cannot be NULL INSERT INTO custom_value ...
    

    Go to your custom values in the admin panel, try to edit and save them again. That should fix the issue.

    How to install a plugin on Redmine?

    Before installing a plugin make sure that the plugin is compatible with your redmine version. If you get the plugin from the Redmine Plugin Directory  you can check the "Compatible with:" field for each plugin.

    Download the plugin and copy the directory into installdir/apps/redmine/htdocs/plugins.

    If the plugin requires a migration, run the following commands to upgrade your database. It is advisable to make a db backup before.

    On Windows, you should start the "Use Redmine" command prompt from the Windows Start Menu. On Linux or OS X, you should run this command from a "use_redmine" console.

    $ cd installdir
    $ ./use_redmine
    $ cd apps/redmine/htdocs
    $ bundle install --without development test postgresql sqlite
    $ ruby bin/rake redmine:plugins RAILS_ENV=production
    

    Restart Redmine application.

     

    Note: Since Redmine 2.4.0-0 version, this process could be a little bit different. If you receive the error below after executing bundle install, try executing `bundle install --no-deployment` as suggested in the error message.

    You are trying to install in deployment mode after changing your Gemfile. Run `bundle install` elsewhere and add the updated Gemfile.lock to version control.
    If this is a development machine, remove the Gemfile freeze by running `bundle install --no-deployment`.

    After copying the plugin into installdir/apps/redmine/htdocs/plugins.

    $ cd installdir
    $ ./use_redmine
    $ cd apps/redmine/htdocs
    $ bundle install --without development test postgresql sqlite --no-deployment
    $ bundle install --without development test postgresql sqlite --deployment
    $ ruby bin/rake redmine:plugins RAILS_ENV=production
    

    Restart Redmine application.

    Windows troubleshooting

    If you are using the Bitnami Redmine installer for Windows and your thin servers don't run after installing a plugin you can run them manually to see what is the error.

    • Go to Bitnami Redmine console at Start -> Program Files -> Bitnami Redmine Stack -> Use Redmine
    • Go to apps/redmine/htdocs
    • Run the following command:
    bundle exec thin start -e production -p 3001 --prefix /redmine
    

    Now you can see the error starting the servers or accesing through your web browser at http://127.0.0.1:3001/redmine.

    How to install the RedmineCRM plugin?

    The RedmineCRM plugin allows you to keep track of the contacts and companies, communications with them and deals in the pipeline. The main features are:

    - Contacts

    - Deals

    - Notes

    - Contacts issues/tasks

    - Email sending

    You can download this plugin at  RedmineCRM. The installation steps are the following. Note that this quick guide uses "/opt/bitnami" as the default installation directory.

    • Download the plugin and uncompress it in the plugins folder:
    $ unzip redmine_contacts*.zip -d /opt/bitnami/apps/redmine/htdocs/plugin
    
    • Then install the required gems:
    $ cd /opt/bitnami/apps/redmine/htdocs
    $ bundle install --no-deployment --without development test
    • Migrate the database
    $ ruby bin/rake redmine:plugins NAME=redmine_contacts RAILS_ENV=production
    
    • Restart the Apache server and check the plugin is already installed in the Admin -> Plugins section.
    $ sudo /opt/bitnami/ctlscript.sh restart apache
    

    How to install the Redmine Dropbox plugin?

    The Redmine Dropbox plugin only supports Redmine 1.x version currently. Check this guide.

    How to install the Redmine Ultraviolet plugin?

    Some of plugins require to be compiled, for instance, the Redmine Ultraviolet Syntax Highlighting plugin (http://www.redmine.org/plugins/redmine_ultraviolet). It is necessary that you machine have the compilation tools (gcc, make and their dependencies). If you are running a Virtual Appliance or an AMI, you should do the following:

    $ sudo apt-get install gcc make
    $ sudo apt-get install libonig-dev
    $ sudo gem install ultraviolet
    

    Now you can download the plugin and install it in Redmine application

    $ sudo git clone git://github.com/epitron/redmine_ultraviolet.git
    $ sudo mv redmine_ultraviolet /installdir/apps/redmine/htdocs/vendor/plugins
    $ sudo /installdir/ctlscript.sh restart apache
    

    That's all, you can enable any Ultraviolet theme in the administrator account.

    How to configure the email settings of Redmine?

    You can configure the email settings in the "installdir/apps/redmine/htdocs/config/configuration.yml" file. In older versions you should use the "installdir/apps/redmine/htdocs/config/email.yml" file. Please note that installdir stands for /opt/bitnami in the machines launched with Bitnami Cloud Hosting.

    The sample configuration for GMail account is shown below:

    default:
      email_delivery:
        delivery_method: :smtp
        smtp_settings:
          address: smtp.gmail.com
          port: 587
          domain: your_domain.com
          authentication: :login
          user_name: your_email@gmail.com
          password: your_password
    

    In case you receive an error message saying something like "530 5.7.0 Must issue a STARTTLS command first ...", make sure you have the enable_starttls_auto property set after the password line

         enable_starttls_auto: true
    

     

    Once the configuration.yml file is changed, you need to restart the mongrel process.

    $ sudo installdir/ctlscript.sh restart apache
    

     

    In Redmine 2.0 or greater, if you see a similar error to this: "An error occurred while sending mail (SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol)" you should remove the "tls: true" option from the configuration.yml file. Then, in this case, you only have to restart Apache:

    $ sudo installdir/ctlscript.sh restart apache
    

    If you are using a SMTP server that do not require authentication, it is possible that you should add the following option:

    openssl_verify_mode: 'none'
    

    You can also change the link that appears in the email. Go to Administration -> Settings -> General -> Host name and path and you can write your domain name and port.

    You can also find more info at the Redmine wiki page and Redmine blog.

    How to enable SSL?

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

     

    win_platform.png On Windows: In addition to this, for Redmine it is necessary to add the "RequestHeader" option in the /installdir/apps/redmine/conf/httpd-prefix.conf file:

     

    <Proxy balancer://redminecluster
      RequestHeader set X_FORWARDED_PROTO 'https'
      BalancerMember http://127.0.0.1:3001/redmine
      BalancerMember http://127.0.0.1:3002/redmine
    </Proxy>
    

    How to see the Subversion repository from Redmine application or from web browser directly?

    Redmine application itself lets to check the Repository changes and link to the number case. You only have to configure the Repository URL from the project settings.

    SCM: Subversion
    URL: http://your_repository
    Login: repository_login
    Password: repository_password
    

    Redmine-svn.png

    If you do not have any repository yet, you can create it manually. This guide describes how you can create a Subversion repository in your machine.

    If you also want to see the repository directly from the web browser, you can configure Apache server to serve the repository. You can find the exact steps here.

    How to configure Redmine for advanced integration with Git

    Before starting this guide, take into account that this is not necessary to see the repository changes in the Redmine application. If you only want to see the repository changes and link to the issues, it is only necessary to configure the project repository: Project -> Settings -> Repository -> URL and Control Version System.

    This Redmine advanced configuration is to use the users created in the Redmine application for the Git repository. For example, you can create new users from the Redmine application which will be the same that be able to "push" changes in the Git project repository. This guide is based on the Felix Schäfer guide posted at the Redmine Wiki.

     
    1. Create a Git repository. I will use "projects" to a folder where the repositories are going to be created. This directory should have write privileges for the "daemon" user.
     
    $ cd /opt/bitnami
    $ sudo mkdir projects
    $ sudo mkdir projects/test
    $ cd projects/test
    $ sudo git init --bare
    $ cd ../../
    $ sudo chown -R bitnami:daemon projects
    $ chmod -R g+rwX projects/test

    2. Download the Grack project from GitHub:

    $ cd /opt/bitnami/apache2/htdocs/
    $ git clone http://github.com/schacon/grack.git
    $ sudo chown your_user:daemon grack
     
    Edit the "grack/config.ru" file to specify where is your Git project:
     
    $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/lib')
    use Rack::ShowExceptions
    require 'git_http'
    config = {
      :project_root => "/opt/bitnami/projects/",
      :adapter => Grack::GitAdapter,
      :git_path => '/opt/bitnami/git/bin/git',
      :upload_pack => true,
      :receive_pack => true,
    }
    run GitHttp::App.new(config)
     
    3. You can now test the basic behaviour. Start the Grack server and try to clone the repository and push the changes from a different machine. If you are trying to follow this steps in a local installation, you can use 127.0.0.1, if not, use 0.0.0.0 and ensure that the port 8080 is openned in the firewall:
     
    $ cd /opt/bitnami/apache2/htdocs/grack
    $ rackup --host 0.0.0.0 -p 8080 config.ru
     
    3.a. Then you can try to clone the repository and push changes from a different machine.
     
    $ cd /tmp/
    $ git clone http://IP_MACHINE:8080/test
    $ cd test
    $ echo "test" > test_file
    $ git add test_file
    $ git commit -m "test" test_file
    $ git push origin master
     
    And you can see something similar to the following:
     
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 200 bytes, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To http://IP_MACHINE:8080/test
    * [new branch]      master -> master
     
    4. You can now stop the Grack server and configue Apache with Passenger. It is necessary to create two directories in the grack folder:
     
    $ mkdir /opt/bitnami/apache2/htdocs/grack/public
    $ mkdir /opt/bitnami/apache2/htdocs/grack/tmp
     
    Install the needed dependences:
     
    $ cd /opt/bitnami/apache2/htdocs/grack/
    $ bundle install
     
    Edit the /opt/bitnami/apache2/conf/bitnami/bitnami.conf and add the code below at the bottom (change YOUR_DOMAIN.COM which your own domain):
     
    <VirtualHost *:80>
        ServerName git.YOUR_DOMAIN.COM
        PassengerEnabled on
        PassengerAppRoot "/opt/bitnami/apache2/htdocs/grack/"   
        DocumentRoot "/opt/bitnami/apache2/htdocs/grack/public"
        <Directory "/opt/bitnami/apache2/htdocs/grack/public">
            Options None
            AllowOverride None
            <IfVersion < 2.3 >
            Order allow,deny
            Allow from all
            </IfVersion>
            <IfVersion >= 2.3>
            Require all granted
            </IfVersion>   
        </Directory> 
    </VirtualHost>
     
    You can now restart Apache server and try the same basic approach to clone the repository that you did in the 3.a step. The URL should be now http://git.your_domain.com/test, without the 8080 port.
     
    4. We are going to configure the Git access control using the Redmine.pm module. 
    Copy in the Redmine.pm file to the appropiate perl folder:
     
    $ sudo cp /opt/bitnami/apps/redmine/htdocs/extra/svn/Redmine.pm /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache/
    $ sudo cp /opt/bitnami/apps/redmine/htdocs/extra/svn/Redmine.pm /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache2/
     
    5. Enable the perl module in httpd.conf adding the following line.
    LoadModule perl_module modules/mod_perl.so
    
     
    You will also need to add the following lines to the /opt/bitami/apache2/bin/envvars file (the route may change depending on the version, please, check if it exists)
    LD_LIBRARY_PATH="/opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH"
    export LD_LIBRARY_PATH
    
     
    6. Finally add the following configuration in your already created VirtualHost in the step 4. The redmine_db_user and the redmine_db_password credentials you can get from the /opt/bitnami/apps/redmine/htdocs/config/database.yml file:
     
    <VirtualHost *:80>
         ServerName git.YOUR_DOMAIN.COM
         PassengerEnabled on
         PassengerAppRoot "/opt/bitnami/apache2/htdocs/grack/"  
         DocumentRoot "/opt/bitnami/apache2/htdocs/grack/public"
         <Directory "/opt/bitnami/apache2/htdocs/grack/public">
            Options None
            AllowOverride None
            <IfVersion < 2.3 >
            Order allow,deny
            Allow from all
            </IfVersion>
            <IfVersion >= 2.3>
            Require all granted
            </IfVersion>       
         </Directory>
        
         PerlLoadModule Apache::Redmine
        
         <Location "/">
           AuthType Basic
           AuthName "Redmine git repositories"
           Require valid-user
          
           PerlAccessHandler Apache::Authn::Redmine::access_handler
           PerlAuthenHandler Apache::Authn::Redmine::authen_handler
           RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=/opt/bitnami/mysql/tmp/mysql.sock"
           RedmineDbUser "redmine_db_user"
           RedmineDbPass "redmine_db_password"
           RedmineGitSmartHttp yes
         </Location>
    </VirtualHost>
     
     
    You can now restart Apache and create the Project "test" in the Redmine application. Specify the path to the repository (i.e. /opt/bitnami/projects/test) and add a user as a Developer to this project. Now everything is ready to the created user be able to develop in the "test" repository using the same password that he has to access to the Redmine application. You can try the basic approach to clone and "push" a change in the repository that you did in the 3.a step.
     

    02/09/2014: Due a bug on Redmine + Public Projects + Git integration, you must configure your project as private to allow this configuration to work as expected. More info in the official redmine forums: http://www.redmine.org/issues/16948

    How to configure Redmine for advanced integration with Subversion

    Before starting this guide, take into account that this is not necessary to see the repository changes in the Redmine application. If you only want to see the repository changes and link to the issues, it is only necessary to configure the project repository: Project -> Settings -> Repository -> URL and Control Version System.

    This Redmine configuration is for automatic repository creation and rights management. Since 1.1.3-1 version, Redmine Stack ships all required modules for this configuration. Notice that if you are using Virtual Appliances or AMIs the installdir variable is "/opt/bitnami". It could be necessary to use the "sudo" command if the Stack was installed by the root user.

    This guide has been updated to work with Redmine 2.1.4.

    • Make sure that the mod_dav module is enabled in your apache configuration (httpd.conf). This module should be loaded before the modules mentioned in the next step.
    LoadModule dav_module modules/mod_dav.so
    
    • Add the following lines in Apache configuration file (httpd.conf):
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule perl_module modules/mod_perl.so
    
    • You will also need to add the following lines to the /opt/bitami/apache2/bin/envvars file (the route may change depending on the version, please, check if it exists)
      LD_LIBRARY_PATH="/opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH"
      export LD_LIBRARY_PATH
      
    • Copy the Redmine.pm file into the Perl modules folder:
    $ cp /installdir/apps/redmine/htdocs/extra/svn/Redmine.pm installdir/perl/lib/site_perl/5.8.8/*/Apache2/
    
    • Create a folder for the repository, for instance:
    $ mkdir /installdir/repository
    $ mkdir /installdir/repository/svn
    $ chown root:daemon installdir/repository/ [or "your_user:your_user" if you installed the Stack without root privileges]
    $ chown root:daemon installdir/repository/svn/ [or "your_user:your_user" if you installed the Stack without root privileges]
    $ chmod 0755 /installdir/repository
    $ chmod 0750 /installdir/repository/svn
    
    • Add to the installdir/apps/redmine/conf/httpd-app.conf file.
    PerlLoadModule Apache2::Redmine
    <Location /svn>
      DAV svn
      SVNParentPath "/installdir/repository/svn" 
      Order deny,allow
      Deny from all
      Satisfy any
    
      PerlAccessHandler Apache::Authn::Redmine::access_handler
      PerlAuthenHandler Apache::Authn::Redmine::authen_handler
      AuthType Basic
      AuthName "Redmine SVN Repository" 
    
      #read-only access   
      <Limit GET PROPFIND OPTIONS REPORT>
         Require valid-user 
         Allow from all
         # Allow from another-ip
         Satisfy any
      </Limit>
      # write access
      <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
      </LimitExcept>
    
      ## for mysql
      RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=/installdir/mysql/tmp/mysql.sock" 
    
      RedmineDbUser "bitnami" 
      RedmineDbPass "bitnami_database_password"    
      #You can find this value at /installdir/apps/redmine/htdocs/config/database.yml
    </Location>
    
    • Restart the servers:
    $ /installdir/ctlscript.sh restart
    
    • Log in the Redmine application as Administrator and go to "Settings" -> "Repositories" -> "Enable WS for repository management".
    • Click on "Generate a key" and save it.
    • Add the following line in the crontab. You can edit the crontab using the command "crontab -e"
    */2 * * * * /installdir/ruby/bin/ruby /installdir/apps/redmine/htdocs/extra/svn/reposman.rb --redmine localhost:YOUR_APACHE_PORT/redmine --svn-dir /installdir/repository/svn --owner root --group daemon --command="/installdir/subversion/bin/svnadmin create --pre-1.6-compatible --fs-type fsfs" --url http://YOUR_PUBLIC_IP_ADDRESS:YOUR_APACHE_PORT/svn --key="YOUR_API_KEY" --verbose >> /var/log/reposman.log 
    
    • If you have configured Redmine to accress through SSL, you can specify "--redmine http://127.0.0.1:3001/redmine" in the previous crontab line.
    • You can check that everything works properly creating a project from the Redmine application and checking the /var/log/reposman.log file.

    Thanks to "Jedbifa" who posted a complete guide in the Bitnami forums.

    How to use Mercurial with Redmine

    Redmine only allows you to use Mercurial Repositories cloned in your local machine, as explained in their official guidehttp://www.redmine.org/projects/redmine/wiki/RedmineRepositories#Mercurial-repository

    The paths used below are the ones you have to use in Virtual Machines and Cloud Images. Check if your Redmine Stack is installed in a different path.

    Step 1: Install the mercurial package

    sudo apt-get install mercurial
    

    Step 2: Create the repository directory and clone it there and give it the proper permissions

    sudo mkdir /opt/bitnami/mercurialRepo
    cd /opt/bitnami/mercurialRepo
    sudo hg clone YOUR_REPO_URL
    sudo chown -R root:daemon /opt/bitnami/mercurialRepo
    

    Step 3: Add your repository to Redmine

    In your project, go to Settings>Repositories>New repository

    SCM: Mercurial
    Identifier: Whatever
    Path to repository: /opt/bitnami/mercurialRepo/repoName
    

    Push now on create

    Step 4: Check repository

    If you go now to Repository, you will find there the files, commits done with comments, etc.

    How to debug errors?

    The Redmine log files are created in /installdir/apps/redmine/logs directory. You can check these files to see the exact error in the application.

    How to install Redmine People plugin?

    Before installing the Redmine People plugin ((http://www.redminecrm.com/projects/people/pages/1), please, follow this steps to create a backup. Once your backup is done, follow this steps:

    • If you are using Bitnami Cloud Hosting, our AMIs or our VMs, skip this step. If you are using our Native Installers, run this command:
    cd /installdir/ ; ./use_redmine
    • Go to the Redmine plugins directory:
    cd /opt/bitnami/apps/redmine/htdocs/plugins
    • Download the latest People version. Copy the link from the "Free Download" button and use this command:
    wget PASTE_THE_LINK
    • Unzip the plugin:
    unzip redmine_people*
    • Install the needed gems:
    bundle install --without development test --no-deployment
    • Install the plugin
    bundle exec rake redmine:plugins NAME=redmine_people RAILS_ENV=production
    • Restart Redmine
    /opt/bitnami/ctlscript.sh restart
    • Sign in to your Redmine installation and go to "Administration -> Plugins -> Redmine People plugin" and setup plugin global settings.

    How to configure fail2ban to work with Redmine?

    If you want to limit the number of attemps that the users could try to log in to Redmine (and avoid brute-force attacks), you could try to install fail2ban and configure it to work with Bitnami Redmine.
     
    To do it, first of all we need to install fail2ban:
    sudo apt-get update
    sudo apt-get install fail2ban
     
    Once it has been installed, we must modify /opt/bitnami/apps/redmine/htdocs/config/environment.rb to allow the Redmine Logger add timestamps to the production.log file . To do it, we must add the following lines:
    class Logger
      def format_message(severity, timestamp, progname, msg)
        "#{timestamp} (#{$$}) #{msg}\n"
      end
    end

    After modify environment.rb, we must restart the Apache server:

    sudo /opt/bitnami/ctlscript.sh restart apache
    
     
    Now, we must configure fail2ban properly. To do so, please follow the steps below:
    • Create the /etc/fail2ban/filter.d/redmine.conf and add the following code:
    [Definition]
    
    failregex = Failed [-/\w]+ for .* from <HOST>
    ignoreregex =
    • Create /etc/fail2ban/jail.local and add the code below:
    [redmine]
    enabled = true
    filter = redmine
    port = http,https
    logpath = /opt/bitnami/apps/redmine/htdocs/log/production.log
    maxretry = 5
    findtime = 600
    bantime = 600

    This fail2ban configuration will ban the IP of any user that tried to access five (maxretry) different times during the last 10 minutes (findtime) without success. Note that the ban only will affect to the ports 80 and 443, and the user with the banned IP will not be able to contact the web server during 10 minutes (bantime)

    Before apply the configuration (restart the jail2ban server), we must test if the regex configuration is properly configured. To do it, go to your Bitnami Redmine login page, write an unexistand user/password credentials and try to login to get a login error.

    Just after do it, run this command:

    fail2ban-regex /opt/bitnami/apps/redmine/htdocs/log/production.log /etc/fail2ban/filter.d/redmine.conf 

    If the last two lines of the output show you at least 1 matched it means that the regex is properly configured:

    Lines: 412 lines, 0 ignored, 1 matched, 397 missed
    Missed line(s):: too many to print.  Use --print-all-missed to print all 397 lines

    Finally, you can apply the configuration:

    sudo /etc/init.d/fail2ban restart

    To be sure that all is working, you could try to login five different times with unexistand credentials. At the 5th unsuccessfull attempt, you will be banned during 10 minutes.

    • ehsan gholami