54

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 ...


49

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 ...


28

I expect that, as Alex says, the benchmarks will show that the fastest Linux webservers will still be the fastest, regardless of architecture. If anyone wants to run benchmarks then the following tutorial has been useful to me: How to perform benchmarks on a web-server Serving Static Pages I have tested the RPi using Apache serving a simple static page: ...


20

On Debian (the operating system Raspbian is based on) and Raspbian the config file is apache2.conf (not httpd.conf) and it should be in /etc/apache2.


17

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 ...


16

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 = ( "mod_access", "mod_alias", "mod_accesslog", "mod_auth"...


15

Nginx 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 :) Installation Nginx is in both the Debian/Raspbian and Arch repositories, so can be installed with a ...


14

As long as the webcam is Linux compatible it should be possible to get it to work. However, if there are not ARM specific drivers available, you will have to build them yourself, which is often not easy.


14

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 Performance 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 ...


13

Raspberry Pi Foundation is also planning to make a camera module available at some point in the future. You can see a prototype at: http://www.raspberrypi.org/archives/1254. This camera will connect via the CSI port - which means it will have the added advantage of not using up a USB port So in summary, use a linux friendly camera with arm drivers for now -...


13

lighttpd 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.


13

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


13

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 ...


13

There is a cool way of getting your public IP on Raspberry PI. curl icanhazip.com As lenik suggested, you need to forward port 80 from router to your Raspberry PI in order to have public web server.


12

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 ...


12

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 ...


11

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 ...


10

If your looking for a simple REST service for a windows universal app, take a look at this github project: https://github.com/tomkuijsten/restup There is also a nuget package for it: https://www.nuget.org/packages/Restup/ Disclaimer: I'm the owner and creator of restup


9

There won't be a universal answer to this as there are too many different requirements from web servers for different applications. Questions that will get more refined answers will be along the lines of: I want to host a small Ruby on Rails application on the Pi (instructions at: RPi Ruby on Rails). The Pi will be able to host most web servers and/or ...


9

Web Servers 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 ...


9

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 ...


8

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. Remember to sudo raspi-config once you've got it installed on a card and running, and use the menu option for expanding out the root-fs to fill ...


8

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.


7

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, ...


7

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.


7

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) ...


6

The error you see is because you don't have a www-data user and group, but lighttpd expects to find one. So first, add a www-data user and group: sudo adduser --system --group www-data Then you can install lighttpd sudo apt-get install lighttpd And that's it. Browse to your Pi's IP address (or localhost on your Pi itself), and you'll be greeted with... ...


6

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 ...


6

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: #!/bin/sh lxterminal I'm using ...


6

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 ...


Only top voted, non community-wiki answers of a minimum length are eligible