HowTo Install Redmine on Debian 8 with Apache2-Passenger » History » Version 11
Mike Zabala, 2015-08-31 13:29
| 1 | 1 | Dirk Abe | h1. HowTo Install Redmine on Debian 8 with Apache2-Passenger |
|---|---|---|---|
| 2 | |||
| 3 | 3 | Dirk Abe | Last updated: 4. April 2015 |
| 4 | 1 | Dirk Abe | |
| 5 | 7 | Dirk Abe | This HowTo describes installing redmine 3.0.1 on Debain 8 (April 15, few weeks before released as |
| 6 | 1 | Dirk Abe | stable) with Apache and MySQL. |
| 7 | |||
| 8 | *Hint:* |
||
| 9 | Run all commands as normal user. If root privileges required i used sudo. |
||
| 10 | |||
| 11 | h2. 1. Install Debain Packages |
||
| 12 | |||
| 13 | <pre> |
||
| 14 | 11 | Mike Zabala | sudo aptitude install mysql-server mysql-client libmysqlclient-dev gcc build-essential zlib1g zlib1g-dev zlibc ruby-zip libssl-dev libyaml-dev libcurl4-openssl-dev ruby gem libapache2-mod-passenger apache2-mpm-prefork apache2-dev libapr1-dev libxslt1-dev checkinstall libxml2-dev ruby-dev vim libmagickwand-dev imagemagick |
| 15 | 1 | Dirk Abe | </pre> |
| 16 | |||
| 17 | |||
| 18 | h2. 2. Download and prepare Redmine |
||
| 19 | |||
| 20 | h3. 2.1 Download Redmine |
||
| 21 | |||
| 22 | <pre> |
||
| 23 | cd /opt/ |
||
| 24 | sudo mkdir redmine |
||
| 25 | sudo chown -R $your_user redmine |
||
| 26 | cd redmine |
||
| 27 | wget $redmine.tar.gz |
||
| 28 | tar xzf $redmine.tar.gz |
||
| 29 | cd redmine-X.X.X |
||
| 30 | </pre> |
||
| 31 | |||
| 32 | |||
| 33 | h3. 2.2 Prepare MySQL |
||
| 34 | |||
| 35 | <pre> |
||
| 36 | mysql --user=root --password=$password |
||
| 37 | </pre> |
||
| 38 | |||
| 39 | |||
| 40 | <pre> |
||
| 41 | CREATE DATABASE redmine CHARACTER SET utf8; |
||
| 42 | CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; |
||
| 43 | GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; |
||
| 44 | exit |
||
| 45 | </pre> |
||
| 46 | |||
| 47 | Redmine DB-Config: |
||
| 48 | |||
| 49 | <pre> |
||
| 50 | cp config/database.yml.example config/database.yml |
||
| 51 | </pre> |
||
| 52 | |||
| 53 | customize config/database.yml: |
||
| 54 | |||
| 55 | <pre> |
||
| 56 | production: |
||
| 57 | 9 | Greg Stevenson | adapter: mysql2 |
| 58 | 1 | Dirk Abe | database: redmine |
| 59 | host: localhost |
||
| 60 | username: redmine |
||
| 61 | password: my_password |
||
| 62 | </pre> |
||
| 63 | |||
| 64 | h3. 2.3 Bundler |
||
| 65 | |||
| 66 | install bundler: |
||
| 67 | |||
| 68 | <pre> |
||
| 69 | sudo gem install bundler |
||
| 70 | 11 | Mike Zabala | bundle install --without development test |
| 71 | 1 | Dirk Abe | </pre> |
| 72 | |||
| 73 | generate secret token: |
||
| 74 | |||
| 75 | <pre> |
||
| 76 | bundle exec rake generate_secret_token |
||
| 77 | </pre> |
||
| 78 | |||
| 79 | prepare DB and install all tables: |
||
| 80 | |||
| 81 | <pre> |
||
| 82 | RAILS_ENV=production bundle exec rake db:migrate |
||
| 83 | RAILS_ENV=production bundle exec rake redmine:load_default_data |
||
| 84 | </pre> |
||
| 85 | |||
| 86 | 2 | Dirk Abe | h3. 2.4 Test Redmine |
| 87 | 1 | Dirk Abe | |
| 88 | replace $IP with your external IP: |
||
| 89 | <pre> |
||
| 90 | bundle exec ruby bin/rails server -b $IP webrick -e production |
||
| 91 | </pre> |
||
| 92 | |||
| 93 | Open your browser and visit http://$IP:3000 |
||
| 94 | |||
| 95 | 2 | Dirk Abe | h2. 3 Apache |
| 96 | 1 | Dirk Abe | |
| 97 | The apache service runs with the user www-data, so www-data needs access to some dirs: |
||
| 98 | |||
| 99 | <pre> |
||
| 100 | sudo chown -R www-data files log tmp public/plugin_assets |
||
| 101 | sudo chmod -R 755 files log tmp public/plugin_assets |
||
| 102 | </pre> |
||
| 103 | |||
| 104 | Link the redmine public dir to the apache root: |
||
| 105 | |||
| 106 | <pre> |
||
| 107 | 10 | Greg Stevenson | sudo ln -s /opt/redmine/redmine-X.X.X/public/ /var/www/html/redmine |
| 108 | 1 | Dirk Abe | </pre> |
| 109 | |||
| 110 | The following VirtualHost config requieres control over your webserver. |
||
| 111 | Every Site under /var/www/html/ needs maybe an Location-directive. |
||
| 112 | |||
| 113 | We generate a new vhost config: |
||
| 114 | <pre> |
||
| 115 | sudo vim /etc/apache2/sites-available/master.conf |
||
| 116 | </pre> |
||
| 117 | |||
| 118 | and for redmine you need: |
||
| 119 | |||
| 120 | <pre> |
||
| 121 | <VirtualHost *:80> |
||
| 122 | |||
| 123 | ServerAdmin admin@example.com |
||
| 124 | Servername hostname |
||
| 125 | DocumentRoot /var/www/html/ |
||
| 126 | |||
| 127 | <Location /redmine> |
||
| 128 | RailsEnv production |
||
| 129 | RackBaseURI /redmine |
||
| 130 | Options -MultiViews |
||
| 131 | </Location> |
||
| 132 | |||
| 133 | </VirtualHost> |
||
| 134 | </pre> |
||
| 135 | |||
| 136 | Disable debians default-vhost: |
||
| 137 | <pre> |
||
| 138 | sudo a2dissite 000-default.conf |
||
| 139 | </pre> |
||
| 140 | |||
| 141 | and enable the new master vhost: |
||
| 142 | <pre> |
||
| 143 | sudo a2ensite master.conf |
||
| 144 | </pre> |
||
| 145 | |||
| 146 | 3 | Dirk Abe | To avoid permission error the passenger mod needs to run also as www-data. |
| 147 | Edit /etc/apache2/mods-available/passenger.conf and add this line: |
||
| 148 | 1 | Dirk Abe | <pre> |
| 149 | 3 | Dirk Abe | PassengerUser www-data |
| 150 | 4 | Dirk Abe | </pre> |
| 151 | 3 | Dirk Abe | |
| 152 | after all restart apache: |
||
| 153 | <pre> |
||
| 154 | sudo service apache2 restart |
||
| 155 | 1 | Dirk Abe | </pre> |
| 156 | |||
| 157 | Open your browser and visit http://$IP/redmine |
||
| 158 | Finish. |