Настроить локальный сайт в apache?

11

Я неделями искал, как настроить окружение localhost на Ubuntu без каких-либо хороших решений.

Вот чего я хочу добиться:

Я хочу, чтобы моя корневая папка была такой /home/'username'/Sites/'projectname.pl 'или / home /' username '/ Sites / pl /' projectname '/ public (или simular)

При доступе к моему локальному хосту я не хочу писать localhost / 'projectname' / public (или что-то еще). Я хотел бы иметь возможность получить доступ к проекту, просто набрав http: //'projectname'.pl

Я знаю, что это достижимо на сервере apache в OSX, но я не смог найти никаких руководств для достижения этого на моей машине с Ubuntu.

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

С уважением!

оловянный
источник

Ответы:

16

Вы можете настроить свои Vhosts в

/etc/apache2/sites-available

Для каждого vhost вы хотели бы сделать файл conf в этом каталоге. В конфигурации vhost вы можете установить корневой каталог вашего документа. Имя файла должно заканчиваться на .conf

Так, например: /etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

Теперь включите ваш сайт с:

sudo a2ensite projectname

И перезапустите apache:

sudo /etc/init.d/apache2 restart

Затем отредактируйте файл / etc / hosts.

Просто вставьте строку:

127.0.0.1 projectname.pl

в конце.

Теперь вы можете получить доступ к своему сайту с http://projectname.pl

rechengehirn
источник
Спасибо за ваш ответ. Я использовал сомные символы в своем вопросе, что привело к выпадению текста. Я обновил свой вопрос сейчас. Пожалуйста, обратитесь к нему еще раз и посмотрите, есть ли что-то еще, что я должен сделать, чтобы заставить это работать. С уважением!
оловянная
Ну, в основном это остается прежним. Я отредактировал ответ, чтобы удовлетворить ваши пожелания :)
rechengehirn
Двумя ключевыми моментами здесь являются присвоение имени конфигурации apache с расширением config и последующий перезапуск apache.
ДжонМерлино
Работал для меня!
arqam
1

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

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

Последняя часть вышеперечисленного может отличаться для вас. Это то, что я использую в Linux Mint 17. Каталог '/ var / www / html /' является папкой сайта по умолчанию apache "site".

Так что да, для тех, кто ищет простой и понятный способ сопоставления сайта без фактического размещения каталога своего сайта в папке apache по умолчанию, все в порядке.

Примечание: я не уверен, подходит ли вышесказанное для производственных сред, но для локальной разработки все в порядке. Причина, по которой я не уверен, заключается в том, что символическая ссылка содержит разрешения для папки в домашнем каталоге, который (скорее всего) «принадлежит» пользователю. Если вам нужно, вы, очевидно, можете изменить его на более безопасный «корень», такой как каталог apache, но я оставлю свой в покое, поскольку я просто использую это в среде разработки.

derekmx271
источник
0

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

Руководство -> http://css.dzone.com/articles/drop-folder-directory-and-have

оловянный
источник