Setting Up Blast Server
2
2
Entering edit mode
9.6 years ago
Raygozak ★ 1.4k

Hi, i'm trying to set up my own blast server for convenience and i'm having some technical issues which might not be purely bioinformatics related but i hope someone here has done it before.

My problem is that i'm having problems referencing a folder that is outside the Document root of apache, first because the databases directory may grow big and don't want to put something as specific as blast databases within the html folder of the server, if anyone has done this please let me know.

blast+ server • 3.5k views
0
Entering edit mode

Sorry, what blast web server are you using? I can't possibly see why a blast web server would need to display the blast databases over HTTP. Even in the case your blast processes are running under the same user running Apache, you only need such user to have read permission on the databases, you should not need to access these databases over HTTP.

It would be much easier to help you if you can mention what specific software you are using and the exact error is giving you.

3
Entering edit mode
9.6 years ago

Since you don't say specifically what your problems are with apache or outside of apache, I'm not going to be of much help there. From what I think you are saying the solution may be to put large db files on a separate server. Often some glue like Perl's DBI (or similar in Python, Ruby, etc) is used to make calls on that db.

But there are already blast server solutions out there (that you may have already checked out) like SequenceServer.

0
Entering edit mode

I guess the solution is using something like perl to make the call, thanks. I did see sequence server before but i'll code everything myself.

Thanks

0
Entering edit mode
9.3 years ago

The other possible solutions

Assumption: You are using some flavour of Linux.

1) create a symlink into the apach document root.

In the apache docuement root create a new sub folder : you may decide to call it something like blastData, you will obviously need to be be 'root' to do this.

mkdir blastData


Now you need to create a link to the 'actual' data directory, this is the tricky bit, you need to create it in the 'correct direction', so lets say that your parent directory is called blastServer, and is located in your home directory

ln -s ~\blastServer \path\To\Apache\Document\Root\blastData


You will need to make sure that the read/write permissions are correct, or the apache server won't be able to read the info and be able to display it to anyone.

you can have hard or soft links see this tutorial

2) create a number of 'virtual servers' within the apache config file.

This would require the creation of a separate user just for the blastServer (which will definately keep all the data well separated from everything else, and enable it to be easily migrated to another machine at a later point).

Then you must modify your apache config file to include this virtual server root location.

The reason reason this requires a linux desktop / server is that is what I use, and I've never set up apache on windows. Also the availability of hard or soft links makes the possibility of accidentaly deleting the file(S) much less likely.

David