Workbench-Nearing Completion


03534 ATonight, I made a push to finish the workbench but things happen and I wasn’t able to put the bow on it.  However, I did get a lot done.

We left off with the untrimmed legs laying on the workbench surface waiting to be mated to the tabletop.  I began by assigning each leg to a corner then marking of the center of where the leg would be from the outside rail of the frame.  The plan was to secure the leg to the table top with a hex bolt. I didn’t get very far when I was interrupted and had to assume other duties.  While otherwise occupied (probably doing the dishes or folding laundry… some household chore), I started thinking about stability.  If I only use one hex bolt, over time, that will become an axle for the legs to pivot on.  Not good.  I rushed to my nearest big box hardware

Where we left off

Where we left off

store and picked up four more hex bolts, eight lock-washers, and 8 locking nuts.

The next day I measured out (from my center marks) the center for each bolt.  Once satisfied, I used my 1/2″ auger bit to drill out the holes.  I had a little trouble with this in that my 7.2V DeWalt and 12V Ryobi cordless drills didn’t have enough juice to get the job done.  I was afraid that they just didn’t have the muscle.  I did as much as I could then when the batteries gave up the ghost, I switch to cutting the legs to size.  Since I want the bench to be 36″ tall, I cut the legs to 34 1/2″ (tabletop is 1 1/2″ thick”).  This is cake using a miter/chop saw.  But it’s 11:30PM and I have children sleeping so this would have invoked an ass-beating of epic scale.  Since I want my wife’s encouragement and support, I opted for the hand saw.

wb-06-outside-leg-attachmentI really haven’t used a handsaw where it counts.  I’ve used them in the past to cut stuff up but not with the level of precision that I “needed” from the miter saw.  I found out, like with everything, practice is important.  My cuts on the leg are not square and just off.  Since its on the end grain, the plane doesn’t want any part in that.  I will need to use my palm sander to get this fixed.  Learning is living, aye?

The next day, I had fully charged batteries and a new attitude.  This bench was going down (or up?)!  I finished up drilling the holes into the rails (Yay! The drills still have some life left) and then marked each leg’s bolt hole location and then drilled all the legs separately.  I thought this was going to give me trouble because I can measure twice or a hundred times and still jack up a simple hole.  Well, I can tell you that I did NOT this time.  However, there were some minor variations in the alignment.  I think this is good since it helped lock in the legs once the bolts were fastened.

Now that the legs are drilled, I began by attaching the bolt closest to the tabletop firstwb-05-ahh-nuts then moving the the upper (lower? … the table is upside down at this point) bolt.  The first bolt is much easier then the second and I discovered how far my drill holes were off.  I didn’t have to alter any holes but I did have to use my BF Hammer to get some of them in.  Once I locked the first leg down, I pushed and pulled on it to see how stable it really was… <insert evil laugh>  It was gloriously solid and whatever stability issues I might have, it won’t be due to wobbly leg joints.

wb-08-wiggle-testI proceeded to attached the other three  legs and then went around and gave each bolt a final snugging up.  I still have to install the braces on the legs but I wanted to see the workbench on it’s feet.  I flipped it over and set it up (this was not the easiest one-man job).  I was surprised at how high it was.  Yup.  36″ is pretty high.  I also needed to see if it was going to be stable.  Meh!  This workbench design has a basic flaw in that it is long, narrow and tall.  If I chopped 10 inches off the legs, that would probably help but that means it’s back to the crinkle-back, all hunched over my work.  I want it this height.  The other thought would be that I could add one or two more 2x10s and widen it.  I think this would allow me to keep the height and give me more stability.  Space is limited so I am going to stick with this design for now and try the leg braces.  I can do my planing on the ends of the table which will prevent the tippiness.  Since I attached the legs to the long rails of the frame, I can simply pull out the short rails and put in longer ones.  I will have to do some serious disassembly but it’s something I could finish in an afternoon.  Something to consider.

