Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log apache apache

Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log


httpd probably runs as user apache or user httpd. Your log is owned and only writable by root. Change ownership of your log file to make this work.

This should do the trick:

~# chown apache:apache /etc/httpd/logs/error_log  


Probably you should change the group of that forder to apache, it's not recommended to have root as owner of server stuff. Anyway apache should change that on his own after http starts...

From httpd Wiki:

Before we start, we need to be aware that the Apache HTTP server (httpd) runs as a particular user and group.

On Linux as well as most other Unix-like systems, httpd is started as the "root" user; UID=root, GID=root. This is necessary because only this user can bind to port 80 and 443 (anything below 1024 in fact).

After http starts and binds to its ports (defined by the Listen statments in httpd.conf), it changes user to that specified in httpd.conf. Typically:

User: apache
Group: apache

Note that Debian based systems, including Ubuntu, use "www-data" instead.

As a possible solution you should add yourself into the group apache

usermod -a -G apache (username)

Then:

chgrp apache (folderPath)chmod g+rwxs (folderPath)  

Anyway that's weird... tell me if this solved your issue, if it didn't I will edit it as long as you provide me further information :)


In CentOS 7

Try disabling SElinux and then reboot then

systemctl restart httpd

Note: never leave SElinux disabled. If the problem is solved then enable(enforce) it and then enable httpd in SElinux

https://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/