From f0a7a7774b80fb5819fae498393b1b4af57d1be8 Mon Sep 17 00:00:00 2001
From: Efraim Flashner
Date: Mon, 21 Dec 2020 03:53:45 -0600
Subject: gn: genenetwork1 service: Factor out httpd config.
---
gn/services/genenetwork.scm | 104 ++------------------------------------
gn/services/gn1-httpd-config.scm | 106 +++++++++++++++++++++++++++++++++++++++
2 files changed, 110 insertions(+), 100 deletions(-)
create mode 100644 gn/services/gn1-httpd-config.scm
diff --git a/gn/services/genenetwork.scm b/gn/services/genenetwork.scm
index db3f55d..c00c808 100644
--- a/gn/services/genenetwork.scm
+++ b/gn/services/genenetwork.scm
@@ -1,67 +1,13 @@
(define-module (gn services genenetwork))
(use-modules (gnu)
- (ice-9 match)
(past packages python)
(past packages web)
(gn packages genenetwork)
- (gn packages python24))
+ (gn packages python24)
+ (gn services gn1-httpd-config))
(use-service-modules web)
-(define %default-httpd22-modules
- (map (match-lambda
- ((name file)
- (httpd-module
- (name name)
- (file file))))
- '(("authn_file_module" "modules/mod_authn_file.so")
- ("authn_dbm_module" "modules/mod_authn_dbm.so")
- ("authn_anon_module" "modules/mod_authn_anon.so")
- ("authn_dbd_module" "modules/mod_authn_dbd.so")
- ("authn_default_module" "modules/mod_authn_default.so")
- ("authz_host_module" "modules/mod_authz_host.so")
- ("authz_groupfile_module" "modules/mod_authz_groupfile.so")
- ("authz_user_module" "modules/mod_authz_user.so")
- ("authz_dbm_module" "modules/mod_authz_dbm.so")
- ("authz_owner_module" "modules/mod_authz_owner.so")
- ("authz_default_module" "modules/mod_authz_default.so")
- ("auth_basic_module" "modules/mod_auth_basic.so")
- ("auth_digest_module" "modules/mod_auth_digest.so")
- ("dbd_module" "modules/mod_dbd.so")
- ("dumpio_module" "modules/mod_dumpio.so")
- ("reqtimeout_module" "modules/mod_reqtimeout.so")
- ("ext_filter_module" "modules/mod_ext_filter.so")
- ("include_module" "modules/mod_include.so")
- ("filter_module" "modules/mod_filter.so")
- ("substitute_module" "modules/mod_substitute.so")
- ("log_config_module" "modules/mod_log_config.so")
- ("logio_module" "modules/mod_logio.so")
- ("env_module" "modules/mod_env.so")
- ("mime_magic_module" "modules/mod_mime_magic.so")
- ("expires_module" "modules/mod_expires.so")
- ("headers_module" "modules/mod_headers.so")
- ("ident_module" "modules/mod_ident.so")
- ("setenvif_module" "modules/mod_setenvif.so")
- ("version_module" "modules/mod_version.so")
- ("ssl_module" "modules/mod_ssl.so")
- ("mime_module" "modules/mod_mime.so")
- ("dav_module" "modules/mod_dav.so")
- ("status_module" "modules/mod_status.so")
- ("autoindex_module" "modules/mod_autoindex.so")
- ("asis_module" "modules/mod_asis.so")
- ("info_module" "modules/mod_info.so")
- ("cgi_module" "modules/mod_cgi.so")
- ("dav_fs_module" "modules/mod_dav_fs.so")
- ("vhost_alias_module" "modules/mod_vhost_alias.so")
- ("negotiation_module" "modules/mod_negotiation.so")
- ("dir_module" "modules/mod_dir.so")
- ("imagemap_module" "modules/mod_imagemap.so")
- ("actions_module" "modules/mod_actions.so")
- ("speling_module" "modules/mod_speling.so")
- ("userdir_module" "modules/mod_userdir.so")
- ("alias_module" "modules/mod_alias.so")
- ("rewrite_module" "modules/mod_rewrite.so"))))
-
(operating-system
(host-name "genenetwork")
(timezone "Etc/UTC")
@@ -80,7 +26,7 @@
python24-mysqlclient ; MySQLdb
python24-numarray
python24-piddle
- python24-parallel
+ python24-pp-GN1 ; not python24-parallel, we need an older version
python24-pyx
python24-pyxlwriter
python24-qtlreaper
@@ -95,49 +41,7 @@
(httpd-configuration
;; Must be a httpd-2.2 variant.
(package httpd22-with-mod-python)
- (config
- (httpd-config-file
- (server-name "gn1-test.genenetwork.org")
- ;; Defaults to httpd, should be same as 'package' above.
- (server-root httpd22-with-mod-python)
- (user "nobody")
- (group "root")
- ;; Only while debugging
- (pid-file "/tmp/httpd-genenetwork1")
- (error-log "/tmp/httpd-genenetwork1-error-log")
- (listen '("8042"))
- (modules (cons*
- (httpd-module
- (name "python_module")
- (file "modules/mod_python.so"))
- %default-httpd22-modules))
- (extra-config (list "\
-TypesConfig " httpd22-with-mod-python "/etc/httpd/mime.types
-DefaultType application/octet-stream
-# DocumentRoot MUST NOT be in the PythonPath. Because genenetwork1 must be in PythonPath we leave the document-root keyword above unset.
-PythonPath \"sys.path+['/run/current-system/profile/lib/python2.4', '/run/current-system/profile/lib/python2.4/site-packages', '" genenetwork1 "/web/webqtl']\"
-# same as 'listen' above
-NameVirtualHost *:8042
-
- DocumentRoot "genenetwork1 "/web
-
-
- PythonOption session FileSession
- #what is the difference between these two?
- #AddHandler mod_python .py
- SetHandler python-program
- #publisher has more debug information
- PythonHandler " genenetwork1 "/web/webqtl/main.py
- #PythonHandler mod_python.publisher
- #PythonHandler mod_python.cgihandler
- # only while debugging:
- PythonDebug On
-
-# only while debugging:
-
- SetHandler python-program
- PythonHandler mod_python.testhandler
-")))))))))
+ (config GN1-httpd-config))))))
;; guix system container -L /path/to/guix-past/modules/ -L /path/to/guix-bioinformatics/ /path/to/guix-bioinformatics/gn/services/genenetwork.scm --network --expose=/gnshare/gn/web/genotypes
;; xdg-open http://localhost:8042
diff --git a/gn/services/gn1-httpd-config.scm b/gn/services/gn1-httpd-config.scm
new file mode 100644
index 0000000..e62f027
--- /dev/null
+++ b/gn/services/gn1-httpd-config.scm
@@ -0,0 +1,106 @@
+(define-module (gn services gn1-httpd-config)
+ #:export (%default-httpd22-modules
+ GN1-httpd-config))
+
+(use-modules (gnu)
+ (ice-9 match)
+ (gn packages genenetwork)
+ (past packages web))
+(use-service-modules web)
+
+(define %default-httpd22-modules
+ (map (match-lambda
+ ((name file)
+ (httpd-module
+ (name name)
+ (file file))))
+ '(("authn_file_module" "modules/mod_authn_file.so")
+ ("authn_dbm_module" "modules/mod_authn_dbm.so")
+ ("authn_anon_module" "modules/mod_authn_anon.so")
+ ("authn_dbd_module" "modules/mod_authn_dbd.so")
+ ("authn_default_module" "modules/mod_authn_default.so")
+ ("authz_host_module" "modules/mod_authz_host.so")
+ ("authz_groupfile_module" "modules/mod_authz_groupfile.so")
+ ("authz_user_module" "modules/mod_authz_user.so")
+ ("authz_dbm_module" "modules/mod_authz_dbm.so")
+ ("authz_owner_module" "modules/mod_authz_owner.so")
+ ("authz_default_module" "modules/mod_authz_default.so")
+ ("auth_basic_module" "modules/mod_auth_basic.so")
+ ("auth_digest_module" "modules/mod_auth_digest.so")
+ ("dbd_module" "modules/mod_dbd.so")
+ ("dumpio_module" "modules/mod_dumpio.so")
+ ("reqtimeout_module" "modules/mod_reqtimeout.so")
+ ("ext_filter_module" "modules/mod_ext_filter.so")
+ ("include_module" "modules/mod_include.so")
+ ("filter_module" "modules/mod_filter.so")
+ ("substitute_module" "modules/mod_substitute.so")
+ ("log_config_module" "modules/mod_log_config.so")
+ ("logio_module" "modules/mod_logio.so")
+ ("env_module" "modules/mod_env.so")
+ ("mime_magic_module" "modules/mod_mime_magic.so")
+ ("expires_module" "modules/mod_expires.so")
+ ("headers_module" "modules/mod_headers.so")
+ ("ident_module" "modules/mod_ident.so")
+ ("setenvif_module" "modules/mod_setenvif.so")
+ ("version_module" "modules/mod_version.so")
+ ("ssl_module" "modules/mod_ssl.so")
+ ("mime_module" "modules/mod_mime.so")
+ ("dav_module" "modules/mod_dav.so")
+ ("status_module" "modules/mod_status.so")
+ ("autoindex_module" "modules/mod_autoindex.so")
+ ("asis_module" "modules/mod_asis.so")
+ ("info_module" "modules/mod_info.so")
+ ("cgi_module" "modules/mod_cgi.so")
+ ("dav_fs_module" "modules/mod_dav_fs.so")
+ ("vhost_alias_module" "modules/mod_vhost_alias.so")
+ ("negotiation_module" "modules/mod_negotiation.so")
+ ("dir_module" "modules/mod_dir.so")
+ ("imagemap_module" "modules/mod_imagemap.so")
+ ("actions_module" "modules/mod_actions.so")
+ ("speling_module" "modules/mod_speling.so")
+ ("userdir_module" "modules/mod_userdir.so")
+ ("alias_module" "modules/mod_alias.so")
+ ("rewrite_module" "modules/mod_rewrite.so"))))
+
+(define GN1-httpd-config
+ (httpd-config-file
+ (server-name "gn1-test.genenetwork.org")
+ ;; Defaults to httpd, should be same as 'package' above to launch service.
+ (server-root httpd22-with-mod-python)
+ (user "nobody")
+ (group "root")
+ (pid-file "/tmp/guix-gn1/httpd-genenetwork1.pid")
+ (error-log "/tmp/guix-gn1/httpd-genenetwork1-error-log")
+ (listen '("8042"))
+ (modules (cons*
+ (httpd-module
+ (name "python_module")
+ (file "modules/mod_python.so"))
+ %default-httpd22-modules))
+ (extra-config (list "\
+TypesConfig " httpd22-with-mod-python "/etc/httpd/mime.types
+DefaultType application/octet-stream
+# DocumentRoot MUST NOT be in the PythonPath. Because genenetwork1 must be in PythonPath we leave the document-root keyword above unset.
+PythonPath \"sys.path+['/run/current-system/profile/lib/python2.4', '/run/current-system/profile/lib/python2.4/site-packages', '" genenetwork1 "/web/webqtl']\"
+# same as 'listen' above
+NameVirtualHost *:8042
+
+ DocumentRoot "genenetwork1 "/web/webqtl
+
+
+ PythonOption session FileSession
+ #what is the difference between these two?
+ #AddHandler mod_python .py
+ SetHandler python-program
+ #publisher has more debug information
+ PythonHandler " genenetwork1 "/web/webqtl/main.py
+ #PythonHandler mod_python.publisher
+ #PythonHandler mod_python.cgihandler
+ # only while debugging:
+ PythonDebug On
+
+# only while debugging:
+
+ SetHandler python-program
+ PythonHandler mod_python.testhandler
+"))))
--
cgit v1.2.3