У меня есть выделенный сервер, на котором у меня есть сайт http://www.example.com
Мне нужно создать пользователя и:
У меня нет cPanel. Я использую RHEL5 / CentOS
Edit1
В httpd.conf я добавил это:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost *:80>
ServerName david.example.com
DocumentRoot /home/david/public_html
</VirtualHost>
<VirtualHost *:80>
ServerName matthew.example.com
DocumentRoot /home/matthew/public_html
</VirtualHost>
И убедился, что соответствующие папки существуют с 755 разрешениями.
Сейчас у меня есть доступ к основному сайту, но не к subdomain.example.com.
Ты используешь mod_userdir для настройки public_html и каталогов, которые позволяют пользователям иметь веб-сайты на вашем компьютере.
Если вам это нужно только для одного пользователя, вы также можете настроить простой виртуальный хост для этого каталога. НАПРИМЕР:
Listen 80
NameVirtualHost *
<VirtualHost *>
ServerName www.yourdomain.com
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost *>
ServerName subdomain.yourdomain.com
DocumentRoot /home/username/public_html/
</VirtualHost>
Если у вас есть несколько имен пользователей, для которых вы хотите создать VirtualHosts, у вас есть несколько вариантов. Первый - явно записать их в httpd.conf. Во-вторых, использовать mod_rewrite для поиска неизвестных имен хостов и перевода их в каталог пользователя по умолчанию. http://yourhostname.com/~username/.
Это позаботится о веб-аспекте. Для аспекта FTP такой демон, как ProFTPd DefaultRoot заботится о доступе к каталогу пользователя по FTP. Для DNS вы можете создать подстановочный знак A, чтобы указать * .yourdomain.com на IP-адрес вашего сервера.
В качестве примечания: отредактируйте этот вопрос, указав информацию, которую вы предоставили по вашему вопросу в StackOverflow (и в конечном итоге была перенесена на ServerFault), чтобы у нас не возникало повторяющихся вопросов. Спасибо!