Настройка хостинга для пользователей сети.
Довольно примитивный, потому как для домашней сети врядли понадобится большее.
Вобщем громко сказано - ХОСТИНГ
просто дополнительный бонус для юзверей, может быть и платный, кому как повезёт
:)
Будем делать места для размещения сайтов юзверей с поддержкой CGI+HTML+PHP
Я это делал на LinuX RedHat 7.2
Нам понадобится:
1. Apache - вебсервер, ессессно под линух
2. PHP - для обработки оного
3. Proftpd - фтп сервер для линуха
4. Линуксовый сервер, эта статья :)
Где это всё брать?
Apache -
http://www.apache.lexa.ruPHP -
http://www.php.net/downloads.phpProftpd -
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, чтобы пользователь не мог ходить в другие места, кроме отведенных ему
You should to log in