I have hosted my own websites for many years now. Since switching from OS/2 to Linux more than 20 years ago, I have used Apache as my server software. Apache is solid, well-known, and quite easy to configure for a basic installation. It is not really that much more difficult to configure for a more complex setup, such as multiple websites.Installation and configuration of the Apache web server must be performed as root. Configuring the firewall also needs to be performed as root. Using a browser to view the results of this work should be done as a non-root user. (I use the user
studenton my virtual host.)
Note: I use a virtual machine (VM) using Fedora 27 with Apache 2.4.29. If you have a different distribution or a different release of Fedora, your commands and the locations and content of the configuration files may be different. However, the configuration lines you need to modify are the same.
The Apache web server is easy to install. On my CentOS 6.x server, it just takes a simple
yum command. It installs all the necessary dependencies if any are missing. I used the
dnf command below on one of my Fedora virtual machines. The syntax for
yum are the same except for the name of the command itself.
dnf -y install httpd
The VM is a very basic desktop installation I am using as a testbed for writing a book. Even on this system, only six dependencies were installed in under a minute.
All the configuration files for Apache are located in
/etc/httpd/conf.d. The data for the websites is located in