Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: ivo3d в Jul 17, 2012, 14:58



Титла: CentOS 6.3 Apache виртуални хостове
Публикувано от: ivo3d в Jul 17, 2012, 14:58
Здравейте,

тъй като сме решили да мигрираме няколко проекта на облачен хостинг, който препоръчва използването на CentOS 6 (.3), тръгнах да правя разни тестове в dev виртуалките. Досега винаги съм ползвал ubuntu server, срещнах някои проблеми, с които що годе се оправих, обаче виртуалните хостове ме изядоха. Та:

В /etc/httpd направих директория vhosts.d, която се зарежда в httpd.conf. Тъй като (поне на dev машините) предпочитам потребителят на apache-то да е потребител, който може да се логва, съм сменил потребителия и групата в httpd.conf (например webuser:webuser). Document root-овете са в /home/webuser/www/ като структурата за всеки проект е нещо такова: project.dev/public_html. Сега, не знам това колко е добре, поне ubuntu dev машините го правех така, защото сигурността в случая не е важна, не съм сигурен дали е добре по същия начин с потребителите да работи и като production.

И тук дойде проблемът - при стартиране на apache, получавам грешка за хостовете - "documentroot does not exist", като съм сигурен, че пътищата същестуват. Това, което разбрах е, че проблемът е заради SElinux. Не съм работил досега с това животно, но като го изключих, apache-то тръгна. Доколкото разбрах на production машина изобщо не е добре да се спира, затова бих искал да разбера как мога да накарам apache-то да получи достъп до тези директории. Опитах някакви неща с chcon, които прочетох, но не се получи.

Благодаря :)


Титла: Re: CentOS 6.3 Apache виртуални хостове
Публикувано от: mrowcp в Jul 18, 2012, 00:58
Ще береш бая ядове с този SELinux :) И аз в началото като смених Slack-а с Cent, трябваше да отделям по няколко часа докато подкарам дадено нещо, заради тоя SELinux.

За апачето и СЕЛинукса може да видиш тук ($2)

П.С. До колкото знам, хич не е добра идея апаче юзъра да може да се логва на машината ти.При най-малката "дупка" в някой от сайтовете, ако се експлойтне, те пуска с юзъра на апачето и ще може да си смениш паролата и да го ползваш като реален ssh юзър (не, че като няма ssh е проблем де :) ).


Титла: Re: CentOS 6.3 Apache виртуални хостове
Публикувано от: gryzli в Jul 28, 2012, 14:59
Сигурно са имали в предвид, че на production машина не е добре въобще да се пуска selinux-a


Титла: Re: CentOS 6.3 Apache виртуални хостове
Публикувано от: Ali Nebi в Jul 28, 2012, 21:10
Здравей,

не е добра идея да сменяш главния потребител на апаче в httpd.conf. Ще имаш проблеми със всичко, което се  опитва да пише в директории, които имат сетнати като owner и group апаче потребителя.

Затова е по-добре да оставиш апаче да се пуска с apache, www-data, etc. потребител и ползвай модули като mod_fcgid, mod_suphp, mod_itk, etc., за да си пускаш виртуалните хостове да работят под друг потребител, който ти искаш. Така е най-безопасно и имаш контрал над нещата.

Доколкото до SELinux, ако нямаш познания за него, то е подобре да го пуснеш в permissive mode или да го спреш изцяло, защото ще ти създава проблеми ако контекста на файловете и директориите не е правилен. SELinux на production само за хора, които имат добри познания за него. Поне така си мисля аз.

Надявам се да съм бил полезен.