Рекомендуемые рабочие процессы для виртуальных хостов Apache?


8

Я занимаюсь локальной веб-разработкой на своем компьютере с Ubuntu, и я постоянно настраиваю виртуальные хосты в Apache. Мне не нужно заниматься жестким управлением сервером, но я устаю от повторяющегося процесса ручного добавления директив config в файлы в / etc / apache2 / sites-available / и последующего обновления файла / etc / hosts.

Есть ли более эффективный или более автоматизированный способ сделать все это, что мне не хватает? Может быть, что-то вроде Rapache, но это на самом деле работает?

Ответы:


8

Когда мне нужно было что-то сделать, я продолжаю создавать VirtualHost с подстановочным именем:

  1. Выберите необычное доменное имя, например, example.com, для localhost.
  2. Поместите это в /etc/hostsфайл как127.0.0.1 *.example.com
  3. Установить и активировать mod_rewrite
  4. создать подстановочный знак VirtualHost в каталоге сайтов Apache:

    <VirtualHost 127.0.0.1:80>
      DocumentRoot /default/path
      ServerName example.com
      ServerAlias *.example.com
      RewriteEngine On
      UseCanonicalName Off
    
      RewriteCond %{HTTP_HOST} ^(.*).example.com
      RewriteCond /srv/%1/ -d
      RewriteRule ^(.+)   %{SERVER_NAME}$1 [C]
      RewriteRule ^([^.]+)\.example\.com/(.*) /srv/$1/$2 [L]
    </VirtualHost>
    
  5. Теперь вы можете поместить любую папку в папку, /srv/и она будет<foldername>.example.com

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


Это очень умно, попробую. Спасибо.
Крейг Чжэн

Отличный ответ. За исключением того, что шаблон не работал для меня, я должен был использовать dnsmasq, чтобы заставить его работать.
Элиас

3

будет работать webmin ? Это не только для Apache, а скорее веб-интерфейс для системного администрирования. Он имеет интерфейс для заполнения форм для виртуального хоста Apache.


1
Заглянул в webmin, но подумал, что это может быть излишне
Крейг Чжэн

Я использую его на моем сервере разработки, это делает вещи немного легче , хотя я до сих пор SSH время от времени
Eman

0

почему бы не сделать сайт, который делает / обновляет файлы для вас? если вы работаете с php, и это локально, используйте функцию exec () только для запуска команд терминала для записи / создания / обновления данных, которые вы хотите, основываясь на записях в текстовом поле. Я хотел бы знать, как создавать приложения на Ubuntu, которые основаны на графическом интерфейсе. сделало бы жизнь действительно легкой.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.