Apache on localhost: give virtual hosts specific servers name [closed] - apache

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Ok, I ask my question first and below are details of what I have so far trying to solve the thing:
On Apache running on localhost, I want to have different virtual hosts that would be accessible through url:
http://name-of-the-virtual-host.name-of-the-machine/
Details:
So I have Apache running on port 8080 of my laptop. Linux Mint, so Debian distro. Everything is in local for testing purposes, so no DNS involved! The IP address I use is 127.0.1.1 which has the domain of my computer, called fabjoa. On the file /etc/apache2/apache2.conf, I've put:
ServerName fabjoa
In the file /etc/hosts, there is indeed the line
127.0.1.1 fabjoa
In the file /etc/apache2/ports.conf
NameVirtualHost *:8080
Listen 8080
Now, the conf file of my virtual host. The file is called is goyahkla and is located on /etc/apache2/sites-available/ and has a symbolic link in /etc/apache2/sites-enabled. On this file, I have the following:
<VirtualHost *:8080>
ServerName goyakhla.fabjoa
ServerAdmin webmaster#localhost
DocumentRoot /var/sites/goyahkla
....
<Directory /var/sites/goyahkla/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
...
</VirtualHost>
Running apache2ctl configtest gives me Syntax OK. Now, on browser, opening http://fabjoa:8080/ does point to the Virtual Host goyahkla (beacause that's the only one I have), but http://goyahkla.fabjoa:8080 is not found. Other debugging:
telnet goyahkla.fabjoa:8080
telnet: could not resolve goyahkla.fabjoa:8080/telnet: Name or service not known
lynx goyahkla.fabjoa:8080
Looking up 'goyahkla.fabjoa' first
Looking up 'www.goyahkla.fabjoa.com', guessing...
Looking up goyahkla.fabjoa first
Looking up www.goyahkla.fabjoa.com, guessing...
Looking up www.goyahkla.fabjoa.com:8080
Making HTTP connection to www.goyahkla.fabjoa.com:8080
Alert!: Unable to connect to remote host.
lynx: Can't access startfile http://www.goyahkla.fabjoa.com:8080/
Any idea on how purpose could be achieved?
Thank you

Don't you need to specify full hostname un hosts file? Like "goyahkla.fabjoa" instead of "fabjoa"?
Anyway, this is not programming question and should be asked on serverfault.com

Related

Apache Virtual Host doesn't work [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I'm trying to get Apache Virtual Host to work but it wont catch the domains and goes out on the internet instead.
I've enabled the Virtual Host in the Config file:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
My httpd-vhosts.conf file looks like this:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "//nas/Web Design/Sites"
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster#fdn.dk
DocumentRoot "//nas/Web Design/Sites/Fdn"
ServerName fdn.dk
ServerAlias www.fdn.dk
ErrorLog "logs/fdn/error.log"
CustomLog "logs/fdn/access.log" common
</VirtualHost>
http://Localhost works fine but when i type fdn.dk or www.fdn.dk the browser tries to find the site on the internet instead of looking at my local folder.
What is wrong...??
I tried to find a solution on the internet but without luck.
Do I need to change something in the host file ???
Kind Regards
Flemming
Yes, you need to add that domain name to /etc/hosts file if you are using an operating system that has it.
Or to C:\WINDOWS\system32\drivers\etc\hosts if you are using Windows.
Example of record:
127.0.0.1 www.fdn.dk

How to connect to a specific website on localhost? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I have a local Apache server running on the network and I've got a number of tester machines. I want to be able to connect to a specific website on the localhost, at the moment it just connects to the first website.
For example: 192.168.1.125/mywebsite.
I've looked around I cannot find the method of conneciton, I know it's something really simple but everywhere I look answers a different problem. (Maybe this is too simple).
So basically I'm asking, how do I access the other servername though the browser. (setup is like so:)
<VirtualHost *:80>
DocumentRoot c:/vhosts/website1
ServerName website1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/vhosts/website2
ServerName website2
</VirtualHost>
I've tried
192.168.1.125~mywebsite
192.168.1.125:80/mywebsite.
192.168.1.125-mywebsite.
Can anyone help me here? Also what's the English for this? Namespace? Name-server or something?
*I get the error "Object not found" with these.
Name-based serving of apache is based on the actual hostname in the request. To make this work, you have to be able to reference that IP by any names you need. You have to be able to do http://hostname/ and not http://IP for name-based virtual hosts to work.
You can do this either with a hosts file (for a single host) or over DNS. Neither is a programming problem though.
Use virtual hosts. i.e. have something like this in the httpd.conf file:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName <make up a hostname here e.g. example.com>
DocumentRoot "<path to the web site files>"
</VirtualHost>
<Directory "<path to the web site files>">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Then add the following to the to the hosts file in C:\Windows\System32\drivers\etc
127.0.0.1 <made up hostname as above>
Then you can access the web site as http://<hostname as above>
Guess it will be the same for Linux except the file would be /etc/hosts. You can repeat this as often as necessary.
EDIT Use the following it /etc/hosts on both the machine running the server and the machine running the browser
192.168.1.125 website2.example.com
192.168.1.125 website1.example.com
Then edit the two copies of the virtual hosts stuff above using the website1.example.com and website2.example.com
Shot in the dark
Map your testing machines to your server
~/test_machines/web_1
~/test_machines/web_2
~/test_machines/web_3
Then add the site entries to your vhost.conf. Use VirtualDocumentRoot from mod_vhost_alias. You can see the examples here: http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

