مطالبی در زمینه کامپیوتر و علاقه مندی های شخصی من مطالب این وبلاگ غالبا مطالبی ست که در جای جای اینترنت کتاب یا دانشته های شخصی خودم می باشد که به عنوان مرجعی برای رجوع دوباره در اینجا جمع آوری شده اند . ehsunitd.ir personal website
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
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
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.
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:
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.
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'
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 valuecommon/home. So, as we discussed earlier, you can always map this route to find the appropriate layout template file.
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.
Module Assignment From the Back-End
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.
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.
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!
Homepage Layout Tweaking
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:
Layout File Changes
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 ?>.
1
$_['text_welcome'] = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.";
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.
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,
01
02
03
04
05
06
07
08
09
10
<?php echo$header; ?>
<?php echo$column_left; ?>
<?php echo$column_right; ?>
<div id="content">
<?php echo$content_top; ?>
<h1><?php echo$heading_title; ?></h1>
<div><?php echo$welcome_text; ?></div>
<?php echo$content_bottom; ?>
</div>
<?php echo$footer; ?>
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!
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.
Summary
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.
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.
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.
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.
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.
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.
Click the custom button then click the 'Select All' link to highlight all of the OpenCart tables.
Finally choose zipped from the 'Compression' drop down, then scroll down and click the 'Go' button.
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.
Double click on your public folder to open it up (for Squirrel Hosting customers, double click 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.
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.
Next, enter your desired username in the username box and then click the 'Generate Password' button. Finally click Create.
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)
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.
Once in phpMyAdmin, click your database menu on the left.
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.
This may take a few moments to process depending on how big your database is.
Once complete, you should see a message stating "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.)
The file should now open up for editing. In here you will need to edit a few lines of code. Find the lines:
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:
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.
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'.
In the popup box, enter 444 in the number area then click 'OK'.
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.
As we did last time, right click on the config.php file and click 'View/Edit'.
As we did before, update the below to show your correct path.
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.
Finally, CHMOD this file like you did with your other config.php (right click 'File Permissions') to 444.
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 (SVN, CVS, 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.
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.
On Virtual Machines and Cloud images:
$ sudo /opt/bitnami/ctlscript.sh start
A native installer on Linux:
$ cd ~/application-version
$ ./ctlscript.sh start
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".
On 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
On Windows it is necessary to modify the Apache configuration. Edit "installdir/apps/redmine/conf/redmine.conf" the file to modify the "/redmine" setting:
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.
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 .
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.
On Virtual Machines and Cloud Images:
sudo /opt/bitnami/ctlscript.sh stop
On OS X:
$ cd installdir
$ ./ctlscript.sh stop
$ cp -r installdirapplication-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).
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.
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.
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.
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"
$ 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
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 intoinstalldir/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:
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:
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:
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.
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:
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.
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.
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:
$ 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:
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)
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:
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):
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)
$ 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"
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:
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.
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.