Issue #758 workaround
Some tasks on the Galaxy server (e.g., configuration changes) require you to connect to the VM using a command line shell. This can easily be done from within your browser by opening the VM details page and clicking the Open Web Shell button.
This will open a terminal inside your web browser with a command prompt in the VM.
From here, you can perform any administrative task. You will be logged in as the user that launched the instance (eafgan in my case, as shown in the screenshot). This user has privileges to become the root system user via sudo command. Some tasks will require you to become root user while others will require you to become galaxy system user. Changing users is simple:
- To become root user, run this command: sudo -s
- To become galaxy user, run this command: sudo su galaxy
- To return to the previous user, type exit
Changing Galaxy settings
Galaxy has an extensive set of administrative configuration options. The most common changes to Galaxy are performed by editing galaxy.ini file. On the Jetstream image, this file is located in /opt/galaxy/galaxy-app/config/galaxy.ini and it must be edited as galaxy system user. You can edit the file using nano or vim editors. The most current list of available options is always available in the galaxy.ini.sample file; any missing options can be added of the existing ones can be modified. If adding new options to the file, make sure that you are adding them under the right section of the file, most likely under [app:main] header. Note that after changing this file, it is necessary to restart Galaxy.
Adding Galaxy Admin user
To be able to add new tools or reference data, it is necessary to become Galaxy Admin user and use the admin panel. This is done by editing Galaxy settings (see above section) and adding a line like the following under the [app:main] section: admin_users = \<registered user's email address>. Save the file and restart Galaxy process.
Restarting Galaxy
After any Galaxy configuration changes, it is necessary to restart the Galaxy process. Galaxy process is managed by Supervisor - a process control software. To restart the process, it is required to become root user, and restart the Galaxy process via supervisor:
eafgan@x:~$ sudo -s
root@x:~# supervisorctl
galaxy:web0 RUNNING pid 4077, uptime 3:17:41
munge RUNNING pid 1376, uptime 3:57:06
nginx RUNNING pid 1378, uptime 3:57:06
postgresql RUNNING pid 1375, uptime 3:57:06
pre_postgresql EXITED Apr 15 11:33 AM
proftpd RUNNING pid 1385, uptime 3:57:06
slurmctld RUNNING pid 3512, uptime 3:47:58
slurmd RUNNING pid 1563, uptime 3:56:36
supervisor> restart galaxy:web0
galaxy:web0: stopped
galaxy:web0: started
supervisor> exit```