Хостинг на LinuX
Настройка хостинга для пользователей сети.
Довольно примитивный, потому как для домашней сети врядли понадобится большее.
Вобщем громко сказано - ХОСТИНГ
просто дополнительный бонус для юзверей, может быть и платный, кому как повезёт
:)

Будем делать места для размещения сайтов юзверей с поддержкой CGI+HTML+PHP

Я это делал на LinuX RedHat 7.2

Нам понадобится:
1. Apache - вебсервер, ессессно под линух
2. PHP - для обработки оного
3. Proftpd - фтп сервер для линуха
4. Линуксовый сервер, эта статья :)


Где это всё брать?
Apache - http://www.apache.lexa.ru
PHP - http://www.php.net/downloads.php
Proftpd - http://www.proftpd.net - можно отсюда , а тут квоты есть.

MySQL - http://www.mysql.com качаем rpm'ку, чтобы не мучаться, хотя бывает и наоборот.

Версии? Я брал
Apache_1.3.26
PHP-4.2.1
Proftpd-1.27
MySQL-3.23.53a

Приступим, убедясь что файлы:
php-4.2.3.tar.gz
apache_1.3.26rusPL30.15.tar.gz
proftpd-1.2.6.tar.gz

лежат в папке /installs
 
cd /installs
rpm -i mysql-3.23.53a.rpm //или с версией
rpm -i mysql-client-3.23.53a.rpm
rpm -i mysql-devel-3.23.53a.rpm

ставим пароль и всё.
 
cd /installs
gunzip apache_1.3.26rusPL30.15.tar.gz
tar -xvf apache_1.3.26rusPL30.15.tar
cd apache_1.3.26rusPL30.15
./configure -- prefix=/www --enable-module=so
make
make install
cd ..
gunzip php-4.2.1.tar.gz
tar -xvf php-4.2.1.tar
cd php-4.2.1
./configure --with-mysql --with-apxs=/www/bin/apxs
make
make install
cp php.ini-dist /usr/local/lib/php.ini


теперь залазим в /www/conf/httpd.conf и добавляем:
 
AddType application/x-httpd-php .php .php3 .phtml
LoadModule php4_module libexec/libphp4.so
 
cd /
gunzip proftpd-1.2.6.tar.gz
tar -xvf proftpd-1.2.6.tar
cp /mod_quota.c /proftpd-1.2.6/modules
cd proftpd-1.2.6
./configure --prefix=/ftp --with-modules=mod_quota 

/*если качали отсюда, то всё ок, если нет, то ищите mod_quota.c и дерзайте. Можно и без него. Он позволяет
ограничивать размер места на диске, т.е. то что юзверь может закачать под видом сайта*/

make
make install
cd /ftp/etc

и правим proftpd.conf

Я у себя удалил в нём возможность подключения под Anonymous

group ftp //ну или какой там нужен...
user ftp
DefaultRoot ~ //Это означает, что каждый коннектящийся будет попадать только в свою домашнюю директорию. Шаг вправо, шаг влево - расстрел :) Он просто не может выйти.

Далее можем прописать лимиты на дисковое пространство. Но для ентого надобно чтобы линух сам поддерживал квоты.

При конфиге ядра просто выставить: Quota support (CONFIG_QUOTA) [n] y

А вобще-то при установке линуха оно уже есть и страдать не нужно.

Меняем файл /etc/fstab: в первой строке или где там нужно (для какого раздела) после defaults через запятую пишем usrquota. Т.е. так: defaults,usrquota.

перезагружаем.... пишет про сбой.

quotacheck -mvf /

вот после ентой перезагрузки всё должно работать

Теперь в /ftp/etc/proftpd.conf можно прописать:
 
Quotas On
DefaultQuota 1048576 //в байтах

Теперь правим /etc/defaults/adduser чтобы по умолчанию домашняя директория создаваемого юзверя была /www/htdocs/
 
adduser kvazar
passwd kvazar и вводим пароль для ентого юзверя
chmod 777 /www/htdocs/kvazar

Создаём в /www/htdocs/kvazar папку cgi-bin
chmod 777 /www/htdocs/kvazar/cgi-bin

И соответственно на каждую cgi-bin в /www/conf/httpd.conf прописываем
Options ExecCGI
Order allow,deny
Allow from all

Пробуем!
/www/bin/apachectl start
/ftp/bin/proftpd
если всё работает, значит радуемся :)

и не забываем про безопасность, хотя бы open_basedir, чтобы пользователь не мог ходить в другие места, кроме отведенных ему
Quarcel
2004-08-09 13:37:00
Avatar
Надо добавить, что нужно следить за правами доступа, надо чтоб пользователь не мог ничего читать(а уж тем более писать) вне своей папки
Ви маєте увійти під своїм обліковим записом

loading