wb-10-workbench-functionalSo, I threw my shooting board on the bench and started planing a scrap piece of wood.  I definitely need to work from the ends when doing planing or chisling (where permitted).  It’s a little wobbly but I still haven’t attached the braces or flattened out the feet.  I am planning to surface the feet with bicycle tire tread (I saw this done while making a dog sled on “How It’s Made” on the Science Channel).  Once flat, the tread should give a solid non-slip surface to keep the bench from sliding.  I don’t want to permanently mount the workbench to the floor.

Tomorrow night, I plan to add the leg braces then flatten and surface the feet.  If I have time, I will start planing the surface and get the MDF for top.

Oh, I almost forgot.  I had to make some alterations to the dimensions.  Here is the cut list.  Keep in mind the following:

  • 2×10 = 1 1/2″ x 9
  • 2×4   = 1 1/2″ x 3 1/2″
  • 1×4   = 3/4″ x 3 1/2″

Cut list:

  • (3) 2x10x54 (table top)
  • (2) 2x4x50 (long rails)
  • (3) 2x4x20 3/4″ (short rails and center brace)
  • (8) 2x4x34 1/2″ (legs 2 laminated together to make a 3×3 1/2 post)
  • (1) 1x4x51 1/2″ (long leg brace)
  • (2) 1x4x20 3/4″ (short leg brace)

I have also listed below, the hardware and tools I used:

  • (8) 1/2″ x 6″ Hex Bolts
  • (8) Disk Washers
  • (8) Lock Washers
  • (8) Lock Nuts
  • 1/2″ Wrench
  • 1/2″ Socket and Ratchet Wrench (long is leverage)
  • 1/2″ Auger bit
  • Tons of screws (I forget the specs… I’ll come back to those)
  • Countersink bit
  • Powerful Drill (or in my case…)
    • (2) Weak-ass Drills
  • BF Hammer
  • Swanson 12″ Combo Carpenter’s Square (these are da BOMB!)
  • Tape Measure
  • Titebond Glue
  • Sandpaper (60 and 120 grit)
  • Sharpened Pencil
  • Plenty of Diet Coke
  • Plenty of Sam Adams (for after the job)

Here is the gallery of images taken since my last post.

This slideshow requires JavaScript.

Advertisements

BeagleBone Black : WordPress On Ubuntu


wordpress

Installing LAMP and WordPress on Ubuntu Running on A BeagleBone Black

Since I have been using WordPress with a couple blogs for almost 8 years now, I am fairly comfortable with the platform.  With my weekly BeagleBone Black challenges of late, I felt that installing WordPress would be a great idea to try.  I can tell you that the BeagleBone Black, once again, didn’t disappoint.

Before we begin, I want to just say that running WordPress on the BBB is an academic endeavor.  I wouldn’t think about hosting a public blog due to performance with this configuration but it is perfect for my needs as a teaching tool.  My oldest son just turned seven and is incredibly inquisitive about science.  He catches bugs, lizards, etc. and takes pictures of them.  He loves astronomy and never stops asking when the sun will go supernova.  I thought it would be a great for him to document his findings in a blog to teach him more about the scientific method, documenting his findings and getting more comfortable with the computer.  As an added bonus, I want to see where this takes him.

Getting Started

penguin-ubuntuAs I mentioned my previous blog, I created a “snapshot” of sorts by starting off with a fresh version of Ubuntu then adding my base setup changes then finally creating the tarball of the entire OS.  This way, I can simply reflash the card, restore my base install and begin on the next project.  That’s what I am doing with this.  This is basically my setup:

BeagleBone Black – Installing Ubuntu – Part 1

BeagleBone Black – Installing Ubuntu – Part 2

Beaglebone Black : Back Up Ubuntu

I didn’t include the wireless, cloud9, or OpenGate for this because I wasn’t sure where I was going to put WordPress and was concerned with space.  Turns out, that space wasn’t an issue (other than bleeding off CPU cycles).

Once I had my base install configured, I needed to install and configure three additional components before WordPress:

  • mySQL Database
  • Apache Web Server
  • PHP Scripting Language

This comprises what is called a LAMP server (Linux Apache Mysql Php)

Installing LAMP on BeagleBone Black Ubuntu

