*not* just another blog ;)

Installing PHP 7.1 on Ubuntu 16.04

- Posted in Quick Tip by with comments

I am trying to install Laravel on my web server running VestaCP on Ubuntu 16.04 through softaculous and it's telling me that it requires PHP 7.1 to be installed and I only have PHP 7.0. Trying to install it via apt-get quickly shows that it's not available in Ubuntu 16.04's repository.

Here's how I got it up and running:

First, we need to make sure we have what we need installed:

sudo apt-get install software-properties-common

Now we can use the tool to add a repository, in this case, the one for PHP:

sudo add-apt-repository ppa:ondrej/php

Of course, we need to update apt so it knows about the new packages:

sudo apt-get --allow-unauthenticated update

In my case, it's telling me that the package or PPA can't be signed, so I've used the allow-unathenticated flag.

Now we can install PHP 7.1 from the repository:

sudo apt-get install php7.1

It's warning me that I'm about to install something that isn't signed, I'm going to proceed anyway.

Now I will install a few extra things for PHP7.1 that I've found that nextCloud in particular needs, but installing these now will also mean I don't need to do it again in future :)

sudo apt install php7.1-gd php7.1-json php7.1-mysql php7.1-curl php7.1-mbstring php7.1-intl php7.1-mcrypt php-imagick php7.1-xml php7.1-zip php7.1 libapache2-mod-php7.1 php7.1-mysql php7.1-curl php7.1-gd php7.1-intl php-pear php-imagick php7.1-imap php7.1-mcrypt php-memcache  php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-mbstring php-gettext

Great, it's installed.. let's see if it's working..


Now I can continue on my way :)

I am installing Laravel because I'd like to learn PHP and a framework at the same time, and from what I can tell, Laravel is the most recommended for newbies, so when I start on that I will start blogging about it.

I recently needed to find a quick, simple way to download some files from my seedbox - a server that simply downloads torrents and then I can either watch them in Plex (for example new episodes of an Open Source TV show) or download them to my computer over HTTP.

The simplest way I could find is by using Python! Let's say we want to open up port 12345 for this purpose, what we would do then is open a terminal in the directory where the files live (let's say it's /var/media) and run the command to start a HTTP server on port 12345 listing the files in /var/media:

cd /var/media
python -m SimpleHTTPServer 12345

You'll now see something like this:

Serving HTTP on port 12345 ...

All you need to do then is go to your server, for example http://yourserver.com:12345/ and you can easily download your files from there.

I recently came across a great deal from WootHosting for a Hybrid Dedicated Server with the following specs:

  • 2 x 2.00GHz
  • 250GB Enterprise SATA Drive
  • Advanced DDoS-Protection
  • Unmetered Bandwidth
  • 100Mbps Public Uplink
  • /29 IPv4 Allocation (5 IP Addresses)
  • Quick-Click OS Installs & Reloads
  • Network & Power Uptime SLA
  • Free Upgrade to Asia Optimized Network
  • Instant Los Angeles Deployment
  • Price: $19/month :) (make sure you use coupon CNY18)

The great thing is the location in LA makes it perfect for accessing from Australia, but the best part for Chinese customers is the fact that you can select the free Asian Optimised routes which uses China Telecom.

Of course, it's time to do some tests:

CPU model : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Number of cores : 2
CPU frequency : 2000.01 MHz
Total amount of ram : 8192 MB
Total amount of swap : 8192 MB
System uptime : 17:15,
Download speed : (70.0MB/s)
I/O speed : 280MB/s
CPU model : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Number of cores : 2
CPU frequency : 2000.01 MHz
Total amount of ram : 8192 MB
Total amount of swap : 8192 MB
System uptime : 19:59,
Download speed : (89.3MB/s)
I/O speed : 295MB/s

This performs nicely! I have tested it also with my favourite new testing method: mining! I am able to get 240H/sec with this! At the current rate that's $15/month, so that brings the price down to $4/month once you offset it with mining. Nice!

There is a nice handy config panel that they have for you to use as well, which makes it simple to install your own OS.

This is going to be a nice server for me to set up VestaCP on to host my sites, the LAX location is perfect for connectivity to Australia :)

Click here to get one too if you want, but make sure you use coupon CNY18 to get the discount!

When I was setting up my dedicated server for the first time, I wanted to be able to set up multiple KVM or LXC containers that share the same public IP address, since my dedicated server only has 1.

From what I understood, Proxmox was designed to allow each VPS to have it's own public IP but this wouldn't suit.

I searched the internet for hours trying to find a solution, and it turned out to be relatively simple.

