With the webserver up and running I needed to be able to FTP into the var/www/html directories to upload my HTML and CSS.
As Ubuntu server comes with SSH installed be default I decided to use that for FTP instead of installing something like vsftd (Very Secure FTP Daemon). FTP over SSH turned out to be a much simpler and quicker setup.
Warning: These steps do not restrict access to folders outside of the /var/www/html directories. As such this setup is not recommended for any kind of production server.
First create a new directory under /var/www/html:
sudo mk dir newdirectory
Create a new user and give the user a password:
sudo adduser ftpuser
sudo passwd ftpuser
Finally give the new user the permissions that they need. Change the directory ownership and group:
I tried a couple of methods of installing LibreELEC in a VMware virtual machine before finding the solution. The first was to simply pass through a Jump drive with a bootable image to the virtual machine. This didn’t work as I discovered that vSphere virtual machines cannot boot from USB.
I also tried converting an image file to an .iso and booting from that – that also didn’t work.
I finally discovered the LibreELEC virtual appliance and simply deployed that to vSphere.
I would typically just post a link, but it appears that the LibreELEC mirrors seem to change so it is best to know how to get a link to the .ova file.
First head to the LibreELEC download page. What we are looking for is a link named info behind which is a mirror list.
On the mirror list page you can see that I have two mirrors available in the US:
Notice that I have the first portion of the path to a LibreELEC image selected. This URL takes me to the full listing of available LibreELEC images on that mirror.
Copy the link to the LibreELEC .ova file and then run the vSphere Client to start deploying the virtual appliance.
Click the File menu and then Deploy OVF Template.
Paste the LibreELEC .ova hyperlink and then click Next to continue through the rest of the deployment wizard.
My daughters love watching YouTube, but they cannot always be trusted to follow the content rules that we have given them.
So I uninstalled the YouTube app from their Roku and started downloading their favorite YouTube videos using the Video DownloadHelper extension on Firefox.
On my file server I created a new folder called “Kids YouTube” to separate it from the other content – we do not want to scrape meta-data from the internet for this content – all the meta-data will be local.
Next I created sub-folders for each YouTube channel, in my case “Toy Egg Videos” and “CookieSwirlC”.
Inside each of these folders I created a folder called “Season 1” – this is the folder that the downloaded videos go in. Because these are virtual TV shows we will name all videos as season 1, episode 1, 2, 3, 4, and so on.
So the folder structure is parent folder\channel folder\video folder.
At this point we need to work on three things:
correctly naming the video files
creating .nfo files for each video, and for the channel
creating artwork so that the channel looks like a regular TV show in Kodi
This is the content of my \Kids YouTube\CookieSwirlC\Season 1 folder:
As you can see the filenames all contain – in an abbreviated notation – the season and episode number before the rest of the filename, for example, s01e01 is season one episode one.
Now we can create .nfo files for each episode. An .nfo file is a regular text file with the file extension changed from .txt to .nfo.
Make sure each video has an .nfo file with a matching filename as pictured above.
This is the template that I used for episode .nfo files:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<title>LOL Surprise Pets Dog Has Puppies!</title>
<plot>LOL Surprise Pets Dog Has Puppies!</plot>
The content of this file should be fairly self-explanatory. You will want a title for each video and a showtitle and studio for each YouTube channel. Make sure that the season and episode numbers in the .nfo file match up with the corresponding video.
The dateadded is useful to have so that new shows appear in the “recently added” view on Kodi. The other fields are optional, but for me nice to have as they do show up in different Kodi views.
Next we need a tvshow.nfo file for each YouTube channel and this goes in the channel folder as shown below:
This is the content of my \Kids YouTube\CookieSwirlC\tvshow.nfo:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<plot>Welcome to the sweet world of Cookieswirlc, a unique toy channel bursting with super happy, positive, family friendly videos inspired by sugary cute toys like Disney, Frozen, Princesses, mermaids, Littlest Pet Shop LPS, My Little Pony MLP, Lego, Barbie dolls, Play Doh, Monster High, Shopkins and much muchy more!!! Everything from stories, movies, playset toy reviews, hauls, blind bag openings, toy unboxing, and fun do it yourself crafts!</plot>
I set the episode number fairly high so that I should not have to worry about adjusting it in the future. As before populate the template with your own YouTube channel data.
To make the YouTube channels look like regular TV shows in Kodi you will need to make a backdrop.jpg, banner.jpg and folder.jpg for each channel:
These are the images that I created for the CookieSwirlC folder on my file server. I have included a link at the end of this blog post to the Kodi wiki where you can find the recommended dimensions for these images.
The final step that I took was to take full screen screenshots of each video. The screenshots go in the Season 1 folder. Make sure that they share the same filename as the video they came from and add – thumb to the end of the filename – see screenshot below:
At this point we are ready to add the Kids YouTube folder as a video source in Kodi. Make sure that you set the content type to TV Show and change the scraper setting from TVDB to local metadata.
Here’s a couple of screenshots of the finished product!
Recently though The Movie Database plug-in on my OpenELEC installation has become broken and will no longer retrieve movie metadata, posters and fanart.
After troubleshooting the issue a little and waiting to see if it would be fixed I decided to move on and discovered LibreELEC – a fork of OpenELEC.
While I always liked OpenELEC I have to say that LibreELEC has already impressed me more since installing it. In my opinion the GUI and menus are much improved – everything is visually appealing and better organized.
I have encountered two minor issues though:
Close to 200 of the movies that were scraped upon adding their sources have the incorrect year of 1969 as their date. This can be fixed manually by refreshing the meta-data but is still a little annoying.
I created a 2nd profile for kids content and could not see the add network location option when selecting a content source. The fix for me was to toggle the unlock sources switch to on under the view settings.
Installing LibreELEC was very straightforward. While I believe that you can update an existing OpenELEC installation to LibreELEC I opted to simply install LibreELEC over it. If you are starting from scratch with a new Chromebox please refer to the first half of my original blog post here. Otherwise I would recommend an Intel NUC over the Chromebox because of the ease of installation. A NUC can much more easily be re-purposed should the need arise.
To install LibreELEC visit the download page and grab the USB-SD Creator for your PC, Mac or Linux box.
For a Chromebox installation:
Select Generic AMD/Intel/NVIDIA (x86) from the select version drop down menu.
Click the Download button.
Select your USB drive from the drop down menu and then click the Write button.
This will erase your USB drive and create a bootable LibreELEC installation.
From here simply put your USB drive in your Chromebox and boot from USB. To do this press the Escape key on your keyboard while your Chromebox boots and then select option 2 to boot from USB.
Follow the prompts and LibreELEC will very soon be up and running!
Remove your USB drive once LibreELEC is installed.
I wrote this guide in 2014 and now in 2018 I find that the add-ons in OpenELEC for scraping Movies etc no longer work. I now recommend installing LibreELEC instead of OpenELEC. In addition I would now recommend a low end Intel NUC over a Chrombox because of ease of installation. The difference in price between the two is not that great any-more.
There is a lot of great documentation available for installing OpenELEC aka XBMC (now renamed Kodi) on a Chromebox – but I wanted a brief summary of the steps I performed should I need to do it again.
I have been running OpenELEC as my media center of choice for quite a while now on a 7 or 8 year old PC. As that PC just died I needed a replacement – something smaller – and something cheaper! The ChromeBox looked like an ideal choice …
These steps remove ChromeOS and install OpenELEC – so consult the documentation (and do not do this) if you prefer a different configuration! You have been warned! Seriously, read the documentation!
Enormous thanks to Matt DeViller for providing the installation script, documentation and support to the community!
Zentyal Server is an open source Linux small business server, that can act as a Gateway, Infrastructure Manager, Unified Threat Manager, Office Server, Unified Communication Server or a combination of the above.
I am performing this setup on a minimal virtual machine installation of Ubuntu Server 14.04. At the time of writing Zentyal 3.5 is the most current Zentyal release.
First make sure that repositories and software are up to date:
sudo apt-get update
sudo apt-get upgrade
Add the Zentyal 3.5 repository to /etc/apt/sources.list:
echo "deb http://archive.zentyal.org/zentyal 3.5 main extra" | sudo tee -a /etc/apt/sources.list