Skip to content

EASY VM

The VM is configured just for small sites (cca 10 simultanously working users). VM is almost production ready but REQUIRES experienced administrator to install VM in your environment, set up backuping, monitoring, networking, security policies etc. Easy Software can not take responsibility for running of this VM in your dedicated environment, the VM is an example how the application can be hosted. This README addresses “Application”, which can be substituted by either “Easy Project” or “Easy Redmine”.

First steps

Because the VM was generated at a certain point in time, it is possible that some components may have already released some patches or security fixes by the time you are deploying it. That is why you should always start with a backup followed by update of the OS. It will install the latest security fixes and update possibly outdated components.

VM description

OS is Debian in 64-bit edition.

The important defaults are:

  • OS is available by SSH via port 22
  • Firewall is not set (it is up to system administrators)
  • The data disk is small as a 5GB (mountpoint is /home)
  • Application listens on HTTPS but with self-signed certificate, so you have to replace it ASAP (more details below)
  • Application is running in /home/easy/[application_name]/current.

Linux login:

  • username: easy
  • password: e4syPwd-

Please change it ASAP. To do so run command passwd in terminal

Mysql login: simply use command mysql your_app_name (all dots or dashes in application name should be replaced with underlines. Example: your-app-name should be your_app_name)

Application login: Default login (in case of “clean” database) is * username: manager * password: easy848

In case of database from your Cloud application, passwords remain as you had them.

Structure of the application’s home

.
├── backups                 # backup script save data there
└── $APP_NAME
    ├── application.pid         
    ├── application.sock    # nginx uses this socket
    ├── config
    │   ├──                 # pregenerated application configurations  
    │   ├──                 # (database, mailing, secrets, app server, etc...)
    │   └── ...
    ├── current
    │   ├── config                 # all application configurations
    │   │    ├── configuration.yml # set up outgoing mail configuration here
    │   │    ├── database.yml      # database access configured here
    │   │    └── ...
    │   ├── files                  # persistent application data
    │   ├── log                    # application logs
    │   ├── public                 # static files
    │   └── version                # application version
    └── public_html -> /home/easy/$APP_NAME/current

Restarting the application is simply via “systemctl restart puma@[application_name]” as sudo

Customer responsibilities

The VM runs on the latest recomended version of Debian. The system requires common maintenance like: * regular updates * resource monitoring (free space, memory usage, load, …) * data backups to an independent disk * security policies

Migrate data to this VM

How to import older Application or Redmine data (SOURCE) into VM (TARGET). This works in most cases, but this procedure may not work in case you use 3rd party plugins in your source Redmine instance.

1) from your (SOURCE) create MySQL dump file:

mysqldump --opt easy > backup.sql

2) transfer backup.sql into (TARGET)

3) go to Application folder on (TARGET)

cd /home/easy/[application_name]/current

4) recreate (TARGET) database

bundle exec rake db:drop db:create RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1

5) import backup.sql

mysql [db_name] < backup.sql

6) transfer attachments and other files from (SOURCE)[redmine]/files into (TARGET)/home/easy/[application_name]/current/files

7) run:

bundle exec rake easyproject:install RAILS_ENV=production

8) restart application

sudo systemctl restart puma@[application_name]