On my web server I wanted to use a separate directory for my logs. All I needed was to configure ErrorLog and CustomLog directives and that’s it. Well, I did that only to have following error: Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
And no, there weren’t any details worth mentioning in systemctl status httpd.service
nor journalctl -xe
.
To cut long story short, after a bit of investigation I narrowed the problem to SELinux that is enabled by default on CentOS. Armed with that knowledge, I simply transferred security from default log directory to my desired location:
chcon -R --reference=/etc/httpd/logs/ ^^/var/www/logs/^^
With that simple adjustment, my httpd daemon started and my logs lived happily ever after.