Saturday, 23 December 2017

Spotweb on Bionic Beaver

Wanted to get Spotweb running on a local machine to do some newsgroup indexing, lots of instructions out there for Raspberry Pis and older versions of Ubuntu with php 5. I've decided to go and install it on a virtual server running Bionic Beaver, it was a lot easier than I expected.

Start off with installing the OS and then updating it.


sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
sudo shutdown -r now

Then install the required apps:

sudo apt-get install mysql-server php-mysql php-curl php-gd php-cli nginx openssl php-fpm git zip mc php-mbstring php-xml -y


Change a couple of files:

sudo nano /etc/php/7.1/fpm/php.ini

Change these lines

date.timezone = Europe/Copenhagen
memory_limit = 512M


And do the same here:

sudo nano /etc/php5/cli/php.ini




Make the webserver config file:

sudo nano /etc/nginx/sites-available/spotweb

Copy and paste this into the file:

server {
listen 80;
server_name htpcguides.crabdance.com, 192.168.40.120;
root /var/www;
index index.html index.htm index.php;

location /spotweb {


        satisfy any;


        if ($uri !~ "api/"){

                rewrite /api/?$ /spotweb/index.php?page=newznabapi last;
        }
location ~ \.php$ {
                try_files $uri =404;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
                fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
}
}
}

Save it and then close nano


Activate the configuration

sudo -i

unlink /etc/nginx/sites-enabled/default

ln -s /etc/nginx/sites-available/spotweb /etc/nginx/sites-enabled/spotweb


Install Spotweb:


git clone https://github.com/spotweb/spotweb /var/www/spotweb

Sort out the permissions:


chown -R www-data:www-data /var/www/spotweb

Create the database, replace the word password with your password but leave the ' ' in place:
mysql -u root -p

CREATE USER spotwebuser@localhost IDENTIFIED BY 'password';
CREATE DATABASE spotwebdb;
GRANT ALL PRIVILEGES ON spotwebdb.* TO spotwebuser@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;


Go for a reboot


sudo shutdown -r now

And now finish the configuration off with your browser.


Go to http://ip.address/spotweb/install.php

Do an initial download and then setup a cron job to run:

php retrieve.php from the /var/www/spotweb directory.