Securing a computer is not a simple process, entire books are written on the topic. The Pi's size does not reduce the security threat or attack surface presented to a possible attacker. As a result, I will describe the steps involved and provide links to more detailed instructions and tutorials.
Since you have not mentioned what distro you are using I will ...
Some interesting questions. I think you may be slightly misunderstanding how the "supercomputers" built with Raspberry Pis work. They do not function as an automatic load sharing system. They are designed for something called parallel programming, where a complex task is broken down into pieces that can be performed simultaneously. The main Pi in the cluster ...
The real question here is "Do you need all the features that Apache provides?" (or more importantly, "Are you willing to use up memory for these features?") -- You can custom-compile a VERY stripped-down Apache + mod_perl or mod_php to run your Nagios web interface (or an Über-Stripped apache that just runs the perl CGIs), but even in a minimalist form ...
What you need is CGI support for lighttpd.
Open the lighttpd configuration file (/etc/lighttpd/lighttpd.conf) and uncomment the "mod_cgi" line (remove the # from the beginning of the line if one exists) or add this line if not present.
server.modules = (
I've have some good experiences with Nginx as a web server. I'd team it up with a lightweight wsgi framework like bottle or flask for quick application development in Python.
Don't expect it to handle more than 10 or so requests per second though :)
Nginx is in both the Debian/Raspbian and Arch repositories, so can be installed with a ...
Getting Node.js on a Raspberry Pi
You can either:
Compile Node.js yourself (as ppumkin already pointed out)—takes about 2 hours on a Raspberry Pi.
Or you can download the binary v0.8.17
I did a quick performance test (to give a rough first impression):
My Raspberry Pi is overclocked (Turbo) with default memory_split (64)
Tests were ...
A great low-resource web server is lighttpd, which supports both PHP and SSL. It appears to be working with PHP on a Raspberry Pi, and it's very possible to configure lighttpd to support SecureHTTP.
This is a nice guide on exactly how to setup Ruby on Rails. Obviously using the RPI.
I think it would be pointless to copy and paste the whole article here, so here is a google cached version of the above page as well. Google Cache Ruby on Rails
Forward port 80 from your router to your Pi, and if you want to SSH from outside, port 22 as well. Be aware that with SSH from outside anyone that can get in can then ssh or access the other devices on your network.
Once you are setup, if your IP pretty much stays the same you can use something like Cloudflare to point a domain at it. If it changes on a ...
There's no definite answer for that because it really depends on how much performance you need, how complicated your application would be, etc.
It's always better to have more memory, just to be safe. Remember that you wont ever get full 256MB of RAM to Linux, the best you can get is 240MB as rest will be allocated to GPU (and you really should use this ...
You could make this happen in any number of ways using CGI or other server side script. One problem will be permissions to accessing GPIO pins. There doesn't seem to be a clean solution. Currently it might be easiest to chown the gpio files to the user that runs the web server, call a (suid) program that can access the pins or have a separate daemon with ...
Having looked at the RPi, it seems like a fairly secure device out the box, as long as you do a couple of things.
The default user/pass needs changed. At the very least, change the password. For better security again, change the username as well. (Add a new user, then disable PI. Check that ROOT is also disabled from SSH login, though I think it is by ...
Node.JS can be used as a web server replacement on the Pi and you can create stand alone or Single Page web applications with ease.
But just for your information, in most real world applications it is recommended to use servers like the modern nginx , light weight lighttpd or the chunky but fully featured apache2! And then script node.js to ...
If your looking for a simple REST service for a windows universal app, take a look at this github project:
There is also a nuget package for it:
Disclaimer: I'm the owner and creator of restup
I'd suggest looking at this distribution which has a number of things stripped out that makes it a bit better suited to running a server. SSH is already running in it, so you can just SSH (pi/raspberry) in.
once you've got it installed on a card and running, and use the menu option for expanding out the root-fs to fill ...
In order to get a web page to update itself, you need to communicate back to the server from the client without the user doing anything (and remember, web relations mean the server can't send the client anything until the client asks for it). There are a few different mechanisms you can use to do this:1
Java applets. Applets are great, but unfortunately a ...
As ppumkin pointed out the in comments, don't use IIS. You can definitely use nginx. Apache also works.
Finally, don't discount the possibility of a simple node.js script to implement a server. Depending on what you want to do (dynamic content versus static), you may get even better performance than with nginx.
I struggled for some time with this exact same problem. I believe that I've solved it, though I have to be honest, I don't understand exactly why it works. The key was turning off debugging in Flask. I got a hint at doing it by the comments on this page Video Streaming with Flask
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000, debug=False)
Information regarding system requirements for JIRA in a self hosted environment can be found at https://confluence.atlassian.com/display/JIRA/JIRA+Requirements
JIRA Server Hardware Recommendation for Production
The hardware required to run JIRA in production depends on a number of different JIRA configurations (eg. projects, issues, custom fields, ...
Try sudo apt-get --purge remove apache2 and then sudo apt-get autoremove. I had that same thing with emacs due to it installing other dependencies. emacs would still be there after --purge remove. Autoremove helped removing the dependencies which were installed with emacs.
This answer is not specific to the raspberry pi, but is general advice for remote administered servers.
ssh. Using secure shell is almost as good as being there.
serial console and out of band administration: if you screw up your network interface having a second way to login is a lifesaver. a simple way would be to have a Identical backup machine running ...
The basic issue is to circumvent any window manager, etc., that runs by default after you start X. If you use a display manager (this provides a graphical login screen) you should be able to do keep using it.
In any case, create a file in your home directory called .Xclients (with the leading dot) that looks like this:
I'm using ...
JIRA will run with a 6-8 second load time on a Raspberry Pi 2 Model B. This is probably too slow for most people and, as such, I was only loading JIRA to see if it could actually be done. Also, the times are on a fresh install.
I'm not sure what would happen when you started filling up the database, but I am definitely sure that it would slow to a painful ...
when raspberry pi 3 handles 10 Thousand connection
Very, very unlikely. If each connection were generating 1 KB/s of traffic, that's 10 MB/s, which is just within the 12 MB/s theoretical upper limit of the 100 Mbps ethernet NIC.
But I don't see how a 4 x 1.2 Ghz processor is going to be able to do much with that volume of information, besides maybe turn it ...
Apache is not the best choice when serving static content, nginx is better suited for that. I did a benchmark using http://lekensteyn.nl/index.html as test document. It is a larger document than Jiving's example since 19 bytes is not realistic for an actual page. The results are quite amazing, the RPi even outperforms my work laptop (maybe because I have all ...
The default configuration for Jetty in /etc/default/jetty only allows connections from localhost, you need to set JETTY_HOST to 0.0.0.0 to allow Jetty to accept connections from any host.
Add the following line to /etc/default/jetty:
I'd actually go with Lighttpd rather than Apache on the Pi as it's lighter, and then I'd use a RT5370 WiFI USB dongle to start an access point rather than use Ad-Hoc as Ad-Hoc can have issues with some devices.
You'll need to install hostapd and lighttpd
Configure a static IP address for wlan0
Configure hostapd accordingly, I have some instructions on ...
external address of your pi is the same as the external address of your router. please use your browser to access whatismyip.com to find out the exact value.
btw, other people would not be able to access your pi, unless you configure your router to forward requests to the port 80 to your pi address.