Can't link URL with virtual host [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am really new to servers and apache however I've been struggling for a while now and maybe somebody can help me.
So I have set up an apache server that works (if I use the IP address I can reach the website and it works properly). I have linked the url with the nameservers and my virtual host file looks like (located in /etc/apache2/sites-available/mysite)
<VirtualHost 12.34.56.78:80>
ServerAdmin admin#mysite1.com
ServerName mysite1.com
ServerAlias www.mysite1.com
DocumentRoot /srv/www/mysite1.com/public_html/
ErrorLog /srv/www/mysite1.com/logs/error.log
CustomLog /srv/www/mysite1.com/logs/access.log combined
</VirtualHost>
The weirdest thing is it worked yesterday and in the meantime I only installed an FTP server ... Any ideas of what I might have done wrong?
Thank you
If this is on Debian, you also need to link your config file in /etc/apache2/sites-available to /etc/apache2/sites-enabled, to let the config scripts know that the file is not only available, but also enabled.
Another thing might want to check is NameVirtualHost 12.34.56.78:80 directive somewhere in Apache config (or, optionally NameVirtualHost *:80).

How to remove port number from http://localhost:8123 to use as http://localhost? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I had to change my default apache port number 80 to 8123 (just random number)
I changed the following files ..
httpd.conf
Listen 8123
ServerName localhost:8123
httpd-vhosts.conf
NameVirtualHost *:8123
<VirtualHost *:8123>
ServerName localhost
DocumentRoot "C:/xampp/htdocs"
DirectoryIndex index.php
</VirtualHost>
Windows Hosts file
127.0.0.1:8123 localhost
::1:8123 localhost
I am using Windows 7.
After making all these changes, I restarted apache but I am still unable to access http://localhost .... however http://localhost:8123 works fine ... can someone help me find what I am doing wrong here? thanks
The only way to do this is to change back to 80, or to install a listener on port 80 (like a proxy) that redirects all your traffic to port 8123.
When you enter a server name without a port, port 80 is assumed by default. AFAIK, there is no way to change this behaviour without changing your browser's source code.
The hosts file does not support the kind of redirection you are trying to do. The rules simply fail.
Edit: ah, it might be possible to change the default port in some browsers. Here's an article in MozillaZine for Firefox.
You can remove it with proxyPass and proxyPassReverse
<VirtualHost *>
ServerName localhost
ProxyPass / http://127.0.0.1:8123/
ProxyPassReverse / http://127.0.0.1:8123/
</VirtualHost>

Server name for apache virtual host isn't working properly [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I'm trying to create a virtual host in apache so I can access a local site via localhost but using a different port than the default :80, what I want is that http://localhost:8080 loads my site directly in the folder I specify, I have the following set up in my httpd-vhosts.conf file which is working partially:
Listen 8080
NameVirtualHost *:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot "c:\wamp\www\trend\public"
ServerName local.trend
</VirtualHost>
If I go to http://localhost:8080 the page loads fine but if I go to http://local.trend then it just shows me the same as if I go to http://localhost is there any way to change it so it works with the server name as well?
Should I edit my hosts file? I currently have:
127.0.0.1 localhost local.trend
Your hosts file is correct as it stands now.
If you want http://local.trend to go to the same target as http://local.trend:8080 (which is what you have configured above), you'll need to add a separate VirtualHost for that host on port 80:
<VirtualHost 127.0.0.1:80>
DocumentRoot "c:\wamp\www\trend\public"
ServerName local.trend
</VirtualHost>