Christian's picture

Hello,

as per this announcement, a Turnkey Drupal 8 appliance exists. It is also announced in the ProxMox 4 LXC template section. However, download of the template fails, i.e. the URL

http://mirror.turnkeylinux.org/turnkeylinux/images/proxmox/debian-8-turnkey-drupal8_14.1-1_amd64.tar.gz

does not exist. Has the file been removed by accident or on purpose?

Thank you.

Forum: 
Jeremy Davis's picture

Thanks for the nudge!

We pulled it from the mirror some time ago as it appeared that there was a critical security vulnerability in Drupal8. However on closer inspection it was actually a PHP/Apache vulnerability which had been patched by Debian (and would be auto installed by the pre-configured auto-security updates).

In retrospect I should have still publicly announced it and in future if something similar happens again I certainly will! But the long and the short of it is that I got sidetracked (it's been a crazy busy year) and never rebuilt and republished it as I had planned to. Until now, no one has explictly asked about it and I've been crazy busy so it's kept getting pushed back...

I'll ensure it rises up my "todo" list but I'm not 100% sure when I will get to it.

In the meantime you could build it yourself!? The tools we use to build the images are all freely available via GitHub.

First you'll want to download the TKLDev ISO (it won't work in a container so you'll need to install to a VM). I suggest that you give it at least 2 CPUs & 1GB RAM (more is better). Then have a look at this tutorial to get started. Once you've had a bit of a play and are ready to move on (or if you're impatient and want to just dive in) you can then clone the Drupal8 source code (as per docs). Unless you want to, you can skip building the Drupal8 ISO at this point, as you'll need to do it again with buildtasks below anyway...

Once you've done that, you'll need to install buildtasks as per the (pretty rough) documentation. Follow the instructions for buildtasks and you'll need to satisfy the requirements for bt-iso and bt-container as well. Create your config files as per the config section. Note that as you aren't uploading images to Amazon (as we do) then you don't need to adjust any of that stuff and (IIRC) can just copy them as they are.

The the final step is to build the ISO (with the bt script) and then the container. FWIW when we do a release, we build all the ISOs first, then process the ISOs to create all the other builds. That ensures that the alternate builds are all consistent with the ISO (and the other alternate builds).

So the last bit is:

cd /turnkey/buildtasks
./bt-iso drupal8
./bt-container drupal8

Once that's done (it'll take a little while - probably about 20-30 mins all up), then there should be a fresh TurnKey Drupal 8 appliance container in /mnt/builds. E.g. /mnt/builds/container/debian-8-turnkey-drupal8_14.1-1_amd64.tar.gz

Christian's picture

I would love to try to build the appliance myself, however, I don't think I'll find the time at the moment. But great that you have described the process in detail so when I have time, I'll be happy to try that out. Please let us know when you get to add the Drupal 8 Appliance eventually.

Jeremy Davis's picture

I anticipate that we'll probably do a batch build of a few appliances soon so will probably just announce it via the blog.

It looks like you are signed up to the "security and news" newsletter already, but if you want to get immediate notifications about blog posts, then you can subscribe to them too. When you're logged in, go to the blog page and towards the top right you should see text that says "Subscribe | By Email". If you click the "By Email" you can sign up to get email notifications of new blog posts.

Christian's picture

Hi Jeremy,

I did it and it worked very well. I have a working Drupal 8 LXC template now.

It wasn't so hard after all thanks to your detailed instructions. 

One small hiccup: 

[...]
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/
-- Installing: /usr/local/include//PfffCLib.h
-- Installing: /usr/local/include//file_utils.h
-- Installing: /usr/local/include//PfffOutputFormatter.h
-- Installing: /usr/local/include//PfffOptionManager.h
-- Installing: /usr/local/include//PfffPostHashing.h
-- Installing: /usr/local/include//PfffOptions.h
-- Installing: /usr/local/include//output_utils.h
-- Installing: /usr/local/include//PfffFindDuplicatesOptionManager.h
-- Installing: /usr/local/include//PfffHttpBlockReader.h
-- Installing: /usr/local/include//PfffHasher.h
-- Installing: /usr/local/include//PfffBlockReader.h
-- Installing: /usr/local/include//PfffFtpBlockReader.h
-- Installing: /usr/local/include//PfffBlockSampleGenerator.h
-- Installing: /usr/local/./README.txt
-- Installing: /usr/local/./COPYRIGHT.txt
-- Installing: /usr/local/bin/pfff
-- Installing: /usr/local/bin/pfff-find-duplicates
-- Installing: /usr/local/lib/static/libpffflib.a
-- Installing: /usr/local/lib/static/libpffflib-static.a
./bt-container: line 61: /usr/local/src/pfff/build/config/common.cfg: No such file or directory

I could fix it by 

mkdir -p /usr/local/src/pfff/build/config
cp config/common.cfg /usr/local/src/pfff/build/config/

Might be something that has to be fixed in the script.

Thanks so much!

 

 

Jeremy Davis's picture

Glad to hear it all worked out and was as daunting as it may have first appeared.

And thanks for the bug report. We'll need to look into that for the v14.2 release.

Anil Garg's picture

Is there a proxmox LXC template for Drupal 10?

Or any pointers on how to make one?

Much appreciate.

Jeremy Davis's picture

Hi Anil, a shiny new v18.0 Drupal 10 appliance is in the pipeline! It's based on the buildcode for the old v17.x Drupal 9 appliance, but with Drupal 10 and built on Debian 12/Bookworm. I have literally just finished building it! :) I'm not 100% sure when it'll be "published" (i.e. when the website is updated with the links to the updated apps) but the ISO should be available from the mirror early next week.

I haven't even started looking at Proxmox/LXC builds yet though, so I'm not sure what state they are in. They may "just work", or there may be tweaks required. The ISO should be fully functional though, so you could install that to a VM in the meantime?

Regardless, if you're keen and want to have a go now, then you could download TKLDev v18.0 ISO and install it to a VM. Then you have a few options (in no particular order):

  • Build your own Drupal 10 ISO (i.e. no need to wait for us)
  • Build a container yourself (either from your own self built ISO, or wait until ours is available)
  • Build a test container of Core (more so if you want to test building a more simple container first, or perhaps if the Drupal10 one fails and you want to compare)

Regardless, building ISOs and containers is done via buildtasks. By default, you'll find a local copy in your TKLDev at /turnkey/buildtasks. To build an ISO, you'll want to use the bt-iso script, to create a container use the bt-container script. Note that to build a container, you'll either need to build from an available ISO (i.e. one we have already build and pushed to our mirror e.g. Core or wait until our D10 ISO is available), or build your own ISO first (using bt-iso).

To elaborate a little more, to build a Drupal 10 appliance ISO:

Firstly, the buildtasks scripts aren't in the PATH, so you'll need to be in the dir to run them:

cd /turnkey/buildtasks

Then to build v18.x Drupal 10 (note the './' prefix):

./bt-iso drupal10

Note that by default that will go through some basic smoke tests (testing firstboot, login and taking screenshots along the way) too which might take a while. To speed things up a bit, you could try the '--no-screens' switch. For more details:

./bt-iso --help

If you build your own ISO, then you can attempt to build a container with bt-container. If you wait until ours is available, then bt-container will download it itself (if it's not available, it will fail).

To (attempt to) build v18.0 Drupal 10 container:

./bt-container drupal10-18.0-bookworm-amd64

If you used bt-iso yourself already, then fingers crossed, it will "just work". If not, please report back. If you haven't built the ISO already, it will try to download. Until it's on the mirror, you'll see this:

root@tkldev8 /turnkey/buildtasks# ./bt-container drupal10-18.0-bookworm-amd64
WARNING [bt-container]: --publish was not specified
--2023-09-29 04:01:00--  http://mirror.turnkeylinux.org/turnkeylinux/images/iso/turnkey-drupal10-18.0-bookworm-amd64.iso
Resolving mirror.turnkeylinux.org (mirror.turnkeylinux.org)... 2801:82:80ff:8000::e, 131.188.12.211, 137.226.34.46
Connecting to mirror.turnkeylinux.org (mirror.turnkeylinux.org)|2801:82:80ff:8000::e|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-09-29 04:01:01 ERROR 404: Not Found.

/turnkey/buildtasks/bin/iso-download: line 51: aws: command not found
FATAL [iso-download]: turnkey-drupal10-18.0-bookworm-amd64.iso download failed

To build a Core container, same thing:

./bt-container core-18.0-bookworm-amd64

Even just reporting back on whether it works or not would be a huge help. If it doesn't, please be sure to share the specific error message(s) you get.

Good luck.

Jeremy Davis's picture

I haven't yet announced it, but the Drupal10 appliance has been built and can be downloaded from the mirror. Search for turnkey-drupal10-18.0-bookworm-amd64.iso. The hash file should also be there, so you can confirm the authenticity (note the download is over vanilla http) and that it isn't corrupted.

I plan to announce it later this week.

Add new comment