OpenVz and Proxmox run websites and control panel - virtual-machine

I create OpenVz containers in NAT , for this for example i create 2 containers and in each container i put 2 control panel ispconfig , all works and for works use forward ip and i can access with the same ip and change the port for example :
Control panel of ispconfig access by this URL :
32.455.32.21:1090
And access theother control panel of ispconfig with this :
32.455.32.21:1125
All ok , and works , the problem it´s for add domains in each case , i try use register A into DNS and put the ip with the port for access the domain and redirect of web content , but into DNS A records no let insert ports , by this i have this question , it´s possible use this control panels and add domains for load the content of websites in each container and using the same ip but change the ports , this it´s the dude i have or finally yes or yes i need buy ipfailover for works with these control panel and add domains , etc .....
Thank´s for the ideas and the help , Regards

You cannot use the DNS to point to a port.
You will have to put some other method in place to do this. Typically you would use a front end webserver (or a dedicated proxy server) to proxy the connection from port 80 to port 100 based on the name of the server being requested.

Related

Assign different port than 80 for Apache

i use OSX Mavericks that has built in Apache. I need to give access to a local website on my machine to someone , i did this many times before by enabling web sharing , opening port 80 for my local ip on the router and then by giving my is ip the website was live on the internet. Problem now is that i use the wifi connection from a friend and i cannot ask him for the router pass to open 80 as i am sure that he will not understand and maybe he even change the wifi pass. i checked the ports on the router and there are some open ports, i was wondering is it possible to change apache settings so it will listen to another port and then make the website publick by giving again my isp ip? i tried to nano httpd.conf and change Listen 80 to Listen 12345 (for example) so i thought that if my ip is 55.666.45.155 and i type 55.666.45.155:12345 my website will popup but it doesn't work.
Is this possible to do somehow?

How to use a domain for two IP's

I have a minecraft server and I want to make it so example.com points to two IP addresses. I want to know how to make it. So, apache, godaddy, or whatever detects a browser and sends it to the website version and when a client is being detected it sends it to the minecraft server.
For example:
I type example.com in my browser and it takes me to the website.
I type example.com in my minecraft server list and hit enter and it shows my minecraft server.
Thank you.
They do this by adding specific entries to your DNS record. By setting an SRV record you can forward all requests on a specified port to a separate target which may be another domain, a sub-domain, separate directory, or another IP address.
Example SRV record:
_http._tcp.example.com. IN SRV 0 5 80 www.example.com.
_minecraft._tcp.example.com IN SRV 0 5 25565 play.example.com.
In the above example you could also replace the domains used at the end of either record with a separate IP address and it would also work.
Of course your exact method of adding these records depends on who is the host that is controlling your DNS records and what method of edit they offer to you.
You can't use a domain for two IP addresses. However, It is possible to have a web server on the same network. That way the domain name should work with the web server and your minecraft server.

Cannot install Wordpress Multisite (Network) on a custom port

