1
0
mirror of https://github.com/krislamo/vagrant-easyredmine synced 2024-09-19 15:30:34 +00:00
Vagrant project to install EasyRedmine on CentOS 7
Go to file
2020-06-11 11:49:37 -04:00
bin pass IdentitiesOnly=yes to ansible-playbook 2016-08-24 16:54:30 -04:00
roles Update syntax and install nginx module 2020-06-11 11:49:37 -04:00
scratch init 2015-11-11 11:43:48 -05:00
templates add redmine account with sudoers file 2015-11-21 21:46:56 -05:00
.gitignore Update with the new location of the ruby role 2020-05-22 11:41:50 -04:00
bootstrap.yml add additional pub keys; now manage root keys 2018-05-10 13:53:08 -04:00
config.yml New package name for upgrade 2020-05-28 16:07:20 -04:00
playbook.yml Update with the new location of the ruby role 2020-05-22 11:41:50 -04:00
README.md document default admin account 2017-12-21 15:00:26 -05:00
requirements.yml Update with the new location of the ruby role 2020-05-22 11:41:50 -04:00
Vagrantfile updates for redmine-install 2.0.2, rvm_io.ruby,et al. 2017-12-20 22:03:02 -05:00

EasyRedmine

This is a Vagrant project to host a development copy of EuPathDB's EasyRedmine

It is primarily focused on being a playground for migrating from our vanilla Redmine 2.3, however it can also be used to install EasyRedmine with an empty database.

Once provisioned, Redmine should be available at http://redmine.vm.apidb.org/

If you choose to install an empty database (not import from existing database dump), the initial login/password is admin/admin. You will be prompted to change the password on first access.

Requirements

  • Vagrant installed on your local host

  • Ansible installed on your local host

  • Vagrant landrush plugin

      vagrant install landrush
    
  • scratch/redmine_dump.sql.gz - a mysql dump of our production database. (One of the daily backups on is suitable. See /var/lib/mysql.backups/daily/easyredmine/ on the server that hosts the Redmine database.) This is optional. To have the redmine installer create an empty database, set do_redmine_db_import to False in config.yml

  • scratch/easyredmine_package_u2072_d201511101601.zip - the installation package provided by EasyRedmine (downloaded from their customer portal). Set the file name for installer_package_name in config.yml

  • When working with a database imported from our production Redmine, you will need a VPN tunnel to UGA's campus so LDAP authentication queries can complete. A stock EasyRedmine installation, not using our database, does local authentication, so no VPN is needed in such case.

Provisioning

Vagrant provisions the VM using Ansible. See config.yml for configuration options. Especially,

  • do_redmine_db_import: if True, will import sample data from a mysql dump file. If False, an empty database will be created by the redmine installer (if run).

  • do_redmine_installer: if True, will run the redmine installer if redmine_root_dir does not exist or if there is a detected change in the database (e.g. you drop it and let Ansible recreate it).

Note: The run redmine installer Ansible task can take a long time and there is no stdout to the console to indicate progress. The installer includes installing several Ruby gems and database migration steps so the installer run time is affected by network speed and database state. On the other hand the installer may prompt for input that the expect script is not expecting. This causes the installer to hang indefinitely waiting for input that the non-interactive script cannot provide. The ~/install.log captures the stdout of the process and should be consulted to check for running state.

Start the virtual machine with vagrant up. This boots the VM and starts provisioning.

Production Installation

See https://wiki.apidb.org/index.php/EasyRedmineVM for instructions for using the Ansible plays from this project to prepare a KVM image for production use.

Development Troubleshooting

To manually delete the database on the virtual machine and manually import the dump file.

mysql -u root --password='' -e "DROP DATABASE easyredmine"
mysql -u root --password='' -e "CREATE DATABASE easyredmine CHARACTER SET utf8"
mysql -u root --password='' -e "CREATE USER 'easyredmine' IDENTIFIED BY '@redmin3r'"
mysql -u root --password='' -e "CREATE USER 'easyredmine'@'localhost' IDENTIFIED BY '@redmin3r'"
mysql -u root --password='' -e "GRANT ALL PRIVILEGES ON easyredmine.* TO 'easyredmine'"
zcat /vagrant/scratch/redmine_dump.sql.gz | mysql -u easyredmine -p'@redmin3r' easyredmine