MAMP on OSX Yosemite - Virtual host name gives 404 error - macos

I installed MAMP v3.2.1 on my new MacBook Pro running OSX Yosemite (10.10.3).
localhost is running as expected, I can browse http://localhost, no problem.
However, something is amiss with my named virtualhost - when i browse to the site I get a 404.
EDIT: I'm now seeing 'This webpage is not available - ERR_CONNECTION_TIMED_OUT' (in Chrome)
I've read and checked other threads on similar issues, but none of them has so far resolved my issue. I'm hoping somebody can help me, as I'm now totally stuck.
Here's what I've done and tried:
In /private/etc/hosts
127.0.0.1 mysitename.dev
::1 mysitename.dev
And in /Applications/MAMP/conf/Apache/httpd.config, uncommented to include the virtualhosts file in extra/httpd-vhosts.conf
And added the directive in the vhosts file like so:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot “/Users/myName/Sites/mysitename“
ServerName mysitename.dev
ServerAlias mysitename.dev
</VirtualHost>
I changed MAMP Apache settings to listen to port 80 (and checked httpd.config for the line Listen 80 (I think MAMP updates this?)
I've checked and double checked the paths to folders, checked for typos...even double checked that the index.html file exists.
When i look at the Apache log, I don't see anything untoward, although I probably wouldn't be able to tell if there was(!?)
I haven't explicitly 'turned off' the Mac's own Apache server, because I haven't turned it on (should I? But my localhost is working with MAMP, so...)
I'm a Mac-novice - you could say I'm having some teething problems! Any help or suggestions in the right direction would be much appreciated.
Thanks in advance.
P.S.
I just ping'd mysitename.dev and got
--- mysitename.dev ping statistics ---
132 packets transmitted, 132 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.039/0.096/0.294/0.042 ms
I got similar results from pinging localhost (no timeout messages), so I assume it's good, but I'm still lost...

I believe this is a quotation mark formatting issue. Look how quotation marks on your DocumentRoot are formatted differently from the DocumentRoot in the default example. To make sure the formatting is correct just copy the correct quotation mark character from the example DocumentRoot and paste it over the your DocumentRoot quotation marks. This issue can come up when text is copy-pasted from one place to another.

I was caught out by the formatting issue as stated above. The example I used was using “ around the document root instead of ".

Related

Having trouble mapping Laravel public folder with a vhost on MAMP

I've got a Laravel project called "test" running on MAMP on my mac. I've uncommented the vhosts include line in httpd.conf and included this below in the vhosts file:
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/test/public"
ServerName testapp.dev
</VirtualHost>
When I go to "testapp.dev" in my browser it just says the old
testapp.dev’s server IP address could not be found.
DNS_PROBE_FINISHED_NXDOMAIN
I'm not sure if I've missed something or what. Thanks in advance for your help! :)
(This is a repost but more clear)
So I ditched MAMP and used valet. I had some problems with that just going to localhost which was some random background apache server which I stopped and then everything worked! :)
if you are using windows edit C:\windows\system32\drivers\etc\hosts and if you are using unix edit /etc/hosts file and add this row at the end of file:
127.0.0.1 testapp.dev

Apache not loading right DocumentRoot

Have got myself stuck and can't find where the problem is.
Here is what I have:
OS X El Capitan
$ apachectl -v
Server version: Apache/2.4.18 (Unix)
My /etc/hosts files:
127.0.0.1 first.loc
127.0.0.1 second.loc
/etc/apache2/extra/httpd-vhost.conf
<VirtualHost *:80>
DocumentRoot "/Users/me/projects/first"
ServerName first.loc
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/me/projects/second"
ServerName second.loc
</VirtualHost>
I have put 3 index.html files with their directories as the only text in them:
/Users/me/projects/index.html (1)
/Users/me/projects/first/index.html (2)
/Users/me/projects/second/index.html (3)
When I go to first.loc or second.loc it loads the projects/index.html.
When I go to first.loc/first it loads the second index.html, when I go to first.loc/second it loads the 3rd.
Why are the DocumentRoots not being processed correctly?
Solved and answered below: Web Sharing panel was stopping Apache being restarted fully so it wasn't actually reloading the config files. Turning that off and manually starting/stopping/restarting has resolved.
Ok it seems the problem has 'fixed' itself. The issue was not with Apache but with sudo apachectl restart not working properly.
I previously installed a Web Sharing panel to try out which was set to 'On'. With that set, it seems to stop all the apache processes from stopping so it never truly stops and restarts with the updated config files.
Have removed the silly panel and now starting and stopping manually and it's all working as it should!

Mac Osx Yosemite localhost document path errors

