Недавно попросили меня выделить место на сервере под сайт. Пользователь должен был заходить на сервер по FTP и там держать все свои файлы, включая скрипты сайта и т.д. Но доступа далее своего домашнего каталога он иметь не должен — для безопасности самого сервера.
Все оказалось намного проще,чем я думал. Для этого:
1) создаем на сервере требуемого пользователя
useradd -m our_user
2) задаем пароль ему же
passwd our_user
3) редктируем файл /etc/apache2/httpd.conf
добавляем туда строчки
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName имя_сервера
ServerAlias www.имя_сервера
DocumentRoot /home/our_user/
ErrorLog /var/log/apache2/error_имя_сайта.log
DirectoryIndex index.php index.html
</VirtualHost>
4) перезапускаем Апач
/etc/init.d/apache2 reload
Вуаля! Теперь юзер по FTP может заливать себе в папку любую CMS и он будет доступен по настроенному адресу имя_сайта. Домашняя папка пользователя является корневой сайта.