Субдомен Apache перенаправляет на основной домен

У меня есть сервер Apache, который я пытаюсь настроить, да, я использую новейшую версию. Я хочу, чтобы основной домен был веб-сайтом, а затем я хочу создать дополнительный домен в качестве форума для участников. У меня есть настройка поддомена, и у меня также есть настройка файла conf внутри каталога apache и т. Д. Я не знаю, что я делаю неправильно, он просто перенаправляет меня на главную страницу моего сайта вместо того, чтобы перейти на страницу .html, которую я настроил для тестирования.

Вот код моего .conf файла:

<VirtualHost *:443>
    # ServerName forum.example.com

    ServerAdmin root@example.com
    ServerName forum.example.com
    ServerAlias forum.example.com
    DocumentRoot /var/www/forum.example.com

    <Directory /var/www/forum.example.com>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    # ServerName forum.example.com

    ServerAdmin root@example.com
    ServerName forum.example.com
    ServerAlias forum.example.com
    DocumentRoot /var/www/forum.example.com

    <Directory /var/www/forum.example.com>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

У меня нет файла .htaccess AFAIK

0
задан 12 December 2017 в 05:45

1 ответ

Хорошо ... наконец-то разобрались с проблемами ... заставили его работать

прежде всего на вашем хосте dns ... вам нужно добавить запись для вашего имени сервера Я использую namecheap.com .. Я добавил A + Dynamic DNS Record с хостом john и моим IP-адресом ... так же, как моя запись A для www ... Я предполагаю, что это просто стандарт A Record где-нибудь еще

, как только это было там. ... может пройти некоторое время, прежде чем вы действительно сможете пропинговать его, как только сможете ... вам будет хорошо, если все остальные настройки были правильными

Хорошо, теперь для файлов конфигурации, которые я использовал ... Я создал два в sites-available ..

Первый из них был назван 001-john.conf. Я обнаружил, что важно иметь конец файла в .conf, иначе вы не сможете использовать команду, которая, казалось, решит проблему.

В этой конфигурации я добавил следующее:

<VirtualHost *:80>
    ServerAdmin webmaster@mysite.com (of course you would use your domain name instead of mysite.com)
    ServerName john.mysite.com
    ServerAlias john.mysite.com
    DocumentRoot /web/john (of course you would make the root the path to the folder where the files are stored)

<Directory />
    Options FollowSymLinks ExecCGI
    AllowOverride ALL
</Directory>
<Directory /web/john/>
            Options ExecCGI FollowSymLinks Includes Indexes (or whatever directives you want)
            AllowOverride ALL
            order allow,deny
            allow from all
</Directory>

ScriptAlias /cgi-bin/ /web/plus/cgi-bin/  (if you wanted to create a cgi bin use your correct path for this)
<Directory "/web/plus/cgi-bin">
    AllowOverride ALL
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>
ErrorLog /var/log/apache2/errorjohn.log
CustomLog /var/log/apache2/accessjohn.log combined
</VirtualHost>

второй файл конфигурации был для ssl, и я назвал его 001-john-ssl.conf Он выглядел так:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin webmaster@mysite.com
        ServerName john.mysite.com
        ServerAlias john.mysite.com
        DocumentRoot /web/john

<Directory />
    Options FollowSymLinks
    AllowOverride ALL
</Directory>

<Directory /web/john/>
    Options Indexes FollowSymLinks Includes MultiViews ExecCGI
    AllowOverride ALL
            Require all granted
</Directory>


ScriptAlias /cgi-bin/ /web/plus/cgi-bin/
<Directory "/web/plus/cgi-bin">
    AllowOverride ALL
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>




    LogLevel warn
    ErrorLog /var/log/apache2/errorjohn.log
    CustomLog /var/log/apache2/accessjohn.log combined

   SSLEngine on
   SSLProtocol all -SSLv2
   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
   SSLCertificateFile    /etc/apache2/ssl/your.crt file
   SSLCertificateKeyFile /etc/apache2/ssl/your.key file
   SSLCACertificateFile /etc/apache2/ssl/your.ca-bundle
   SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</VirtualHost>
</IfModule>

Как только все это было сохранено, я запустил

sudo a2ensite 001-john.conf

и

sudo a2ensite 001-john-ssl.conf

Затем я запустил

sudo service apache2 reload

Затем, чтобы проверить, есть ли у них оба .. который до этого не делал раньше ... Я просто создал ссылки с сайта, доступного на сайт с поддержкой ... это, похоже, не работает для меня, но после запуска a2ensite с файлами, помеченными расширением .conf .. Я запустил apachectl -t -D DUMP_VHOSTS и имел этот результат:

VirtualHost configuration:
*:443                  is a NameVirtualHost
         default server mysite.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2)
         port 443 namevhost mysite.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2)
         port 443 namevhost john.mysite.com (/etc/apache2/sites-enabled/001-john-ssl.conf:2)
                 alias john.mysite.com
*:80                   is a NameVirtualHost
         default server mysite.com (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost mysite.com (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost john.mysite.com (/etc/apache2/sites-enabled/001-john.conf:1)
             alias john.mysite.com

** как примечание .. мой исходный сайт находится в каталоге /web/public, а сайт поддоменов расположен в /web/john ... так как ваш был расположен в /var/www/html Я бы, вероятно, использовал что-то вроде /var/www/forum для вашей папки поддоменов для хранения файлов вашего форума, и я бы использовал forum.yoursite.com в качестве ServerName и ServerAlias, но, надеюсь, на примере вы увидите формат и настройку всего .

Как только записи DNS были обновлены из namecheap. Я смог получить доступ к john.mysite.com, и там отобразился бы простой файл «в стадии разработки», и если бы я просто зашел на www.mysite.com, он бы дал мне моя обычная страница, которая была настроена некоторое время назад

, так что теперь она работает с поддоменом

Надеюсь, это поможет вам разобраться и настроить все правильно ... скорее всего, потому что файлы конфигурации, вероятно, у вас не было расширений .conf, и вы не использовали a2ensite для их включения ... это было проблемой, с которой я столкнулся

0
ответ дан 12 December 2017 в 05:45

Другие вопросы по тегам:

Похожие вопросы: