Назад | Перейти на главную страницу

Настройка виртуального сервера Apache для http и https

Я знаю, что об этом уже несколько раз спрашивали, но даже после того, как пару раз прочитал ответы, я все еще не могу «понять».

У меня есть сервер, на котором запущен Apache2, и я хочу иметь возможность обслуживать два сайта с него: gitorious.myserver.com и redmine.myserver.com. Жалко нужны и http, и https (Redmine доволен только http).

Я совершенно не понимаю, что и куда ставить. Я пробовал редактировать conf.d / redmine.conf, conf.d / gitorious.conf, httpd.conf, sites-available / gitorious и sites-available / gitorious-ssl и должен признать, что все это довольно запутанно. Мне удается заставить работать некоторые вещи (например, http, но не https), но не все одновременно. Я тоже не могу понять разницу между этими файлами.

И нужно ли мне делать что-то особенное для вещей, которые я хочу разместить в sub-uri на www.myserver.com (http://www.myserver.com/phpmyadmin или https://www.myserver.com/someservice например)? Или просто создайте виртуальный сервер для этого адреса так же, как и для остальных (я так понимаю).

http.conf:

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost 192.16.160.65:443>
ServerAdmin poutmar@localhost
DocumentRoot /var/www/gitorious/public
<Directory /var/www/gitorious/public>
        Allow from all
        Options -MultiViews FollowSymLinks
</Directory>
SSLEngine on
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

<VirtualHost *:80>
ServerName gitorious.myserver.com
DocumentRoot /var/www/gitorious/public
<Directory /var/www/gitorious/public>
        Allow from all
        Options FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName redmine.myserver.com
DocumentRoot /var/www/redmine/public
<Directory /var/www/redmine/public>
        Allow from all
        Options -MultiViews FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName www.myserver.com
DocumentRoot /var/www
<Directory /var/www/>
        Allow from all
        Options FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost *:443>
ServerName www.myserver.com
DocumentRoot /var/www
<Directory /var/www>
        Allow from all
        Options FollowSymLinks
</Directory>
SSLEngine on
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

ports.conf:

Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Я не понимаю комментарий в ports.conf.

Для описанной вами установки вам понадобятся:

Для других веб-приложений (например, упомянутого phpMyAdmin) вы можете просто использовать Псевдонимes on www.example.com.