What we need to do is edit the /etc/network/interfaces file and enable a few things; ipv4 forwarding and some iptables rules. Yuck! That sounds like hard work, but it's actually simple, especially if you like to copy/paste :)

What we are going to do is set the dedicated server up with an "internal" network, and that's where the VMs will communicate. They can communicate with each other, as well as the host server.

Before I post the contents of the /etc/network/interfaces file, I will point out a few things that you may need to change depending on your setup. The main thing is the way your network is laid out, mine looks like this:

Dedicated Server/Proxmox Server Public IP: x.x.x.x Internal IP:

VM 1 Internal IP:

VM 2 Internal IP:

Let's say I want to run a web server on port 80 on VM 1 and an FTP server on VM 2, I would need to forward port 80 from the Proxmox public IP to port 80 on VM 1. I would also need to forward port 21 from Proxmox to port 21 on VM 2.

To complicate things, and for extra points, if you wanted to have multiple FTP servers for example on VM 1 and VM 2 then we can change the port on the Proxmox server - for example port 2121 goes to VM 1 and port 2222 goes to VM 2.

Have a look at your /etc/network/interfaces file:

nano /etc/network/interfaces

Mine looks a little like this:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address X.X.X.X
        gateway X.X.X.1

Yours will be different, but very similar. The main thing we need to take note of if the interface - mine is eth0, and I believe in most cases that's what it would be, but just double check because if it's not the next part will need to be modified.

Basically that is the basic setup to get your Proxmox server talking to the internet, but it doesn't do anything for VM 1 or VM 2, until we add this underneath the above:

auto vmbr0
#private sub network
iface vmbr0 inet static
        bridge_ports none
        bridge_stp off
        bridge_fd 0

        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '' -o eth0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '' -o eth0 -j MASQUERADE

This gives the Proxmox host an internal network called "vmbr0", with an IP of, and it also enabled ipv4 forwarding and sets up the basic iptables config. Notice how it refers to eth0 - if your interface is different then change it to that.

So at this stage we've created the internal network, and the VMs will be able to use this new network "vmbr0" to access the internet, but it's not going to allow incoming connections or port forwarding until we add the next bit:

post-up iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to

This will take anything that's sent to your Proxmox public IP on port 80 and forward it to port 80 on (which is VM 1 in this example)

If you wanted to forward port 8080, for example, to port 80 on the VM, you could change it to this:

post-up iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to

You'll notice there are 2 lines, post-up and post-down, which means when the connection goes up it will set up the forwarding and when it goes down it will remove the forwarding.

Go ahead and repeat the process for any VMs you have and the ports you'd like to be forwarded.

So, now that we've added the network config, we need to reboot to make it take effect. See you after the reboot...

... okay, so we're back.

Hopefully everything is fine at this stage and you're still able to access your Proxmox.

Let's move onto the next part, which is setting up the VM themselves with this new config.

I will walk through adding a new VM.

Let's create a new LXC container, "click Create CT".

Give it a hostname, can be anything, choose the image etc and wait at the Network tab.

For IP address, we need to give it the STATIC IP in the range we set before, so if you're following this example it would be - notice the /24 at the end, leave that in otherwise it won't work.

The gateway will be

Note that DHCP will not work, you MUST set the IP yourself.

The DNS settings, you can either leave blank or fill it in. My advice would be leave it blank, and if you can't resolve a hostname in the VM then go back and change it. The best test is to "ping google.com" and if it fails, try to "ping" if that works it needs the DNS to be set up.

Now you've got it set up, your port forwarding should work!

A little while ago I came across an incredible deal from SerweryDedyKowane for a dedicated server in Poland.

Here's the specs:

  • CPU: Intel Core i7 4790
  • RAM: 16 GB DDR3
  • HDD: 2x 1 TB
  • Network: 250 Mbit unlimited

I got this when they had a 75% off promotion, which makes this $12/month!!

And here's a benchmark:

CPU model:  Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz                            
Number of cores: 8                     
CPU frequency:  3601.000 MHz           
Total amount of RAM: 15912 MB          
System uptime:   11 days, 7:40,        
I/O speed:  182 MB/s                   
Bzip 25MB: 4.52s                       
Download 100MB file: 28.6MB/s     

It's got the power, those results are amazing for the price!

Here's my favourite part..

speed 2.5s/60s/15m 275.5 275.4 274.9 H/s max: 277.6 H/s

It gets around 280h/sec which at the time of writing this is about $27/month.. that's $15/month profit! I wish I got more when I had the chance, because the normal price is $48 per month.

I have been using this server now for a few months, I've only had to reboot it once a bit over a week ago when I made a mistake with the network config, but it's been rock solid!

