{"id":793,"date":"2013-12-05T15:51:21","date_gmt":"2013-12-05T13:51:21","guid":{"rendered":"http:\/\/oldblogs.uct.ac.za\/blog\/big-bytes\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research"},"modified":"2015-08-14T11:39:08","modified_gmt":"2015-08-14T09:39:08","slug":"enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research","status":"publish","type":"post","link":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/","title":{"rendered":"Enable FTP service for Galaxy &#8211; Web-based platform for Data intensive biomedical research"},"content":{"rendered":"<p style=\"font-family: Helvetica;\">The Galaxy instance we have running at the University of Cape Town operates on the Novell SLES 11 platform. The SMT repositories do not have ProFTPD, which is the recommended FTP service for Galaxy. Also, there is a lack of documentation to configure the FTP service for MySQL on the Galaxy documentation site. I eventually got it working and plan to highlight the missing documentation.<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>Problem:<\/strong>\u00a0Galaxy users cannot upload large files via the web browser.<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>Proposed Solution:<\/strong>\u00a0Enable the FTP service in Galaxy and have the users upload their files via FTP. The files can then be viewed in the web-based portal. The FTP service will authenticate against the MySQL table \"galaxy_user\". Each user will have their own FTP directory.<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>Technical Implementation:<\/strong>\u00a0Firstly, we need to add the repository for ProFTPD and set the repository priority to a value higher than the default, 99. We will set it to 120. Add the following repository with either zypper or yast -<a href=\"http:\/\/download.opensuse.org\/repositories\/server:\/ftp\/SLE_11_SP1\/x86_64\/\">http:\/\/download.opensuse.org\/repositories\/server:\/ftp\/SLE_11_SP1\/x86_64\/<\/a><\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>Installation and Configuration Guidelines:<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">1.\u00a0\u00a0\u00a0\u00a0Install ProFTPD<\/p>\r\n<p style=\"font-family: Helvetica;\">2.\u00a0\u00a0\u00a0\u00a0Create a modules configuration file to load modules for ProFTPD<\/p>\r\n<p style=\"font-family: Helvetica;\">3.\u00a0\u00a0\u00a0\u00a0Create a mysql configuration file to contain the SQL lookup and database credentials<\/p>\r\n<p style=\"font-family: Helvetica;\">4.\u00a0\u00a0\u00a0\u00a0Update ProFTPD configuration.<\/p>\r\n<p style=\"font-family: Helvetica;\">5.\u00a0 \u00a0\u00a0Enable FTP within Galaxy Web Portal<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>1. Install ProFTPD:<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">This is a rather simple and efficient process.<\/p>\r\n<p style=\"font-family: Helvetica;\">\u201c<strong>zypper install proftpd proftpd-mysql<\/strong>\u201d<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>2. Module configuration file:<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">Create a new document file in \/etc\/proftpd\/conf.d\/modules.conf.<\/p>\r\n<p style=\"font-family: Helvetica;\">Add the following text to the modules.conf file:<\/p>\r\n<p style=\"font-family: Helvetica;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>LoadModule mod_sql.c<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LoadModule mod_sql_mysql.c<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LoadModule mod_sql_passwd.c<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>3. MySQL configuration file:<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">Before we create the configuration file we need to create a user within the MySQL which will read the galaxy user table. Granting \u201cSelect\u201d on the table is enough to get going. Its best to create a different user id for access to the galaxy_user table as opposed to the Galaxy DB user which has all permissions on the database. The command is as follows:<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0grant select on galaxy.galaxy_user to dbuser@localhost identified by 'dbpasswd';<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">Go ahead and create the mysql.conf file and add the following to it.<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>&lt;Global&gt;<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLEngine\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLConnectInfo\u00a0\u00a0 galaxy@localhost dbuser dbpasswd<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLAuthTypes\u00a0\u00a0\u00a0\u00a0 SHA1<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLAuthenticate\u00a0 users<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0 \u00a0SQLBackend\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mysql<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLPasswordEncoding\u00a0\u00a0 hex<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLPasswordEngine\u00a0\u00a0\u00a0\u00a0 on<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLDefaultHomedir\u00a0\u00a0\u00a0\u00a0 \/tmp<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0\u00a0 SQLLogFile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/var\/log\/proftpd\/SQL.log<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"># Define a custom query for lookup that returns a passwd-like entry.\u00a0 UID and GID should match your Galaxy user.<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>SQLUserInfo\u00a0 custom:\/LookupGalaxyUser<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>SQLNamedQuery LookupGalaxyUser SELECT \"email,password,'512','512','\/opt\/galaxy-datasets\/database\/files\/%U','\/bin\/bash' FROM galaxy_user WHERE email='%U'\"<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">&lt;\/Global&gt;<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>4. Update ProFTPD Configuration: \u00a0<\/strong>\/etc\/proftpd\/proftpd.conf<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>\u00a0<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>AuthOrder\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mod_sql.c<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>Include\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/etc\/proftpd\/conf.d\/*.conf<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>ServerName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"ProFTPD on hostname\"<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>ServerType\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 standalone<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>DefaultServer\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>AllowOverwrite\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>AllowStoreRestart\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\">These options above may or may not be enabled so ensure they are.<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>5. Enable the FTP service in Galaxy Portal:<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">Edit the galaxy-dist\/universe_wsgi.ini\u00a0and make the following adjustments<\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"># This should point to a directory containing subdirectories matching users'<\/p>\r\n<p style=\"font-family: Helvetica;\"># email addresses, where Galaxy will look for files.<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>ftp_upload_dir = galaxy-dist\/database\/files\/<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"># This should be the hostname of your FTP server, which will be provided to<\/p>\r\n<p style=\"font-family: Helvetica;\"># users in the help text.<\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>ftp_upload_site = ftp_server_name<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\"><\/p>\r\n<p style=\"font-family: Helvetica;\"><strong>Restart services:<\/strong><\/p>\r\n<p style=\"font-family: Helvetica;\">- Restart Galaxy and ProFTPD<\/p>","protected":false},"excerpt":{"rendered":"<p>The Galaxy instance we have running at the University of Cape Town operates on the Novell SLES 11 platform. The SMT repositories do not have ProFTPD, which is the recommended FTP service for Galaxy. Also, there is a lack of documentation to configure the FTP service for MySQL on the Galaxy documentation site. I eventually got it working and plan to highlight the missing documentation.<\/p>\n<p><strong>Problem:<\/strong>&nbsp;Galaxy users cannot upload large files via the web browser.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Proposed Solution:<\/strong>&nbsp;Enable the FTP service in Galaxy and have the users upload their files via FTP. The files can then be viewed in the web-based portal. The FTP service will authenticate against the MySQL table &#8220;galaxy_user&#8221;. Each user will have their own FTP directory.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Technical Implementation:<\/strong>&nbsp;Firstly, we need to add the repository for ProFTPD and set the repository priority to a value higher than the default, 99. We will set it to 120. Add the following repository with either zypper or yast &#8211;<a href=\"http:\/\/download.opensuse.org\/repositories\/server:\/ftp\/SLE_11_SP1\/x86_64\/\">http:\/\/download.opensuse.org\/repositories\/server:\/ftp\/SLE_11_SP1\/x86_64\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Installation and Configuration Guidelines:<\/strong>&nbsp;<\/p>\n<p>1.&nbsp;&nbsp;&nbsp;&nbsp;Install ProFTPD<\/p>\n<p>2.&nbsp;&nbsp;&nbsp;&nbsp;Create a modules configuration file to load modules for ProFTPD<\/p>\n<p>3.&nbsp;&nbsp;&nbsp;&nbsp;Create a mysql configuration file to contain the SQL lookup and database credentials<\/p>\n<p>4.&nbsp;&nbsp;&nbsp;&nbsp;Update ProFTPD configuration.<\/p>\n<p>5.&nbsp; &nbsp;&nbsp;Enable FTP within Galaxy Web Portal<\/p>\n<p>&nbsp;<\/p>\n<p><strong>1. Install ProFTPD:<\/strong><\/p>\n<p>This is a rather simple and efficient process.<\/p>\n<p>&ldquo;<strong>zypper install proftpd proftpd-mysql<\/strong>&rdquo;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2. Module configuration file:<\/strong><\/p>\n<p>Create a new document file in \/etc\/proftpd\/conf.d\/modules.conf.<\/p>\n<p>Add the following text to the modules.conf file:<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>LoadModule mod_sql.c<\/strong><\/p>\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql_mysql.c<\/strong><\/p>\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql_passwd.c<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>3. MySQL configuration file:<\/strong><\/p>\n<p>Before we create the configuration file we need to create a user within the MySQL which will read the galaxy user table. Granting &ldquo;Select&rdquo; on the table is enough to get going. Its best to create a different user id for access to the galaxy_user table as opposed to the Galaxy DB user which has all permissions on the database. The command is as follows:<\/p>\n<p><strong>&nbsp;<\/strong><\/p>\n<p><strong>&nbsp;grant select on galaxy.galaxy_user to dbuser@localhost identified by &#8216;dbpasswd&#8217;;<\/strong><\/p>\n<p><strong>&nbsp;<\/strong><\/p>\n<p>Go ahead and create the mysql.conf file and add the following to it.<\/p>\n<p><strong>&lt;Global&gt;<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLEngine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLConnectInfo&nbsp;&nbsp; galaxy@localhost dbuser dbpasswd<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLAuthTypes&nbsp;&nbsp;&nbsp;&nbsp; SHA1<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLAuthenticate&nbsp; users<\/strong><\/p>\n<p><strong>&nbsp; &nbsp;SQLBackend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLPasswordEncoding&nbsp;&nbsp; hex<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLPasswordEngine&nbsp;&nbsp;&nbsp;&nbsp; on<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLDefaultHomedir&nbsp;&nbsp;&nbsp;&nbsp; \/tmp<\/strong><\/p>\n<p><strong>&nbsp;&nbsp; SQLLogFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/var\/log\/proftpd\/SQL.log<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p># Define a custom query for lookup that returns a passwd-like entry.&nbsp; UID and GID should match your Galaxy user.<\/p>\n<p><strong>SQLUserInfo&nbsp; custom:\/LookupGalaxyUser<\/strong><\/p>\n<p><strong>SQLNamedQuery LookupGalaxyUser SELECT &#8220;email,password,&#8217;512&#8242;,&#8217;512&#8242;,&#8217;\/opt\/galaxy-datasets\/database\/files\/%U&#8217;,&#8217;\/bin\/bash&#8217; FROM galaxy_user WHERE email=&#8217;%U'&#8221;<\/strong><\/p>\n<p>&lt;\/Global&gt;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>4. Update ProFTPD Configuration: &nbsp;<\/strong>\/etc\/proftpd\/proftpd.conf<strong><\/strong><\/p>\n<p><strong>&nbsp;<\/strong><\/p>\n<p><strong>AuthOrder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mod_sql.c<\/strong><\/p>\n<p><strong>Include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/etc\/proftpd\/conf.d\/*.conf<\/strong><\/p>\n<p><strong>ServerName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;ProFTPD on hostname&#8221;<\/strong><\/p>\n<p><strong>ServerType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; standalone<\/strong><\/p>\n<p><strong>DefaultServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on<\/strong><\/p>\n<p><strong>AllowOverwrite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on<\/strong><\/p>\n<p><strong>AllowStoreRestart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>These options above may or may not be enabled so ensure they are.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>5. Enable the FTP service in Galaxy Portal:<\/strong><\/p>\n<p>Edit the galaxy-dist\/universe_wsgi.ini&nbsp;and make the following adjustments<\/p>\n<p>&nbsp;<\/p>\n<p># This should point to a directory containing subdirectories matching users&#8217;<\/p>\n<p># email addresses, where Galaxy will look for files.<\/p>\n<p><strong>ftp_upload_dir = galaxy-dist\/database\/files\/<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p># This should be the hostname of your FTP server, which will be provided to<\/p>\n<p># users in the help text.<\/p>\n<p><strong>ftp_upload_site = ftp_server_name<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Restart services:<\/strong><\/p>\n<p>&#8211; Restart Galaxy and ProFTPD<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enable FTP service for Galaxy - Web-based platform for Data intensive biomedical research - UCT HPC<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enable FTP service for Galaxy - Web-based platform for Data intensive biomedical research - UCT HPC\" \/>\n<meta property=\"og:description\" content=\"The Galaxy instance we have running at the University of Cape Town operates on the Novell SLES 11 platform. The SMT repositories do not have ProFTPD, which is the recommended FTP service for Galaxy. Also, there is a lack of documentation to configure the FTP service for MySQL on the Galaxy documentation site. I eventually got it working and plan to highlight the missing documentation.Problem:&nbsp;Galaxy users cannot upload large files via the web browser.&nbsp;Proposed Solution:&nbsp;Enable the FTP service in Galaxy and have the users upload their files via FTP. The files can then be viewed in the web-based portal. The FTP service will authenticate against the MySQL table &quot;galaxy_user&quot;. Each user will have their own FTP directory.&nbsp;Technical Implementation:&nbsp;Firstly, we need to add the repository for ProFTPD and set the repository priority to a value higher than the default, 99. We will set it to 120. Add the following repository with either zypper or yast -http:\/\/download.opensuse.org\/repositories\/server:\/ftp\/SLE_11_SP1\/x86_64\/&nbsp;Installation and Configuration Guidelines:&nbsp;1.&nbsp;&nbsp;&nbsp;&nbsp;Install ProFTPD2.&nbsp;&nbsp;&nbsp;&nbsp;Create a modules configuration file to load modules for ProFTPD3.&nbsp;&nbsp;&nbsp;&nbsp;Create a mysql configuration file to contain the SQL lookup and database credentials4.&nbsp;&nbsp;&nbsp;&nbsp;Update ProFTPD configuration.5.&nbsp; &nbsp;&nbsp;Enable FTP within Galaxy Web Portal&nbsp;1. Install ProFTPD:This is a rather simple and efficient process.&ldquo;zypper install proftpd proftpd-mysql&rdquo;&nbsp;2. Module configuration file:Create a new document file in \/etc\/proftpd\/conf.d\/modules.conf.Add the following text to the modules.conf file:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql_mysql.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql_passwd.c&nbsp;3. MySQL configuration file:Before we create the configuration file we need to create a user within the MySQL which will read the galaxy user table. Granting &ldquo;Select&rdquo; on the table is enough to get going. Its best to create a different user id for access to the galaxy_user table as opposed to the Galaxy DB user which has all permissions on the database. The command is as follows:&nbsp;&nbsp;grant select on galaxy.galaxy_user to dbuser@localhost identified by &#039;dbpasswd&#039;;&nbsp;Go ahead and create the mysql.conf file and add the following to it.&lt;Global&gt;&nbsp;&nbsp; SQLEngine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp;&nbsp; SQLConnectInfo&nbsp;&nbsp; galaxy@localhost dbuser dbpasswd&nbsp;&nbsp; SQLAuthTypes&nbsp;&nbsp;&nbsp;&nbsp; SHA1&nbsp;&nbsp; SQLAuthenticate&nbsp; users&nbsp; &nbsp;SQLBackend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql&nbsp;&nbsp; SQLPasswordEncoding&nbsp;&nbsp; hex&nbsp;&nbsp; SQLPasswordEngine&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp;&nbsp; SQLDefaultHomedir&nbsp;&nbsp;&nbsp;&nbsp; \/tmp&nbsp;&nbsp; SQLLogFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/var\/log\/proftpd\/SQL.log&nbsp;# Define a custom query for lookup that returns a passwd-like entry.&nbsp; UID and GID should match your Galaxy user.SQLUserInfo&nbsp; custom:\/LookupGalaxyUserSQLNamedQuery LookupGalaxyUser SELECT &quot;email,password,&#039;512&#039;,&#039;512&#039;,&#039;\/opt\/galaxy-datasets\/database\/files\/%U&#039;,&#039;\/bin\/bash&#039; FROM galaxy_user WHERE email=&#039;%U&#039;&quot;&lt;\/Global&gt;&nbsp;4. Update ProFTPD Configuration: &nbsp;\/etc\/proftpd\/proftpd.conf&nbsp;AuthOrder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mod_sql.cInclude&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/etc\/proftpd\/conf.d\/*.confServerName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;ProFTPD on hostname&quot;ServerType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; standaloneDefaultServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onAllowOverwrite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onAllowStoreRestart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp;These options above may or may not be enabled so ensure they are.&nbsp;5. Enable the FTP service in Galaxy Portal:Edit the galaxy-dist\/universe_wsgi.ini&nbsp;and make the following adjustments&nbsp;# This should point to a directory containing subdirectories matching users&#039;# email addresses, where Galaxy will look for files.ftp_upload_dir = galaxy-dist\/database\/files\/&nbsp;# This should be the hostname of your FTP server, which will be provided to# users in the help text.ftp_upload_site = ftp_server_name&nbsp;Restart services:- Restart Galaxy and ProFTPD\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\" \/>\n<meta property=\"og:site_name\" content=\"UCT HPC\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-05T13:51:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-14T09:39:08+00:00\" \/>\n<meta name=\"author\" content=\"Timothy Carr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Timothy Carr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\"},\"author\":{\"name\":\"Timothy Carr\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/41f6cd039836d7741f2b82a7b7cfe8d0\"},\"headline\":\"Enable FTP service for Galaxy &#8211; Web-based platform for Data intensive biomedical research\",\"datePublished\":\"2013-12-05T13:51:21+00:00\",\"dateModified\":\"2015-08-14T09:39:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\"},\"wordCount\":560,\"publisher\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#organization\"},\"articleSection\":[\"hpc\"],\"inLanguage\":\"en-ZA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\",\"name\":\"Enable FTP service for Galaxy - Web-based platform for Data intensive biomedical research - UCT HPC\",\"isPartOf\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#website\"},\"datePublished\":\"2013-12-05T13:51:21+00:00\",\"dateModified\":\"2015-08-14T09:39:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/#breadcrumb\"},\"inLanguage\":\"en-ZA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ucthpc.uct.ac.za\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enable FTP service for Galaxy &#8211; Web-based platform for Data intensive biomedical research\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#website\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/\",\"name\":\"UCT HPC\",\"description\":\"University of Cape Town High Performance Computing\",\"publisher\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ucthpc.uct.ac.za\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-ZA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#organization\",\"name\":\"University of Cape Town High Performance Computing\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-ZA\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png\",\"contentUrl\":\"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png\",\"width\":450,\"height\":423,\"caption\":\"University of Cape Town High Performance Computing\"},\"image\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/41f6cd039836d7741f2b82a7b7cfe8d0\",\"name\":\"Timothy Carr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-ZA\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7e94dcf3a408e6ada008042fc29d4b15?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7e94dcf3a408e6ada008042fc29d4b15?s=96&d=mm&r=g\",\"caption\":\"Timothy Carr\"},\"sameAs\":[\"http:\/\/ucthpc.uct.ac.za\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enable FTP service for Galaxy - Web-based platform for Data intensive biomedical research - UCT HPC","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/","og_locale":"en_US","og_type":"article","og_title":"Enable FTP service for Galaxy - Web-based platform for Data intensive biomedical research - UCT HPC","og_description":"The Galaxy instance we have running at the University of Cape Town operates on the Novell SLES 11 platform. The SMT repositories do not have ProFTPD, which is the recommended FTP service for Galaxy. Also, there is a lack of documentation to configure the FTP service for MySQL on the Galaxy documentation site. I eventually got it working and plan to highlight the missing documentation.Problem:&nbsp;Galaxy users cannot upload large files via the web browser.&nbsp;Proposed Solution:&nbsp;Enable the FTP service in Galaxy and have the users upload their files via FTP. The files can then be viewed in the web-based portal. The FTP service will authenticate against the MySQL table \"galaxy_user\". Each user will have their own FTP directory.&nbsp;Technical Implementation:&nbsp;Firstly, we need to add the repository for ProFTPD and set the repository priority to a value higher than the default, 99. We will set it to 120. Add the following repository with either zypper or yast -http:\/\/download.opensuse.org\/repositories\/server:\/ftp\/SLE_11_SP1\/x86_64\/&nbsp;Installation and Configuration Guidelines:&nbsp;1.&nbsp;&nbsp;&nbsp;&nbsp;Install ProFTPD2.&nbsp;&nbsp;&nbsp;&nbsp;Create a modules configuration file to load modules for ProFTPD3.&nbsp;&nbsp;&nbsp;&nbsp;Create a mysql configuration file to contain the SQL lookup and database credentials4.&nbsp;&nbsp;&nbsp;&nbsp;Update ProFTPD configuration.5.&nbsp; &nbsp;&nbsp;Enable FTP within Galaxy Web Portal&nbsp;1. Install ProFTPD:This is a rather simple and efficient process.&ldquo;zypper install proftpd proftpd-mysql&rdquo;&nbsp;2. Module configuration file:Create a new document file in \/etc\/proftpd\/conf.d\/modules.conf.Add the following text to the modules.conf file:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql_mysql.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule mod_sql_passwd.c&nbsp;3. MySQL configuration file:Before we create the configuration file we need to create a user within the MySQL which will read the galaxy user table. Granting &ldquo;Select&rdquo; on the table is enough to get going. Its best to create a different user id for access to the galaxy_user table as opposed to the Galaxy DB user which has all permissions on the database. The command is as follows:&nbsp;&nbsp;grant select on galaxy.galaxy_user to dbuser@localhost identified by 'dbpasswd';&nbsp;Go ahead and create the mysql.conf file and add the following to it.&lt;Global&gt;&nbsp;&nbsp; SQLEngine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp;&nbsp; SQLConnectInfo&nbsp;&nbsp; galaxy@localhost dbuser dbpasswd&nbsp;&nbsp; SQLAuthTypes&nbsp;&nbsp;&nbsp;&nbsp; SHA1&nbsp;&nbsp; SQLAuthenticate&nbsp; users&nbsp; &nbsp;SQLBackend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql&nbsp;&nbsp; SQLPasswordEncoding&nbsp;&nbsp; hex&nbsp;&nbsp; SQLPasswordEngine&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp;&nbsp; SQLDefaultHomedir&nbsp;&nbsp;&nbsp;&nbsp; \/tmp&nbsp;&nbsp; SQLLogFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/var\/log\/proftpd\/SQL.log&nbsp;# Define a custom query for lookup that returns a passwd-like entry.&nbsp; UID and GID should match your Galaxy user.SQLUserInfo&nbsp; custom:\/LookupGalaxyUserSQLNamedQuery LookupGalaxyUser SELECT \"email,password,'512','512','\/opt\/galaxy-datasets\/database\/files\/%U','\/bin\/bash' FROM galaxy_user WHERE email='%U'\"&lt;\/Global&gt;&nbsp;4. Update ProFTPD Configuration: &nbsp;\/etc\/proftpd\/proftpd.conf&nbsp;AuthOrder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mod_sql.cInclude&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/etc\/proftpd\/conf.d\/*.confServerName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \"ProFTPD on hostname\"ServerType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; standaloneDefaultServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onAllowOverwrite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onAllowStoreRestart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp;These options above may or may not be enabled so ensure they are.&nbsp;5. Enable the FTP service in Galaxy Portal:Edit the galaxy-dist\/universe_wsgi.ini&nbsp;and make the following adjustments&nbsp;# This should point to a directory containing subdirectories matching users'# email addresses, where Galaxy will look for files.ftp_upload_dir = galaxy-dist\/database\/files\/&nbsp;# This should be the hostname of your FTP server, which will be provided to# users in the help text.ftp_upload_site = ftp_server_name&nbsp;Restart services:- Restart Galaxy and ProFTPD","og_url":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/","og_site_name":"UCT HPC","article_published_time":"2013-12-05T13:51:21+00:00","article_modified_time":"2015-08-14T09:39:08+00:00","author":"Timothy Carr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Timothy Carr","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/#article","isPartOf":{"@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/"},"author":{"name":"Timothy Carr","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/41f6cd039836d7741f2b82a7b7cfe8d0"},"headline":"Enable FTP service for Galaxy &#8211; Web-based platform for Data intensive biomedical research","datePublished":"2013-12-05T13:51:21+00:00","dateModified":"2015-08-14T09:39:08+00:00","mainEntityOfPage":{"@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/"},"wordCount":560,"publisher":{"@id":"https:\/\/ucthpc.uct.ac.za\/#organization"},"articleSection":["hpc"],"inLanguage":"en-ZA"},{"@type":"WebPage","@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/","url":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/","name":"Enable FTP service for Galaxy - Web-based platform for Data intensive biomedical research - UCT HPC","isPartOf":{"@id":"https:\/\/ucthpc.uct.ac.za\/#website"},"datePublished":"2013-12-05T13:51:21+00:00","dateModified":"2015-08-14T09:39:08+00:00","breadcrumb":{"@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/#breadcrumb"},"inLanguage":"en-ZA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2013\/12\/05\/enable-ftp-service-for-galaxy-web-based-platform-for-data-intensive-biomedical-research\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ucthpc.uct.ac.za\/"},{"@type":"ListItem","position":2,"name":"Enable FTP service for Galaxy &#8211; Web-based platform for Data intensive biomedical research"}]},{"@type":"WebSite","@id":"https:\/\/ucthpc.uct.ac.za\/#website","url":"https:\/\/ucthpc.uct.ac.za\/","name":"UCT HPC","description":"University of Cape Town High Performance Computing","publisher":{"@id":"https:\/\/ucthpc.uct.ac.za\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ucthpc.uct.ac.za\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-ZA"},{"@type":"Organization","@id":"https:\/\/ucthpc.uct.ac.za\/#organization","name":"University of Cape Town High Performance Computing","url":"https:\/\/ucthpc.uct.ac.za\/","logo":{"@type":"ImageObject","inLanguage":"en-ZA","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/","url":"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png","contentUrl":"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png","width":450,"height":423,"caption":"University of Cape Town High Performance Computing"},"image":{"@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/41f6cd039836d7741f2b82a7b7cfe8d0","name":"Timothy Carr","image":{"@type":"ImageObject","inLanguage":"en-ZA","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7e94dcf3a408e6ada008042fc29d4b15?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7e94dcf3a408e6ada008042fc29d4b15?s=96&d=mm&r=g","caption":"Timothy Carr"},"sameAs":["http:\/\/ucthpc.uct.ac.za"]}]}},"_links":{"self":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts\/793"}],"collection":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/comments?post=793"}],"version-history":[{"count":2,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts\/793\/revisions"}],"predecessor-version":[{"id":2065,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts\/793\/revisions\/2065"}],"wp:attachment":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/media?parent=793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/categories?post=793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/tags?post=793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}