Sunday, 31 December 2017

A bit about me

Born at a very early age in 1959 in Cardiff, moved to Gorseinon, then to Pontardulais or Pontarddulais as it s now spelt for my formative years.

Lost contact with some good friends including Dai Bone or Eric or The Arab, Torque Wrench, Downing or Eric,  Phil, Dai Miles, Greg Davies and  his brother Steven Davies, Keith Ivy, Steve Williams or Station 22, John Llewellyn amongst many others.

Moved about a bit and settled down in Lancashire for a while and then after some promotion, change of job ended up back in the Swansea area via Runcorn and Rotherham

Things I miss most about the Bont are the taste of the tap water, Double Dragon, The Dulais Glen, Hillman Avengers, Franks chip shop, my mothers Welsh Cakes, the word cwtch, Tiswas, Not the Nine O'Clock news, being able to laugh at jokes without worrying if they are racist, sexist etc, being able to say Golliwog and mean the label on a jam jar and nothing else, the Bont Carnival, singing Baa baa black sheep and not thinking it would in any way be connected with dark skinned people and of course Noake's pasties.

What can I say, I'm a self confessed Geek and computer Nerd, I also enjoy electronics and technology in general.

What you have here is a brief history of why i became this way inclined .

I suppose it all started with my father who used to work on communications gear and repaired our first TV and modified it so we could get ITV. I read his Admiralty Wireless Telegraphy handbooks with mentions of things called Leyden Jars or capacitors as we now call them and Spark Gap transmitters and became hooked.

I eventually ended up with a chemistry set and an electronics kit, but it was the electronics and electrical side of things that got me hooked.

With the kit I made some marvellous pieces of equipment such as a light that came on when it went dark an amplifier and a crystal radio.

I eventually lost interest until that fateful day when I left school and got an interview at my cousin's TV shop. I then became employed by Holt Hi Fidelity with a starting salary of £12.00 a week and enrolled in Llanelli technical college.

I wasn't sure how I would get on but the wonderful lecturer Peter Williams with his talk of transistors getting turned "hard on" inspired me and I came away with distinctions.

Money and problems at home meant I didn't finish my training and I went to work for British Steel earning more there in a day than I did in a week as a TV engineer.

I became involved in CB radio in the early days in the UK and became a rig doctor as they were called, then passed my Radio Amateur exam and got a class B licence and eventually finished my training off in Hull Skillcentre with the help of the excellent Mike Overend.

Then various jobs came and went including work on Sound and Light systems, large screen TV installation, and computers.

Normally in computer repairs, you start with stand alone machines and work you way up to networks. My introduction involved over 1700 desktop PCs on a wide area network, about 50 Novell file servers, several Unix boxes including the largest in Europe at the time, ICL Drs 300s and an ICL mainframe and all the associated peripherals and wide area network stuff so I had to learn quickly.

Since then I have worked on all sorts of equipment including satellite broadband and have recently moved away from Windows into the world of Linux. Using Linux takes me back to the old Amiga days as it puts the fun back into computers.

The list of computers I've owned is something like this.

ZX81, Vic 20, Spectrum, Commodore +4, BBC Model B, Toshiba MSX, Commodore Pet, Amiga 500, Amiga 500+, IBM XT (actual IBM), Amiga 600 since then it's been a PC of one sort or another. I've used Dos from version 2, Windows 1 and upwards, OS2 version 1 upwards, DR Dos and now settled on Linux.

Facebook

Farcebook is once again pissing me off in great style, I reinstalled the messenger app to enable me to stay in touch with a few people, within minutes the phone was going berserk with waves, other stupid messages and loads of other crap. Then the pass this message on and keep the candle burning stuff started, 10 minutes later it was off the phone and Facebook was once again resigned to the desktop only.

I really would like to dump it as these days it is generally an annoyance with all the fake news and so on.

I'm going to try and see what I can do, I much prefer the Google + world, it's not perfect. I prefer Twitter and Instagram isn't too bad even though it's run by Facebook. I tried Snapchat for about 10 minutes, can't see what use it is other than putting stupid dog ears on your head.

Wishing you all a Happy Year of the Justifiably Defensive Lobster and that's me pretty much done on Interwebs stuff till next year.

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.


Friday, 22 December 2017

Nextcloud install, the easy way.

I'm already running an ownCloud server, I decided it was time to try and setup another one running Nextcloud. My ownCloud server is running on a shared hosting platform, I've decided to run up NextCloud on a virtual machine under Virtualbox, I'm not going to go into the setup of this bit here, just the configuration of the cloud server.

In the past, I've messed round with installing, SQL, Apache and so on, I thought I'd give the Ubuntu snap package a go.

I've run up Ubuntu 16.04 server, installed SSH onto it so I can manage it from command line and next it was time to install NextCloud.