I'm running a website at http://localhost:8080/sitename. However, when I'm trying to create a network of sites with wordpress, I'm getting the following error under Tools-> Network:
ERROR: You cannot install a network of sites with your server address.
You cannot use port numbers such as :8080.
I tried to create a virtual host and a fake domain but I can't make it work.
How can I solve that?
At this moment, Wordpress only seem to support 80 and 443 ports. A temporary possible workaround to use any custom (i.e. http 8080) port:
Open wp-admin/includes/network.php and find the section of code where it mentions array( ':80', ':443' ) and add :8080 too in that array.
After completing setup of network, you might need in wp-config to adjust to such:
define( 'DOMAIN_CURRENT_SITE', 'example.com'. (stristr($_SERVER['PHP_SELF'],'wp-login.php') ? '':':8080') );
As noted in comments (thanks) after creating first sub-site, it might have port number embedded in domain name, so try to enter Mysql Database (i.e. try hosting's phpMyAdmin, or even installed plugin before starting procedure) and in _blogs & _site& _options tables, to adjust homepage urls of subsites(i.e. separate port number from domain).
That's all. Login again to your project.
From my experience, WP is not designed to use custom ports for multi-sites so the blogs (sub-sites) hosts get messed up in the DB.
My solution: After you switch to multi-site or create a new site, you need to go to your db admin page (e.g. phpMyAdmin) and fix the blogs domain in the wp_blogs table. Basically WP failed to add a colon between the host and port; just have to add it-> localhost8080 becomes localhost:8080.
So, on the site's settings add the missing colon to the siteurl and home urls.
I found temporary solution:
running "netstat -o -n -a | findstr 0.0.80" in CMD will show you wich service is using the port 80. If PID is 4 it means that port 80 is used by the system (propably IIS or web matrix if it is installed - this was my case). i changed the port IIS was using from IIS Manager and i also deactivated MsDepSvc service (Web Matrix) which was also using port 80. After that i reconfigured apache to work in port 80 and everything worked OK!

Dynamic DNS and reverse proxies: Can this be done?

Here is my situation. I have a LAN at home, behind a regular router.
I have my server on 192.168.0.9, on this I have bind9 running, apache2 on port 80. Tomcat on port 8082 and another tomcat on port 8083.
I have successfully setup bind so that when I am inside my LAN I can enter:
app1.mylan.com Apache will reverse proxy this to app1.mylan.com:8082 and it shows in the browser as app1.mylan.com
Same goes for app2. (i.e. app2.mylan.com -> app2.mylan.com)
However, my router has dynamic dns setup.
How can I reach app1.mylan.com via dynamic dns. I've tried setting up a URL redirect with my DNS provider (even enabling cloaking)
but what happens is that in the browser, the apache server tries to serve up the content as if it was on port 80, and I get a 404.
It's as if the reverse proxy is not working due to the dyn dns.
Can this be done with dynamic dns???
Many thanks,
Kevin.
Yes, it certainly can be done. But it will require a few things and your description is a bit vague so I'll give you a fairly generic answer:
For it to work, every DNS entry for your zone must be changed to point to your external (dynamically changing) IP address. So when your router gets a new external address, you'll need to have dynamic DNS change the content of your zone to reflect this. You haven't said how you're doing this, but it sounds like you have it working. But if you're just running bind on your internal LAN and only changing it there, it won't work. If you own, for example, "mylan.com" then you need to tell ".com" that your name server has changed addresses too and that the authority has moved. It is unlikely you can do that change in an automated fashion. Instead, you'll likely need an external DNS provider for "mylan.com" that you can update without changing the registered NS records for mylan.com itself.
But to make it worse, if you have your internal LAN behind a NATing router (which is why you have 192.168....) then you need to tell the NAT box to do forwarding as well. Your NAT box will need to forward everything coming in to its address on port 53 (UDP and TCP both) to your internal box for DNS, and everything to port 80 to your internal box. And possibly 8082 and 8083 as well, but if you have the proxying set up properly this shouldn't be necessary.

Apache: how can I access my webpage from a computer outside my network?

I want to access my webpage from a computer outside the network. Our network has IPs like 192.168.0.1-192.168.0.255. The network is connected to Internet through a local gateway 192.168.0.1 and gets to DNS server 193.xxx.xxx.xxx.
Let's say my computer has the IP 192.168.0.50. How can I my website from my server (Apache) from a computer which is not from our network (let's say 254.231.52.xxx)?
Thank you!
Short answer:
The solution to this would be to find out the 'external IP' of your router and enable a port forwarding for port 80 and 443 to your local IP.
Long answer:
The Internet is divided into 'public' and 'private' IP spaces. Private IPs are usually not directly accessible from a 'public' IP.
The IPs from the 192.168.0.1-255 are from one of these private subnets.
Your router (at home) usually has multiple IPs. One or more from your local private network (192.168.0.X) and one from your local ISP (I guess something like 193.xxx.xxx.xxx because your DNS is in that network) which is from the 'public' space.
To connect to your computer with the private IP from a public IP like the mentioned 254.231.52.xxx you would have to connect to the public IP of your router (the 193... one). You would also have to enable a mechanism that is called 'port forwarding'. This effectivley takes all internet traffic arriving at the public IP of your router on the forwarded ports and transfers it to the private IP you configured the forwarding to.
E.g. 254.231.52.. -> 193...:80 -> 192.168...:80
Usually home routers have a configuration page where you can do this.
The required ports you would probably use are 80 (http) and 443 (https).
Another possibility is using so called http-proxies which are also usually supported as a configuration option one home routers. You should refer to the manual of your router for configuration instructions of this.
What you need is to identify your home computer from the whole internet in order to access from outside.
This tutorial can help you
http://kyokasuigetsu25.wordpress.com/2011/01/21/how-to-access-localhost-of-computers-outside-the-network/
But if you only have plain html files ( css, js too ) you could use Dropbox and share your sites folder. This way you could be working locally and files would be synced to your public folder
Hope it helps
If you have sufficient privilege to configure the router (on the gateway machine), then you can use "port forwarding" to do that.
Go to your router settings and configure it so that it forwards the packets it receives on port 80 to your machine. Assuming your router has a valid IP itself (say x.x.x.x) you can access your Apache server on: http://x.x.x.x/.
You can use any other port instead of 80 and access your Apache through http://x.x.x.x:PORT/ of course.
If you don't have sufficient privileges, then nothing comes to my mind except using reverse tunneling using SSH or similar protocols.
Most gateways (router) have an VirtualServer option which you can point to the local server (192.168.0.50)
You could use something like dyndns.org to setup a permanent hostname to your server. i.e. mylocalserver.dyndns.org
A public name for your machine needs to be set up in DNS to point to your networks' router. Then you will need to set up your router to redirect traffic for that name to the machine in question. Also the firewall needs to be set up to allow that.