It's currently my nextCloud and Plex server, and it's been perfect. If you've been following my blog you might remember me looking for a VPS to do this task, but I've replaced that with a dedicated server and I'm so glad I did.

When I first got the server, I had a choice of a few OS to install through their very easy to use control panel and I chose to install Debian Stretch and install Proxmox 5 on top of it so I can split it up into LXC/KVM containers for different things.

When using their control panel at first, it was a bit difficult because everything is in Polish, but google translate came to the rescue :)

I recently got a Dacentec dedicated server for $25/month with 8TB of storage in the USA but the CPU and RAM are significantly less powerful than this server (the CPU is an old Opteron and the RAM is 8GB DDR2)

I have spoken to their support staff (in English) in the past and they have been very friendly and helpful, so it's assuring to know that IF something went wrong it can be taken care of without a language barrier.

I affectionately refer to this server as my "serwery", which I believe is Polish for server :)

I have an exclusive coupon code that you can use which will give you 25% off any server for one billing period (meaning if you pay monthly, it's the first month, pay yearly and it's 25% for the whole year) - the code is E3D7-C20D-0EDE

Today I will be testing out a dedicated server from Dacentec

I decided to go for the "Supermicro 6-bay Opteron 1385 8GB 2x2TB Rent Only Special (Bonus 4TB FREE)" deal which was available at the time, for $25/month.

This is what you get:

  • AMD Opteron 1385 (Quad core @ 2.7GHZ)
  • 8GB RAM
  • 10TB bandwidth on a Gigabit connection
  • 2x 2TB SATA HDD
  • 4x 1TB SATA HDD
  • $25/month

This is located in North Carolina in the USA, which is great for people who live in the US, I live in Australia and get about 270ms to the box which isn't bad. I have a dedicated server in Poland which I get about 370ms to, so by comparison this is a big improvement.

Once I got my login details emailed to me, I was able to set it up with Debian Jesse through their provisioning interface. There is also an IP KVM which you can use as well, but I found that despite pressing DEL/F1/F2/etc I wasn't able to get into the BIOS to change the boot order. This isn't a big deal, it just means if the server reboots I need to wait for the LAN boot to time out, give up and move onto the next boot device which happens to be the HDD.

Once I had Debian installed, it was a simple matter of upgrading it to Stretch and then installing Proxmox 5 on it.

I did some benchmarks on the server, and here they are:

CPU model:  Quad-Core AMD Opteron(tm) Processor 1385
Number of cores: 4
CPU frequency:  2700.000 MHz
Total amount of RAM: 8047 MB
Total amount of swap:  MB
System uptime:   8:44,       
I/O speed:  117 MB/s
Bzip 25MB: 5.81s
Download 100MB file: 83.1MB/s

It's as advertised, Opteron 1385 with 8GB of RAM. The network is nice and fast as is the CPU, considering it's age.

CPU model:  Quad-Core AMD Opteron(tm) Processor 1385
Number of cores: 4
CPU frequency:  2700.000 MHz
Total amount of RAM: 8047 MB
Total amount of swap:  MB
System uptime:   8:47,       
I/O speed:  128 MB/s
Bzip 25MB: 5.79s
Download 100MB file: 87.0MB/s

It's fairly consistent..

CPU model:  Quad-Core AMD Opteron(tm) Processor 1385
Number of cores: 4
CPU frequency:  2700.000 MHz
Total amount of RAM: 8047 MB
Total amount of swap:  MB
System uptime:   8:47,       
I/O speed:  127 MB/s
Bzip 25MB: 5.80s
Download 100MB file: 57.9MB/s

It's time to do the my new favourite test, this will measure the "usefulness" of the CPU.

 * VERSIONS:     XMRig/2.4.3 libuv/1.8.0 gcc/7.1.0
 * HUGE PAGES:   available, enabled
 * CPU:          Quad-Core AMD Opteron(tm) Processor 1385 (1) x64 -AES-NI
 * CPU L2/L3:    2.0 MB/6.0 MB
speed 2.5s/60s/15m 48.1 n/a n/a H/s max: 48.0 H/s
speed 2.5s/60s/15m 48.0 n/a n/a H/s max: 48.0 H/s
speed 2.5s/60s/15m 48.1 n/a n/a H/s max: 48.0 H/s 
speed 2.5s/60s/15m 48.1 n/a n/a H/s max: 48.0 H/s
speed 2.5s/60s/15m 48.1 n/a n/a H/s max: 48.0 H/s

Okay, so we can see this CPU does not have AES (as noted by the - in front of AES) which explains the fairly low hashrate. 48h/sec at current rates is about $3/month, so this server won't be able to pay for itself out on the mining fields.