sudo snap install nextcloud

That's it, it's done and installed, just a few more things to get it working and install lets encrypt, to finalise the whole install, ports 80 and 443 need to be accessible from the Interwebs, I temporarily put the server into the dmz.

Adjust the memory limits with:

sudo snap set nextcloud php.memory-limit=-1

Tell it which ports to listen to with:

sudo snap set nextcloud ports.http=80 ports.https=443

Restart Apache with:

systemctl restart snap.nextcloud.apache

Configure https and install lets encrypt with:

sudo nextcloud.enable-https lets-encrypt

Follow the instructions and you can then remove the port 80 access and connect to your server with:

https://domaine.name or https://ipaddress

The final configuration is done via web browser.

It really was that easy

Thursday, 2 November 2017

Holiday Accommodation

Holiday accommodation should be comfortable and if you're booked into a hotel with a twin or double room, that indicates there are two of you and two seats should really be available. But now we move onto the most important things, toilets and showers.

A toilet should have ample space around it for you to sit comfortably. there should be room for you to spread a bit for those difficult movements and in an ideal toilet there should be pieces of wood that you can use to bite on when the going gets tough.

I propose a toilet quality indicator called BMI, that Bottom Movement Indicator, the only way to get a 10 is to provide the pieces of wood. At the lower end of the scale we have portaloos and such like, to get a zero it would have to be quite bad and would mean you have to push yourself into am incredibly narrow gap and then have to dislocate an arm to be able to be able to reach around for the paper. I have encountered a toilet which went below this in Kenya, when I say toilet I mean a structure with a hole in the ground, the structure being moved whenever the hole filled up.

The other important thing with a toilet is the flush, several years back in Kefalonia we had a toilet which would have reached a BMO of 8 if the flush had been any better. When the handle was pressed a small whirlwind was created above the water level, unsecured objects in the room were dragged into this maelstrom and after about 20 minutes it died down. Nothing had moved in the toilet itself. At least twelvty flushes were required.

Now we move onto the Orkney scale for showers, to achieve a 10 the water pressure should pin you to the wall and cleanse you completely without the need for soap. A score of 0 started this off with a shower we had on holiday in Orkney. You turned the shower on and after an hour or so a few dribbles would emerge from the shower head at a temperature close to freezing. The shower was fixed and went up to an Orkney 1, the newly repaired shower vibrated furiously before discharging a luke warm driblle over you. The vibrations from the air were more likely to clean you that the water.

Just bear these things in mind when you go on holiday and all will be well.

Tuesday, 25 July 2017

Chrome Book Stuff

I bought a Chromebook, there, I said it, at the same time we also got a Windows 10 version of the machine. Both Acer R11 machine, Chromebook has 2Gb of RAM, Windows one has 4Gb, both have 32GB solid state drives.

Turned the Chromebook on, I could work on it within a minute, an hour later the Windows 10 machine was nearly ready to start installing updates.

There are things missing from the Chromebook, I can't run Libre Office without paying a subscription and my spreadsheets although not complicated don't want to play with the Chrome office suite unless I do a lot of tinkering. That aside it's absolutely wonderful.

I was reading an article about these little things the other day from Forbes magazine, it compared the three laptop operating systems available. No mention of Linux desktops at all, just Windows, Mac and Chrome. The writer praised the Chromebook but said it was very limited as it had no local storage and you can't install any applications, only "widgets that diddle with the operating system". I realised at this point the writer was a moron.

I take my Chromebook away with me, I take my camera with me, I can put my SD card into my Chromebook and copy the pictures onto the local storage it hasn't got, I can then use an application that I can't install to back these pictures up to my cloud server.

I can also install the Android play store application which give me access to loads of Android applications that I can install too.

If you want a lightweight, fast booting machine with great battery life, just browse the Internet, do some banking and basic office stuff, the Chromebook is for you. It's always up to date, incredibly safe from malware and this one also doubles up as a tablet.



As an side, I put Linux Mint on the Windows version, that was up and running fully up to date with all apps and data in less time than it took the original Windows installation to boot up.

More NewzNab Stuff

My Raspberry Pi running NewzNab is suffering, it really hasn't got enough power even when running from an SSD so I',m putting an old laptop back into use and I'm going to get NewzNab running on Ubuntu 16.04, it's not worked before due to changes in php but I've found some new instructions which didn't work so I modified them and put together some of my own.

I'm writing this article as I setup the server itself, I won't go into how to install Ubuntu 16.04 server, you should be able to do that yourself, the only package I'm going to add initially during the install is SSH server so I can do the rest of the install remotely.

I'm also setting up my router to assign a static IP and forwarding on the relevant ports so I can access the server from outside the house. Again, this is something I'm not covering here due to the different ways to do this on different routers.

