aboutsummaryrefslogtreecommitdiff
path: root/gn/services/genenetwork.scm
blob: bf092703be41e5700194097a064906fcd9e4bf5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
(define-module (gn services genenetwork))

(use-modules (gnu)
             (ice-9 match)
             (past packages python)
             (gn packages genenetwork)
             (gn packages python24)
             (gn packages web))
(use-service-modules web)
(use-package-modules python)

(define %python-path
  "/lib/python2.4/site-packages")

(define %mod-python-path
  (file-append httpd22-mod-python-24 %python-path))

(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")
  (locale "en_US.utf8")

  (bootloader (bootloader-configuration
               (bootloader grub-bootloader)
               (target "does-not-matter")))
  (file-systems %base-file-systems)
  ;; No firmware for VMs
  (firmware '())

  (packages (cons* python-2.4
                   python24-qtlreaper
                   python24-htmlgen-GN1
                   python24-json-GN1
                   python24-piddle
                   python24-pyx-GN1
                   python24-pyxlwriter
                   python24-svg-GN1
                   %base-packages))

  (services (list (service httpd-service-type
                           (httpd-configuration
                             (package httpd22-mod-python-24)    ; Must be httpd-2.2
                             (config
                               (httpd-config-file
                                 (server-name "www.genenetwork.org")
                                 ;; Defaults to httpd, largely irrelevant.
                                 (server-root httpd22-mod-python-24)
                                 (user "nobody")
                                 (group "root")
                                 (pid-file "/tmp/httpd-genenetwork1")
                                 (error-log "/tmp/httpd-genenetwork1-error-log")
                                 (document-root (file-append genenetwork1 "/web"))
                                 (listen '("8042"))
                                 (modules (cons*
                                            (httpd-module
                                              (name "python_module")
                                              (file "modules/mod_python.so"))
                                            %default-httpd22-modules))
                                 (extra-config (list "\
TypesConfig etc/httpd/mime.types
DefaultType application/octet-stream
#DocumentRoot MUST NOT be in the PythonPath
PythonPath \"['/run/current-system/profile/lib/python2.4', '" httpd22-mod-python-24 "/lib/python2.4/site-packages']\"
<Directory " genenetwork1 "/web/webqtl>
  #AddHandler mod_python .py
  SetHandler python-program
  #PythonHandler mod_python.publisher
  PythonHandler mod_python.cgihandler
  #PythonAutoReload Off
  # only while debugging:
  PythonDebug On
</Directory>
<Location /mpinfo>
  SetHandler python-program
  PythonHandler mod_python.testhandler
</Location>")))))))))