Difference between revisions of "Electric Sheep"

From Jon's Wiki
Line 19: Line 19:
 
  $admin_password = "admin-password-here";
 
  $admin_password = "admin-password-here";
  
5. Edit cgi/global.pl
+
5. Edit cgi/global.pl and tweak these lines:
  
 
  $root_url = "<nowiki>http://myhost/sheepdir</nowiki>"; # same as $outgoing_url_prefix
 
  $root_url = "<nowiki>http://myhost/sheepdir</nowiki>"; # same as $outgoing_url_prefix
Line 26: Line 26:
 
  $access_log = "$run_dir/access_log";
 
  $access_log = "$run_dir/access_log";
  
6. Edit etc/rc.fsd
+
6. Edit '''etc/rc.fsd''' so the last parameter on the start-stop-daemon call matches ''$fsd_log'' above:
 
+
$DIR/run/fsd_log
 
7. Do this from the base directory to compile and copy needed binaries into bin:
 
7. Do this from the base directory to compile and copy needed binaries into bin:
  

Revision as of 23:39, 22 March 2007

Whizzy Electricsheep videos.

Installing the Electric Sheep server

1. Install the dependencies:

apt-get install libapache2-mod-perl2 graphviz netpbm libjpeg-progs mjpegtools electricsheep

2. Untar the server tarball to /home/sheep/server

3. Make a copy of the example config:

cp cgi/config.pl.eg cgi/config.pl

4. Edit cgi/config.pl and change these lines to appropriate values:

$outgoing_url_prefix = "http://myhost/sheepdir";
$admin_name = "admin";
$admin_password = "admin-password-here";

5. Edit cgi/global.pl and tweak these lines:

$root_url = "http://myhost/sheepdir"; # same as $outgoing_url_prefix
$tmp_dir = "$run_dir/tmp";
$fsd_log = "$run_dir/fsd_log";
$access_log = "$run_dir/access_log";

6. Edit etc/rc.fsd so the last parameter on the start-stop-daemon call matches $fsd_log above:

$DIR/run/fsd_log

7. Do this from the base directory to compile and copy needed binaries into bin:

cd src
make pnmmultipaste
cd .. 
cp src/pnmmultipaste bin
cp /usr/bin/flam3-genome bin
cp /usr/bin/dot bin

8. Configure apache to point at the server, with configured Perl cgi (tweak to fit your Apache as necessary):

Alias /sheep/cgi/list "/home/sheep/server/cgi/list.txt"
ScriptAlias /sheep/cgi/get "/home/sheep/server/cgi/get.cgi"
ScriptAlias /sheep/cgi/put "/home/sheep/server/cgi/put.cgi"
ScriptAlias /sheep/cgi/ "/home/sheep/server/cgi/"
Alias /sheep/ "/home/sheep/server/"
 
<Directory "/home/sheep/server/cgi">
  SetEnv PERL5LIB /home/sheep/server/cgi
  Order allow,deny
  Allow from all
  # stop access to perl and backup files
  <FilesMatch "(.pl|~)$">
    Deny from all
  </FilesMatch>
</Directory>
 
<Directory "/home/sheep/server">
  # need this as mpgs are links
  Options SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>