IT-Expert
  IT-Expert / Веблог / Запуск fastcgi от конкретного юзера (suexec) на Apache 1.3.x
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 
      Лента подкастов IT-Expert IT-Expert audiopodcasts

      Запуск fastcgi от конкретного юзера (suexec) на Apache 1.3.x

      11:07, 8 октября 2006 ( Administration Web Development FreeBSD Security Ruby Rails  )

      Так сложилось исторически, что большое количество проектов на хосте уже давно и стабильно работает под Apache 1.3. Назревает необходимость перехода на Apache 2.x в виду того, что  хочется:

      1. попробовать subversion с http (возможно webdav)
      2. попробовать mongrel с mod_proxy_balancer

      Но это на будущее, а пока же требуется просто правильно настроить существующий Apache на поддержку нескольких проектов на rails.

      Подразумеваем, что Apache у вас собран с опцией suexec, которая делает запуск экземпляра конкретного сайта под соответствующим пользователем и группой.

      Добавляем в конец httpd.conf две строки, первая будет считывать конфигурацию для виртуальных хостов, вторая задает конфигурацию fastcgi. 

      Include /usr/local/etc/apache/vhosts.conf
      Include /usr/local/etc/apache/fastcgi.conf


      К примеру, мы хотим осуществлять запуск сайта chieftec.kiev.ua под пользователем chieftec и группой suwww. Здесь следует заметить, что при компиляции apache с suexec задаются такие параметры как suexec uid и suexec guid, это те числа, свыше которых id группы и id юзера могут служить для запуска suexec. Другими словами юзер www и группа www в нашем случае не могут быть suexec юзером и группой.

      --------------- vhosts.conf -------------------

      NameVirtualHost *:80 

      <Directory "/www/*/public"> ## у меня все веб-проекты в /www/
              Options FollowSymlinks
              AllowOverride All
              Order allow,deny
              Allow from all
          </Directory>

      <Virtualhost *:80>
          ServerAdmin nexus@mp.kiev.ua
          DocumentRoot /www/chieftec.com.ua/public
          ServerName  chieftec.kiev.ua
          ServerAlias www.chieftec.kiev.ua
          User        chieftec
          Group       suwww
          ErrorLog /www/chieftec.com.ua/log/error.log
          CustomLog   /www/chieftec.com.ua/log/access.log combined
      </VirtualHost>
      ----------- end: vhosts.conf ---------------

      ----------- fastcgi.conf ----------------------- 

      <IfModule mod_fastcgi.c>
        AddHandler fastcgi-script .fcgi .fpl .rb
        FastCgiConfig -idle-timeout 900 -minProcesses 2 -maxProcesses 10
        FastCgiIpcDir /tmp/fastcgi_ipc/
        FastCgiSuexec /usr/local/sbin/suexec
      </IfModule> 

      ----------- end: fastcgi.conf ----------------

      Ну да, и не забудьте выставить правильного пользователя и группу на каталог сайта. Ну и не забыть chown -R  www:www /tmp/fastcgi_ipc (это если сам апач стартует под пользователем www:www).

      Ежели все прошло правильно, то в процессах будут болтаться fastcgi экземпляры. 

      root@webber:/usr/local/etc/apache# ps -axu | grep rub
      chieftec 55303  0,2  2,6 28628 26936  ??  S    пт14      0:01,84 /usr/local/bin/ruby18 dispatch.fcgi
      zagorod  55258  0,0  2,7 37176 28088  ??  I    пт14      0:10,94 /usr/local/bin/ruby18 dispatch.fcgi
       


      Оставить комментарий
      © Максим Прокопов 2005-2016 О сервере