At first, I thought this was going to be easy.  I found a package in the package manager for installing LAMP and tried it out.  I’m not saying it doesn’t work, but I will say that I had to reflash a couple times and it never really worked well for me.  Also, I really wanted to have a little more control over what I was installing, so I ended up installing and configuring each component separately.  We’re going to do that here.  I based my steps off a couple walk-through guides found on Ubuntu Server Guide and  DigitalOcean.com (links to these and other resources will be found at the end of this walk-through).

MySQL Installation and Configuration

Real quick, before we start installing packages, let’s make sure we’re up to date with everything:

sudo apt-get update
sudo apt-get upgrade

Since we already have the Linux part of LAMP, let’s move to mySQL. You can install this with a simple command of:

sudo apt-get install mysql-server

You will be prompted to provide a password for the root account.  It is always strongly advised to do so and remember this password.  If you forget, you won’t be able to move forward.

Once the install is complete, we need to test the install and then create a database for our installation.  Before we continue, think about the name or type of WordPress site you want to create.  Since mine is to help teach my son about science, I will call mine, ‘science’.  You want to keep it small and if you have more than two words, separate with underscores or dashes (‘_’ or ‘-‘).

To test your installation, type:

mysql -u root -p

You will be prompted to for the password you provided during the installation.  Once you have successfully done this, type:

show databases;

This command will list out a table of databases that are currently available.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

If you have made it this far, you are ready to continue.

Now we need to create a user, a table, and provide permissions.  I used ‘scienceadmin‘ for the username and ‘science‘ for the database.  Simply replace these with your credentials.  Oh, and with these commands, don’t forget the semicolon. If you do, it’s not a big deal, just type `;` on the next line and the command will execute.

Create the Database:

create database science;

Create the user:

create user scienceadmin@localhost;

Set a password for this user:

set password for scienceadmin@localhost=password("squirrelhunter01");

Create the permissions for this user to use the database:

grant all privileges on science.* to scienceadmin@localhost identified by 'squirrelhunter01';

Finally, let’s refresh MySQL:

flush privileges;

To get out of mySQL:

exit

Installing Apache Web Server

beagleThis will be pretty straight forward.  To install the web server, you enter in:

sudo apt-get install apache2

After the install you can start it up with this command:

sudo service apache2 start

and test it in your browser: “http<beaglebone IP or personalized hostname>/”

You should see the “It Works!” page.

We’re done with Apache for now.

Installing PHP

To install or update PHP, run the following command:

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

Once this is complete, let’s test it.  Navigate to /var/www and create a file named, ‘test.php‘ then add the following text:

<?php
 phpinfo();
?>

Next, fire up a web browser and navigate to `http://<bbb_IP>/test.php`.

You should see a page filled with server/site/php goodness.

And we are done with the LAMP installation.  Easy right?

WordPress Install and Configuration

Now we get to the meat of this walk-through.  Let’s first decide where we’re going to put our WordPress site.  When you download WordPress and unpack it, you can put it in your root or in a sub-folder.  You an even have several instances running at the same time in several folders.  When I was working through this, I went a road less traveled by putting the site on a thumb drive and created a symlink from the web server root.  This creates quite a mess (I will write up a way to do this shortly) but for the purpose of getting a wordpress site up and running, we’ll start with the easy way.

The Easy Way

At this point, I am showing 1.1 GB of free drive space.  This should be more than apache_featherplenty to run WordPress right off the BBB.  First let’s download the WordPress files.  I can simply download the latest version to my home directory like this:

dfrey@ubuntu-armhf:~$ cd
dfrey@ubuntu-armhf:~$ wget -O wordpress.tar.gz http://wordpress.org/latest.tar.gz
...
dfrey@ubuntu-armhf:~$ tar -xvpzf wordpress.tar.gz

...

Now, we should have the WordPress site files that I can copy to any directory.  Let’s try it out in the root of our web site.