Working in Yosemite's localhost for a few months now. Previously I went through a simple configuration tutorial where the URL would be localhost/~username/project/public. Never really bothered me since I was just messing around with some simple sites. I recently ran into a problem with Laravel and Angular and its been suggested that my URL having the public in it was causing my routes to fail.
So I edited /etc/apache2/extra/httpd-vhosts.conf with
<VirtualHost *:80>
DocumentRoot "/Users/jeffcairoli/Sites/"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/jeffcairoli/Sites/time-tracker-2/public"
ServerName time-tracker-2.local
<directory "/Users/jeffcairoli/Sites/time-tracker-2/public/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow, deny
Allow from all
</directory>
</VirtualHost>
In /etc/hosts I added:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 time-tracker-2.local
In /etc/apache2/http.conf I uncommented the virtual hosts and vhost loadmodule.
When I visit time-tracker-2.com I am directed right to apache's It works! page.
I cannot figure out what I need to change to actually get it to point into my projects public folder so my laravel routes will take over. If anyone has any pointers or a better way to get my urls working please let me know. This issue is starting to drive me nuts.
**Update After making the changes to the vhosts and hosts files that I added here, I now get a 403 Forbidden when i visit localhost or time-tracker-2.local. localhost/~jeffcairoli brings me to the listing of all my files in my sites folder. Im not too sure if I am looking at this wrong or something. I've always had an issue getting these to work. Haven't been able to get any of the typical 403 fixes to work there but I think that tells me that at least its recognized my changes since the urls are actually giving me a response.
Adding another VirtualHost before that for localhost to be the default should fix your problem. Just try adding the following before your time-tracker2.com entry.
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Users/jeffcairoli/Sites/"
ServerName localhost
</VirtualHost>

Pulling my hair out with mod_rewrite and MAMP

I'm using MAMP and I can't get mod_rewrites to work.
After lots of playing with numerous http.conf files and then finally looked at my php_info, there is no mod_rewrite exstension installed.
I opened up the php.ini files in Applications > MAMP > conf > php5.2 & php5.3 and looked at the exstensions and there was no mod_rewrite.so. All I can see is:
extension=imap.so
extension=yaz.so
extension=mcrypt.so
extension=gettext.so
extension=pgsql.so
extension=pdo_pgsql.so
extension=pdo_mysql.so
I added it expecting a stroke of luck - but no joy!
I had the same problem and hopefully this will solve it for you.
I added my site in my host file so instead of going through the locahost/..... It had its own url that I redirected to 127.0.0.1. i.e. my host file looked like this
127.0.0.1 mysite.local
I then set up a virtual host in MAMP. You will find the vhosts.conf file in /Applications/MAMP/conf/apache
My host file looks like this
NameVirtualHost *
<VirtualHost *>
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *>
DocumentRoot "/Applications/MAMP/htdocs/mysite-folder"
ServerName mysite.local
</VirtualHost>
Hope that helps :D

Apache 2.2 localhost VirtualHosts problems

I am trying to setup my dev machine with virtual hosts so I can access my development projects with a simple url, like http:// project.dev/ rather that a whole http:// 127.0.0.1/dev/path/to/root/of/project/ type of url.
Now, I'm aware there are many tutorials and questions already answered about this, but after trying many of them, I feel like I'm running in circles here.
The problem is simple: after setting up my hosts file and my virtual hosts, any attempt to access a virtual hosts irremediably displays the content of my server DocumentRoot.
my hosts file:
127.0.0.1 localhost
127.0.0.1 mydomain.dev
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
my httpd-vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Users/pilot/Sites/
</Virtualhost>
<VirtualHost *:80>
ServerName mydomain.dev
DocumentRoot /Users/pilot/Sites/devel/vytamin/dev/
</VirtualHost>
I precise that the httpd-vhosts.conf file IS loaded in my httpd.conf and I do get a warning if I point the virtual host document root to a wrong folder.
I made a try setting the localhost virtual host to the following, without any success.
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Users/pilot/Sites/devel
</Virtualhost>
The following URLS all display the DocumentRoot of my server defined in my httpd.conf file, and seem to ignore the DocumentRoot defined in my VirtualHosts.
http:// 127.0.0.1/
http:// localhost/
http:// mydomain.dev/
I'm running Apache2.2 on Mac OSX 10.5 Leopard, but not the one shipped with mac os. I compiled my own under /usr/local/apache2 and web sharing IS disabled
I can't see anything wrong with my set up so I hope the community will!
Thanks for your help!
Ok, I found the problem!
The configuration above is perfectly fine, it was just that my apache was not restarting properly.
Neither apache_ctl graceful or apache_ctl restart was terminating all httpd processes I have running, therefore failing to reload properly the changes in my configuration files.
Once I killed the remaining processes and really restarted apache, it worked...
Solved, but I feel dumb to have found that!
Now I have a daemon situation to solve!

Resources