Как настроить виртуальные хосты, чтобы указать на два разных каталога

У меня есть один домен и поддомен, которые должны указывать на две разные папки, я пробовал эту помощь, но у меня все еще есть проблемы. ( https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04 )

www.wasamar.com.ng | wasamar.com.ng -> / var / www / html / wasamar / public

это файл виртуального хоста (/etc/apache2/sites-available/wasamar.com.ng.conf)

ServerName wasamar.com.ng ServerAlias www.wasamar.com.ng ServerAdmin info@wasamar.com.ng DocumentRoot /var/www/html/wasamar/public # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, eg #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf 

www.ts.wasamar.com.ng | ts.wasamar.com.ng -> / var / www / html / wasamar_ts / public

это файл виртуального хоста (/etc/apache2/sites-available/ts.wasamar.com.ng.conf)

 ServerName ts.wasamar.com.ng ServerAlias www.ts.wasamar.com.ng ServerAdmin info@wasamar.com.ng DocumentRoot /var/www/html/wasamar_ts/public/ # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, eg #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf 

Пастебин файла apache.conf http://pastebin.com/dnDfB21y

Как мне это достичь?

One Solution collect form web for “Как настроить виртуальные хосты, чтобы указать на два разных каталога”

Из того, что я вижу, есть несколько проблем, и может быть больше. Для новичков, в то время как вы сказали Apache, где найти корень для каждого сервера, вы не предоставили Apache разрешение на «подачу» файлов из этих каталогов. Вы также не сказали Apache, что это виртуальные хосты. Есть и другие вещи, которые вам нужно делать с файлами conf для виртуального хоста, но, как минимум, вам нужно предоставить Apache разрешение на сервер файлов в каталоге, и вам нужно сообщить Apache, что это определение виртуального хоста. Измененный только для этого минимума, два файла выглядят следующим образом:

Это новый файл виртуального хоста (/etc/apache2/sites-available/wasamar.com.ng.conf):

 <VirtualHost *:80> ServerName wasamar.com.ng ServerAlias www.wasamar.com.ng ServerAdmin info@wasamar.com.ng DocumentRoot /var/www/html/wasamar/public # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, eg #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf # At least you need to make the folder accessable for serving by the server. # Versions of Apache, and modules installed can make a difference in what's inside # the Directory directive. But as an example: <Directory "/var/www/html/wasamar_ts/public"> <IfModule mod_authz_core.c> Require all granted </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Allow from all </IfModule> </Directory> </VirtualHost> 

Это новый файл виртуального хоста (/etc/apache2/sites-available/ts.wasamar.com.ng.conf):

 <VirtualHost *:80> ServerName ts.wasamar.com.ng ServerAlias www.ts.wasamar.com.ng ServerAdmin info@wasamar.com.ng DocumentRoot /var/www/html/wasamar_ts/public/ # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, eg #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf # At least you need to make the folder accessable for serving by the server. # Versions of Apache, and modules installed can make a difference in what's inside # the Directory directive. But as an example: <Directory "/var/www/html/wasamar_ts/public"> <IfModule mod_authz_core.c> Require all granted </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Allow from all </IfModule> </Directory> </VirtualHost> 

В обоих случаях изменение добавляет первую строку и последние десять строк. Внутри директивы вам, вероятно, понадобятся другие вещи, например, « Options и « AllowOverride .

Чтобы все это работало, вам также нужно что-то еще в вашем основном файле conf, возможно, httpd.conf в какой-то директории, вероятно /etc/apache2/ . Необходима инструкция по включению этих новых файлов в конфигурацию. на его простейшем, основанном на указанных путях, это будет выглядеть так:

 Include sites-available/wasamar.com.ng.conf Include sites-available/ts.wasamar.com.ng.conf 

Если вы включаете только виртуальные хосты в каталог, доступный для сайтов, то вы можете использовать

 Include sites-available/*.conf 

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

Вы можете многому научиться, проводить чтение и перечитывание дней, документацию Apache в Интернете или, возможно, включить в вашу локальную установку Apache. Это может показаться много, но это время хорошо проведено.

  • Не удается записать в сектор - загрузочный Ubuntu
  • Файловая система mhddfs зависает через некоторое время с большой папкой
  • как удалить адрес шлюза в Ubuntu?
  • Как уменьшить использование памяти ClamAV?
  • ubuntu, как lightdm в arch linux
  • Каков шрифт по умолчанию для Grub в Ubuntu и Fedora?
  • Ubuntu K / FreeBSD
  • Запустить скрипт после входа в систему, который выводит на терминал приветственное сообщение?
  • rtlwifi / rtl8723befw.bin - Беспроводная остановка работает, тогда ноутбук должен перезагрузиться, чтобы получить беспроводную обратную связь
  • Как отслеживать изменения xkbmap?
  • Насколько близок cdebconf в качестве замены для debconf?
  • Interesting Posts

    Импорт ключа gpg замораживает терминал

    Как использовать ключ в качестве HotSpot в Linux?

    USB Wi-Fi правильно установлен, но он не может получить доступ к Интернету, Debian Wheezy

    Какова символическая переменная для «общего адреса»?

    Скопируйте только определенные типы файлов из структуры папок в другую

    Неизвестный источник отправляет «AT + GC» в / dev / rfcomm0, открытый BlueZ

    Мне интересно о безопасности CUPS. Что я могу сделать?

    Отдельное рабочее пространство на монитор в XFCE

    Управление Mac Mini с Linux Mint с TeamViewer – Некоторые специальные клавиши не работают

    Полноэкранные программы обновляются только при перемещении мыши

    почему lsdel в debugfs не работает?

    Изменить код выхода с 0 на 1 в сценарии bash

    Использовать scp для переноса файла из локального каталога X в удаленный каталог Y

    Как выполнить shellscript, когда я подключаю USB-устройство

    Медленная загрузка с собственного сервера

    Linux и Unix - лучшая ОС в мире.