Хорошо, проблема представлена так:
Так что в основном мне нужно разместить www.example.com, wwww.example2.com, а также поддомены для пары пользователей-разработчиков user1.example.com и user2.example2.com. Вдобавок к этому www.example.com также должен будет использовать порт 443.
Я видел много предложений, но ни один из них не работал. Может, мне просто нужно заполнить здесь пробелы, которые действительно будут работать?
Listen ???
NameVirtualHost ???
<VirtualHost ???>
DocumentRoot /home/user1/example.com
ServerName user1.example.com
ErrorLog logs/user1.example.com-error_log
CustomLog logs/user1.example.com-access_log common from all
<Directory "/home/user1/example.com/public">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost ???>
DocumentRoot /home/user2/example.com
ServerName user2.example.com
ErrorLog logs/user2.example.com-error_log
CustomLog logs/user2.example.com-access_log common from all
<Directory "/home/user2/example.com/public">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost ???>
DocumentRoot /home/www/example.com
ServerName www.example.com
ErrorLog logs/www.example.com-error_log
CustomLog logs/www.example.com-access_log common from all
<Directory "/home/www/example.com/public">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
# Entry for 443
<VirtualHost 67.23.39.254:443>
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/httpd/conf/ssl/example/www.example.com.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/example/example.key
SSLCertificateChainFile /etc/httpd/conf/ssl/example/gd_bundle.crt
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
DocumentRoot /home/www/example.com
ServerName www.example.com
</VirtualHost>
То же самое и с example2.com. Example2.com может использовать другой сертификат ssl, чем example.com, который, как я знаю, вероятно, потребует второй IP-адрес, но, возможно, кто-то здесь может посоветовать.
Наверное, проще всего будет использовать *
в качестве IP для виртуальных хостов, например:
Listen 80
Listen 443
NameVirtualHost *:80
<VirtualHost *:80>
ServerName user1.example.com
# config for user1.example.com here as in your config...
</VirtualHost>
# repeat lines above as many times as you need
# For SSL:
<VirtualHost 123.123.123.123:443>
....
</VirtualHost>