-
Mac (SierraだけどEl Capitanとかでも同じ。High Sierraでも同じなはず) でたてる。いちおうXcodeとcommand line toolがはいっていることが前提。
-
ダウンロードして展開する
primer3: https://sourceforge.net/projects/primer3
primer3web: https://sourceforge.net/projects/primer3/files/primer3-web/ -
180621の時点でprimer3が2.4.0でprimer3webが4.1.0
tar zxvf primer3-2.4.0.tar.gz
tar zxvf primer3web-4.1.0.tar.gz
primer3
- primer3のツールをコンパイルする
cd primer3-2.4.0/src
sudo make
- warningでたけど
make test
して全部OKなら大丈夫
make test
-
primer3-2.4.0/src/
ディレクトリ内にあるprimer3_core
をCGIにつかう
apache と CGI
- apache使えるようにしておく
sudo apachectl start
# もし自動起動にしておくなら以下
# sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
- perl に
CGI.pm
があるか確認(ないならcpanなどでinstall)
perl -MCGI -e 'print $CGI::VERSION'
# もしないなら、sudo perl -MCPAN -e shell または sudo cpan
# cpan> install CGI
- CGIが動くディレクトリ(ここでは
~/Sites
)を用意する
mkdir ~/Sites
-
/etc/apache2/httpd.conf
とかを書き換える(たとえば以下)
LoadModule cgi_module modules/mod_cgi.so #コメントアウトする
<Directory "/Users/{user_name}/Sites/"> #{user_name}は自分のアカウント名にする
AllowOverride All
Options ExecCGI
AddHandler cgi-script .cgi
</Directory>
primer3web
- CGIが動くディレクトリ(ここでは
~/Sites
)にprimer3webを置く(~/Sites/primer3web-4.1.0/
)
mv primer3web-4.1.0 ~/Sites/primer3web-4.1.0
-
~/Sites/primer3web-4.1.0/html
ディレクトリのなかに、~/Sites/primer3web-4.1.0/cgi-bin
ディレクトリをまるごと移動する (~/Sitesにprimer3web-4.1.0/html/cgi-bin
にする)
mv ~/Sites/primer3web-4.1.0/cgi-bin ~/Sites/primer3web-4.1.0/html/cgi-bin
-
~/Sites/primer3web-4.1.0/html/cgi-bin
ディレクトリのなかのprimer3web_results.cgi
を実行可能にしておく。
chmod 755 primer3web_results.cgi
-
~/Sites/primer3web-4.1.0/cgi-bin
ディレクトリのなかに 読み書き可能なcacheディレクトリをつくっておく (~/Sites/primer3web-4.1.0/cgi-bin/cache
)
mkdir ~/Sites/primer3web-4.1.0/cgi-bin/cache
chmod 777 ~/Sites/primer3web-4.1.0/cgi-bin/cache
-
~/Sites/primer3web-4.1.0/cgi-bin
ディレクトリのなかにprimer3_core
をコピーしておく(~/Sites/primer3web-4.1.0/cgi-bin/primer3_core
) -
もうこれでうごくはず。以下から動作確認。
http://localhost/{user_directory}/primer3web-4.1.0/html/primer3web_input.htm
- 必要なら、primer3_coreをコンパイルした
primer3-2.4.0/
ディレクトリ内にある、kmer_lists
ディレクトリを~/Sites/primer3web-4.1.0/cgi-bin
ディレクトリのなかにコピーしておく(~/Sites/primer3web-4.1.0/cgi-bin/kmer_lists/*.list
)
misc.
本当はhtmをchmod 644
とか、ほかのディレクトリやCGIスクリプトもchmod 755
とか、cgiのshebang(#!
)をシステムのperlのpath(which perl
で調べる)に書き換えるとか、安全対策でprimer3_core
とCGIスクリプトはweb上から見えないディレクトリに移すとか、index.htmlを準備(ln -s
するなり作るなり)するとか、いろいろ必要あるとおもうけど、ローカルマシンでならこのままで(なぜか)動く。
そもそもコンパイラのインストールとかネットワークの準備とか、ほんとはそこが敷居がたかいのかな。。。