sudo cp -r wordpress/* /var/www/

This just copied all the files to the root of my web server.  Let’s go check it out in the browser: `http://<bbb_ip>/`

huh?  We still get the same message as before.  Well, this is because we need to configure a couple things.  Since this is a manual installation of WordPress, we have a little more work to do but it’s easy.

In your browser, navigate to, `http://<bbb_ip>/wp-admin/`

You should see a message indicating the wp-config.ini is missing.  Click the `Create a Configuration File` button and you will navigate to the setup configuration introduction page.  You are going to need to have the following ready (we did most of this already so it’s no big deal).  I’ll add my info from above as an example:

  1. Database name – ‘science
  2. Database username ‘scienceadmin
  3. Database password ‘squirrelhunter01
  4. Database host ‘localhost
  5. Table prefix (if you want to run more than one WordPress in a single database) – You can create whatever prefix you like.  If I were going to put more than one WP site in the same database on this BBB, I would choose, ‘sci_‘, but for now we’ll go with ‘wp_

And click ‘Submit

When I ran this, The wp-config.php file couldn’t be written.  Not that this is a huge problem now but it will be shortly so let’s address this issue now.

We installed Apache as root, so the folders that where created by the installer are owned by root.  Apache runs under a user named www-data.  We need to change the ownership of the www folder so that apache can do it’s magic.  Navigate to /var then run this command:

sudo chown -R www-data:www-data www

This will change the ownership and group membership of the www folder and everything underneath it.  Now we can continue.  Hit your back button in the browser so you can see the configuration form again.  Click submit again and you should now get the “All right Sparky…” message indicating the config file was created successfully.

Now, let’s head on to setting up the actual WordPress site.   Click the “Run the Install” button.  Here, you will enter the title of the site that displays on the header,  the user name of the site administrator and the password for this user.  Don’t worry.  You didn’t miss anything, we’ll create this account inside of WordPress now.  These are for the site not the database.  They can be completely different or exactly the same.  It’s up to you.

Site Title:     Science
Username:  scienceguy
Password:   tesla@24
Email:          scienceguy@gmail.com (just made that up)
Privacy:       (turned this off)

Now click on the ‘Install WordPress` button.  The scripts will run for a while then take you to the `Success Page`.  Click Login then enter your username and password.  If everything was done correctly, you now have a spanky brand new WordPress site.

After installing, I still have just under 1GB of space left.  If you intend to install other things on your BBB, you might want to install other things off the board, on a thumb drive.  That walk-though will be coming in a couple days.

Oh, I forgot one thing.   You need to remove two files from your /var/www folder:

  1. index.html – this will override the WordPress pages (its why we didn’t get an error when we tried it before configuring WordPress)
  2. test.php – this has some server-specific information that a hacker could use against your BBB.

Now got to `http://<bbb_ip>/&gt;` in your browser and you will see the public version of your site.  Go WordPress Crazy and have fun.

Feel free to leave comments if you have any questions or if you found this walk-though useful.

I got so excited to post this, I forgot my link references.  Here you go:

http://codex.wordpress.org/Installing_WordPress

https://help.ubuntu.com/community/ApacheMySQLPHP

http://ubuntuserverguide.com/2012/05/how-to-install-latest-wordpress-in-ubuntu-server-12-04-lts.html

http://www.pantz.org/software/mysql/mysqlcommands.html

http://www.cyberciti.biz/faq/how-do-i-test-php-installation-with-a-phpinfo-page/

https://www.evernote.com/Home.action#st=p&n=01d839eb-0539-47a5-b341-e04b59320d66

https://www.digitalocean.com/community/articles/how-to-install-wordpress-on-ubuntu-12-04

Gimme More, You Ask? You Got It


happy_beagle_by_victoroflatviaHappy Friday!  I’m working on a few new posts for the BeagleBone Black including backups, mounting external hard drives, partitioning the 8GB sd-card I have for extra storage, BBB LAMP server… whew!

It’s gonna be a busy weekend.  Check back because there’s going to be a lot coming shortly.

Guitar Building : Great Resource


sully-garageThis is just a quick note asking anyone interested in building guitars to check out Sully’s Guitar Garage on YouTube (http://www.youtube.com/user/jsullysix).  Sully has been building custom guitars for a few years and I’ve been an avid fan.  He’s videos are well done and he knows what he’s doing.

Also, he’s a huge KISS fan, so that just puts him at the top of the coolness scale.  If you like his work, subscribe to his channel.  I promise you will not be disappointed.

Beaglebone Black : Cloud9 and Bonescript Install Guide


beagleIn my previous post about installing the GateOne terminal emulator, I mentioned that I wanted to replicate the experience and features for the OOTB Beaglebone image of Angstrom only on Ubuntu.  Well, I’m getting a little closer day by day.  This post was originally intended to be the installation of Cloud9 but as I was reviewing my notes, I decided to try getting Bonescript installed as well.  Both installations are contained in this guide.

Since I am fairly new to the BBB, I haven’t spent much time with Cloud9 or Bonescript. I was initially attracted to it because of its power to size ratio and that Ubuntu was an option.  However, I am planning to do some maker projects with the BBB, so I will get to test my handiwork.  Just understand that even though I got them running, I have yet to extensively test them.

Like with WiFi, a lot of people have struggled with getting Cloud9 running and I am no different.  Others mentioned and blogged about their successes but I was unable to replicate their success.  However, I will include the links to a couple blogs where I gathered information and inspiration.  I hope that this method works for you.  Let’s get started.

NOTE:  We will be removing the current version of Node from this instance, so if you have any dependencies on the current installation, you may wish to think twice before you proceed.

Installing the Prerequisites

First, we need to prepare our system for the install.

sudo apt-get install -y build-essential g++ curl libssl-dev apache2-utils git libxml2-dev

Also, we will need to remove node.js if it exists:

sudo apt-get remove nodejs

One of the blogs I used (Sam’s Site) indicated that downloading NVM (Node Version nodejs-logoManager) but I wasn’t able to get this to build correctly.  So I downloaded the latest version of Node and attempted to build it but it didn’t work either.  So, I split the difference between the minimum (v.0.6.16) and the latest (v.0.10.18) and settled with v.0.8.25.  I found it on the nodejs distribution page. I unpacked it, navigated into directory created, and then ran this sequence.  A word of caution: The ‘make’ step takes a while.  I literally burned hours compiling node on the BBB while I was working out which version would work.

./configure
make
sudo make install

After the install completed, rebooted the BBB and then when it came back, I ran the command:

node --version

and the return was:

v0.8.25

Now, that node was installed, I cloned the Cloud9 repository (repo) from here:

https://github.com/ajaxorg/cloud9/

I'm on Cloud9

I’m on Cloud9

I attempted the install instructions by changing directories to Cloud9 then executing:

npm install

This resulted in a miserable failure.  However, since with the node installation came the npm (node package manager), I thought there might be a Cloud9 package and sure enough, there was. So I changed to my home directory and altered my command to:

sudo npm install Cloud9

This actually worked.  However, I was trying a bunch of stuff and it all kind of got messy and I had 3 Cloud9.sh files.  I found them by typing in:

whereis cloud9.sh

The one I was looking for was under ~/node_modules/cloud9. I changed directories to this directory and then executed:

./cloud9.sh

The resulted in the application actually starting, much to my surprise.  However, when I navigate to the site (ex. http://bbb.local:3131), nothing came up.  After going back to the Cloud9 repo page on github, I found the configuration under the Installation and Usage section.  Adding the -l hostname flag will allow you to specify what machine can access the IDE.  You can use a wildcard and allow any machine to access the IDE, like so:

./cloud9.sh -l 0.0.0.0

Going back to my browser and navigating to the BBB on port 3131, The IDE finally came up.  Allowing any workstation to access the IDE can be risky.  You can add some additional security by specifying a username and password:

cloud9.sh -l 0.0.0.0 --username test --password test2

When you open the web page, you will be challenged with a basic auth login modal.

Keep in mind, we are working on a Beaglebone Black, not an NSA network.  However, good security should always be considered.  As with the GateOne app, this one is rather new to me but when I start it up, I see the file structure of my Cloud9 folder.  I will need to figure out how to fine-tune this.

Finally, as promised, the installation of Bonescript was bloody easy.  Change your current directory to your Cloud9 folder and enter:

npm install bonescript

…and shortly, bonescript will be installed as well.  I am not going to explore the configuration or usage of bonescript yet because I simply haven’t used it yet but at least it didn’t blow up in my face when I installed it.

Bonus Round

I did some tidying up to release some space that was taken up from the install process. First I copied the the node folder from my home folder to /opt.  Next, I copied the cloud9 folder from ~/node_modules to /opt.  Then I removed the node, node_modules, tmp, and cloud9 folder from him home folder.  This released more than half of my previously free space.  What I learned here is that if you don’t  plan to use these tools, don’t bother to install them.  They use up precious space and are a bit slow.

I have yet to add cloud9 to my startup process but that shouldn’t be too difficult.  I already have a script that is kicked off from a cron job using the @reboot trick I mentioned in the Ubuntu Guide.  I will simply add this to it.

I hope that if you use the Cloud9 on the Angstrom image and are looking to moving to Ubuntu, you don’t hesitate because of this process.  I found it challenging but I learned about NodeJS, NVM, NPM, and the build/install process which I have not had much experience with before.  It’s fun and a great way to get to know your Beaglebone.  Best of all, if it fails miserably, you can always reimage and go back to the OOTB image anytime.

Let me know if you have any questions or if you discover some neat trick that expands this.  I would love to know more and to hear from you.

Related links:

http://beagleboard.org/Support/bone101/#cloud9

https://c9.io/site/features/

http://www.samclarke.com/2012/07/how-to-install-cloud-9-ide-on-ubuntu-12-04-lts-precise-pangolin/

http://www.alexvictorchan.com/2013/06/19/setting-up-cloud9-locally-on-a-chromebook-pixel-or-any-debian-system/

https://github.com/ajaxorg/cloud9

http://nodejs.org/dist/v0.8.25/

http://nodejs.org/dist/

https://www.google.com/search?q=install+bonescript&oq=bonescript+install+&aqs=chrome.1.69i57j0.6033j0&sourceid=chrome&ie=UTF-8 (Google search resulting in a log of crying and nashing of teeth)

https://npmjs.org/package/bonescript

Beaglebone Black : Cloud9 Running under Ubuntu


I'm on Cloud9

I’m on Cloud9

This is just an update that I have Cloud9 running under Ubuntu on the BBB.  I have had, until recently, no end of trouble getting this working but it’s done.  I am shoring up my notes and I have a few other things to tighten up to get this guide out to you but my goal is to have it up this evening.

UPDATE: It’s done!  Check it out HERE

Beaglebone Black: GateOne Terminal on Ubuntu


ls_logo

Liftoff GateOne on the BeagleBone Black with Ubuntu

If you have been following my series about installing Ubuntu on Beaglebone Black, you might have wondered about some of the stock tools like Cloud9 IDE (an installation guide coming soon) and GateOne that aren’t on the Ubuntu image.  This post will help you to get GateOne installed.

Just a word of caution:  This guide discusses the technical steps in getting the GateOne Terminal Emulator on your BBB.  It does not go into details as to how to configure it, specifically security.  If you attempt to do this, please be aware of the potential security risks involved.

After my last few posts, I was planning to start on the Adafruit.com IO Python Library but I began to think of the other tools that make BBB easy to use out of the box.  The two things that I recall from my first impression experience was the Cloud9 IDE and GateOne Terminal Emulator.  I wanted to at least have the option of these tools.  GateOne has a ton of options that allows you to configure it for just about any need.  Since it’s an OOTB offering with the default Angstrom distro, I figured I would be able to get it running on my Ubuntu install as well.  It’s really easy to do:

You may find it helpful to review the Installation instructions prior to getting started.  When all else fails, RTFM.  Here’s the link:  http://liftoff.github.io/GateOne/About/index.html#installation

We need to do some prep to get ready for the installation.  You will need the following:

  • GIT
  • PIP
  • Python Tornado
  • Source Code for GateOne

Note: Since the BBB is not the never-ending well of space, you should be ever-mindful of how much stuff costs (size) before installing it.  I will discuss some commands to help clean-up previous installs using apt-get later.

Time to get the Beagle Ready

We don’t need to configure git after installation to retrieve the source but if you use git, you should.  Here’s a link for Configuring GIT but it’s optional for this guide. In your BBB terminal, type:

sudo apt-get install git

After this installs, you will be able to download source code from GIT repositories.

Next, we need to install PIP.  PIP is a Python package management app, similar to ‘apt-get.’  We will need this to install Tornado.  Tornado is essentially a Python web server.  To get this installed, we need to install PIP:

sudo apt-get install python-pip

Yay! Now that we’re done with that, let’s get Tornado installed:

sudo pip install tornado

Download and Install GateOne

Now that we have our house in order, we can get busy.  There’s a bunch of ways to get the source, but I found that this is the easiest:  We can clone the code right to your home directory because the install process will put the final product in the /opt directory.

First change to your home directory then clone the code with this command:

git clone https://github.com/liftoff/GateOne.git

This will put a folder called ‘gateone’ in your home directory.  Now let’s get inside this folder and install this puppy:

sudo python setup.py install

Now we will wait for a bit.  There’s a lot happening.  It seemed to take about 5 minutes but I was dodging baby bottles and Wii remotes at the time.

When this is done, you should be ready to give it a try.  Change your directory to /opt/gateone then execute this command:

sudo ./gateone.py

A bunch of feedback it going to dump to the terminal.  If you don;t see red, you should be good.  Give a close look for any error messages.  If all looks good, then it’s time to try it for a spin.  Quick note:  You won’t be able to use it yet but we want to see if it works.  Open up your favorite web browser on a computer on the same network and enter the address:

https://<your BBB IP or BBB hostname>

You should see the familiar charcoal screen.  It’s going to start yelling at you about not having permissions and what not.  We’re about to fix that.  Go back to the terminal and stop the service (ctrl+c).  The problem is that the app has not been given permission to allow your workstation access.  To do this we will add a parameter “–origins=*”  Also, you can add an extra layer of security by specifying a layer of authorization, you can use kerberos, google, or none.  I gave Google a try and it sorta worked but we’ll skip that for now.  First, here’s the command:

sudo ./gateone.py --origins=* --auth=none

Head back to your browser and go to the same address.  You might get an error but just refresh the page and you should see the login prompt.  I tooled around and it seems to work exactly the same as a regular ssh session.  Let’s take look at the Google authorization.   You are going to need a Google account for this.

Stop the app and change the auth parameter like this:

sudo ./gateone.py --origins=* --auth=google

When you go to the page this time, you will instantly be redirected to Google to log in and/or authorize the app.  Do so and you should be redirected back to your GateOne interface.  In my case, it didn’t happen.  I just refreshed and since I authorized, it presented me with the GateOne Login interface.

So, my initial impression was it was really easy to install and give me yet another tool to leverage with the BBB.  This was a quick and dirty install and I look forward to exploring the many options with tool.  I’ll be sure to post my findings here when I find something cool or useful.

I mentioned that I would talk about drive space management using apt-get.  Well, I’m running out of steam but I will say quickly that you can safely delete the source files from the git branch we downloaded to the home folder.  I’ll put up something on apt-get shortly but in the meantime, you can do some reading here:

https://help.ubuntu.com/community/AptGet/Howto#Maintenance_commands

This guide applys to all versions of supported Ubuntu and this link starts you at maintenance.  Keep scrolling down to the removal section.  If you’re nutty or curious, read the whole bloody thing.  🙂

UPDATE:  I found a simple way to start up the gateone.py script on boot.  First, you will need to modify the /opt/gateone/settings/10server.conf file to add/modify the two parameters that we added when running the script manually.  Here’s what they look like:

"auth":"google",
"origins": "*",

Save that and test it with:

sudo ./gateone.py

If everything is good, then run this command I found in the INSTALL.txt, found in the source files folder (remember me saying RTFM?  It applies to me too):

update-rc.d gateone defaults


Here are a couple links for the install files and instructions:

https://github.com/liftoff/GateOne

http://liftoff.github.io/GateOne/About/index.html#installation

https://help.ubuntu.com/community/AptGet/Howto#Maintenance_commands