I am new to Apache.
I have a situation in which my server PC is connected to both WiFi as well as wired(Ethernet) network.
The situation is displayed in following image.(image is in pastebin)
Mynetwork architecture
I am able to watch HTTP stream from the IP camera in my server PC (same subnet).
But how can I create a webpage (hosted in my server PC) from which users from the userpc should be able to watch stream from the IP cameras.
Is it possible to use Apache reverse proxy to solve this issue?
Yes, in this scenario deploying Apache as reverse proxy in server PC can solve the issue. Following steps need be done to setup Apache as reverse proxy:
Enable mod_proxy and mod_proxy_http Apache modules
Set 'ProxyPass' directive as below
ProxyPass <Path-accessed-from-userPC> <URL-to-access-HTTP-stream-at-serverPC>
Related
I have created a Chat application in Ratchet PHP. It runs fine on local machine using WAMP. I want it to setup on live server.
On my server I have:
PHP Support
SSH access
Port 9000, which is opened for OutBound connections.
Sub-domains
What I don't have:
No port for InBound connections.
No root access in SSH. Say I cannot see/edit iptables
I ran php server.php which gives success message about the server is started and listening at port 9000. But when a HTML page tries to connect it using ws://domain:9000 it runs into error-
Firefox can’t establish a connection to the server at
ws://domain.com:9000/
I googled a lot and it appears that what I need is a port for inbound connections.
But according to this answer the thing I need is PHP support for Ratchet to work on shared hostings. Can anyone explains what I really need and Is there any workaround If it's not availble in the list of things I have on my server.
Basically, No
It is not likely for a shared hosting environment (i.e. Apache with VirtualHost config, PHP, MySQL, and a CPanel interface) to support your websocket application.
For websocket to work, you need to either:
have a port dedicated to websocket in-bound connections; or
have a HTTP/HTTPS server that knows when to upgrade a connection and proxy pass to your websocket application.
The first route requires the server to allow in-bound connection to a certain port number. This is a potential security issue for the hosting provider and, thus, is unlikely for your vendor to grant you that.
The second route requires Apache server have with both mod_proxy and mod_proxy_wstunnel installed and enabled. It also require you to use ProxyPass config, which cannot be overridden by .htaccess configs at all.
So unless your hosting grants you the permission to touch the Apache main configuration (or would apply such change for you), you're pretty hopeless.
Suggestion
To run your own websocket service, you should think about using Virtual Private Server services such as Amazon EC2, DigitalOcean VPS.
I have an asp.net web application hosted and I would like to add a sub-domain (or sub-directory) and run/host a php application in it.
How would i do this?
A subdomain would be nicer from a technical standpoint:
You could make your DNS route the subdomain.yourdomain.com to a different Server then yourdomain.com
You could add different IIS bindings for subdomain.yourdomain.com and yourdomain.com in IIS.
For a sub-directory you'd have to run php in IIS as well, here is a guide in how to set it up: You can also run an php website in iis.
You could also run php on Apache and dotnet in IIS. The only downside: If you try to run both apps on 1 server, only 1 (IIS or apache) Can listen for http traffic on port 80 (the default port). so you'd have to host 1 on a different port (eg for port 81: yourdomain.com:81) which i wouldn't advice for a production website.
You could make a tiny application which receives every request and forwards the http request to the right application on a different port. This is called a reverse proxy.
I have apache web server 2.4 set up on an Windows 7 - 64 bit in school with php 5.3 and mysql installed. This web server has a static ip address and I have allowed the Apache httpd.exe program on Windows 7 firewall.
When I tried to access the page in school (on the same LAN), I was able to access the page. But, when I tried to access it from home (with an external ip address) I wasn't able to access the web page hosted on the web server. When I tried to ping the static ip address of the web server in school it works but when I ping from outside school network, I get lost packets.
Further, I have Adobe Flash Media Server 4.5 installed on the same machine listening on ports 1935 and 1234.
I have also tried to uninstall and re-install apache but to no avail.
Any idea on how what is the problem here? Or any ways to test out the problem?
Is the problem because of Windows 7 tight firewall security? or 64-bit machine? or the adobe flash media server running on the same machine? or any misconfigurations out there in Apache?
Note: the static ip address is accessible and the server can serve a page when the server is running on windows xp previously. Recently, I just changed to windows 7 but the apache server can't seem to serve the same page.
Would really appreciate some help here!!! Thanks
Your server machine may have a firewall which allows connections, but the machine may stand behind the router which does not forward ports correctly. Have you checked this?
The LAN is being protected by the router to the external network. You need to get the administrator to configure this router.
I have downloaded Glype PHP proxy script. I have put it up in the localhost. Now I want all application on my PC to access internet through the local proxy server. How do I do that?
I've tried changing the LAN setting in Google Chrome. I enabled the option Use a proxy server for your LAN and set the address to http://localhost/glype-1.4.3/. But it didn't work out.
I am IIS7 Server on Windows 7 Ultimate.
Please help me out.
You don't need to Use a proxy server for LAN settings in Google Chrome, Glype PHP proxy script just provides a proxy service to users via a web browser, you just browse website then enter any website address to surf.
First of all sir You need to install Linux or Unix based OS on your PC, they are the best servers, then extract the glype scripts into homepage and configure apache to accept connections on your ip and be sure to use a static ip within your local network.
I am in the middle of building a website which means it is not uploaded to a server yet. Is there any way I can perform cross browser testing from the localhost and not an actual hosted URL?
Either by running lots of browsers natively (some in a VM), or by using SSH tunnelling to a commercial service like browserling (http://browserling.com/).
Edit to elaborate a bit: An SSH tunnel (a reverse tunnel technically) between your localhost and a server allows you to forward certain ports on the remote host to ports on your localhost, over an encrypted SSH channel. This means the browsers running on browserling's servers can send packets down the tunnel, back to your localhost and your webserver there.
Install PHP on your local machine, this way you can run PHP scripts in command-line or browsers.
http://php.net/manual/en/install.php
Configure your webserver to listen on your network IP and access your website through IP address on your local network.
If it is apache webserver It would be configured using directive:
Listen IP:port
Example 1 (your adapter IP address):
Listen 192.168.1.10:80
Example 2 (global listening on all interfaces) - better for testing
Listen 0.0.0.0:80
Then just simply access your computer from other browsers on other platforms.
Sure. If you're able to configure your local network you could expose port 80 or 443 to the cloud by making changes to your routers firewall. This would make your application as available for testing locally as any on a remote host.
Let me know if your question is about which tools you could use, either as external services or locally installable.