How to make a local apache (joomla) site live on a windows 2003 server by assigning an ip address.
May 20, 2010 11:54 PM Subscribe
How to make a local apache (joomla) site live on a windows 2003 server by assigning an ip address.
I have installed PHP, Apache, MySQL etc on my Windows Server 2003 and assigned my site (a joomla website) to run on localhost:81. I now want to assign it a specific external ip address but dont know how. Googling only throws up information on how to get. Other things to note ISS is running happily along side apache and my windows sites on the same machine are running fine as is the joomla site locally. Just cant figure out how to assign the ip address. I am new to this stuff.
Any help would be greatly appreciated.
I have installed PHP, Apache, MySQL etc on my Windows Server 2003 and assigned my site (a joomla website) to run on localhost:81. I now want to assign it a specific external ip address but dont know how. Googling only throws up information on how to get. Other things to note ISS is running happily along side apache and my windows sites on the same machine are running fine as is the joomla site locally. Just cant figure out how to assign the ip address. I am new to this stuff.
Any help would be greatly appreciated.
1. Get your external IP by going to a site like whatismyip.com.
2. Make sure port 81 (or whatever you want to use) is forwarded to your server machine and open up that port on the server 2003 firewall.
3. You should be able to hit your site from http://externalip:81
posted by wongcorgi at 12:19 AM on May 21, 2010
2. Make sure port 81 (or whatever you want to use) is forwarded to your server machine and open up that port on the server 2003 firewall.
3. You should be able to hit your site from http://externalip:81
posted by wongcorgi at 12:19 AM on May 21, 2010
Response by poster: wongcorgi: At the risk of sounding like an idiot (I am kinda in over my head a little - hence resorting to ask to do my job!) how do I 'Make sure port 81 (or whatever you want to use) is forwarded to your server machine and open up that port on the server 2003 firewall.'
Looking through the Control Panel there is no GUI for Windows Firewall, can I do this via command prompt or something?
posted by therubettes at 12:36 AM on May 21, 2010
Looking through the Control Panel there is no GUI for Windows Firewall, can I do this via command prompt or something?
posted by therubettes at 12:36 AM on May 21, 2010
Response by poster: Update - I have just checked the FAQ at the hosting company and it looks like they are in control of the firewall. Apart from this fact is there a way of assigning the ip address/port to my local apache site before asking the support team for help with the firewall if necessary?
posted by therubettes at 12:40 AM on May 21, 2010
posted by therubettes at 12:40 AM on May 21, 2010
Response by poster: Listen a.b.c.d
What does this mean?
posted by therubettes at 1:10 AM on May 21, 2010
What does this mean?
posted by therubettes at 1:10 AM on May 21, 2010
Response by poster: Guess this question is dying on the vine. If anyone can help me with assigning an external ip address to a "working on localhost" joomla site, on apache and windows server 2003, it would be appreciated.
posted by therubettes at 2:52 AM on May 21, 2010
posted by therubettes at 2:52 AM on May 21, 2010
1st, check your ISP allows you to host web servers on your own network as most don't.
2nd you'll need to ask them to provide you with a static IP address. If not, you'll have to use something like Dynamic DNS. I've not used that service so can't provide any advice, sorry.
3rd, you'll need to ask them to open port 80, the standard http port, on your firewall.
4th, you'll need to forward incoming traffic from port 80 on your router to your local machine. This site http://portforward.com/ is a good resource for this.
However, before you do any of that, you need to make sure your local server very, very secure. You're opening it up to the world wide web and you need to be very sure you understand the inherent risks in that, doubly so if you're using windows. Absolutely no offense intended at all, we all had to start somewhere, but judging by your questions I think you need to do a little more background reading on the subject.
posted by fatfrank at 3:07 AM on May 21, 2010
2nd you'll need to ask them to provide you with a static IP address. If not, you'll have to use something like Dynamic DNS. I've not used that service so can't provide any advice, sorry.
3rd, you'll need to ask them to open port 80, the standard http port, on your firewall.
4th, you'll need to forward incoming traffic from port 80 on your router to your local machine. This site http://portforward.com/ is a good resource for this.
However, before you do any of that, you need to make sure your local server very, very secure. You're opening it up to the world wide web and you need to be very sure you understand the inherent risks in that, doubly so if you're using windows. Absolutely no offense intended at all, we all had to start somewhere, but judging by your questions I think you need to do a little more background reading on the subject.
posted by fatfrank at 3:07 AM on May 21, 2010
Response by poster: 1st, check your ISP allows you to host web servers on your own network as most don't.
The site is on a dedicated server, there are already 2 live sites on there.
2nd you'll need to ask them to provide you with a static IP address. If not, you'll have to use something like Dynamic DNS. I've not used that service so can't provide any advice, sorry.
I have an ip address which was previously assigned to a test .net site which I have deleted from IIS, I am hoping to use this ip address.
3rd, you'll need to ask them to open port 80, the standard http port, on your firewall.
The site is available on the live server via localhost but is on port 81 so that it will not interfere with the existing iss sites.
4th, you'll need to forward incoming traffic from port 80 on your router to your local machine. This site http://portforward.com/ is a good resource for this.
I will have a look at this site
However, before you do any of that, you need to make sure your local server very, very secure. You're opening it up to the world wide web and you need to be very sure you understand the inherent risks in that, doubly so if you're using windows. Absolutely no offense intended at all, we all had to start somewhere, but judging by your questions I think you need to do a little more background reading on the subject.
I take your point on this (no offense taken either). I will have a look at some website for securing the site/server.
posted by therubettes at 3:21 AM on May 21, 2010
The site is on a dedicated server, there are already 2 live sites on there.
2nd you'll need to ask them to provide you with a static IP address. If not, you'll have to use something like Dynamic DNS. I've not used that service so can't provide any advice, sorry.
I have an ip address which was previously assigned to a test .net site which I have deleted from IIS, I am hoping to use this ip address.
3rd, you'll need to ask them to open port 80, the standard http port, on your firewall.
The site is available on the live server via localhost but is on port 81 so that it will not interfere with the existing iss sites.
4th, you'll need to forward incoming traffic from port 80 on your router to your local machine. This site http://portforward.com/ is a good resource for this.
I will have a look at this site
However, before you do any of that, you need to make sure your local server very, very secure. You're opening it up to the world wide web and you need to be very sure you understand the inherent risks in that, doubly so if you're using windows. Absolutely no offense intended at all, we all had to start somewhere, but judging by your questions I think you need to do a little more background reading on the subject.
I take your point on this (no offense taken either). I will have a look at some website for securing the site/server.
posted by therubettes at 3:21 AM on May 21, 2010
I'm not really a windows guy, but here's an article on securing windows server 2003 that seems fairly extensive:
http://articles.techrepublic.com.com/5100-10878_11-5758155.html
Here's a general one on hosting something at home:
http://www.boutell.com/newfaq/creating/hostmyown.html
And W3Schools is always a good place to start for the basics:
http://www.w3schools.com/hosting/default.asp
Don't be put off, it is simple to do, but you should understand the risks involved.
Hope that helps and good luck!
posted by fatfrank at 3:23 AM on May 21, 2010
http://articles.techrepublic.com.com/5100-10878_11-5758155.html
Here's a general one on hosting something at home:
http://www.boutell.com/newfaq/creating/hostmyown.html
And W3Schools is always a good place to start for the basics:
http://www.w3schools.com/hosting/default.asp
Don't be put off, it is simple to do, but you should understand the risks involved.
Hope that helps and good luck!
posted by fatfrank at 3:23 AM on May 21, 2010
Response by poster: Thanks again Frank, just one thing, from your answers I think that you think I am hosting the site on my own computer. It is currently on a dedicated server with a hosting company, I have terminal service access to it. The joomla site works on the live server http://localhost:81/site/ but I do not know how to assign to this site an ip address which I had perviously use for an iss site but which is no longer in use.
posted by therubettes at 3:32 AM on May 21, 2010
posted by therubettes at 3:32 AM on May 21, 2010
Ahh, when you kept refering to localhost I assumed the server was connected to your own network. My mistake.
In that case, ignore all my guff about port fowarding and the like ; )
this seems to cover it: http://www.codecurry.com/2009/02/installing-and-running-iis-and-apache.html
posted by fatfrank at 3:49 AM on May 21, 2010
In that case, ignore all my guff about port fowarding and the like ; )
this seems to cover it: http://www.codecurry.com/2009/02/installing-and-running-iis-and-apache.html
posted by fatfrank at 3:49 AM on May 21, 2010
Response by poster: Had a look at that link and edited the server name in httpd.conf to point at xx.xxx.xxx.xxx:81 restarted apache, but no dice. Tried accessing it at xx.xxx.xxx.xxx and xx.xxx.xxx.xxx:81 but get told Service Unavailable. I am wondering if IIS is holding onto the ip address even though it is assigned?
posted by therubettes at 4:17 AM on May 21, 2010
posted by therubettes at 4:17 AM on May 21, 2010
Like I said, not a windows guy, but is this the problem:
http://www.childofthemachine.com/blog/2007/08/ip-address-binding-with-iis/
posted by fatfrank at 4:34 AM on May 21, 2010
http://www.childofthemachine.com/blog/2007/08/ip-address-binding-with-iis/
posted by fatfrank at 4:34 AM on May 21, 2010
Response by poster: Frank you really are too kind for persisting with this. Looks like this could solve the problem, but unfortunatley httpcfg is not recognised in my commend prompt, so I am going to have to try and get it from somewhere (looks like it might be downloadable!)
posted by therubettes at 4:43 AM on May 21, 2010
posted by therubettes at 4:43 AM on May 21, 2010
Response by poster: Ok I have found httpcfg.exe, but I am reluctant to stop listening on all addresses in case I am unable to get them back again! What I am going to try instead is to stop listening only on the address I want to use for my apache site just need to find a source which shows me how!
posted by therubettes at 5:04 AM on May 21, 2010
posted by therubettes at 5:04 AM on May 21, 2010
Response by poster: This is getting crazy,
httpcfg query iplisten returns :
HttpQueryServiceConfiguration completed with 1168
Whic according to here means the IP listen list is actually empty. I am at my wits end here, at a complete loss. Dont know if anyone has anything thing else to add, I am going to keep plugging away though!
posted by therubettes at 5:23 AM on May 21, 2010
httpcfg query iplisten returns :
HttpQueryServiceConfiguration completed with 1168
Whic according to here means the IP listen list is actually empty. I am at my wits end here, at a complete loss. Dont know if anyone has anything thing else to add, I am going to keep plugging away though!
posted by therubettes at 5:23 AM on May 21, 2010
I'm not sure if I'm understanding the setup completely, but it sounds like you could just stop the IIS service which would free up port 80, stop Apache then change the listening port for Apache to port 80 and then start it up again.
This is assuming that you could already connect to the IIS web site externally.
If you want to IIS and Apache to both run on port 80, you will need another IP address.
posted by wongcorgi at 5:59 AM on May 21, 2010
This is assuming that you could already connect to the IIS web site externally.
If you want to IIS and Apache to both run on port 80, you will need another IP address.
posted by wongcorgi at 5:59 AM on May 21, 2010
Response by poster: I want apache and iss to run together. ISS is working fine and these sites are available on the web at the moment. The php/apache/mysql site works when I access it on the same server as IIS through http://localhost:81/site, what I have failed to do up to this point is to use of of the many ip addresses assigned to this server to show the php/apache/mysql site to the broader internet. I have edited httpd.conf Servername to point to the ip address and port but I am getting service unavailable..
posted by therubettes at 6:37 AM on May 21, 2010
posted by therubettes at 6:37 AM on May 21, 2010
Let's start at the basics
IIS
I've only got Server 2008 on hand, but it shouldn't be that different.
Open up the IIS Manager and right click on "Default Web Site." You should see something like "Edit Bindings..." Most likely, you'll see something like "http hostname 80 *" You need to change this so that it only lists the ips of IIS site and not your apache ip. You can have many lines in this panel.
If you have a number of sites, you'll want to check all the sites in the IIS manager for which ip addresses they are listening on.
Restart IIS
Apache
In httpd.conf you need a line that looks like
posted by advicepig at 7:04 AM on May 21, 2010
IIS
I've only got Server 2008 on hand, but it shouldn't be that different.
Open up the IIS Manager and right click on "Default Web Site." You should see something like "Edit Bindings..." Most likely, you'll see something like "http hostname 80 *" You need to change this so that it only lists the ips of IIS site and not your apache ip. You can have many lines in this panel.
If you have a number of sites, you'll want to check all the sites in the IIS manager for which ip addresses they are listening on.
Restart IIS
Apache
In httpd.conf you need a line that looks like
Listen 123.123.123.123:80The 123's should be your ip number instead. If it's currently working on localhost:81, you'll see a listen line with :81 at the end. Save the file and restart Apache.
posted by advicepig at 7:04 AM on May 21, 2010
Response by poster: Open up the IIS Manager and right click on "Default Web Site." You should see something like "Edit Bindings..." Most likely, you'll see something like "http hostname 80 *" You need to change this so that it only lists the ips of IIS site and not your apache ip. You can have many lines in this panel.
No `Edit Bindings` Option, however when I click on the list of websites I see the ips and ports which are in use. I know that if I setup another iis site that I can assign it a new ip address from a list and I can see this site from the web. However say I dont do this and instead add this ip address and port 81 to httpd.conf in the listen line, I still get Service Unavailable..
posted by therubettes at 7:27 AM on May 21, 2010
No `Edit Bindings` Option, however when I click on the list of websites I see the ips and ports which are in use. I know that if I setup another iis site that I can assign it a new ip address from a list and I can see this site from the web. However say I dont do this and instead add this ip address and port 81 to httpd.conf in the listen line, I still get Service Unavailable..
posted by therubettes at 7:27 AM on May 21, 2010
Response by poster: Just a little more information, I have set the default website to a working iss (non php site) and when I try to access the unused ip address it shows the default even though apaches httpd.conf is configured to listen to this ip and port. Dont know if that helps any.
posted by therubettes at 7:40 AM on May 21, 2010
posted by therubettes at 7:40 AM on May 21, 2010
Response by poster: To clarify even further going to the famous ip address (which is unassigned in iss, but is in httpd.conf) gives the default iis website, but adding the port i.e. 81 gives nothing.
posted by therubettes at 7:45 AM on May 21, 2010
posted by therubettes at 7:45 AM on May 21, 2010
If your Joomla site has a different domain name than the other sites on the box, what you're trying to do may be easier using Apache's virtual host feature rather than different IP's.
Also running IIS on the box may make that more complicated. If you run Apache on port 80, and IIS on some other port, you can probably have Apache use mod_proxy to redirect traffic intended for IIS. I've never done that, but it should work.
posted by paulg at 8:54 AM on May 21, 2010
Also running IIS on the box may make that more complicated. If you run Apache on port 80, and IIS on some other port, you can probably have Apache use mod_proxy to redirect traffic intended for IIS. I've never done that, but it should work.
posted by paulg at 8:54 AM on May 21, 2010
Response by poster: If your Joomla site has a different domain name than the other sites on the box, what you're trying to do may be easier using Apache's virtual host feature rather than different IP's.
No domain name in place yet, just an ip address which I am trying and failing to assign as IIS seems to be holding onto it despite my deleting this 'hold' using httpcfg.exe
Also this site works on the server locally via http://localhost:81/site/ there is no problem there. I will read up those links you sent paulq, thanks for the suggestions.
posted by therubettes at 9:02 AM on May 21, 2010
No domain name in place yet, just an ip address which I am trying and failing to assign as IIS seems to be holding onto it despite my deleting this 'hold' using httpcfg.exe
Also this site works on the server locally via http://localhost:81/site/ there is no problem there. I will read up those links you sent paulq, thanks for the suggestions.
posted by therubettes at 9:02 AM on May 21, 2010
Response by poster: Just to follow up for anyone interested, port 81 was being blocked by my ISPs firewall. They then did the necessary to set up Joomla to work on IIS - I dont know how exactly but they did!
Thanks again for everyone who turn the time and trouble to help me, it was appreciated.
posted by therubettes at 3:57 PM on May 25, 2010
Thanks again for everyone who turn the time and trouble to help me, it was appreciated.
posted by therubettes at 3:57 PM on May 25, 2010
« Older Help me figure out a costume! What's a costume? I... | How much money is spent on communications in... Newer »
This thread is closed to new comments.
Hope this helps you help me! And thanks for the responses.
posted by therubettes at 12:10 AM on May 21, 2010