Not that I got this server for mining, the storage is the thing that got my interest. 2x2TB plus 4x1TB bonus drives gives 8TB of HDD space for $25/month, which breaks down to 3.15$/TB/month which is incredibly cheap.

I will decide whether this is useful for my needs to renew it for another month, at this stage I will use it as a backup server - maybe move my Plex server from my Polish server to this (only 1-2 people max using it) for the extra storage and the better connection to Australia.

If you're interested in one of these, head over to Dacentec's website and pick one up!

EDIT: 3 days later, I have decided to cancel this server due to it being horribly slow and unable to run Proxmox correctly. If you're looking for cold storage, this server would be suitable, but if you're looking to slice it up into VMs, choose something else is my advice :)

Benchmarking the WootHosting MONSTER VPS

- Posted in VPS by with comments

Today I decided to do some benchmarks of my WooHosting MONSTER VPS!

My MONSTER VPS has 4 cores, 24GB RAM, 980GB RAID 10 HDD space and 20TB bandwidth on a gigabit connection!

Here's some benchmarks:

CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 4
CPU frequency:  3504.042 MHz
Total amount of RAM: 24576 MB
I/O speed:  142.3 MB/s
Bzip 25MB: 6.92s
Download 100MB file: 72.2MB/s


CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 4
CPU frequency:  3504.042 MHz
Total amount of RAM: 24576 MB
I/O speed:  151.6 MB/s
Bzip 25MB: 6.94s
Download 100MB file: 71.5MB/s


CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 4
CPU frequency:  3504.042 MHz
Total amount of RAM: 24576 MB
I/O speed:  195 MB/s
Bzip 25MB: 6.02s
Download 100MB file: 75.1MB/s


CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 4
CPU frequency:  3504.042 MHz
Total amount of RAM: 24576 MB
I/O speed:  149.2 MB/s
Bzip 25MB: 6.68s
Download 100MB file: 63.8MB/s

This is awesome!

It gets better actually.. this isn't any normal VPS, it's part of a cloud resource pool which gives you the following:

  • You can create up to 16 VPSs
  • 16 IPv4 addresses
  • 300 IPv6 Addresses
  • 1000GB RAID 10 HDD Storage
  • 32GB RAM
  • 30TB of bandwidth on a GIGABIT connection
  • In Los Angeles (Perfect for me here in Australia!)
  • Each VPS has 4 cores of Xeon E3-1240 v5 @ 3.50GHz

I can still build more VPSs with my pool, after creating this MONSTER VPS I still have the following left over:

  • 15x 4 cores of Xeon E3-1240 v5 @ 3.50GHz
  • 15 IPv4 addresses
  • 300 IPv6 Addresses
  • 44GB RAID 10 HDD Storage
  • 8GB RAM
  • 10TB of bandwidth on a GIGABIT connection

I have build the following with the left overs:

15x VPS each with:

  • 4 cores of Xeon E3-1240 v5 @ 3.50GHz
  • 1 IPv4 addresses
  • 2GB RAID 10 HDD Storage
  • 512MB RAM
  • 600GB of bandwidth on a GIGABIT connection

All of that costs $32/month - awesome value.

Guess how much I am really paying for it? NOTHING! It's actually making me money.. it makes me over $40 per week so it pays itself off in less than a week each month :D Have a look at this to find out more!

If you want one too, click here for the deal :)

Setting up rclone with hubic

- Posted in Quick Tip by with comments

In this post, we'll be setting up rclone with hubic, as requested by one of my readers :)

We will assume that you already have rclone installed, but just in case you don't, refer to the last post here with the details.

Okay, so if you followed the tutorial above we have rclone installed in ~/rclone-v1.39-linux-amd64

By the way, in case you didn't know, ~ is a shortcut for your home directory, so instead of having to do "cd /home/david" you can just do "cd ~"

Let's move along...

First, we'll run the rclone config:

rclone config

Then we'll set it up, just type or copy/paste the following one line at a time:


So, instead of having a nice link to click on we need to do something slightly different. It needs you to install rclone on a computer that has a web browser, so if you're running Windows click here to download rclone for Windows.

