Integrating installation of Internet Archive as a server

I’m glad it worked for you. Those instructions were just for you to try but I can can write a script to do it automatically if you want to add that to the internet archive installer. I hope Buster gets an updated package soon.

The same image as before is still the one to use for now. I’m going to put up new images soon but there were a few minor bugs that showed up when installing RACHEL to the latest available Buster image that I needed to fix. I’m also going to see if I can update the World Possible logo used if that’s okay with @jeremy.

Let me know if there are any other issues.

James

2 Likes

Thanks - I added it to the install script and am testing a clean install now - it just failed (but I’m pretty sure in my code), and I have to head out to some things the rest of the day so will complete a clean test hopefully tomorrow.

Totally OK james! Thank you!

1 Like

Great! Thanks Jeremy!

Ok - it should work to install the Internet Archive Server with …

curl -o/tmp/install.sh -L https://unpkg.com/@internetarchive/dweb-mirror/rachel/install.sh
chmod +x /tmp/install.sh
sudo /tmp/install.sh

With more detailed instructions at https://github.com/internetarchive/dweb-mirror/blob/master/INSTALLATION-rachel-rpi.md

I couldnt do the ideal one-line installer such as

curl -L https://unpkg.com/@internetarchive/dweb-mirror/rachel/install.sh | bash

because apt upgrade goes full-screen when it tries to upgrade Kolibri and sticks, otherwise I think it would work.

1 Like

Thanks @jeremy for your help along the way… feel free to PR any changes on https://github.com/internetarchive/dweb-mirror or just send them to me.

1 Like

I’m glad everything is working. I’ll take another look at it after I put the new RACHEL-Pi images up this week to make sure to be sure nothing has changed.

Hi @jamesk

I’m just upgrading the installer to handle a refactoring that should speed up installs. As part of that I want to unify the different installers I’ve got as I’m noticing that some fixes are in the Armbian one, others in Rachel and so on.

One question - is there a recommended way (in shell) to check if I’m running on a Rachel base image, I could be checking a directory or an environment variable etc ?

Hi @mitra

The /etc/rachelinstaller-version file was used on previous versions of RACHEL-Pi to state the date of the installer that was used. I now use /etc/rachel-version to state the date of release and it will always match the image release date.This shows in the RACHEL admin interface’s Version page.

There wasn’t a real versioning system in place for the installer when I started working on RACHEL-Pi. It just wrote the harcoded date to that file. I switched this date to image release date because most people use the images and they can look at the date and know exactly which image it’s from.

The installers change every time Raspbian or PHP and other packages are updated. I also have to manually change some settings for the images. I would update the installer on github every time to match, but I don’t have access to change the content shell on github. So while the github installers work, they install a content shell that is broken and don’t have the changes that make it work, so it’s kind of pointless to update. I sometimes upload packaged installers for people to the FTP or elsewhere that include the updated content shell so it’s complete and will work at the time, but that’s why it’s inconsistent. I made the Armbian installer quite a while ago for a user and put it on the FTP for them. I didn’t hear back if it worked on their hardware but I tried it on an ASUS Tinkerboard S and it worked. I can take a look at this again if you’re interested in Armbian support, but it’s always best to use an image as a base for these reasons.

James

1 Like

@jamesk – when you say the contentshell on GitHub is broken it makes me cringe! What’s wrong with content shell there? We still use it for RACHEL-Plus and I’m totally happy to accept change commits there!

1 Like

Hi James - my installation instructions, once updated, will basically walk people through getting an image from
http://rachelfriends.org/downloads/public_ftp/rachelpi_64EN/rachelpi_2019/rachel-pi_kolibi_buster_unofficial.7z blowing it to an SD
and then running something like …

curl "some-script-on-npm" | bash 

My question - which I think you answered - was a good way for that script to know it was on Rachel, and do Rachel-specific things during install - if I understand you correctly I can just test for the existence of the file /etc/rachelinstaller-version and if its present I’ll assume I’m on Rachel.

@mitra that makes sense. If someone is using a RACHEL=Pi image the /etc/rachel-version file should be there from now on. Some other unique RACHEL things you can use to double check are the “/var/run/rachel/” folder, which is created at boot for PID files. There’s also /var/www/modules which is the RACHEL-Pi’s module folder, and /etc/sudoers.d/rachel, which is the rachel permissions file. Those are the unique things that stick out as easy checks.

There’s also a new image up at rachel-pi_kolibri-09_26_2019.7z If you want to try your new installer out on that. I can help adjust anything if there are issues.

James

Hi @jeremy,

I think they must all be Raspberry Pi specific. I’d have to read over my past notes for all of them but the big one was in common.php the modules path is set to

define(“RACHELPI_MODPATH”, “/var/www/rachel/modules”);

when it should be /var/www/modules. That path is used in is_rachelpi() so it would neveridentify the device as a RACHEL-Pi and large chunks of the admin interface wouldn’t load.

The shutdown and restart functions weren’t working properly and I had to change the command to “sudo restart now” and “sudo shutdown now” without the /dev/null ending.

I’ve also added in stats clearing and changed the code so it works for apache. There was a bug recently introduced with stats clearing on Raspbian Buster that was always showing an error result. The stats.php ajax request’s success: function () had to be changed to complete: function().

rachel-kiwix-restart.pl running after module sorting had to be disabled as it can’t kill the kiwix function properly and it broke the save function of sorting sometimes.

I also had to remove the content shell update check from RACHEL-Pi because it would break it.I’d really love to do a RACHEL-Pi branch if possible so any changes don’t interfere with the RACHEL-Plus.

James

@james - I’m trying to figure out if that comment relates only to @jeremy’s Rachel-Raspberry-Kolibri image or if there is anything relating to the internet-archive installer.

@mitra I’m not sure what you mean.

I mean the topic (and prior discussion) is about Internet Archive installation, which starts with @jeremy’s images. But the last post by you is talking about PHP and shutdown/restart & Kiwix which I think relates to Jeremy’s images, rather than internet archive installation.

So … I was just checking in case I was misinterpreting and there was something I needed to pay attention to with my new install script.

Ah okay. I think you’ve mistaken something along the way. There is only one set of RACHEL-Pi images for Stretch and Buster and I’m the one that maintains them. I maintain RACHEL-Pi as a volunteer. I’m also the one that’s been helping you with getting Internet Archive on RACHEL-Pi.

I was responding to Jeremy because he noticed my comment about the content shell on github not working. That shouldn’t have anything to do with the Internet Archive installer if you’re using one of the RACHEL-Pi images as a base.

1 Like

Thanks - that’s clear.

I’m putting a page together for our offline work at the Archive, wondered if Rachel wants to be listed as someone we are working with … up to you. The draft page is at https://www-brenton.archive.org/about/offline-archive/?recache=true (which only works on Safari till one of the engineers fixes a bug) down the bottom will be appearing some logos / text over the next day or so before it goes live at https://archive.org/about/offline-archive

Do you want us to list Rachel - in which case I’ll need a logo, short sentence, and prefered link. (e.g. for APC we have …

Connecting the Unconnected: is a project implemented by APC and Rhizomatica that aims to directly support the development of community networks.

1 Like

I think that would be up to @jeremy as I don’t work for World Possible. Very interesting site and project though. I’m going to spend some time looking through it.

1 Like