Run Webmin on a Raspberry Pi 2 Server
Webmin is a web-based interface for system administration on your Pi. Use any modern web browser and setup user accounts, Apache, DNS, file sharing and install other sever modules.
In otherwords, once webmin is installed, via the web interface, you can install Apache and create a webserver or install samba / nfs/ Afp and create a network attached share that caters to multiple network protocols, shared folders with access permissions, time machine support, Create users, assign permissions, create a print server and a whole lot more.
- Download the latest Rasbian
- Prepare a SD / Micro SD card to receive the downloaded Images.
- Un compress and Transfer the downloaded Raspbian Image to the SD / Micro SD card.
- Install Raspbian.
- Configure Raspbian for a static network.
- Add Webmin APT repository to the Sources list.
- Install Webmin using the apt-get command.
Time and Difficulty :
- Time : Between 15 and 20 mins once you have the Raspbian Image file and the rest of the software.
- Newbie Difficulty level : Moderately easy ; Will need to use terminal and type in commands.
What you will need :
- Raspberry Pi 2 Model B or one of its clones like Banana Pi M1 or M2 or Banana Pro
- Ethernet connection or a supported USB Wifi adapter for the Pi
- SD or Micro SD Card that fits into your Pi (4GB or above is recommended)
- USB Keyboard and Mouse
- Connection to a TV or Monitor
You should seriously consider :
- Learning about SSH and how to remotely access the Pi from another machine on your network.
- Learning about Port forwarding settings for your Router.
STEP 1 : Install Raspbian
- The easiest way to install Raspbian is goto the Raspberry Pi downloads page and and download Noobs.
- Follow the steps described in the Noobs setup Guide to get yourRasbian running. In the initial setup page, Select Raspbianand avoid the rest of the options for this project. The default loginand password are “pi‘ and “raspberry” respectively.
- Change the default password of the Pi during the first boot sequence in the Raspberry Pi configuration menu. You can always go back to the Pi configuration menu by typing in ‘sudo raspi-config‘ at the command prompt.
- Complete the Setup, restart the Pi with a ‘ sudo reboot‘ command.
STEP 2 : Give the Pi a static IP address
By default, the Pi is set to ask for a dynamic IP address from the router. You will need to change this setting to a fixed IP address since you will be using the Pi as some sort of a server and it’s more convenient that the address be fixed. Even more so, if you are hosting a webpage- in which case, the port forward from your router always points to the Pi.
Assigning a Static IP address to the Pi can either be done at the Router level (which is fairly easy but the steps to do this are router’s model and brand specific) or at the Raspberry Pi level (outlined below).
Note : replace the x in the lines below with what appears on your screen as you type in the commands.
Log on Raspbian and enter the following commands at the terminal :
- “ifconfig” (ifconfig displays details of your current network connection )
- Write down the values next to inet add:192.168.x.xxx. These numbers is the IP address that your Pi is currently at.
- Also write down the Broadcast Range (Bcast) and Subnet Mask (Mask) that appear next to the inet add.
- To get information from your router, type in “sudo route -n“. This will give you the gateway and destination values.
- Write down the Gateway = 192.168.x.x & Destination = 192.168.x.x
We have now obtained all of the data that we need to setup our Raspberry Pi with a static IP address, it’s time to save it to a config file.
Type in “sudo nano /etc/network/interfaces” ( nano is a text editor and will open the file interfaces located in the folder /etc/network)
In nano, look for the the line that reads “iface eth0 inet dhcp”. This line is telling the ethernet “eth0” networking interface to use “dhcp” (dynamic IP). Firstly, replace “dhcp or manual” with “static”.
Next , add the following lines directly below the line you just altered, with the data you had written down earlier.
The file should look something similar to the image below :
Save your file and exit out of nano by pressing ctrl+x
Reboot your Pi by typing in “sudo reboot”
Once rebooted, your Pi will be on a static IP address. Crosscheck this by typing in “ifconfig” again.
STEP 3 : Configure and Install Webmin
Log in to your Pi via SSH and enter the following at the terminal :
sudo -i (Enter the root level with elevated privileges )
nano /etc/apt/sources.list (Use nano text editor to edit sources.list file located in the /etc/apt folder)
Paste the following lines once you are in nano :
deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Press Ctrl+x to exit and Y to save the changes.
Next, step is to fetch and install the Webmin GPG key with which the repository is signed, with the commands :
cd /root (Navigate to the root folder)
wget http://www.webmin.com/jcameron-key.asc (download the key )
apt-key add jcameron-key.asc (add the key to apt-key)
The Pi is now read to Install Webmin. Enter the following commands :
apt-get update apt-get install webmin
Webmin will now download and install with all dependencies resolved.
The system will give an installation complete confirmation and access instructions.
The Raspberry Pi 2 Webmin Server can now be accessed by entering the ipaddress of your Pi and port 10000 (eg 192.168.0.105:10000)
Once you are logged in, you can update the pi, or install server modules, create users, auto mount drives, monitor drives and whole lot more.
Caution : If you intend to remotely administer your Pi, make sure all your passwords are changed from defaults, use the SSL protocol and make sure you following recommended security practices. Please read about SSH hardening, Server security and port forwarding. Also read the web server installation article.