:: How to setup XFileSharing with NGINX
+ installing and setup fcgiwrap for nginx
wget //github.com/gnosek/fcgiwrap/tarball/master tar -xzf master cd gnosek-fcgiwrap-1328862 autoreconf -i ./configure make make install
+ create fastcgi socket
vi fastcgisock.pl
add these line:
#!/usr/bin/perl use strict; use warnings FATAL => qw( all ); use IO::Socket::UNIX; my $bin_path = '/usr/local/bin/fcgiwrap'; my $socket_path = $ARGV[0] || '/tmp/cgi.sock'; my $num_children = $ARGV[1] || 1; close STDIN; unlink $socket_path; my $socket = IO::Socket::UNIX->new( Local => $socket_path, Listen => 100, ); die "Cannot create socket at $socket_path: $!n" unless $socket; for (1 .. $num_children) { my $pid = fork; die "Cannot fork: $!" unless defined $pid; next if $pid; exec $bin_path; die "Failed to exec $bin_path: $!n"; }
run the script
chmod +x fastcgisock.pl ./fastcgisock.pl
+ setup XFileSharing on NGINX
vi /etc/nginx/vhost/blackonsole.org.conf
add these line:
server { listen 80; server_name wwww.blackonsole.org; error_log /var/log/nginx/blackonsole.org-error.log; location / { root /home/vhost/blackonsole.org/htdocs; index index.cgi index.html index.htm; if (!-f $request_filename) { rewrite "^/([0-9A-Za-z]{12})(/.+|.html?|$)" /cgi-bin/index_dl.cgi?op=download1&id=$1&fname=$2 last; } rewrite "^/embed-([0-9A-Za-z]{12}).html$" /cgi-bin/index_dl.cgi?op=video_embed&file_code=$1 last; rewrite "^/embed-([0-9A-Za-z]{12})-(d+)x(d+).html$" /cgi-bin/index_dl.cgi?op=video_embed&file_code=$1&w=$2&h=$3 last; rewrite "^/embedmp3-([0-9A-Za-z]{12}).html$" /cgi-bin/index_dl.cgi?op=mp3_embed&file_code=$1 last; rewrite "^/mp3embed-([0-9A-Za-z]{12}).mp3$" /cgi-bin/index_dl.cgi?op=mp3_embed2&file_code=$1 last; rewrite "^/vidembed-([0-9A-Za-z]{12})" /cgi-bin/index_dl.cgi?op=video_embed2&file_code=$1 last; rewrite ^/box$ /cgi-bin/index.cgi last; rewrite ^/$ /cgi-bin/index.cgi last; rewrite ^/free([0-9]+).html$ /cgi-bin/index.cgi?op=registration&aff_id=$1 last; rewrite ^/checkfiles.html$ /cgi-bin/index.cgi?op=checkfiles last; rewrite ^/contact.html$ /cgi-bin/index.cgi?op=contact last; rewrite ^/premium.html$ /cgi-bin/index.cgi?op=payments last; rewrite ^/login.html$ /cgi-bin/index.cgi?op=login last; rewrite ^/catalogue(.*).html$ /cgi-bin/index.cgi?op=catalogue&date=$1 last; rewrite ^/news([0-9]*).html$ /cgi-bin/index.cgi?op=news&page=$1 last; rewrite ^/n([0-9]+)-.*.html$ /cgi-bin/index.cgi?op=news_details&news_id=$1 last; rewrite ^/faq.html$ /cgi-bin/index.cgi?op=page&tmpl=faq last; rewrite ^/tos.html$ /cgi-bin/index.cgi?op=page&tmpl=tos last; rewrite ^/links.html$ /cgi-bin/index.cgi?op=links last; if ( !-f $request_filename) { rewrite ^/pages/([a-z0-9-_]+).html /cgi-bin/index.cgi?op=page&tmpl=$1$2 last; } if (!-e $request_filename) { rewrite "^/users/([0-9A-Za-z-_]{4,64})/?([0-9]+|$)" /cgi-bin/index.cgi?op=user_public&usr_login=$1&fld_id=$2 last; } rewrite .pm$ /404.html last; } location ~ ^/cgi-bin/.*.cgi$ { gzip off; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/tmp/cgi.sock; fastcgi_index index.cgi; fastcgi_param SCRIPT_FILENAME /home/vhost/blackonsole.org/htdocs$fastcgi_script_name; } }
+ testing configure file and reload nginx
nginx -t nginx -s reload
+ installing XFileSharing
make sure your cgi-bin under htdocs folder, then install XFileSharing via web browser.