blob: d9730948046015cc6b8e709081b660f09f12ee62 (
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
|
#+TITLE: Installing GeneNetwork services with GNU Guix
* Table of Contents :TOC:
- [[#introduction][Introduction]]
- [[#binary-deployment-wip][Binary deployment (WIP)]]
- [[#install-genenetwork-server][Install genenetwork server]]
- [[#run-mysql-server][Run MySQL server]]
- [[#start-the-gn2-server][Start the GN2 server]]
- [[#source-deployment-and-other-information-on-reproducibility][Source deployment and other information on reproducibility]]
* Introduction
Large system deployments tend to get very complex. In this document we
explain the GeneNetwork deployment system which is based on GNU Guix
(see Pjotr's [[https://github.com/pjotrp/guix-notes/blob/master/README.md][Guix-notes]]).
* Binary deployment (WIP)
GN can be deployed either as a binary tarball or as a GNU Guix
package. First install GNU Guix following the instructions of the
[[https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#Binary-Installation][binary installation]] using a tar ball from [[https://www.gnu.org/software/guix/download/][here]] and, update guix with a
'guix pull' and make guix visible in the path. More information
exists also in my [[https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org][guix-notes]].
With guix running you should be able to install python, for example.
: guix package -i python2
This will make python appear in $HOME/.guix-profile/bin/python. Suggested
environment settings can be seen with
: guix package --search-paths
** Install genenetwork server
Fetch the nar file and install it after adding the key with, for
example
: cat signing-key.pub |.guix-profile/bin/guix archive --authorize
: guix archive --import < guix_gn2-2.0-9e9475053.nar
** Run MySQL server
At this point we require the underlying distribution to install
and run mysqld.
Download one of
http://files.genenetwork.org/raw_database/
https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip
Check the md5sum.
After installation inflate the database binary in the MySQL directory
(this is subject to change soon)
: chown -R mysql:mysql db_webqtl_s/
: chmod 700 db_webqtl_s/
: chmod 660 db_webqtl_s/*
restart MySQL service (mysqld). Login as root and
: mysql> show databases;
: +--------------------+
: | Database |
: +--------------------+
: | information_schema |
: | db_webqtl_s |
: | mysql |
: | performance_schema |
: +--------------------+
Set permissions and match password in your settings file below:
: mysql> grant all privileges on db_webqtl_s.* to gn2@"localhost" identified by 'mysql_password';
** Start the GN2 server
Copy the default_settings.py file and modify
: DB_URI = """mysql://gn2:mysql_password@localhost/db_webqtl"""
: SQLALCHEMY_DATABASE_URI = 'mysql://gn2:mysql_password/db_webqtl'
: SECRET_KEY = 'secret_key'
Start the server with your settings file
: ./bin/genenetwork2 ~/my_gn2_settings.py
* Source deployment and other information on reproducibility
See the document [[GUIX-Reproducible-from-source.org]].
|