How do I manually make a folder "public"?

Problem Description
I want to add “MyTinyToDo” (https://www.mytinytodo.net/) to my freedombox. I assumed I simply needed to download the package, unzip it, give it the same permissions as my “ikiwiki” blog and put it in the same location as my ikiwiki folder, and I would be able to view it publicly.

It appears I’m missing something - Where do I set the public permissions for a folder? I read I should do it in “documentRoot”, but I don’t know where that is.

Steps to Reproduce

  1. download a zip file of “mytinytodo”
  2. copy it to the www folder.
  3. set permissions same as “already working” ikiwiki folder
  4. Open browser, navigate to folder, but get “404 not found” instead of folder tree.

Expected Results
I expected to see folder tree in the browser window.

Actual results
I get a 404 error

Screenshot

Information

  • FreedomBox version: 22.11
    • Acer Atom AMD64 (a laptop)
  • How did you install FreedomBox?: ‘apt install freedombox’

Appreciate any pointers; yes, I know this isn’t a standard app, but I assume making a folder public would apply “in general”, but will probably be unique to a freedombox. thanks in advance!

I stumbled onto this: Per-user web directories - Apache HTTP Server Version 2.4

does this apply?

The default webroot of Apache is /var/www/html/ so you should move the source files there.

Ok, thank you, I’ll give that a shot.

Hi, thanks for the tip, but…
Ok, it comes as a zip file - should I then move it to /var/www/html and unzip it there?

or (what I just tried that didn’t work)…
move all the unzipped files there manually.

I still can’t access the /var/www/html/ folder from a browser (from the web) - shouldn’t I be able to punch in

xxxxxxx.freedombox.rocks/www or xxxxxxx.freedombox.rocks/html and see something in my browser? because I don’t.

I DO see, however, xxxxxx.freedombox.rocks/index.html.

I think I’m still missing some setting in Apache that makes whatever folder is in www or html “visible”…(meaning, I don’t think this is a matter of simply moving a folder into www or html). But I’d love to be wrong. :slight_smile:

Just to clarify:

I was expecting this (but with “mytinytodo” instead of “ikiwiki”):

Let me explain it more thoroughly. You have two options:

  1. Extract the zip file’s content into a directory (aka folder) called mytinytodo which should be located under /var/www/html. This location is the root path of the webserver which means that whatever you place in the under the html folder will be accessible from the web. An example that you can already verify is the default index.html file. If you visit your_freedombox.com/index.html you will bee seeing the same file as you can list in /var/www/html. Ikiwiki is a different thing here.

  2. Since my previous reply I’ve realized you could and probably should make use of the FreedomBox Sharing app which you can find under your_freedombox.com/plinth/apps/sharing/. Here you add a new share and in the Path to share field you specify the directory in which you extracted the zip file. This can be in your home directory too, it doesn’t need to be in /var/www/html.
    While creating the share, you can restrict access to FreedomBox users only. The “Public share” in this case really means unauthenticated so only choose that if this to-do app has it’s own authentication form.

Ahhh! good points. I will try these. Thank you for the suggestions! I’ll report back with my findings. If this app works how I think it does, it might be a great one for freedombox generally.

1 Like