### Install and start Tomcat
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Apache_Tomcat
Commands to install Java JDK, download Tomcat, unpack it, start it, and test the installation.
```bash
apt-get install openjdk-6-jdk
```
```bash
wget http://apache.autinity.de/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz
```
```bash
tar xvfz apache-tomcat-6.0.20.tar.gz
```
```bash
sh bin/startup.sh
```
--------------------------------
### Install and Start MySQL Server
Source: https://www.redmine.org/projects/redmine/wiki/F29Installation
Commands to install the MySQL community server package, start the service, and enable it to start on boot.
```bash
> dnf -y install mysql-community-server
> systemctl start mysqld.service
> systemctl enable mysqld.service
```
--------------------------------
### Install and secure MySQL server
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_Detailed
Install MySQL server, enable on boot, start, and run secure installation.
```bash
yum install mysql-server
chkconfig mysqld on
service mysqld start
/usr/bin/mysql_secure_installation
```
--------------------------------
### Test installation with Puma web server
Source: https://www.redmine.org/projects/redmine/wiki/RedmineInstall
Run this command to test the installation by starting the Puma web server in production mode.
```bash
bundle exec rails server -e production
```
--------------------------------
### Install and start MariaDB for Redmine
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_34_on_RHEL74
Install MariaDB (formerly MySQL) and start/enable the service.
```bash
# MariaDB (formerly MySQL)
% sudo yum -y install mariadb mariadb-devel
% sudo systemctl start mariadb
% sudo systemctl enable mariadb
```
--------------------------------
### Copy database.yml.example to database.yml
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5
Creates the database configuration file from the example. The guide notes that changes are needed but does not specify them.
```bash
cp database.yml.example database.yml
```
--------------------------------
### Install and Initialize PostgreSQL Server
Source: https://www.redmine.org/projects/redmine/wiki/F29Installation
Commands to install PostgreSQL packages, initialize the database, enable and start the service, and create the Redmine role and database. The output shows the expected responses from psql commands.
```bash
> dnf install postgresql-server postgresql-contrib
> postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
>
> systemctl enable postgresql
> systemctl start postgresql
> su - postgres
> psql
psql (10.6)
Type "help" for help.
postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_secret' NOINHERIT VALID UNTIL 'infinity';
CREATE ROLE
postgres=# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
CREATE DATABASE
postgres=# \q
> exit
```
--------------------------------
### Redmine Installation Commands (Steps 3-9)
Source: https://www.redmine.org/projects/redmine/wiki/F29Installation
Run these commands to set up Redmine after the initial steps. This includes bundle install, secret token generation, database migration, default data loading, directory creation, permissions, and starting the WEBrick server.
```bash
> bundle install --without development test
> bundle exec rake generate_secret_token
> RAILS_ENV=production bundle exec rake db:migrate
> RAILS_ENV=production bundle exec rake redmine:load_default_data
> mkdir -p tmp tmp/pdf public/plugin_assets
> chown -R redmine:redmine files log tmp public/plugin_assets
> chmod -R 755 files log tmp public/plugin_assets
> find files log tmp public/plugin_assets -type f -exec chmod -x {} +
> bundle exec rails server webrick -e production
```
--------------------------------
### Run Redmine Setup Commands
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_25x_on_Ubuntu_1404_with_Apache2_Phusion_Passenger_MySQL_and_Subversion
Commands to install dependencies, generate secret token, migrate database, load default data, and set permissions.
```bash
cd /usr/share/redmine/
sudo bundle install --without development test postgresql sqlite
sudo rake generate_secret_token
sudo RAILS_ENV=production rake db:migrate
sudo RAILS_ENV=production rake redmine:load_default_data
sudo mkdir public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
```
--------------------------------
### Sidekiq startup output example
Source: https://www.redmine.org/projects/redmine/wiki/SidekiqConfiguration
Example output from the Sidekiq startup process, showing boot information and version details.
```text
2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: Booted Rails 5.2.4.2 application in production environment
2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: Running in ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: See LICENSE and the LGPL-3.0 for licensing details.
2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: Upgrade to Sidekiq Pro for more features and support: https://sidekiq.org
2020-06-13T15:08:12.471Z pid=23782 tid=gqluhczs2 INFO: Booting Sidekiq 6.0.7 with redis options {}
```
--------------------------------
### Start and enable httpd, MariaDB, and postfix services
Source: https://www.redmine.org/projects/redmine/wiki/FedoraInstallation
The first line starts the services now, the second enables them to start at boot.
```bash
$ sudo systemctl start httpd mariadb postfix
$ sudo systemctl enable httpd mariadb postfix
```
--------------------------------
### Install and initialize Postgres 9.2.23
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_34_on_RHEL74
Install the default Postgres 9.2.23 packages, initialize the database, and start/enable the service.
```bash
# Default Postgres 9.2.23
% sudo yum -y install postgresql postgresql-server postgresql-devel
% postgresql-setup initdb
% sudo systemctl start postgresql
% sudo systemctl enable postgresql
```
--------------------------------
### Start Mongrel services for Redmine
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_a_sub-URI_on_Windows_with_Apache
Start the three installed Mongrel services using the net start command. These services will start the Mongrel servers.
```shell
net start mongrel_redmine_3001
net start mongrel_redmine_3002
net start mongrel_redmine_3003
```
--------------------------------
### Search request examples
Source: https://www.redmine.org/projects/redmine/wiki/Rest_Search
Three examples of GET requests to the search endpoint: a basic search, a paging example, and a filtering example for issues and wiki pages.
```http
GET /search.xml?q=query_string
```
```http
GET /search.xml?q=query_string&offset=0&limit=100
```
```http
GET /search.xml?q=issue_keyword wiki_keyword&issues=1&wiki_pages=1
```
--------------------------------
### Enable and start Apache and MySQL services
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_25x_on_Centos_65_complete
Configures services to start on boot and starts them immediately.
```bash
chkconfig httpd on
chkconfig mysqld on
service httpd start
service mysqld start
```
--------------------------------
### Start Redmine with WEBrick
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Ubuntu
Starts the WEBrick web server in production mode to test the Redmine installation.
```bash
sudo cd /opt/redmine/redmine-0.8.6
```
```bash
sudo ruby script/server -e production
```
--------------------------------
### Get temporary MySQL password and secure installation
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_346_on_Centos_75
Commands to retrieve the temporary root password generated during MySQL installation and run the secure installation procedure.
```bash
grep 'A temporary password is generated for root@localhost' /var/log/mysqld.log | tail -1
/usr/bin/mysql_secure_installation
```
--------------------------------
### Create database.yml
Source: https://www.redmine.org/projects/redmine/wiki/How_to_Install_Redmine_603_on_Debian_124_%28MySQL%29
Creates the database configuration file from the example and opens it in vim for editing.
```bash
cd /opt/redmine
sudo cp config/database.yml.example config/database.yml
sudo vim config/database.yml
```
--------------------------------
### GET /projects/:project_id/files.:format - Response
Source: https://www.redmine.org/projects/redmine/wiki/Rest_Files
Example response for the GET request, showing an XML array of file elements.
```xml
12
foo-1.0-setup.exe
74753799
application/octet-stream
Foo App for Windows
http://localhost:3000/attachments/download/12/foo-1.0-setup.exe
2017-01-04T09:12:32Z
1276481102f218c981e0324180bafd9f
12
11
foo-1.0.dmg
6886287
application/x-octet-stream
Foo App for macOS
http://localhost:3000/attachments/download/11/foo-1.0.dmg
2017-01-04T09:12:07Z
14758f1afd44c09b7992073ccf00b43d
5
```
--------------------------------
### Start and Enable Nginx Service
Source: https://www.redmine.org/projects/redmine/wiki/F29Installation
Start the Nginx service and enable it to start at boot using systemctl.
```bash
> systemctl start nginx
> systemctl enable nginx
```
--------------------------------
### Sidekiq job processing output example
Source: https://www.redmine.org/projects/redmine/wiki/SidekiqConfiguration
Example output of a job processing, showing start and done logs for an ActionMailer::DeliveryJob.
```text
2020-06-13T14:53:19.773Z pid=23268 tid=gmo48ykw4 class=ActionMailer::DeliveryJob jid=0b1943f5a675330944781492 INFO: start
2020-06-13T14:53:21.171Z pid=23268 tid=gmo48ykw4 class=ActionMailer::DeliveryJob jid=0b1943f5a675330944781492 elapsed=1.397 INFO: done
```
--------------------------------
### Active Directory on-the-fly user creation example
Source: https://www.redmine.org/projects/redmine/wiki/RedmineLDAP
Example configuration for on-the-fly user creation with Active Directory. Specifies LDAP server settings and attribute mappings for login, firstname, lastname, and email.
```text
Name = My Directory
Host = host.domain.org
Port = 389
LDAPS = no
Account = MyDomain\UserName (or UserName@MyDomain depending on AD server)
Password =
Base DN = CN=users,DC=host,DC=domain,DC=org
On-the-fly user creation = yes
Attributes
Login = sAMAccountName
Firstname = givenName
Lastname = sN
Email = mail
```
--------------------------------
### GET /versions/:id.:format - Get version
Source: https://www.redmine.org/projects/redmine/wiki/Rest_Versions
Returns the version of given id. Example request uses XML format.
```http
GET /versions/2.xml
```
--------------------------------
### Copy database.yml example and edit database configuration
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_50x_on_Ubuntu_2004_with_Apache2
Copies the example database configuration file and opens it with vi for editing.
```bash
# copy the example file
cd /opt/redmine
cp config/database.yml.example config/database.yml
# edit config file with your editor of choice (mine is vi)
vi config/database.yml
```
--------------------------------
### Show an issue: example requests
Source: https://www.redmine.org/projects/redmine/wiki/Rest_Issues
Example GET requests for showing issues in XML and JSON, with various 'include' parameter combinations.
```http
GET /issues/2.xml
GET /issues/2.json
GET /issues/2.xml
GET /issues/2.xml?include=attachments
GET /issues/2.xml?include=attachments,journals
GET /issues/2.xml?include=reactions
GET /issues/2.xml?include=journals,reactions
```
--------------------------------
### Configure Apache and MySQL to start at boot
Source: https://www.redmine.org/projects/redmine/wiki/Redmine_203_with_Subversion_and_LDAP_Authentication_%28for_Redmine_and_Subversion_through_Redmine%29_on_Centos_6_i386_-_detailed
Set Apache (httpd) and MySQL (mysqld) to start at boot levels 3 and 5 using chkconfig.
```bash
chkconfig httpd on --level 35
chkconfig mysqld on --level 35
```
--------------------------------
### hello_world macro example
Source: https://www.redmine.org/projects/redmine/wiki/RedmineTextFormattingMarkdown
Example of a simple macro that outputs the text 'Sample macro.' when invoked.
```plaintext
Sample macro.
```
--------------------------------
### Install Apache2 and PostgreSQL for Redmine
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Ubuntu
Installs Apache2, common properties, and PostgreSQL packages required for Redmine. Use this for PostgreSQL database setup.
```bash
apt-get install apache2 software-properties-common librmagick-ruby ruby-rmagick postgresql
```
--------------------------------
### Install Apache2 and MySQL for Redmine
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Ubuntu
Installs Apache2, common properties, and MySQL packages required for Redmine. Use this for MySQL database setup.
```bash
apt-get install apache2 software-properties-common librmagick-ruby ruby-rmagick mysql-server mysql-client mysql-common
```
--------------------------------
### Install zlib for Ruby
Source: https://www.redmine.org/projects/redmine/wiki/InstallRedmineOnDebianStableApacheMysqlPassenger
If you get 'no such file to load --zlib (LoadError)', compile and install zlib from the Ruby source directory.
```bash
cd ruby-1.9.3-p547/ext/zlib/
ruby extconf.rb
make
make install
```
--------------------------------
### Install Redmine gems and initialize database
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_346_on_Centos_75
Install bundler, install gems, generate secret token, and load default data. Run as root/sudo.
```bash
[As root/sudo]:
cd $REDMINE
gem install bundler
bundle install --without development test
bundle exec rake generate_secret_token
RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
```
--------------------------------
### Install Ruby 2.7.3 with RVM
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_421_on_Centos_7
Install Ruby 2.7.3 using RVM. Run as root or sudo. Adapted from Franck's guide.
```bash
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -L get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm reload
rvm requirements run
rvm install 2.7
rvm list
ruby --version
```
--------------------------------
### Update system packages with sudo yum update
Source: https://www.redmine.org/projects/redmine/wiki/FedoraInstallation
Run this command to update all installed packages before starting the installation. If the kernel is updated, a restart is recommended.
```bash
$ sudo yum update
```
--------------------------------
### Copy additional_environment.rb example
Source: https://www.redmine.org/projects/redmine/wiki/SidekiqConfiguration
Create config/additional_environment.rb by copying the example file if it does not exist.
```bash
cp config/additional_environment.rb.example config/additional_environment.rb
```
--------------------------------
### Set up Redmine database
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Debian_9
Set up the database schema and load the initial database.
```bash
cd /opt/redmine/redmine-3.4.11/config/
bundle install
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
```
--------------------------------
### GET /relations/1819.json - Get relation (JSON)
Source: https://www.redmine.org/projects/redmine/wiki/Rest_IssueRelations
Returns the relation with the given id. The example shows a request for relation 1819 and the corresponding JSON response.
```http
GET /relations/1819.json
```
```json
{
"relation": {
"delay": null,
"id": 1819,
"issue_id": 8470,
"issue_to_id": 8469,
"relation_type": "relates"
}
}
```
--------------------------------
### GET /relations/1819.xml - Get relation (XML)
Source: https://www.redmine.org/projects/redmine/wiki/Rest_IssueRelations
Returns the relation with the given id. The example shows a request for relation 1819 and the corresponding XML response.
```http
GET /relations/1819.xml
```
```xml
1819
8470
8469
relates
```
--------------------------------
### Copy email.yml.example to email.yml
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Ubuntu
Copy the example email configuration file to create the actual email.yml file.
```bash
sudo cp email.yml.example email.yml
```
--------------------------------
### Solid Queue startup log output
Source: https://www.redmine.org/projects/redmine/wiki/SolidQueueConfiguration
Example log output from starting the Solid Queue supervisor, showing the Supervisor, Dispatcher, Worker, and Scheduler processes.
```text
I, [2025-07-24T11:53:53.590961 #24399] INFO -- : SolidQueue-1.2.1 Started Supervisor (40.1ms) pid: 24399, hostname: "vagrant", process_id: 5, name: "supervisor-9318434042b90e70bf75"
I, [2025-07-24T11:53:53.642738 #24405] INFO -- : SolidQueue-1.2.1 Started Dispatcher (43.7ms) pid: 24405, hostname: "vagrant", process_id: 6, name: "dispatcher-6709740a9c0eb52cc355", polling_interval: 1, batch_size: 500, concurrency_maintenance_interval: 600
I, [2025-07-24T11:53:53.647923 #24408] INFO -- : SolidQueue-1.2.1 Started Worker (42.7ms) pid: 24408, hostname: "vagrant", process_id: 7, name: "worker-beadd9266cca675d0", polling_interval: 0.1, queues: "*", thread_pool_size: 3
I, [2025-07-24T11:53:53.686615 #24412] INFO -- : SolidQueue-1.2.1 Started Scheduler (76.3ms) pid: 24412, hostname: "vagrant", process_id: 8, name: "scheduler-b85c19cbe69292d9a6af", recurring_schedule: ["clear_solid_queue_finished_jobs"]
```
--------------------------------
### GET /issue_statuses.xml
Source: https://www.redmine.org/projects/redmine/wiki/Rest_IssueStatuses
Example request to retrieve all issue statuses in XML format.
```http
GET /issue_statuses.xml
```
--------------------------------
### Install Passenger on Ubuntu
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine
Installs the Apache Passenger module on Ubuntu using aptitude. This switches the Apache server type to worker, which may be acceptable depending on the setup.
```bash
sudo aptitude install libapache2-mod-passenger
```
--------------------------------
### Install Apache and MySQL
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_25x_on_Centos_65_complete
Installs the Apache web server and MySQL database server.
```bash
yum -y install httpd mysql mysql-server
```
--------------------------------
### GET /issue_categories/:id.:format - Retrieve a single issue category
Source: https://www.redmine.org/projects/redmine/wiki/Rest_IssueCategories
Returns the issue category of given id. The example shows a GET request for category id 2.
```HTTP
GET /issue_categories/2.xml
```
--------------------------------
### Install PostgreSQL
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Debian_9
Install PostgreSQL as the database of choice.
```bash
apt install postgresql
```
--------------------------------
### Start CPAN shell
Source: https://www.redmine.org/projects/redmine/wiki/Redmine_203_with_Subversion_and_LDAP_Authentication_%28for_Redmine_and_Subversion_through_Redmine%29_on_Centos_6_i386_-_detailed
Launch the CPAN shell to manage Perl module installations.
```bash
perl -MCPAN -e shell
```
--------------------------------
### Configure database.yml
Source: https://www.redmine.org/projects/redmine/wiki/Redmine_on_CentOS_installation_HOWTO
Changes to the config directory, copies the example database.yml, and opens it for editing.
```bash
cd /var/www/redmine/config
cp database.yml.example database.yml
nano database.yml
```
--------------------------------
### GET /trackers.xml request
Source: https://www.redmine.org/projects/redmine/wiki/Rest_Trackers
Example request to retrieve the list of all trackers in XML format.
```http
GET /trackers.xml
```
--------------------------------
### Install revision control systems with yum
Source: https://www.redmine.org/projects/redmine/wiki/Install_Redmine_34_on_RHEL74
Install optional revision control systems (darcs, hg, cvs, bzr, git) using yum. Pick which ones apply to your setup.
```bash
% yum -y install darcs hg cvs bzr git
```
--------------------------------
### Install LAMP stack
Source: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_12x_%2B_Mercurial_on_Ubuntu_lucid_server
Installs the LAMP stack using tasksel. Run with sudo.
```bash
$ sudo tasksel install lamp-server
```