-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Local server
Some functionality (loading external files, for example) works as expected when the files are placed online via FTP or SSH. However, if you try to view them locally, you see some kind of "cross-origin" errors in console. The solution to this is to view them using what's called a local web server. This tutorial includes instructions for setting this up on Mac OSX, Windows, and Linux.
##Python SimpleHTTPServer
If you need a quick web server running and you don't want to mess with setting up apache or something similar, then Python can help. Python comes with a simple builtin HTTP server. With the help of this little HTTP server you can turn any directory in your system into your web server directory. The only thing you need to have installed is Python (Python is already installed if you are using Mac OS X).
Python SimpleHTTPServer tutorial
Type in Terminal:
python -m SimpleHTTPServer
Or if you are using Python 3, type:
python -m http.server
Then visit http://localhost:8000
on your browser.
Unfortunately the python simple server is very slow. Loading a local page will often stall and it can't stream video and has trouble with even medium size files like an 8MB mp3 for example. However, it should suffice for loading in most text files, fonts and most images.
##Node http-server
An alternative is node.js http-server. It is much faster than python simple server while requiring a little bit of setup. Just 3 simple steps:
-
Open a terminal or command prompt
-
On OSX/Linux type
sudo npm install -g http-server
On Windows type (you might need to open the command prompt as admin)
npm install -g http-server
Done!
From then on just cd
to the folder that has the files you want to serve and type
http-server
Then point your browser at http://localhost:8080/
##Processing Simple HTTPServer Simple HTTPServer library for processing. Allows communication in both ways.
import http.*;
SimpleHTTPServer server;
void setup() {
// Create a server listening on port 8000
// serving index.html,which is in the data folder
server = new SimpleHTTPServer(this);
}
##Apache Server
Python SimpleHTTPServer is great to get started, but at some point you might want to set up an Apache server. The Apache server supports a greater range of HTTP functionality and scales well for bigger projects. See below for OS specific setup.
###Mac OS X
Mac OS X since 10.5 Leopard ships with Apache web server installed, all you have to do is enable it and place the files in the right place.
####Mac OS X 10.7 and above
- Open Terminal and type:
sudo apachectl start
- Verify it is working by going to
http://localhost
on your browser. You should see "It works!" on the browser. - Enable permissions for the files on the server by typing the following two commands into Terminal:
sudo chown root:<your username> -R /Library/WebServer/Documents
sudo chmod -R 755 /Library/WebServer/Documents
- Place your project somewhere inside /Library/WebServer/Documents/.
- View it at http://localhost/(the project folder in /Library/WebServer/Documents).
http://localhost/my-p5-sketch
####Mac OS X 10.5 and 10.6
- Turn on the web server. Go into System Preferences > Sharing, and check the “Web Sharing” box.
- Verify it is working by going to
http://localhost/~<your username>
on your browser. You should see a default webpage with a title of "Your Website". - Place your project somewhere inside
<your username folder>/Sites
. - View it at http://localhost/~(your username)/(the project folder in
<your username folder>/Sites
).
http://localhost/~macusername/my-p5-sketch
###Windows
- Download WampServer from http://www.wampserver.com/en/.
- Install WampServer and follow instructions.
- The “www” directory will be automatically created (usually c:\wamp\www).
- Create a subdirectory in “www” and put your HTML/JS files inside.
- Open your internet browser and go to the URL : http://localhost/yourfile.html.
###Linux
- Install apache2 via apt-get.
- Place your project somewhere inside /var/www/.
- View it at http://localhost.
If you would like to edit this wiki and don't already have edit access, please open an issue or comment on an existing one noting the wiki page you'd like to edit. You will then be added as a repository contributor with edit access.