Edited 1 week ago by ExtremeHow Editorial Team
FedoraApacheInstallationWeb ServerConfigurationSoftwareCommand LineTerminalHostingComputers
This content is available in 7 different language
Apache, officially known as the Apache HTTP Server, is a powerful and flexible web server widely used around the world. It is open-source and maintained by the Apache Software Foundation. This guide will guide you through the steps to install and configure Apache on Fedora, a popular Linux-based operating system.
Before we begin, it's important to understand what Apache and Fedora are, and why you would want to use them together. Apache is a web server application that allows a computer to host websites and provide content over the Internet. Fedora, on the other hand, is a Linux distribution known for its cutting-edge software and stability. Installing Apache on Fedora combines Apache's robust server capabilities with Fedora's powerful features.
Make sure you have the following prerequisites before proceeding with the installation:
Let's begin the installation process. We will be using the default package manager in Fedora, called DNF.
Before installing a new package, it is always a good practice to update your system's package index to ensure you have the latest software updates. Run the following command in your terminal:
sudo dnf update -y
This command will download and install the latest updates for your system. The -y
option automatically answers "yes" to the prompts during the update process.
After updating the system, we can install Apache. Use the following command:
sudo dnf install httpd -y
This command installs the Apache HTTP Server package on your Fedora system. httpd
package is what is referred to as Apache in Fedora's package repository.
Once Apache is installed, you need to start the Apache service to host web content. Additionally, you can enable the service to start automatically at boot time.
Use the command below to start the Apache service:
sudo systemctl start httpd
After running this command, Apache will start. However, it will stop when you reboot the system.
To make Apache start on every boot, run the following command:
sudo systemctl enable httpd
This command configures the Apache service to start as part of the boot-up process, ensuring that your web server is always available after a reboot.
Fedora includes a firewall, firewalld
, which blocks access to services by default. You must configure the firewall to allow web traffic to reach the Apache server. This includes opening TCP ports 80 (HTTP) and 443 (HTTPS).
Run the following command to open the appropriate port:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
After modifying the firewall settings, reload the firewall for the changes to take effect:
sudo firewall-cmd --reload
These commands will allow incoming HTTP and HTTPS requests to be served by Apache.
After installation and configuration, it is important to verify that Apache is working correctly.
You can check the status of the Apache service as follows:
sudo systemctl status httpd
This command will tell you if Apache is up and running, as well as other information related to the service.
To verify that Apache is rendering the web page, open a web browser and type:
http://your_server_ip
Replace your_server_ip
with the actual IP address or hostname of your Fedora system. You should see the Apache default test page confirming that the server is working as expected.
After making sure that Apache is properly installed and running, the next step is to configure the server to serve your website or application. Apache configuration is done in its configuration files, located at /etc/httpd/conf
or /etc/httpd/conf.d
.
The main configuration file is httpd.conf
and it is located in the /etc/httpd/conf
directory. You can edit this file to change the default Apache settings. Open it with a text editor:
sudo nano /etc/httpd/conf/httpd.conf
In this file, you can modify various server settings such as ServerName
, DocumentRoot
, etc.
To host multiple websites, Apache uses virtual hosts. Virtual hosts are a child configuration that allows you to set up different domains or subdomains on the same server.
Create a new configuration file in /etc/httpd/conf.d
:
sudo nano /etc/httpd/conf.d/your_site.conf
In this configuration file, you can define parameters for your specific website:
<VirtualHost *:80>
ServerAdmin webmaster@your_site.com
ServerName your_site.com
ServerAlias www.your_site.com
DocumentRoot /var/www/your_site
ErrorLog /var/log/httpd/your_site-error.log
CustomLog /var/log/httpd/your_site-access.log combined
</VirtualHost>
Make sure DocumentRoot
points to the content directory of your website.
Make sure Apache can read the appropriate files and directories for public access.
If your site is located in /var/www/your_site
, set the correct permissions and ownership:
sudo chown -R apache:apache /var/www/your_site
sudo chmod -R 755 /var/www/your_site
These commands ensure that Apache can access your web files while maintaining secure permission sets.
After making changes to Apache's configuration files, you must restart the service for them to take effect.
sudo systemctl restart httpd
This command restarts Apache and applies all the configuration changes made in the files.
Securing your Apache installation is important to protect your server from attacks. Here are some basic steps to improve security:
Options -Indexes
is set in your configuration files.By following this detailed guide, you have successfully installed and configured Apache on Fedora. Now you are ready to leverage the power of Apache to host websites and deliver content over the Internet. Remember to keep your system updated and monitor server performance to maintain a secure and efficient environment.
If you find anything wrong with the article content, you can