Giter Club home page Giter Club logo

redmine's Introduction

Redmine

Redmine is a flexible project management web application written using Ruby on Rails framework.

More details can be found in the doc directory or on the official website http://www.redmine.org

Installation

This installation is for setting up development of this Redmine repository using WSL2 or Linux (Debian based distros)

Step 1: Ruby on Rails

Follow this tutorial to get Ruby and Rails installed.

Step 2: Setup PostgreSQL in Docker

For development, setup a PostgreSQL server with Docker Compose (Docker needs to be installed) with the command:

./scripts/postgres-up.sh

Step 3: Installing project dependencies

To be able to install pg, the following dependencies need to be installed:

sudo apt install postgresql-contrib libpq-dev1

Then RMagick needs to be enabled, which needs the following dependencies:

sudo apt install pkg-config
sudo apt install imagemagick
sudo apt install libmagick++-dev

After RMagick can be installed with:

gem install rmagick

The following command then installs the project dependencies for development:

bundle install

For production the command is slightly different:

BUNDLER_WITHOUT="development test" bundle install

Step 4: Session store secret generation

This step generates a random key used by Rails to encode cookies storing session data thus preventing their tampering. Generating a new secret token invalidates all existing sessions after restart.

bundle exec rake generate_secret_token

Step 5: Database schema objects creation

Create the database structure, by running the following command under the application root directory:

RAILS_ENV=development bundle exec rake db:migrate

For production the command is slightly different:

RAILS_ENV=production bundle exec rake db:migrate

Getting errors on database migration

In some cases (e.g. switching between production and development environment) the bundles need to be installed anew. The following commands can be run to renew the bundle installation:

bundle config --delete without
bundle config --delete with
bundle install

Step 6: Database default data set

Insert default configuration data in database, by running the following command:

RAILS_ENV=development bundle exec rake redmine:load_default_data

For production the command is slightly different:

RAILS_ENV=production bundle exec rake redmine:load_default_data

Step 7: File system permissions

The user account running the application must have write permission on the following subdirectories:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R <username>:<username> files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

Running development server

The server can be run with the command:

./scripts/run.sh

If database has not started before run.sh, execute:

./scripts/postgres-up.sh

This command starts server running on port 3000 accessible via localhost:3000.

Use default administrator account to log in:

  • login: admin
  • password: admin (after setup: Administrator)

redmine's People

Contributors

jplang avatar marutosi avatar vividtone avatar edavis10 avatar marius-balteanu avatar winterheart avatar jbbarth avatar jgoerzen avatar janssen-tiobe avatar

Stargazers

nunda avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.