Intereting Posts
Python под uWSGI создает файлы и каталоги с неправильными разрешениями Почему у шпилька за nginx с ssl на 88% медленнее, чем у пушки? PyInstaller не будет устанавливать, Python 3.6.0a4 и x64 Windows Как я могу определить .pdbrc на Windows-машине? Git не удалось запретить разрешение файла Я хочу запустить exe-файл с помощью планировщика задач с использованием объекта групповой политики Подавать статический контент на веб-сервере и динамический контент в tomcat по-прежнему является хорошей практикой производительности? Chrome не работает после установки JDK Не удалось найти оболочку «https» – вы забыли включить ее при настройке PHP? Отправлять уведомление по электронной почте, если использование ЦП постоянно превышает определенную сумму Решение проблемы IBus – IBus до 1.5.11 может привести к проблемам ввода Пример распознавания речи и синтеза речи не работает при развертывании на IoT версии 10.0.10586 Сценарий оболочки для удаления строки из файла .gz Как я могу определить, работает ли мое приложение в режиме совместимости? Add-DhcpServerv4Reservation FullyQualifiedErrorId: WIN32 1753

Как можно отправить apache по электронной почте?

У меня есть виртуальная машина CentOS 6.2 с Apache 2.2 и PHP 5.3, которую я пытаюсь отправить по электронной почте с помощью функции mail () PHP. Я могу отправлять электронную почту с CLI без проблем, но когда PHP пытается это сделать. В журнале sendmail указано следующее:

Oct 9 11:42:03 localhost sendmail[3080]: NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied 

Кажется, у Apache нет разрешения на это, но я не уверен, как это исправить. Я нашел много дискуссий об этом, но ничего конкретного достаточно для того, что я делаю, что я мог бы использовать. Любая помощь будет оценена по достоинству. Благодаря!

Сначала вы должны проверить правильность разрешения. Ниже приведено разрешение в моей системе

# ls -l /usr/sbin/sendmail.sendmail -r-xr-sr-x root smmsp /usr/sbin/sendmail.sendmail

# ls -l /var/spool/clientmqueue drwxrwx--- smmsp smmsp /var/spool/clientmqueue

Если ваши права или право собственности неверны, измените его с помощью chown и chmod.

Если приведенное выше право, отключите selinux или если вы хотите, чтобы selinux разрешил использовать chcon для установки правильного контекста selinux.

http://docs.fedoraproject.org/en-US/Fedora/13/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-SELinux_Contexts_Labeling_Files.html

Для отключения selinux временно используйте #setenforce 0

Selinux может вызвать проблему, проверить запуск:

 getsebool -a | grep mail 

Если он отображается ниже, это selinux:

 allow_postfix_local_write_mail_spool --> off 

Вы можете отключить его, но если вы хотите его сохранить (и вы должны, поскольку он обеспечивает дополнительный уровень безопасности), вы должны сделать что-то еще:

 setsebool -P httpd_can_sendmail on 

Это позволит httpd отправлять электронную почту, как при использовании php mail ().

Ненавижу это, но ни одно из решений здесь не работало. Я очень мало знаю о SELinux, но в итоге я обнаружил проблему с этим (на CentOS 6):

 getsebool httpd_can_sendmail 

Который сказал мне, что он отключен. Исправлено:

 setsebool httpd_can_sendmail 1 

Вы можете включить SELinux.

http://selinuxproject.org/page/Main_Page

Вы можете проверить статус SELinux, выполнив:

sestatus

Вы должны увидеть что-то вроде:

 SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted 

Вы можете временно отключить SELinux через:

 echo 0 >/selinux/enforce 

и обратно

 echo 1 >/selinux/enforce 

Если вы делаете темп. выключите его, не устанавливайте RPM или не вносите изменения. Я считаю, что это может привести к проблемам с повторным включением.

Если вы хотите окончательно отключить SELinux, попробуйте:

https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-Enabling_and_Disabling_SELinux.html

 getsebool -a | grep mail allow_postfix_local_write_mail_spool --> off setsebool -P httpd_can_sendmail on 

Эта команда работает для меня.