Страница 1 из 1

Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-06 18:11:18
M@}{
Приветствую!
Заинтересовала система для бесплатного виртуального хостинг в виде простой связки из apache 2.2 c SUEXEC, REWRITE, и .HTACCESS. Хотел бы по этому поводу написать чтото вроде статейки, но все аспекты не потяну. Да и коллективный труд всегда более продуктивный и безопасный. Вот и хотел попросить у вас помощи и совета.
Мысль следующая:
При регистрации генерится виртуалхост с обычным содержимым для SUEXEC:

Код: Выделить всё

<VirtualHost XXX.XXX.46.130:80>
        ServerName webuser.host-46-130.free-host
        DocumentRoot /var/www/webuser/public_html
        SuexecUserGroup webuser webuser
        CustomLog /var/log/httpd-logs/webuser.host-46-130.free-host.access.log combined
        ErrorLog /var/log/httpd-logs/webuser.host-46-130.free-host.error.log
        ServerAlias www.webuser.host-46-130.free-host
        ServerAdmin admin@webuser.host-46-130.free-host
        ScriptAlias /php-bin/ /var/www/webuser/php-bin/
        ScriptAlias /cgi-bin/ /var/www/webuser/public_html/cgi-bin/
        AddHandler php-cgi .php .php3 .php4 .php5 .phtml
</VirtualHost>

Код: Выделить всё

/var/www/webuser/public_html является линком в /var/www/webuser/WWW/webuser.host-46-130.free-host
В свою очередь, webuser.host-46-130.free-host является техническим доменом, который юзеру выдается на основе логина.

REWRITE, и .HTACCESS используем для того чтобы юзер мог самостоятельно создавать дополнительные сайты просто создав в WWW:

Код: Выделить всё

/var/www/webuser/WWW/
Диры с одноименным названием с желаемым доменном, например:

Код: Выделить всё

/var/www/webuser/WWW/TEST.RU/public_html
Смысл в том, чтобы он все это мог проделать по FTP, тем самым не надо никакой панели, да и простота залог успеха.

Реврайт уже разруливает.

Код: Выделить всё

/var/www/webuser/public_html/.htaccess

Код: Выделить всё

UseCanonicalName Off
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule .? - [E=noWWWHost:%1]
RewriteCond %{REQUEST_URI} !^/~
RewriteCond %{HTTP_HOST} ^www\. 
RewriteRule ^/(.*)$ /var/www/webuser/WWW/${lowercase:%{ENV:noWWWHost}}/public_html/$1
RewriteCond %{REQUEST_URI} !^/~
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^/(.*)$ /var/www/webuser/WWW/${lowercase:%{HTTP_HOST}}/public_html/$1
Эта конфиг гдето надыбал на просторах интернета, и немного перекраил. Без SUEXEC он работает, но как .htaccess с SUEXEC не пробовал.
Еще не ясен метод по которому можно выполнять скрипты через CGI, FastCGI,
Идеальным был бы вариант через Apache itk

В общем вот такая идея, которую хотелось бы воплотить в реальность.

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-06 19:04:09
Alex Keda
воплощайте

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-07 5:36:30
Гость
можешь поставить Linux и apache2.0 там есть патч для ядра (какого не помню) и будет работать SuExec

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-07 8:49:41
serge
Гость писал(а):можешь поставить Linux и apache2.0 там есть патч для ядра (какого не помню) и будет работать SuExec
suexec и под freebsd замечательно работает.
===
to M@}{ :
Как вариант возьми и изучи работу какой-либо известной панели управления хостинг-сервером (ISPManager, DirectAdmin). Многие моменты станут понятнее и возможно отпадет необходимость в изобретении велосипеда.

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-07 9:49:34
M@}{
Как раз то и хотелось именно избавится от панели, в этом и есть суть затеи, что-то вроде этого видел раньше на рбк.
Неохота дергать каждый раз апачь, а тут все работает в реальном времени.
Охота сделать максимально секюрно.
По оводу линуха, в том же centos suexec ставится из репозитария уже с ним.
По аспектам безопасности, хотелось бы составить некий контрольный список.
Например:
Запретить шел вызовы из php скриптов

Код: Выделить всё

disable_functions = show_source, system, shell_exec, passthru, exec, popen, proc_open
Запретить видеть все процессы /etc/sysctl.conf добавить/ разкомментировать security.bsd.see_other_uids=0
Сделать отдельный класс для юзеров в /etc/login.conf

Код: Выделить всё

Юзеркласс:\
        :cputime=30s:\
        :datasize=64M:\
        :stacksize=16M:\
        :memorylocked=16M:\
        :memoryuse=64M:\
        :vmemoryuse=64M:\
        :sbsize=infinity:\
        :filesize=unlimited:\
        :coredumpsize=0M:\
        :openfiles=32:\
        :maxproc=24:\
        :requirehome:\
        :umask=022:\
        :sessiontime=300s:\
        :ignoretime@:\
        :passwordtime@:\
        :refreshtime@:\
        :idletime=30m:\
        :tc=default:
Последние пункты для FreeBSD, как все это прокрутить к Linux?

Что еще упустил?

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-07 9:58:26
serge
suhosin патч, имхо, удобнее использовать. Через него и ставить все ограничения.
===
Так же стоит учесть что при работе php как fast-cgi в апаче 2.2 и вроде 2.0 веток ограничения на лимиты юзеров через login.cong не работают. Во всяком случае нужен доп. патч для сорцов апача. Просто в 1 апаче все с этим нормально.
===
Так же как показывает практика очень нужно отслеживать потребление ресурсов проца, памяти, места на диске, трафика юзерами. Для этого тоже готовь какое-то решение.

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-08 20:59:15
M@}{
serge писал(а):suhosin патч, имхо, удобнее использовать. Через него и ставить все ограничения.
===
Так же стоит учесть что при работе php как fast-cgi в апаче 2.2 и вроде 2.0 веток ограничения на лимиты юзеров через login.cong не работают. Во всяком случае нужен доп. патч для сорцов апача. Просто в 1 апаче все с этим нормально.
===
Так же как показывает практика очень нужно отслеживать потребление ресурсов проца, памяти, места на диске, трафика юзерами. Для этого тоже готовь какое-то решение.
А не помните что за патч для apache2 c fastcgi для того чтобы работали ограничения?
И есть ли у apache-itk приемущество перед apache+suexec+fastcgi?

Re: Бесплатный хостинг Apache 2.2 c SUEXEC, REWRITE, и .HTACCESS

Добавлено: 2009-07-08 23:48:16
Alex Keda