Once the initial install has finished it's time to ssh into the server with:

ssh servername

And then we'll get started with some updates and installation of the required packages.

sudo -s

apt update && apt upgrade

apt install ssh screen apache2 php mysql-server libapache2-mod-php php-pear php-gd php-mysql php-curl php-json unrar lame mediainfo subversion ffmpeg memcached mc nfs-common -y


Once that's all finished we will tighten up the SQL security with this:

mysql_secure_installation

Now it's time to create the SQL database:

mysql -u root -p

CREATE DATABASE newznab;

exit

And then we edit the mysql config

nano /etc/mysql/conf.d/mysql.cnf

Add the following to the bottom

[mysqld]
group_concat_max_len=8192
innodb_flush_log_at_trx_commit = 2

Save that and then edit this file

nano /etc/mysql/my.cnf

Add this to the bottom

[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"



Now we make the directory structure:

mkdir /var/www/newznab
mkdir /var/www/newznab/htdocs
mkdir /var/www/newznab/logs

Now it's time to get Newznab, you can get it here, I suggest you get the paid version, it's cheap and it's much better and these instructions are written with it in mind.

We're going to make an update script that once completed will install the latest version of Newznab when run, we start this with:

nano /var/www/newznab/svn.sh

Paste this lot in replacing the starts with the username and password you got when you signed up for Newznab.

svn export --no-auth-cache --force --username **** --password **** svn://svn.newznab.com/nn/branches/nnplus /var/www/newznab/htdocs/

#rm /var/www/newznab/htdocs/*.txt
#rm -rf /var/www/newznab/htdocs/www/install
#rm -rf /var/www/newznab/htdocs/www/lib/smarty/templates_c/*

cd /var/www/newznab/htdocs/misc/update_scripts
php update_database_version.php
cd /var/www/newznab/htdocs

service memcached restart
service apache2 restart

Now we make it executable with:

chmod +x /var/www/newznab/svn.sh

And then run it with:

/var/www/newznab/svn.sh

Now we make sure all the directories are writeable:

chmod 777 /var/www/newznab/htdocs/www/lib/smarty/templates_c
chmod 777 /var/www/newznab/htdocs/www/covers/movies
chmod 777 /var/www/newznab/htdocs/www/covers/anime
chmod 777 /var/www/newznab/htdocs/www/covers/music
chmod 777 /var/www/newznab/htdocs/www/covers/tv
chmod 777 /var/www/newznab/htdocs/www
chmod 777 /var/www/newznab/htdocs/www/install
chmod -R 777 /var/www/newznab/htdocs/nzbfiles/

And then make a config for Apache to use

nano /etc/apache2/sites-available/newznab.conf

Paste this into it:

<VirtualHost *:80>
    <Directory /var/www/newznab/htdocs/www/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    DocumentRoot /var/www/newznab/htdocs/www
    ErrorLog /var/www/newznab/logs/error.log
    CustomLog /var/www/newznab/logs/access.log combined
</VirtualHost>

You can change the port in the top line to something else if you want but you have to add a line to

etc/apache2/ports.conf

That says

Listen 8080 or whatever port you choose.

Now some config file changes with:

nano /etc/php/7.0/apache2/php.ini

Find these values and change them as shown below, they are listed in order:

max_execution_time = 120
memory_limit = -1
date.timezone = 'Europe/London'

Now we activate the server and deactivate the default one with:

a2dissite 000-default.conf
a2ensite newznab
a2enmod rewrite
service apache2 restart
service mysql restart

We can now uncomment some lines from an earlier file

nano /var/www/newznab/svn.sh

Remove the # from these lines

#rm /var/www/newznab/htdocs/*.txt
#rm -rf /var/www/newznab/htdocs/www/install
#rm -rf /var/www/newznab/htdocs/www/lib/smarty/templates_c/*

And then run it to get any updates:

/var/www/newznab/svn.sh

Now point your browser to:

http://server:port to finish setting up Newznab itself

Once you've finished the initial setup, go the admin section and click on edit site, find these options and change the values to the ones shown below.

default home page : /browse
newznabID : <provided in signup email>
unrar path : /usr/bin/unrar
mediainfo path : /usr/bin/mediainfo
ffmpeg path : /usr/bin/ffmpeg
lame path : /usr/bin/lame
integrated cleanup : yes
save audio preview : yes
check for password : deep
delete passworded releases : yes


Activate one group, probably alt.binaries.teevee

Then let's try running an update


cd /var/www/newznab/htdocs/misc/update_scripts
php update_binaries.php
php update_releases.php

Once completed you should see some articles appearing

There's a lot more information here on how to get Newznab running to continuously pull updates here, the one thing that you shouldn't do is use a cron job.