Apache (yes another thread on it)

Discussion in 'Web Design and Development' started by greenmac, Sep 28, 2006.

  1. greenmac macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #1
    I just want to change from port 80 to anything for eg. 8080.
    How do I do that.
    Oh and I found if I do a search on terminal for httpd.conf on this computer(mac pro) I get this
    josh-greens-computer:~ greenjo$ locate httpd.conf
    locate: no database file /var/db/locate.database.

    however on another computer i have (eMac) I get this
    Joshua-Greens-Computer:~ joshuagreen$ locate httpd.conf
    /private/etc/httpd/httpd.conf
    /private/etc/httpd/httpd.conf.applesaved
    /private/etc/httpd/httpd.conf.bak
    /private/etc/httpd/httpd.conf.default

    I don't know wheather this means much.
    Thanks for any help I receive.
     
  2. frankblundt macrumors 65816

    frankblundt

    Joined:
    Sep 19, 2005
    Location:
    South of the border
    #2
    not sure if the Intel builds are different, but on my PPC the built-in Apache that come with OSX has its conf files at /etc/httpd

    the etc folder is hidden so you need to use Finder > Go menu > Go to Folder > /etc/httpd

    to open the ports you need to set Apache to Listen on whichever ones you want open (with multiple specific Listen directives)

    Then use the Virtual Host containers to specify which ports go where when attached to a particular request - eg
    Listen 80
    Listen 8080
    Listen 443
    ....
    NameVirtualHost *:443
    <VirtualHost *:443>
    ServerName www.whatever.co.nz
    ...
    <Directory "/Library/WebServer/Documents/zeroadmin">
    ...
    </Directory>
    </VirtualHost>

    NameVirtualHost *:80
    <VirtualHost *:80>
    ServerName www.whatever.co.nz
    ...
    <Directory "/Library/WebServer/Documents/zero">
    ...
    </Directory>
    </VirtualHost>

    NameVirtualHost *:8080
    <VirtualHost *:8080>
    ServerName www.whatever.co.nz
    ...
    <Directory "/Library/WebServer/Documents/zero2">
    ...
    </Directory>
    </VirtualHost>

    So that http://www.whatever.co.nz goes to the default site but https://www.whatever.co.nz goes to the admin version
    and http://www.whatever.co.nz:8080 goes somewhere else again.
    there are i believe many ways to do this, and the ServerNames can be all different if you like, or use different sub-domains (like admin.whatever.co.nz), but i personally find this the cleanest and clearest.

    Using *.[port] means that you have to order the Virtual Hosts correctly - Apache goes through them in order and the first match it finds, that's where the request goes, if there's no match it send it to the first one (with the right port). Which can handy if you have a lot of different domains but want most of them to point to a "default" site without having to set up Virtual Host containers for all of them.

    Is that too much information? On the wrong subject? :D
     
  3. greenmac thread starter macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #3
    thanks, I've found the file, Its where you said, but all I want to do is change the port used to something else, I want to test because I think my isp might be blocking port 80, I rang and asked, response:"I can't tell you" gee thanks.
    I'm not sure where your heading with virtual hosts, I dont think thats what I need.
    So main question is how do I change it to a different port, step by step, I'm new to this. I need it spelled out like what do I use to open httpd.conf what lines need changing.
     
  4. frankblundt macrumors 65816

    frankblundt

    Joined:
    Sep 19, 2005
    Location:
    South of the border
    #4
    ah ok. Firstly, i don't think your ISP would be blocking 80. It's possible, but i can't imagine why it would be worth the hassle. So, first thing is to check whether it's really blocked

    open Applications > Utilities > Network Utility : Port Scan tab

    Ip address: [enter the ip address that's showing in System Preferences > Network : Status - Built In Ethernet]

    check "Only scan between" 80 and 80

    If it comes back open, that's good.

    How do you connect to the internet, via a router or directly to the ISP via a modem?

    Do you have a static IP address?

    It might help also to have an idea of why you want 80 open - are you planning on hosting a site?

    The more info you can supply, the easier it is to know where to look fro the problem.
    Cos, the next thing is to test is whether your router is blocking 80 (quite possible, likely even, if you haven't told it otherwise)
     
  5. Kunimodi macrumors member

    Joined:
    Sep 8, 2006
    Location:
    Ashland, OR, USA
    #5
    Hi, greenmac. Exit TextEdit if it is current open and then start Terminal (in Applications/Utilities) and enter the following command:
    sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/httpd/httpd.conf
    Now search for the line that says 'Port 80'. Change this to 'Port 8080' or whatever port you want, save the file and then restart the server.

    If you ISP is blocking the port, it is happening at a router further up than your computer. Locally port scanning your own computer will not reveal this block (which they do specifically to prevent people from running servers -- ISPs like that are ruining the internet ;) ). Instead, try to access it from outside your ISP like with this site: http://www.radiotoolbox.com/online_tools/cantheygetin.php
     
  6. fall3n macrumors 6502

    Joined:
    Aug 17, 2006
    #6
    If your running the latest version of stuff (intel) then Port is replaced with Listen. Port doesn't work anymore. At least this is what I have found.
     
  7. Kunimodi macrumors member

    Joined:
    Sep 8, 2006
    Location:
    Ashland, OR, USA
    #7
    Ah, did Apple finally upgrade to Apache 2.x? :) Port is an Apache 1.x directive, but is how it is implemented in the default Apache installations I've seen (though Listen is still present, it's used for matching to an IP), including OS X Server. This is how it is on my Mac Pro. However, MAMP (for example) currently uses Apache 2.0. Are you sure you're using a stock httpd?
     
  8. rhoydotp macrumors 6502

    rhoydotp

    Joined:
    Sep 28, 2006
    #8
    you could be right. my bell isp blocks all known-ports below 1024.

    things to check:
    - your httpd.conf Listen directive is set to 8080 (as others have suggested)
    - your firewall config is open for 8080 (create a new one, if you haven't)
    - your router (if you have one), is configure to forward requests on port 8080 to port 8080 ...

    alternatively, if you have a router, you can make port 8080 to point to the local port 80. then, you don't have to change the apache config.
     
  9. greenmac thread starter macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #9
    Im getting there i think

    I ve found the line PORT so I can change that, this is what the line listen says
    #Listen 3000
    #Listen 12.34.56.78:80
    does that stay like that or change?
     
  10. greenmac thread starter macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #10
    I have a router I put port forwarding on on port 80, and 8080, and set a new firewall rule for 8080, as of when I first started this, first things I did I think, not sure how to redirect with my router, I've seen my mates and his Dlink is a better set up over my Billion, He has no trouble hosting his site from his house on dynamic ip, but he had a look at mine and we think its port 80 blocked from isp, I asked them and response was they wouldnt tell me.
     
  11. Kunimodi macrumors member

    Joined:
    Sep 8, 2006
    Location:
    Ashland, OR, USA
    #11
    That's fine; those are examples. Anything after a # character is treated as a comment.
     
  12. rhoydotp macrumors 6502

    rhoydotp

    Joined:
    Sep 28, 2006
    #12
    what you want to do is just, enter another line that would have the new entry. in the end the section should look like:

    #Listen 3000
    #Listen 12.34.56.78:80
    Listen 8080


    the directive with the ip is useful if you have multiple interface and you want to bind the port to a specific ip. in your case, you don't need it.

    after you change the config, you caan run

    apachectl restart

    Then go to your browser and type:
    http://localhost:8080

    you should get your homepage (or the apache start page) if you have it configured properly.

    to make sure it works outside the firewall in your local machine, go to another pc ad try to access the page from there:

    http://yourip:8080

    hope this helps. have fun!
     
  13. greenmac thread starter macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #13
  14. rhoydotp macrumors 6502

    rhoydotp

    Joined:
    Sep 28, 2006
    #14
    it's interesting that your domain resolves to a private network's ip:

    Non-authoritative answer:
    Name: shaggygreeneye.boldlygoingnowhere.org
    Address: 10.0.1.4

    Hence, I will not be able to check it and I don't think anyone else can. I maybe wrong.

    And, unfortunately, you have to put the port number :(
     
  15. Kunimodi macrumors member

    Joined:
    Sep 8, 2006
    Location:
    Ashland, OR, USA
    #15
    If you go to http://whatsmyip.com and post the IP, we can try to access it using that. You'll want to configure your name server to resolve shaggygreeneye.boldygoingnowhere.org to that IP.
     
  16. greenmac thread starter macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #16
    well thats funny, should point to this 122.49.162.146 thats what it says its pointing to
     
  17. greenmac thread starter macrumors regular

    Joined:
    Aug 11, 2006
    Location:
    Adelaide
    #17
    I think it must be the billion router then thats not forwarding the ports like it should be, I think I'll give it the flick, and try and use Airport as router, means I have to buy a new modem though, If thats the case I can use port 80, well atleast I've learned aliitle along the wy, Thanks guys
     
  18. Kunimodi macrumors member

    Joined:
    Sep 8, 2006
    Location:
    Ashland, OR, USA
    #18
    Yep, I'm sorry, but the IP does not seem to be accessible Good luck with the different router -- maybe a hosted account would be worth getting.
     
  19. fall3n macrumors 6502

    Joined:
    Aug 17, 2006
    #19
    Nope, Apple didn't upgrade yet, but I think it's part of PHP 5 as I'm still using Apache 1.3 (cause there are to many problems with my intel c2d, as far as i know) but am using php 5 and mysql 5. Though i havn't tried the port setting with my apache 1.3 because listen worked just fine with my setup.
     
  20. Kunimodi macrumors member

    Joined:
    Sep 8, 2006
    Location:
    Ashland, OR, USA
    #20
    Are you using MAMP or another stack? PHP doesn't include Apache and neither does MySQL (though the stock OS X includes PHP (4 I think) if you enable it and OS X server has MySQL). You can build Apache 2.2 from sources of Mac (including Intels) and it works well, though I've had problems with svn dav integration before. Of course <religiouswar>mod_python and PostgreSQL are much better</religiouswar>! :D
     

Share This Page