Apache + Suexec + PHP (в режиме cgi)

Итак, нужно настроить Apache с PHP5. PHP будет работать в режиме CGI, причем процессы PHP будут выполняться с правами пользователя, что хорошо скажется для безопасности.

Ставим PHP

# cd /usr/ports/lang/php5
# make install clean

Я выбрал следующие опции (опции, которые должны присутствовать обязательно, подчеркнуты):

  • CLI
  • CGI
  • SUHOSIN
  • REDIRECT
  • DISCARD
  • FASTCGI
  • PATHINFO

Ставим Apache

Правим make.conf

PORTSDIR?=/usr/ports

.if ${.CURDIR} == ${PORTSDIR}/www/apache20
WITH_SUEXEC=yes
SUEXEC_DOCROOT="/home"
SUEXEC_USERDIR="www"
.endif

Теперь компилим и устанавливаем apache:

cd /usr/ports/www/apache20
make install clean

После того как установка закончена правим конфиг под свои нужды. В конфиге обязательно должны присутствовать и быть включены модули mod_suexec и mod_cgi:

LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule suexec_module libexec/apache2/mod_suexec.so

Настраиваем виртуальный хост следующим образом:

<VirtualHost *:80>
 SuexecUserGroup chihpih chihpih
 DocumentRoot /home/chihpih/www/chihpih.no-ip.org
 DirectoryIndex index.php index.html

 ServerName chihpih.no-ip.org
 ServerAdmin webmaster@chihpih.no-ip.org

 ErrorLog /home/chihpih/log/error.log
 #CustomLog /home/chihpih/log/access.log common

 AddHandler application/x-httpd-php .php
 Action application/x-httpd-php /php-bin/php.sh

 <Directory "/home/chihpih/www/chihpih.no-ip.org">
   Options FollowSymLinks MultiViews
   AllowOverride All
   Order allow,deny
   Allow from all
 </Directory>

 ScriptAlias /php-bin/ "/home/chihpih/php-bin/"
 <Directory "/home/chihpih/php-bin">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory>
</VirtualHost>

Далее идем в пользовательскую директорию, создаем нужные папки и даем нужные права:

# cd /home/chihpih
# mkdir www log php-bin tmp
# chmod 750 www php-bin tmp
# chown www:www log
# chmod 755 log

В директории php-bin создаем файл php.sh такого содержания:

#!/bin/sh

exec nice -n 20 /usr/local/bin/php-cgi -c "/home/chihpih/php-bin/php.ini"

Не забываем дать ему права на запуск, запрет на изменение и удаление.

# cd /home/chihpih/php-bin
# chmod 750 php.sh
# chflags schg,sunlink php.sh

Далее копируем и правим конфиг php, так же не забываем запретить изменение и удаление файла.

# cd /home/chihpih/php-bin
# cp /usr/local/etc/php.ini-dist ./php.ini
# chmod 440 php.ini
# chflags schg,sunlink php.ini

Чтобы апач мог попасть в директорию пользователя, нужно учетку www добавить в группу пользователя chihpih.

# pw groupmod chihpih -m www

Осталось только добавить апач в автозагрузку и запустить его.

# echo 'apache2_enable="YES"' >> /etc/rc.conf
# service apache2 start

Проверим запустился ли сервис:

# ps -U www
 PID  TT  STAT      TIME COMMAND
9134  ??  SJ     0:00,64 /usr/local/sbin/httpd -DSSL
9706  ??  IJ     0:00,04 /usr/local/sbin/httpd -DSSL
41807  ??  IJ     0:00,03 /usr/local/sbin/httpd -DSSL
41808  ??  IJ     0:00,02 /usr/local/sbin/httpd -DSSL
42002  ??  IJ     0:00,04 /usr/local/sbin/httpd -DSSL
42003  ??  IJ     0:00,04 /usr/local/sbin/httpd -DSSL

Как видно из вывода команды сервис запустился и функционирует. Если у вас возникли проблемы, то проверяйте конфиг и читайте логи, чтобы найти проблему. На этом все, настройка закончена.

Гость (не проверено)

If you want to take a good deal from this post then you have to apply such techniques to your won webpage.











Feel free to surf to my blog :: glucosense

Гость (не проверено)

What i don't realize is if truth be told how you are no longer actually a lot more smartly-appreciated than you may be right now.


You are so intelligent. You know thus significantly relating to this subject, made me personally imagine it from a lot of numerous angles.





Its like women and men don't seem to be fascinated except it's one thing to accomplish with Lady gaga!


Your own stuffs outstanding. At all times take care of it up!








my homepage lean drops weight loss drops

Гость (не проверено)

I do not know whether it's just me or if everyone else experiencing


problems with your blog. It appears as if some of the written text in your posts


are running off the screen. Can somebody else please comment and let me know if this is happening to them too?


This may be a issue with my web browser because I've had this


happen previously. Kudos





Here is my web-site - hepatoburn

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Яндекс.Метрика