aboutsummaryrefslogtreecommitdiff
path: root/misc/gn_installation_notes.txt
blob: 6329586f7c50b2924affbac7169cc07acc66c338 (about) (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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
UFW - default firewall confirguation tool for Ubuntu; eases iptables firewall configuration

Enable UFW:
sudo ufw enable
Check status of UFW:
sudo ufw status verbose

Limit ssh:
sudo ufw limit ssh

Enable http, https:
sudo ufw allow http
sudo ufw allow https

===========================================

http://evilrouters.net/2011/02/18/using-etckeeper-with-git-on-ubuntu/

Install etckeeper:
sudo apt-get install etckeeper

Edit /etc/etckeeper/etckeeper.conf to comment out VCS="bzr" and comment in VCS="git"

Initialize repository:
sudo etckeeper init

Do initial commit:
sudo etckeeper commit "Initial commit."

===========================================

Get git:

sudo apt-get install git

===========================================

Clone code from git repository:
git clone http://github.com/zsloan/genenetwork.git gene 

Pull from branch in git repository:
git pull origin flask(or whatever the branch is)

**"apt-cache search" searches for text in the description for various packages, while
"apt-file search" searches for files within the packages**

Search for package with a specified file that can be installed with apt-get
apt-file search _______

============================================

Create trash directory:
mkdir ~/.trash

============================================

Using dpkg

Check which system packages are already installed:
dpkg -l | less

===========================================

Installing virtualenv:
sudo pip install virtualenv

Tell virtualenv which directory to use:
virtualenv ve27

Start up virtual environment:
source ~/ve27/bin/activate

===========================================

Install libmysqlclient-dev (Mysql-Python dependency)
sudo apt-get install libmysqlclient-dev

Install python-dev (numpy dependency)
sudo apt-get install python-dev

Install scipy dependencies:
sudo apt-get install libatlas-base-dev gfortran g++

===========================================

Install pip:
sudo apt-get install python-pip

REMEMBER TO SOURCE VE BEFORE INSTALLING 

Comment out in requirements.txt:
Reaper
numarray

Before installing from requirements.txt, install numpy separately:
pip install numpy==1.7.0 (or whatever version we're using)

Install from requirements.txt (after activating virtualenv):
pip install -r gene/misc/requirements.txt

===========================================

Installing QTL Reaper

wget http://downloads.sourceforge.net/project/qtlreaper/qtlreaper/1.1.1/qtlreaper-1.1.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fqtlreaper%2Ffiles%2Flatest%2Fdownload&ts=1358975786&use_mirror=iweb
mv -v qtlreaper-1.1.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fqtlreaper%2Ffiles%2Flatest%2Fdownload&ts=1358975786&use_mirror=iweb qtlreaper-1.1.1.tar.gz
tar xvf qtlreaper-1.1.1.tar.gz (to unzip)
mkdir /home/zas1024/ve27/include/python2.7/Reaper
python setup.py install

===========================================

Installing numarray 1.5.2

wget http://downloads.sourceforge.net/project/numpy/Old%20Numarray/1.5.2/numarray-1.5.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnumpy%2Ffiles%2FOld%2520Numarray%2F1.5.2%2Fnumarray-1.5.2.tar.gz%2Fdownload&ts=1358978306&use_mirror=superb-dca2
mv -v numarray-1.5.2.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fnumpy%2Ffiles%2FOld%20Numarray%2F1.5.2%2Fnumarray-1.5.2.tar.gz%2Fdownload numarray-1.5.2.tar.gz
tar xvf numarray-1.5.2.tar.gz
sudo python setup.py install

===========================================

Installing nginx

sudo -s
nginx=stable # use nginx=development for latest development version
echo "deb http://ppa.launchpad.net/nginx/$nginx/ubuntu lucid main" > /etc/apt/sources.list.d/nginx-$nginx-lucid.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C
apt-get update 
apt-get install nginx

Create configuration file in ~/gene/wqflask/other_config/nginx_conf/ (modeled off of the others)
Create symbolic link to config file in /etc/nginx/sites-enabled/:
ln -s dir_to_link_to linking_dir

Run nginx:
sudo /usr/sbin/nginx

============================================

Copy over zach_settings.py to /home/zas1024 directory (or whatever is home directory)

export WQFLASK_SETTINGS=~/gene/wqflask/cfg/zach_settings.py (or wherever file is located)

============================================

Install MySQL Server

sudo apt-get install mysql-server

mkdir /mnt/big
fdisk /dev/sdb
m: for help
n: new partion
...
w: write to table and exit

Start MySQL server:
service mysql start

Stop MySQL server:
service mysql stop

Change root password:
mysql> UPDATE mysql.user SET Password=PASSWORD('your password') WHERE User='root';

Setup accounts in MySQL (first need to delete anonymous/non-root accounts):
#; use mysql;
#; select * from user;
#; delete from user where Host!="localhost";
#; delete from user where User!="root";
#; update user set Password = Password('yourpassword') where User='root';
#; GRANT ALL ON *.* TO 'yourusername'@'%' IDENTIFIED BY 'yourpassword';
#; select * from user;

Use Percona to optimise my.cfg file:
https://tools.percona.com/wizard

To check # CPUs:
grep -c processor /proc/cpuinfo

To check memory, can use htop

============================================

Check RSA key:
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key

03:2c:d7:01:01:f0:31:3a:c8:df:e4:98:62:2c:59:d2  root@penguin (RSA)

============================================

Installing redis server

In the dls directory:
$ wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz
$ tar xzf redis-2.6.14.tar.gz
$ cd redis-2.6.14
$ make

Run redis (from inside redis-2.6.14 directory):
src/redis-server

For the rest of the installation instructions, refer to:
http://redis.io/topics/quickstart

To continue installation (from the README):

In order to install Redis binaries into /usr/local/bin just use:

    % make install

Make install will just install binaries in your system, but will not configure
init scripts and configuration files in the appropriate place. This is not
needed if you want just to play a bit with Redis, but if you are installing
it the proper way for a production system, we have a script doing this
for Ubuntu and Debian systems:

    % cd utils
    % ./install_server

The script will ask you a few questions and will setup everything you need
to run Redis properly as a background daemon that will start again on
system reboots.

In the redis config file (/etc/redis/6379.conf) uncomment the following line:
bind 127.0.0.1

This is so only the local computer has access

============================================

Check RSA key:
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key

03:2c:d7:01:01:f0:31:3a:c8:df:e4:98:62:2c:59:d2  root@penguin (RSA)

============================================

Using Yolk

Install Yolk:
pip install yolk

Check packages installed in this virtual environment:
yolk -l

Checks packages that have updates available:
yolk -U

===========================================

Installing yaml

Install libyaml-dev:
sudo apt-get install libyaml-dev

Install yaml:
pip install pyyaml

===========================================

Install MySQL Client

To fix error "mysql_config not found" while installing packages with pip:
sudo apt-get install libmysqlclient-dev

===========================================

Installing R

sudo apt-get install r-base-dev

===========================================

Install Parallel Python (pp)

wget http://www.parallelpython.com/downloads/pp/pp-1.6.3.tar.gz
tar xvf pp-1.6.3.tar.gz
python setup.py install

==========================================

Install requests

pip install requests

==========================================

Install logging_tree

pip install logging_tree

==========================================

Install colordiff (just to make it easier to view differences in files, not necessary for GN)

sudo apt-get install colordiff

==========================================

To get server running:

!If having seemingly inexplicable problems with imports, make sure I've started the environment!

Start up virtual environment:
source ~/ve27/bin/activate

To set WQFLASK_SETTINGS environment variable:
export WQFLASK_SETTINGS=~/zach_settings.py (or wherever file is located)

To change screen environment variable (if man not working or to get color, for example):
export TERM=screen

To search for commands in history if necessary:
history | grep "(whatever is being searched for)"

Run web server:
/usr/local/nginx/sbin/nginx

Run server:
python runserver.py

===========================================

To do full upgrade (as opposed to apt-get upgrade)
sudo aptitude full-upgrade

===========================================