Make Your Own Cluster Computer (Part 2)

[vc_row][vc_column width=”2/3″][vc_separator][venera_framed_image content_type=”video” css_animation=”appear” frame_type=”browser” slider_engine=”flexslider” video_link=”https://www.youtube.com/watch?v=lHmFRlETTcQ” browser_url=”https://www.youtube.com/watch?v=lHmFRlETTcQ”][vc_separator][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_tabs][vc_tab title=”About This Project” tab_id=”1402713028-1-39e9a4-2f88″][vc_column_text]

65_cluster_comp2_thThis is part two of the series that shows you how to make a cluster computer using Raspberry Pi’s!

You can watch Part 1 here.

[/vc_column_text][/vc_tab][vc_tab title=”Parts and Downloads” tab_id=”1402713028-2-39e9a4-2f88″][vc_column_text]

Acquiring the Parts
Here’s what you will need:

  1. 2 or more Raspberry Pi’s
  2. SD cards for each Pi
  3. Power Cables for each Pi
  4. Powered USB Hub (optional)
  5. Networking Cables
  6. A Hub or a Router

TOTAL COST: ~$100.00

[/vc_column_text][/vc_tab][vc_tab title=”Code” tab_id=”1402753910272-3-8″][vc_column_text]

Installing and Configuring Raspbian

  • Follow the software configuration steps shown in this video and burn the image file to an SD card for each computer in your cluster.
  • For each Raspberry Pi in your cluster, insert an imaged SD card, connect them all to the same router or switch, and then connect a power source to each one.
[tabby title=”Terminal Commands”]
    • Install nmap
      • Sudo apt-get update
      • Sudo apt-get install nmap
    • Get current IP
      • Ifconfig
    • Scan subnet for Pi’s
      • Sudo nmap -sn 192.168.1.*
    • Run test file
      • Mpiexec -n 1 hostname
    • Make test folder and file
      • Mkdir mpi_test
      • Cd mpi_test
      • Nano machinefile
        • 192.168.1.2
        • 192.168.1.3
        • 192.168.1.4
        • 192.168.1.5
      • Mpiexec -f machinefile -n 4 hostname
    • Add keys to all pi’s
      • PI01
        • Ssh-keygen
        • Cd ~
        • Cd .ssh
        • Cp id_rsa.pub pi01
        • Ssh pi@192.168.1.3
      • PI02
        • Ssh-keygen
        • Cd .ssh
        • Cp id_rsa.pub pi02
        • Scp 192.168.1.2:/home/pi/.ssh/pi01 .
        • Cat pi01 >> authorized_keys
        • Exit
      • PI03 (ssh pi@192.168.1.5)
        • Ssh-keygen
        • Cd .ssh
        • Cp id_rsa.pub pi03
        • Scp 192.168.1.2:/home/pi/.ssh/pi01 .
        • Cat pi01 >> authorized_keys
        • Exit
      • PI04
        • Ssh-keygen
        • Cd .ssh
        • Cp id_rsa.pub pi04
        • Scp 192.168.1.2:/home/pi/.ssh/pi01 .
        • Cat pi01 >> authorized_keys
        • Exit
      • PI01
        • Scp 192.168.1.3:/home/pi/.ssh/pi02
        • Cat pi02 >> authorized_keys
    • Run new machinefile
      • Cd ~
      • Nano machinefile
        • 192.168.1.2
      • Mpiexec -f machinefile -n 4 hostname
    • Run Python file
      • mpiexec -n 5 python demo/helloworld.py
      • Mpiexec -f machinefile -n 5 python /home/pi/build/mpi4py/demo/md5_dict_attack.py
    • Download and unzip file
    • Copy to all computers
      • Scp -r python_test 192.168.1.3:/home/pi
      • Mpiexec -f machinefile -n 5 python python_test/md5_attack.py
[/vc_column_text][/vc_tab][vc_tab title=”Important Links” tab_id=”1402753981900-3-10″][vc_column_text]

Help support my channel:

http://www.patreon.com/tinkernut

Follow Tinkernut!

Google +

Facebook

Twitter

[/vc_column_text][/vc_tab][/vc_tabs][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]

How To Revive An Old iPod

[tabby title=”Overview”] This tutorial is for those of you that love to tear apart old technology to make it useful again. Someone gave me a broken 5th Generation iPod classic, and in this video I show you how to fix it and upgrade it to something awesome!


[tabby title=”Links”] Where to buy the parts: http://www.tarkan.info/store
Rockbox Download: http://www.rockbox.org

Follow Tinkernut!
Google +
Facebook
Twitter
[tabbyending]

How To Make A Raspberry Pi Web Server

[vc_row][vc_column width=”2/3″][vc_separator][venera_framed_image content_type=”video” css_animation=”appear” frame_type=”browser” slider_engine=”flexslider” video_link=”https://www.youtube.com/watch?v=WgcNBjIJNYs” browser_url=”https://www.youtube.com/watch?v=WgcNBjIJNYs”][vc_separator][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_tabs][vc_tab title=”About This Project” tab_id=”1402713028-1-39e9a4-2f88123b-77946048-9294ef23-7cf7″][vc_column_text]

The Raspberry Pi is an amazing $35 mini-computer. And in this video, I’ll show you how to set it up as a fully functioning web server.

[/vc_column_text][/vc_tab][vc_tab title=”Code” tab_id=”1402753910272-3-8123b-77946048-9294ef23-7cf7″][vc_column_text]

What is a Raspberry Pi

The Raspberry Pi is a revolutionary mini-computing system that is super cheap. It’s based on the ARM processor, and can be powered through USB (5v) and has all of the standard functionality of regular computers.

Raspberry Pi

There are two types of Raspberry Pi Models: Model A ($25) and Model B ($35). Both models have 256mb of RAM, HDMI and Composite video connections, audio connections, USB power input, USB port output, and SD card input. Model B adds an ethernet port (for network connections) and an extra USB port, which is what makes it more expensive.

Since the Raspberry Pi is in such high demand, attaining one is kind of difficult. At the time of writing this wiki, you can only sign up to be notified when more Raspberry Pi devices are available. You can sign up at Alliedelec (North America only), RS-Online (everyone), or Element14 (everyone).


How To Set Up A Raspberry Pi

Raspberry Pi Box

When you first receive a Raspberry Pi, it’s basically just a circuit board in a box. Obviously to run it as a computer, you need some necessary hardware peripherals first. Here’s the list of parts you will need to run it for the first time:

  1. A USB keyboard
  2. An HDMI or Composite cable
  3. A TV or Monitor that is HDMI or Composite capable
  4. A micro-usb power cable
  5. A 2gb or larger SD card (by default, the operating system can only access 2GB)
  6. A network cable (if you want to connect to the network)

Installing the Operating System

Before you can use the Raspberry pi, you have to install the Raspberry Pi Operating System on to the SD card. Don’t worry, it’s not as difficult as it sounds. If you have Windows (you can find Linux and Mac instructions here, there are only 2 things you need to download

Win32DiskImager

  1. The Raspberry Pi Operating System (I chose the “Debian Squeeze” version)
  2. Win32DiskImager (The binary version)

Unzip the Debian Squeeze file that you downloaded. It should produce an ISO file. Now insert your SD card into the computer that you downloaded the files to. Open up Win32DiskImager and for the Device, choose the drive letter of you your SD card. Then click on the folder icon to browser to the Debian Squeeze ISO file that you downloaded. Lastly, click “Write” to write the image file to your SD card. It can take a few minutes to write the files.

Running For the First Time

Once the SD card has been prepped, stick it into your Raspberry Pi. Now you can start plugging in all of your other hardware peripherals, making sure to plug in the micro-usb cable last, since it provides the power.

Raspberry Pi Connections

Once power has been provided, you should start seeing the loading screen for the Raspberry Pi OS on your monitor. The first time, it will take a few minutes to completely load. All other times, it should load pretty fast. You’ll know when it’s through loading because you will see a line that says “raspberry pi login:”. The defaul login name is pi. And the default password is raspberry.

You should now be at a line that says pi@raspberrypi:~$. This means you can start entering in commands. For those of you that are used to a desktop environment, I know this isn’t what you had in mind. So if you prefer a desktop environment, you can type

startx

This will load the desktop environment. From here you can plug in a mouse and use it like you would a normal computer GUI.


Initial Software Setup

It’s good practice to update the software and software repositories when you first set up your Raspberry Pi. It’s also important to update the system clock via the internet, since the Raspberry Pi does not have real-time clock. So here’s a list of initial commands to get your system updated:

Configure Time

sudo dpkg-reconfigure tzdata

Update software packages

sudo apt-get update

Update Debian

sudo apt-get upgrade

Updating Firmware

NOTE: If you are running the latest Raspbian hard float release, this update tool will prevent your pi from booting. Only use this if you have Debian squeeze
To keep the Raspberry Pi firmware up-to-date, you have to install a program called Hexxeh’s RPI update tool through Git-hub. Here’s the process

Install certificate authority certificates

sudo apt-get install ca-certificates

Install Git (required to run Hexxeh)

sudo apt-get install git-core

Download Hexxeh’s RPI update tool

sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update

Update the firmware

sudo rpi-update

Reboot

sudo shutdown -r now

Setting Up SSH and Remote Connections

You will not have to do this step if you have downloaded Raspbian or Debian Wheezy – SSH should be enabled by default. If it is not enabled, follow these instructions:

To start out, type this then hit enter:

sudo raspi-config

You will now see a screen with a few options. Use the arrows keys to navigate to the SSH option. This will take you to another screen that asks you “Would you like the SSH server enabled or disabled?” Choose the <Enable> option with your arrow keys and hit enter. Select okay, and hit enter. Now, back at the raspi-config screen, navigate to <Finish> and hit enter. You should now be able to use SSH with your Pi!

An ideal setup of Raspberry Pi would be to control it remotely. This can be done through an SSH connection, but by default SSH connections are disabled. Before we enable it, the screen should have the IP address of the Raspberry Pi listed (ex. 192.168.2.37). Write down that IP address as we will need it for the SSH connection. Ok, To enable SSH, simply run this command:

sudo mv /boot/boot_enable_ssh.rc /boot/boot.rc

sudo shutdown -r now

Once the Raspberry Pi reboots, you can now unplug the keyboard and the monitor connections from the Raspberry Pi, as we will no longer need them for the rest of this tutorial.

Putty Window

On a remote Windows machine, in order to connect to the Raspberry Pi, you will need to download Putty, a Windows SSH client. Once it’s downloaded, start it up and type in the Raspberry Pi’s IP address that you wrote down earlier in the Host Name (or IP address) field. Then just click “open”. If it’s your first time connecting, Putty will ask you to store a key authentication, so click “Yes”. Now you should see a login screen where you can log in using your Raspberry Pi login credentials.

Changing the Password

For obvious security reasons, it’s recommended to change the default password to a secure password of your own. After you have logged into your pi account, to change the password, type:

sudo passwd pi

Now you should be prompted to enter in a new password. Once you’ve typed in your password and hit enter, you’ll then be prompted to repeat your password. After typing it in again and hitting enter, you will have successfully changed your password.

Installing the Server

In order to use the Raspberry Pi as a web server, you have to install all the necessary server software components. If you just want a simple HTML server, you can just install that server software (Apache or Cherokee). If you want MySQL and PHP support on your server, you have to install those components separately as well.

Apache Server

Apache server software is the most widely used server software. However, it is a little bit more bloated than the Cherokee server software. If you want a more traditional experience, you can install Apache. Otherwise, you can skip to the Cherokee Server section and install Cherokee. Here’s how to install Apache:

Install Apache with PHP

sudo apt-get install apache2 php5 libapache2-mod-php5

When it asks if you want to continue, press y

Resolve installation error

sudo groupadd www-data

sudo usermod -g www-data www-data

Restart Apache

sudo service apache2 restart

Now if you open up a web browser and type in your Raspberry Pi’s IP address, you should be pull up a the test page for your server!

Cherokee Server

If you want a lighter web server, then Cherokee is better than Apache. And considering the limited resources of the Raspberry Pi, lighter is better. Here’s how to install it:

Prevent install errors

sudo addgroup www-data

Install Cherokee

sudo apt-get install cherokee

Install PHP

sudo apt-get install php5-cgi

Edit the PHP config file

sudo nano /etc/php5/cgi/php.ini

Hit ctrl+W and search for cgi.fix_pathinfo=1, remove the ; form the front of the line
Hit ctrl+X to exit, y to save and enter to confirm

Restart Cherokee

/etc/init.d/cherokee restart

Now if you open up a web browser and type in your Raspberry Pi’s IP address, you should be pull up a the test page for your server!

Installing MySQL

Installing MySQL is pretty simple. You basically just install these packages:

sudo apt-get install mysql-server mysql-client php5-mysql

When it asks if you want to continue, press y

It will eventually prompt you for a new root user password, so create a strong password and continue until the installation is through.

Installing FTP

FTP is not only a great way to remotely add/change files on your website, but it’s also a great way to transfer files to your Raspberry Pi. This is important for installing PHP MyAdmin in the next step. These instructions are for the Apache server install.

Take ownership of the WWW Apache folder

sudo chown -R pi /var/www

Install VSFTP

sudo apt-get install vsftpd

Edit the FTP configuration file

sudo nano /etc/vsftpd.conf

Hit ctrl+W and search for anonymous_enable=YES, and change it to anonymous_enable=NO
Remove the # from in front of local_enable=YES
Remove the # from in front of write_enable=YES
Skip to the bottom of the file and add force_dot_files=YES
Hit ctrl+X to exit, y to save and enter to confirm

Restart VSFTP

sudo service vsftpd restart

Change the root users password

sudo passwd root

Create a new password and then exit out of Putty

exit

Restart Putty and log in as root with the new password
Edit the password configuration file

sudo nano /etc/passwd

Find the line pi:x;1000:1000:Raspberry Pi User,,,:home/pi:/bin/bash and add a # sign to the beginning of it.
Hit ctrl+X to exit, y to save and enter to confirm
Add the pi user as a mod and exit out of the Putty

sudo usermod -d /var/www pi

exit

Restart Putty and log in as pi
Give mod rights to root and exit

sudo usermod -L root

exit

Now your FTP server should be up and running. You can test it out by logging into it with any FTP client such as FileZilla or WinSCP. Use the IP address from your Raspberry Pi that you wrote down earlier, port 22, your Raspberry Pi username (pi), and your password.

Installing PHP MyAdmin

To better manage MySQL databases, it’s often preferred to use the PHP MyAdmin program. So here’s how you can install it:

  1. Download PHP MyAdmin
  2. Extract the zip file to a folder
  3. Using your FTP client upload the extracted PHP MyAdmin files to your web server.

To access PHP MyAdmin, in a web browser type in your Raspberry Pi’s IP address and then add /admin to the end of it (ex. 192.168.2.37/admin). Then you can log in using the root username and password that you created for your MySQL installation.


[/vc_column_text][/vc_tab][vc_tab title=”Important Links” tab_id=”1402753981900-3-10123b-77946048-9294ef23-7cf7″][vc_column_text]

Raspberry Pi – http://www.raspberrypi.org
Raspberry Pi Disk Image – http://www.raspberrypi.org/downloads
Win32DiskImager – https://launchpad.net/win32-image-writer
Putty – http://www.chiark.greenend.org.uk/~sgtatham/putty/

Website Tutorials – http://www.youtube.com/playlist?list=PL6291918FE7103470
Port Forwarding Tutorial – http://www.youtube.com/watch?v=1DSDbvtVIaA

Help support my channel: http://www.patreon.com/tinkernut Follow Tinkernut! Google + Facebook Twitter

[/vc_column_text][/vc_tab][/vc_tabs][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]