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[1] 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 userstudent
on my virtual host.)
Installation
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 dnf
and 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
and /etc/httpd/conf.d
. The data for the websites is located in /var/www