I am considering hosting a webserver at home. It will be a hobby, not a business. I am reasonabally skilled in following instructions on Fedora.
Obviously Apache comes up and I can find ‘needs review’ instructions through FedoraProject Getting started with Apache HTTP Server :: Fedora Docs
However I don’t necessarily need the easiest way - eg I love Sway WM when Gnome is detailed on the FedoraProject.
Can anyone recommend or disuade me from other webserver architectures that have some level of instructions or support?
Do you want your home web server to be accessible from outside your home?
I’ve used a apache and other servers, including nginx, over the years to provide a convenient place to share information within a workgroup (hidden behind a firewall so only accessible usinbg systems inside the institution). I just restored a my home server (not visible from outside my home) after a fresh install of Fedora 38 and did look at the “Getting started with Apache HTTP” document.
I did everything from the command-line, so the same steps should work on any WM. It is not a difficult process is you are familiar with command-line tools.
Apache is widely used so plenty of people can help if you have questions. Other servers may be better for use cases involving many connections, etc., but I suggest sticking with Apache until you find something that doesn’t work well and people with experience suggest a different server.
Without any details on what you want to accomplish, it’s hard to say, but for a lot of things, caddy is the answer.
Caddy is well documented, packaged in Fedora, and has the easiest configuration I’ve seen, especially for letsencrypt. But existing PHP/Python/Perl/Ruby web apps are less likely to include documentation for deploying to caddy.
Even if it is „just“ a home server, it might quickly grow into a tool which is regularly used. So it might be a 24/7 type of operation. Fedora Server Edition on a capably SBC, e.g. Pine64 rockpro or Radxa Rock Pi 4 comes into mind. It also saves a lot of power compared to the latest Intel energy-saving processors, such as the N100, especially when used at home, where use is usually characterized by longer breaks with very low load.
We, the Server WG, are working on a special edition for home servers. Apache is the default server. The advantage is 100% OSS and not affected by a mix of OSS and commercial interest as with many alternatives. And it is very variable and flexibly customizable. At the moment the documentation is still staging and in development (Setting up a basic web server :: Fedora Docs Staging). But we could do something like this as a joint pilot project.
If you don’t mind the commercial background I’d also suggest having a look at nginx.
I’ve been using it as home server for years (i.e. providing “LAN only services”) and find the configuration (server as well as sites/“applications”) much more intuitive and easier to understand than for apache (which I’ve been using previously) or lighttpd.
An disadvantage would be that there is no “Fedora own” documentation like for apache, but for a basic configuration the HowTo linked by @ilikelinux gives a good start and many self hosted applications provide either a full nginx configuration or at least give hints. Apart from that nginx is well documented and one can find lots of tutorials and How To’s on the web, so you won’t be left alone.
This can be done, if you are interested you could make a start. If the documentation process is to complicated, it can be done in the official wiki. Who knows, one day, if available in the Fedora infrastructure (like the wiki) someone puts it in the Documentation.
Fedora Wiki has been used exclusively for internal processes of the SIGs and for organizational purposes such as change proposals, elections, etc. for some time now. All user documentation belongs in Docs.
We always support anyone who wants to contribute a new article. General information can be found in the Contributor Guide. It is best to contact us briefly in Project Discussion → docs-team or via Matrix Docs room.