2016-03-08 2 views
3

Когда я хочу, чтобы перезапустить HTTPd searvice на CentOS 6.7 У меня есть следующее сообщение об ошибке:Разрешение отказано: HTTPD: может не лог-файл открыт ошибка/и т.д./HTTPD/Журналы/error_log

/etc/init.d/httpd restart 
Stopping httpd:           [FAILED] 
Starting httpd: (13)Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log. 
Unable to open logs 
                  [FAILED] 

Это error_log:

ls -Z /etc/httpd/logs/error_log 
-rw-r--r--. root root unconfined_u:object_r:var_t:s0 /etc/httpd/logs/error_log 

I отключен selinux тоже.

В чем проблема?

ответ

3

httpd работает, вероятно, как пользователь apache или пользователем httpd. Ваш журнал принадлежит и доступен только для записи на root. Измените право собственности на свой файл журнала, чтобы сделать эту работу.

Это должен сделать трюк:

~# chown apache.apache /etc/httpd/logs/error_log 
1

Вероятно, вы должны изменить группу этого Forder к апачу, не рекомендуется иметь корень в качестве владельца сервера вещи. В любом случае апач должен изменить это самостоятельно после того, как HTTP начинается ...

От 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.

В качестве возможного решения, вы должны добавить себя в группу апача

usermod -a -G apache (username) 

Тогда:

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

В любом случае это странно ... скажите, если это решит вашу проблему, если это не я буду редактировать его до тех пор, пока вы предоставляете мне дополнительную информацию :)

+0

Это CentOS, так что я думаю, что у нас нет 'www-data'. – MLSC

+1

@MLSC Затем измените www-данные для apache, как указано в фрагменте wiki httpd – Asur

-1

Просто запустите его как супер-пользователь:

service httpd start 

Starting httpd: (13)Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log.

Unable to open logs [FAILED]

sudo service httpd start 

Starting httpd: [ OK ]

+0

Пожалуйста, нет, не запускайте apache как root, это решает описанную проблему, но является угрозой безопасности и будет хуже – chrisweb