Installing Redmine on Centos 6.4 + GIT Support

Ruby Install

# yum install httpd-devel ruby ruby-devel -y
# cd /tmp
# wget http://fossies.org/unix/www/apache_httpd_modules/mod_ruby-1.3.0.tar.gz
# tar zxvf mod_ruby-1.3.0.tar.gz
# cd mod_ruby-1.3.0/
# ./configure.rb --with-apr-includes=/usr/include/apr-1
# make
# make install

 

Configure Ruby to load with Apache

# vi /etc/httpd/conf.d/ruby.conf

Paste the following in the file

LoadModule ruby_module modules/mod_ruby.so
RubyAddPath /1.8

Now Restart the web server

# service httpd restart

 

Install Redmine

# cd /tmp
# wget http://rubyforge.org/frs/download.php/77138/redmine-2.3.3.tar.gz
# tar -zxvf redmine-2.3.3.tar.gz

 Now move this to where ever you want to keep it

 

DB – MySQL

# mysql -p

In MySQL Console

mysql > CREATE DATABASE redmine CHARACTER SET utf8;
 mysql > CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'PASSWORD';
 mysql > GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

 

Copy config/database.yml.example to config/database.yml and edit this file in order to configure your database settings for “production” environment.

 

Following are the settings for For Ruby 1.8.7

 

# vi config/database.yml
production:
 adapter: mysql
 database: redmine
 host: localhost
 username: redmine
 password: PASSWORD

 

Make sure you are inside the redmine directory with ‘Gemfile’. Run the following command

# gem install bundler

 

Before installing the bundles update the Gemfile, add

# vi Gemfile
gem 'mail', '2.5.3'

 

inside it. If you don’t use this, it will install mail 2.5.4 which will not work with redmine 2.3.3. I read somewhere that if ruby is >= 1.9.* we can use 2.5.4 version of mail but not sure.

# bundle install --without development test

 

If ImageMagick is not installed on your system, you should skip the installation of the rmagick gem using:

# bundle install --without development test rmagick

 

# rake generate_secret_token

 

# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data

 

Select your language [en]

 

File/folder permission

# mkdir -p tmp tmp/pdf public/plugin_assets
# sudo chown -R USER:USERGROUP files log tmp public/plugin_assets
# sudo chmod -R 755 files log tmp public/plugin_assets

 

Testing the Installation

# ruby script/rails server webrick -e production

 

Now in your browser go to http://yourip:3000

Use the following details

Login: admin
Pass: admin

 

EMAIL Settings

http://www.redmine.org/projects/redmine/wiki/EmailConfiguration

# vi config/configuration.yml

locate and change the following

 

default:
 # Outgoing emails configuration (see examples above)
 email_delivery:
   delivery_method: :sendmail
   smtp_settings:
     address: 127.0.0.1
     port: 25

GIT Integration

# which git

normally it is in ‘/usr/bin/git’

# vi config/configuration.yml

locate and add the path

scm_git_command: /usr/bin/git

Login to admin, create project, in project settings create Repository, in repository settings page, Select GIT, and in path provide full path including git dir, for example

/var/www/clients/client1/aala.pk/web/rep/lapchi/.git

 

Apache Configuration

Used this one

http://www.redmine.org/projects/redmine/wiki/Redmine+Apache+Passenger_InstallOnRedHat

 

# gem install passenger
# passenger-install-apache2-module

 

More details on passenger http://www.modrails.com/documentation/Users%20guide%20Apache.html

 

# rake generate_session_store

 

Create /etc/httpd/conf.d/passenger.conf

 
# vi /etc/httpd/conf.d/passenger.conf
 
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/buildout/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18
PassengerDefaultRuby /usr/bin/ruby
# the following line is required, as files uploaded will be owned by apache, if not
# added it will cuase 500 internal server error on file delete/ or issue/project
# delete where files are attached with issues
PassengerDefaultUser apache

 

Redmine Apache Config

# vi /etc/httpd/conf.d/redmine.conf
 
Listen *:3000
   <VirtualHost *:80>
       ServerName redmine.aala.pk
       ServerAdmin webmaster@<YOUR-DOMAIN>.com
       DocumentRoot /var/www/clients/client1/web1/web/red/public/
       ErrorLog logs/redmine_error_log
 
       #If you are using mod_fcgid and are going to upload files larger than
       #131072 bytes you should consider adding the following line
       #that allows to upload files up to 20 mb
       MaxRequestLen 20971520
 
       <Directory "/var/www/clients/client1/web1/web/red/public/">
               Options Indexes ExecCGI FollowSymLinks
               Order allow,deny
               Allow from all
               AllowOverride all
       </Directory>
   </VirtualHost>

For more details follow the tutorial link provided above

Check Memory Consumption

# passenger-memory-stats

KNOWN ISSUE

Unable to delete a project – check that there are files attached with any of its issues? if yes make sure to include PassengerDefaultUser in the passenger.conf file, when file is uploaded passenger store it as root and can not delete it later

Read More.

History of Pakblood

It was a rainy day back in 2001, I was busy in doing college work. My grandfather called me and asked me to arrange A+ blood group for his neighbor lady. I contacted my friends in college but unfortunately unable to arrange blood for that poor lady.

and she died during her operation

It could be a common news for someone, but for me it was disturbing. I should do something, I started to think and then I came up with the idea of creating PAKBLOOD.

