Mysql
 sql >> база данни >  >> RDS >> Mysql

Виртуалният хост на WAMP не работи

Първо трябва да премахнете примерния манекен дефиниции от вашия файл vhost-httpd.conf. Те са там само като примери само за да започнете със синтаксиса и не трябва да оставате в активен conf/extra/httpd-vhosts.conf тъй като те сочат към несъществуващи папки.

Така че премахнете тези 2 дефиниции от файла:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "g:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "g:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Вторият Apache 2.4.x е наясно с IPV4 (127.0.0.1) и IPV6 (::1), така че вашите hosts файлът трябва да изглежда така с дефиниции както за версиите на IPV4, така и за IPV6 за всеки сайт. Браузърът може произволно да използва и двете, така че имате нужда и от двете, но вероятно ще използва мрежата IPV6 с предпочитание пред IPV4, ако и двете са действително активни на вашия компютър.

127.0.0.1   localhost
::1  localhost

127.0.0.1   mysite.dev
::1  mysite.dev

Сега на 2-та виртуални хоста, които реално съществуват във вашата система, опитайте това като дефиниция на виртуален хост:

<VirtualHost *:80>
    DocumentRoot "g:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    <Directory  "G:/wamp/www">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "g:\wamp\www\mysite\public"
    ServerName mysite.dev
    ServerAlias www.mysite.dev
    ErrorLog "logs/mysite-error.log"
    CustomLog "logs/mysite-access.log" common
    <Directory  "G:/wamp/www/mysite/public">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

<Directory>....</Directory> раздел в <VirtualHost>....</VirtualHost> раздел казва на Apache от кои IP адреси е разрешено да приема връзки, така че използвайки синтаксиса на Apache 2.4 Require local ограничава достъпа, така че само компютърът с WAMPServer, т.е. Apache, може да се свърже с всеки от тези сайтове.

Избягвайте да смесвате синтаксиса на Apache 2.2 и синтаксиса на Apache 2.4 в една и съща дефиниция. Така че не използвайте

Order Allow,Deny
Allow from all

и

Require all granted

в същото определение. Вие използвате Apache 2.4, така че използвайте синтаксиса на Apache 2.4.

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

Разрешете само един друг компютър в сайта си

Require local
Require ip 192.168.1.100

или 2 други компютъра

Require local
Require ip 192.168.1.100, 192.168.1.101

Или за всеки във вашата локална мрежа просто използвайте първите 3 от 4-те квартила на ip адреса.

Require ip 192.168.1

Също така избягвайте да използвате синтаксиса, който позволява достъп отвсякъде, т.е.

Require all granted  <--Apache 2.4 syntax

or 

Order Allow,Deny     <-- Apache 2.2 syntax
Allow from all    

Може да реши проблемите ви в краткосрочен план, но просто чака да ви хване по-късно, когато решите, че искате да покажете сайта си на приятел/клиент/шеф. Ако стигнете до етапа на пренасочване на портове, вашия рутер, така че светът да бъде разрешен във вашата мрежа, това ще доведе до ВСИЧКИ ВАШИ САЙТОВЕ да стане достъпен за света.

По-добре е да промените дефиницията на ЕДИН виртуален хост за ЕДИН сайт, който искате хората да виждат за тестване/хвалство от Require local до Require all granted и позволявайте достъп до този сайт само от интернет.

След като направите всички тези промени, не забравяйте да рестартирате Apache.

Също така, ако промените файла hosts, за да направите промените активни, трябва или да рестартирате, или да изпълните тези команди от командния ред на командния прозорец, стартиран чрез Runs as Administrator опция.

net stop dnscache
net start dnscache
ipconfig /flushdns


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да провалите или сринете вашите MySQL екземпляри за тестване

  2. MySQL:избиране на редове, където колона е нула

  3. Заявка за връщане на MySQL

  4. не мога да запиша данни от 1 таблица в друга таблица

  5. MySQL заявките са бързи, когато се изпълняват директно, но наистина бавни, когато се изпълняват като съхранена процедура