Update the system: Run sudo yum update -y or sudo dnf update -y to ensure the system is up-to-date; 2. Install Apache: Use sudo yum install httpd -y or sudo dnf install httpd -y to install the web server; 3. Start and enable services: execute sudo systemctl start httpd and sudo systemctl enable httpd to ensure the power starts automatically; 4. Configure the firewall: If firewalld is enabled, run sudo firewall-cmd --permanent --add-service=http --add-service=https and sudo firewall-cmd --reload to open ports; 5. Test server: Visit http://your_server_ip in the browser to view the default Apache page; 6. Set permissions: It is recommended to execute sudo chown -R apache:apache /var/www/html/ and sudo chmod -R 755 /var/www/html/ to ensure correct permissions; 7. Configure Apache: edit /etc/httpd/conf/httpd.conf to modify ServerName and DocumentRoot settings, and restart the service after completion; 8. View log: If you encounter problems, use sudo tail -f /var/log/httpd/error_log to check for errors. Apache has been successfully installed and run on the CentOS system.
Installing Apache (also known as httpd ) on CentOS is a straightforward process, especially if you're using a modern version like CentOS 7, 8, or Stream. Here's a step-by-step guide to get Apache up and running.

1. Update Your System
Before installing any software, it's a good idea to update your system packages:
sudo yum update -y
Note: On CentOS 8 and later,
dnf
is used instead ofyum
, butyum
still works as an alias.
2. Install Apache (httpd)
Use the package manager to install the Apache web server:
sudo yum install httpd -y
Or on newer versions (CentOS 8 /Stream):

sudo dnf install httpd -y
This installs the Apache HTTP server and its dependencies.
3. Start and Enable Apache Service
Once installed, start the Apache service and enable it to launch at boot:
sudo systemctl start httpd sudo systemctl enable httpd
To check if it's running:
sudo systemctl status httpd
You should see active (running)
in the output.
4. Configure Firewall (if enabled)
If you have firewalld
enabled (common by default), you need to allow HTTP (port 80) and optionally HTTPS (port 443):
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
If you're using a cloud server (like AWS, GCP), also ensure the security group allows inbound traffic on port 80.
5. Test the Web Server
Open a web browser and go to your server's public IP address or domain:
http://your_server_ip
You should see the default Apache test page (eg, "Test Page" or "CentOS HTTP Server").
6. Set Correct Permissions and Ownership (Optional but Recommended)
By default, Apache serves files from /var/www/html
. If you plan to host your own website:
- Place your files in
/var/www/html/
- Set proper ownership and permissions:
sudo chown -R apache:apache /var/www/html/ sudo chmod -R 755 /var/www/html/
Replace
apache
withwww-data
on some systems, but CentOS usesapache
.
7. Configure Apache (Basic Settings)
Edit the main configuration file if needed:
sudo nano /etc/httpd/conf/httpd.conf
Common changes:
-
ServerName your_domain.com
-
DocumentRoot "/var/www/html"
- Adjust directory permissions
After making changes, restart Apache:
sudo systemctl restart httpd
8. Check for Errors
If something isn't working, check the logs:
sudo tail -f /var/log/httpd/error_log
Or access log:
sudo tail -f /var/log/httpd/access_log
Summary
- ? Update system
- ? Install
httpd
- ? Start and enable Apache
- ? Open firewall ports
- ? Test in browser
- ? Secure permissions and customize as needed
That's it — Apache is now installed and running on your CentOS system.
Basically just a few commands and you're serving web pages.
The above is the detailed content of How to install Apache on CentOS. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In Linux system, using the usermod command to add users to the secondary group is: 1. Execute the sudousermod-a-G group name username command to add, where -a means append to avoid overwriting the original secondary group; 2. Use groups username or grep group name /etc/group to verify whether the operation is successful; 3. Note that the modification only takes effect after the user logs in again, and the main group modification should use the -g parameter; 4. You can also manually edit the /etc/group file to add users, but be careful to avoid system abnormalities caused by format errors.

To migrate from CentOS8 to AlmaLinux or RockyLinux, follow the clear steps. First, choose AlmaLinux (suitable for long-term enterprise support) or RockyLinux (emphasizing exactly the same as RHEL) according to your needs. Secondly, prepare the system environment: update the software package, back up key data, check third-party repositories and disk space. Then, the conversion is automatically completed using the official migration script. RockyLinux needs to clone the repository and run the switch-to-rocky.sh script. AlmaLinux replaces the repository and upgrades with one click through the remote deployment script. Finally, verify system information, clean up residual packets, and update GRUB and ini if ??necessary

To correctly install the local RPM file and handle dependencies, you should first use dnf to install it directly, because it can automatically obtain the required dependencies from the configured repository; if the system does not support dnf, you can use yum's localinstall command instead; if the dependency cannot be resolved, you can manually download and install all related packages; finally, you can also forcefully ignore the dependency installation, but this method is not recommended. 1. Use sudodnfinstall./package-name.rpm to automatically resolve dependencies; 2. If there is no dnf, you can use sudoyumlocalinstall./package-name.rpm; 3. Force installation and execute sudorpm-ivh--nod

How to set a static IP address using nmcli on CentOS8 or 9? 1. First run the nmcliconnectionshow and ipa commands to view the current network interface and its configuration; 2. Use the nmcliconnectionmodify command to modify the connection configuration, specify parameters such as ipv4.methodmanual, ipv4.addresses (such as 192.168.1.100/24), ipv4.gateway (such as 192.168.1.1), and ipv4.dns (such as 8.8.8.8). 3. Run the nmcliconnectiondown and up commands to restart the connection to make the changes take effect, or

The current running mode of SELinux can be viewed through the command line. Use getenforce command to directly display the current status, and the output is Enforcing, Permissive or Disabled; view the /etc/selinux/config file to know the default startup mode; temporarily change the mode can be setenforce1 (enforcing) or setenforce0 (permissive), but restore the configuration file settings after restart; in actual applications, you need to pay attention to service compatibility issues, and switch modes to troubleshoot problems if necessary.

Installing and configuring fail2ban on CentOS is not complicated, it mainly includes the following steps: 1. Install fail2ban using yum; 2. Manually enable and start the service; 3. Create a jail.local file for custom configuration; 4. Set SSH defense rules, including enabling sshd, specifying the blocking time and retry times; 5. Configure firewalld as an action actuator; 6. Regularly check the blocking IP and logs. Fail2ban detects abnormal login behavior through monitoring logs and automatically blocks suspicious IPs. Its core mechanism relies on key parameters such as bantime (banned time), findtime (statistic window time) and maxretry (maximum failure number).

AminimalinstallofCentOSisalightweightsetupthatincludesonlyessentialcomponents,makingitidealforserversorsystemsrequiringfullcontrol.Itcontainscoreutilitieslikebash,yum/dnf,networkingtools,andsecuritypackages,whileexcludingdesktopenvironments,webserver

KernelCare and kpatch are both tools for implementing hot patches in the Linux kernel, but the applicable scenarios are different. 1. KernelCare is a commercial service that supports CentOS, RHEL, Ubuntu and Debian, automatically applies patches without restarting, and is suitable for hosting service providers and enterprise production environments; 2. kpatch is an open source tool developed by Red Hat. It is based on the ftrace framework and requires manual construction of patch modules. It is suitable for RHEL and compatible systems, and is suitable for organizations that need to finely control the patch process or use customized kernels. When choosing, automation requirements, system distribution, whether official support is required, and the degree of control over open source tools should be considered. Neither of them can fix all vulnerabilities, some still need to be restarted, and