First I started it in ASP, then moved to PHP. The domain was registered back in 2002. From its start till now there had been many changes to its work flow and logic.

Read More.

Programming Guidelines: How to program

Define Programming Languages

First select a programming environment to work on, the coder must know the limitations, cons and pros of the language, and must know how to use the language. If he don’t know what can be done with this programming language it is useless to use the language.

Look for already done code / libraries / classes

Check the codebase for already created code / libraries / classes to use them in the new projects and to improve the project’s coding. If codebase don’t have the functions and classes which you are seeking for, create your own files and classes to store the functions or group of functions, as they will keep the specific code separate from the original code, and also can be re-used, in any other website for the same functionality.

Finalize the Design and CSS before you go for real coding.

For small projects or simple HTML pages, finalizing the design and CSS before development of the website will save time of development, and for large projects, although it is not possible in some cases that we get a design completed with all the CSS needed, as we may need new elements and CSS classes as we proceed developing the website. But it is wise to complete as much design and CSS elements as possible before starting the development, as this will save the time in future. Read More…

Read More.

A Better File Management : Tips and Techniques

File Names

  1. Keep File names short
  2. If necessary use abbreviations. e.g.
    • Management = MGT
    • Accounting = ACTG
    • Market = MKT
    • Dynamic Online Systems = DOS
    • Microsoft = MS
    • Etc.
  3. Use Date in the document name. (Only for individual files, which are not linked like webpages). i.e. dosstationary-21-02-2001, dosstationary(21-02-2001).
  4. Keep file names bellow 27 characters.
  5. Use same text case (lower / upper) for the files in a same folder. Preferred to keep all the files in lower case.
  6. Don’t use underscores, spaces etc. in file names.
  7. If you need to break the rule, be consistent about it.

Folder Structure

  1. Keep names short
  2. Nest folders within folders
  3. Separate ongoing and completed work
  4. Store like with like. (same file type in a separate folder, like all images in one folder for a project)

Read More…

Read More.

Web Designing

NOTE: This information is gathered from different sources over internet few days back, and i dont remember the sources yet. Copyrighted material is belongs to the actual owner, and i don’t own this information.

Web Design Guidelines

-          Web Designs can be created in any designing application, as it is not necessary to use the vectors or the simple jpegs.

-          Best approach for creating web designs is to work on Adobe Photoshop, as it is easy to maintain the layers.

-          Important to note that we should aim for less download time for the all the pages.

-          Use the image format according to requirements in this order. JPEG, GIF, and PNG as last.

-          Gather the information for the website layout from the client.

Web Page Template

-          Select a design theme and pattern

-          All images and layouts should be 72 DPI and use the RGB colorspace.

-          Include a site color palette example with the layout. Below is an example of a color palette. When creating a webpage layout, knock up the design grid first in Illustrator, then a color palette on a hidden layer for fast color selection.

-          Keep site consistent throughout. Don’t have a different background color on every page, or a different navigation scheme. Try to have at least one small icon or logo on every page on your site, somewhere at the top preferably, so that people will know they are still at your site. Read More…

Read More.

Print Material: Process Workflow

Information Gathering

-          Have client sent the information?

-          Is this information is sufficient?

-          If not, what information is required?

  • Number of Designs to present
  • Color range
  • Sample / benchmarks which client is interested in
  • Other…

-          Finalizing the information

  • How many Designs to be sent
  • Print Design includes (Stationary, cards, letter head, logo, billboard, etc…)
  • Sizes of the printings

-          Send the finalized information to client for approval

Tasking

-          Dividing work in smaller tasks

-          Write all tasks with each and every detail

-          Provide reference materials and samples

-          Allocate Time durations for each task

-          Allocate resources (who is going to do which task)

-          Create a timeline for 1st draft

-          Inform client about the 1st draft’s time line

-          Compile a MS Project file or DOT PROJECT for tracking the tasks Read More…

Read More.

Print Material

NOTE: This information is gathered from different sources over internet few days back, and i dont remember the sources yet. Copyrighted material is belongs to the actual owner, and i dont own this information.

Design Guidelines

-          What Formats to Work on

  • Artwork designed in Corel Draw 12 with fonts converted to curves or InDesign CS3 with fonts converted are preferred. Be aware though that jpegs and tiffs are images vs. vectors which are used in drawing programs such as InDesign and Corel Draw.

-          Page Size & Layout

  • When designing your artwork, create a single file in your layout program for all your pages (do not create a new file for each page). While designing, make your page size that of the final trim size, do not insert “crop marks” or “printer’s marks”.
  • Prepare vector art, such as a company logo, in a Draw program like Illustrator, CorelDraw or Freehand. Save these images as EPS files and import them into the page layout.
  • If you want graphic objects or backgrounds to print to the edge of the page, these should be made to extend 3mm beyond the edge of the page in the layout. This is called bleed. The overlapping 3mm will be trimmed off, but if it’s not there in the first place, slight inaccuracies in cutting could leave a thin white border along one or more edges of the page.
  • Keep all the text and pictures that do not bleed at least 5mm away from your trim size or fold lines on each side (in business cards bookmarks and Greeting Cards, this can be reduced to 2mm).
  • The table below sets out some of our products with their trim size (finished size) bleed size and text frame (text margin). For any layouts not included in this table, just use the guidelines above or send us a mail and we will help you set up the margins. Read More…
Read More.