Since I'm going step by step, I'll include what to do with the rclone download in Windows :)

  1. Open the .zip file by double clicking on it, and drag the file "rsync.exe" to the desktop.
  2. Click your start menu (or press the Windows logo key on your keyboard) and type "cmd" - this should get you into the command prompt.
  3. Change into the Desktop folder by doing this:

    cd Desktop

  4. Now, we need to get a code to put in the rclone setup on the seedbox:

    rclone authorize "hubic"

  5. You need to sign in with your hubic login details, once you've done that, the command prompt will have some code for you to copy and paste into the terminal of your seedbox. (Note, if you're having problems copying from command prompt, right click and select "Mark" then highlight the code and right click again to save it in the clipboard, now you can paste it)

  6. The code should look like this: {"access_token":"VIhLVq7ChEidx6MickifbldhktyAlKpRocVcYkrnaDrwid1RKdSYMMMMm0X0qEOy","token_type":"Bearer","refresh_token":"EmT3zR0B7ZFt9SVtT51YNHjNDDrKu1PmMyBTiLfCcj2sWlHAtUR5bILEW1lUhL07","expiry":"2018-02-05T03:18:42.5584951+10:00"}

  7. Go ahead and paste that in the seedbox terminal where we were setting up rclone.

  8. When I tried it, it didn't work at first so I had to paste it into notepad and make it all into 1 line and then copy it and paste it again and it worked. Once you got to that stage, you can close the windows command prompt.

In the rclone setup your seedbox:


If you see the following, then it worked:

Current remotes:

Name                 Type
====                 ====
hubic                hubic

Now we can quit the rclone setup:


Let's see what files are on hubic:

rclone lsd hubic:

Be sure to keep the : at the end, oh, and change it from hubic to whatever you named it.

You should see a list of files on your hubic. If so, success!

Now, to put files onto your hubic, let's assume you want to copy a folder and it's files from /var/media to a folder on your hubic called media, let's do this:

rclone copy /var/media hubic:default/media

If you put it in the default folder it will appear in the hubic web site, if you don't put it in default then it will still be on your storage but you can't see it on the website.

If you want to see the speed while it's uploading, do this:

rclone -v --stats 1000ms copy /var/media hubic:default/media

That will print the speed every 1 second (1000ms) but it takes a few seconds for it to start the transfer and then it will show the speed.

And you've successfully set up rclone with hubic :)


- Posted in VPS by with comments

I just found something really really cool!

Check this out for $32/month, it beats the pants off a lot of dedicated servers!

1 TB RAID-10 Storage
30TB Monthly Bandwidth
1Gbps port
16 IPv4 Addresses
300 IPv6 Addresses

This is a WootHosting Cloud Resource Pool, a massive pool of resources here! You can make up to 16 VPS out of this, or just create one monster VPS out of it..

I doubt there's anywhere on the planet where you can get a dedicated server that gives you 16 IP addresses included for the price.

It's an insane deal! Each VPS you build comes with 4 CPU cores too so it's actually a beast!

If you look at my Dedicated Servers list, you'll see that there is nothing that even comes close to this.

Go get em!

Reviewing a brand new Woothosting VPS

- Posted in VPS by with comments

WOOT! It's WootHosting again, love 'em or hate 'em, they have some cheap goodies, that's for sure!

Today I received a special offer from WootHosting and I'll share it with you guys.

It's only $9/year - that's not a typo! Nine dollars for a year of this:

Here's the deal:

WootHosting OpenVZ

1 CPU Core Allocation
1024MB Dedicated RAM
1024MB vSwap
40GB Secured Disk Space
3000GB Premium Bandwidth
1 IPv4 Address
100Mbps Port Speed
Instantly Setup
Advanced DDoS Protection Included! NEW FEATURE

Nice! 1GB of RAM and 40GB of HDD for only $9, too good to pass up!

Benchmark time!

CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 1
CPU frequency:  3504.036 MHz
Total amount of RAM: 1024 MB
Total amount of swap:  MB
System uptime:   0 days, 2:17,       
I/O speed:  54.7 MB/s
Bzip 25MB: 4.71s
Download 100MB file: 11MB/s

And another one...

CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 1
CPU frequency:  3504.036 MHz
Total amount of RAM: 1024 MB
Total amount of swap:  MB
System uptime:   0 days, 3:45,       
I/O speed:  70.2 MB/s
Bzip 25MB: 4.41s
Download 100MB file: 11MB/s

And one more...

CPU model:  Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
Number of cores: 1
CPU frequency:  3504.036 MHz
Total amount of RAM: 1024 MB
Total amount of swap:  MB
System uptime:   0 days, 4:12,       
I/O speed:  67.9 MB/s
Bzip 25MB: 5.22s
Download 100MB file: 11MB/s

This is pretty decent for $9!!

You can get one from here, if you use this link no coupon needed :)

Oh, and as a side note, I am able to get 80 hashes per second on this... which if you mine Electroneum will give you $43 per year.. that pays for itself in 2 months :D