Presentation is loading. Please wait.

Presentation is loading. Please wait.

TOM PRESTON’S SENIOR PROJECT ICT SPRING 2013

Similar presentations


Presentation on theme: "TOM PRESTON’S SENIOR PROJECT ICT SPRING 2013"— Presentation transcript:

1 TOM PRESTON’S SENIOR PROJECT ICT 435 - SPRING 2013
MMX-III TOM PRESTON’S SENIOR PROJECT ICT SPRING 2013

2 MMX-III A Brief introduction

3 mmx-iiI What is the MMX-III?
The MMX-III is a Linux based server designed and built as a Senior Project in ICT 435. Why build an MMX-III for a senior project? The MMX-III combines several of the ideas generated while brainstorming on what to do for a senior project. The project involves creating a website, building a computer, working with servers, networking, and programming. A big factor in the decision was how the project supports my long term interests in multimedia and web development. What does MMX-III mean? While looking for a code name for the project, I came up with the idea to see what the year 2013 was in roman numerals. It turned out it was MMXIII. I liked it as a code name and soon the roman numerals with a hyphen in the middle became the official name for the project. The pronunciation is “M-M-X-3”.

4 MMX-III Running Ubuntu Server 12.04.2 LTS

5 MMX-III The project

6 Project Background The ICT 435 Senior Project Goal
Apply some of the skills acquired during time spent in the ICT program to a real world situation. The Project The possibilities of what to do are practically endless and it’s up to the student to choose and make a proposal on what to do for their own semester long project. The Website In addition to the project, a website is developed and maintained to convey information and updates about the project.

7 Project Background My Senior Project
What to do for the senior project was something that had been given thought since gaining acceptance into the ICT program. A list of possible projects was started with the first idea, and new ideas were added to it as they came. Some of the ideas considered for a project included: Making a Survival/Help Guide for new students coming into the ICT program Building a computer Programming using one, some, or all of the different languages learned Home networking Constructing a website for an assisted living facility Creating a Network-Attached Storage (NAS) device A server based project

8 The Project and Why It Was Chosen
Project Background The Project and Why It Was Chosen I realized several of these ideas could be combined into one that might make a good senior project and leave me with something useful. The decision was made to go with a server based project, that included designing and building the server, installing server software, setting up the networking, and then demonstrating the server’s capabilities. Thus the MMX-III was born. The project would complete a goal of mine of building a computer, fuel my long term interest in web development, and hopefully meet the expectations of a senior project. Unfortunately for new students coming into the program, selecting this project meant there would not be a Survival/Help Guide created for them.

9 Website

10 Website The project’s first requirement
Build a website The website would be the vehicle for delivering The project idea proposal The detailed outline for the approved project The project’s timeline and milestones The project’s tasks The bi-weekly reports The links to presentation materials and other project information The website would not only provide a way to get the project started, but would also be used for regular progress reports, and to help keep the project on track.

11 Website Website Construction
The MMX-III’s website was constructed using six web pages. Home page – a starting point for the website and a way to provide updates on the projects progress and major accomplishments. Outline page - contained the original project idea proposal, but now has the detailed outline created after the project received approval. Reports page - contains each assignment’s bi-weekly reports, plus an extra edition and is set up in a blog style so the entries could be easily read. Timeline page - contains an image showing the project flow over the course of the term, the phases of the project, along with project milestones. Tasks page - breaks down each phase of the project into individual tasks and provided a means to track progress. Links page - contains the project presentation files and has also been used to display images and links to files.

12 Website The site was built using a cascading style sheet to provide a consistent flow from page to page, while still allowing each page to have its own specific content. Grey header w/text Project logo image Left column Menu & Info boxes Main body Grey footer w/text

13 Reports Bi-weekly Reports Value of the reports
16 Bi-weekly written reports spread across the term Reports discuss the project and progress Posted on the website Value of the reports The reports helped keep the project on track. After two weeks in a row of writing about how my video related issues stalled the project, I was highly motivated to stay on schedule and avoid having to write about my short comings again. The reports were also a good way to beat your chest after a major accomplishment.

14 Tasks Project Tasks A list of tasks thought to be required to complete the project was created and the work included in that list seemed to naturally break down into five different phases. Those five phases are: Phase 1 - Design and Acquisition Phase 2 - Building the MMX-III Phase 3 - Software Installation Phase 4 - Demonstrate System Functionality Phase 5 - Project Wrap-up (Each phase will be discussed further in the upcoming project phases section) The task list was broken down further into different levels of sub tasks and added to the website using html unordered lists. The complete task list is long, but can be viewed at the following URL’s:

15 Timeline Project Timeline Project Milestones
The project’s timeline was created using an Excel spreadsheet and shows the project flow over the course of the term, the different phases of the project, their associated tasks, along with the project milestones. Each phase and the associated tasks were given their own color code to make it easy to differentiate between them all. Project Milestones The Project also had 6 milestones to help gauge its progress: MS 1: All components ordered by 2/17/13 MS 2: MMX-III assembly completed and power on by 3/17/13 MS 3: All server software loaded and operational by 4/7/13 MS 4: Verify hosting capabilities, develop backup plan if needed by 4/14/13 MS 5: MMX-III is operational and functioning as designed by 4/22/13 MS 6: MMX-III project presented by 5/10/13 The milestones would provide checkpoints to help determine if the project was on course or not.

16 The MMX-III Project Timeline

17 Project Phases

18 Phase 1

19 Phase 1 Phase 1 of the project had four main tasks and the associated subtasks. The four main tasks were: Starting a project logbook Creating a hardware design Selecting a Linux server operating system Acquiring the hardware and software

20 Phase 1 Task List Phase 1 - Design and Acquisition
Start a project logbook Create a design Determine best CPU option based on availability through Intel CLP Select form factor to use for the MMX-III Make determination of Motherboard based on CPU/form factor selection Spec out remaining system components for the MMX III Case Power Supply Heat sink Memory Storage Optical Drive Select Linux Server OS Research and compare free Linux Server OS distributions Make final determination on which version to install Acquire the hardware components and software Order CPU through Intel CLP Order motherboard through Intel EPP or online vendor   Order remaining components through online vendor Download and burn ISO file for Linux Server OS Download Apache HTTP Server, PHP and MySQL files

21 Phase 1 Task I - Starting a project logbook
This task literally took only minutes to complete and was accomplished using a composition book and the creation of a logbook file in the ICT 435 folder. Task II - Creating a hardware design Creating a design was probably the most important task of the project. The choices made here would be driven by a free CPU and a $300 cost target. Selecting a CPU The CPU was provided through an employee program at Intel The Chip Loaner Program provides samples of CPU’s to employees The CPU selection is limited (8), but state of the art products are available For this project, the Ivy Bridge, third generation Core i was chosen

22 Phase 1 Choosing a form factor
The choice was narrowed to ATX or Micro ATX Either would allow the system to be easily expandable and provide flexibility Motherboard Selection The motherboard would have a B75 or Z77 chipset and would be chosen based on the best available at the time. The motherboard selected was a Biostar TZ77B because it met the project requirements, and came with 8GB of RAM free Other Components The remaining components, case, power supply, CPU cooler, hard drives and optical drive were all selected based on a balance of performance vs. price vs. reviews

23 Phase 1 Task III - Selecting a Linux Server OS
Ubuntu, CentOS, Debian, Red Hat and Fedora were considered for an OS Red Hat - eliminated because of the license fee Fedora - eliminated because I‘d used it already CentOS - eliminated because of its similarity to the previous two Debian and Ubuntu are supposed to be similar, but Ubuntu was the choice for the system's OS because it just had a fresher feel to it. Task IV - Acquire the hardware components and software The CPU was ordered through the Intel Chip Loaner Program All other components were ordered online – Amazon, Newegg, TigerDirect The ISO file for Linux Server OS including Apache, PHP and MySQL files was download from Ubuntu’s website and burned to a disk.

24 List of MMX-III Components
3rd Generation Intel Core i Quad-Core Processor Biostar TZ77B Motherboard Rosewill RCX-ZAIO-92 CPU Cooler 8 Gb Corsair Vengeance SDRAM Western Digital Passport 160 GB Hard Drive Western Digital Blue 1TB Hard Drive LG CD/DVD Multi Drive Antec 400W Power Supply Corsair Carbide Series 200R Case Ubuntu Server LTS OS

25 Phase 2

26 Phase 2 Phase 2 of the project had four main tasks and the associated subtasks. The four main tasks were: Documenting the build Assembling the components Visual inspection Power system on for testing, check functionality and prepare for OS install

27 Phase 2 Task List Phase 2 - Building the MMX-III Documenting the build
Create a plan for the assembly Take digital photographs of components and different stages of the build   Videotape the build in progress Use a logbook for written documentation about the build Assembling the components   Begin assembly   Install CPU in motherboard   Install heat sink on CPU   Install memory   Install power supply in case   Install motherboard in case   Install storage devices   Install optical drive   Perform visual inspection   Check that all components and cables are properly installed and connected   Power on system to check functionality, perform initial testing, prepare for OS install   Verify system boots into BIOS screen Prepare system for Linux Server OS install

28 Phase 2 Task I - Documenting the build Create a plan for the assembly
The plan for assembly was to install the CPU, the CPU cooler, and the memory, then connect the power supply and test boot the basic system. If successful, all components would then be installed in the case. Take still images and video of the build The plan for documenting the build, was to take video and still images of the different tasks as they were performed for use in presentation. A Logbook to document the build The project logbooks already in use would be used to capture any information from the build.

29 Phase 2 Task II - Assembling the components Begin assembly
Begin assembly   The task was delayed by approximately 2 weeks due to video hardware problems. After resolving the issue, the test build began. The tasks were: Install the CPU The CPU is placed in the socket on the MoBo and is clamped in place Install memory The memory module is inserted into slot A1 and is held in place with two latches Install CPU cooler A thin layer of thermal compound is spread over the cleaned surface of the CPU, the cooler is positioned on the CPU and then held in place with 4 pins/clips Connect power supply for test boot This was a slight deviation from the original plan, but tested the critical components before assembling the whole system. Two PS connections were made and the basic system was booted to the BIOS screen successfully.

30 Presentation version with no embedded video
Phase 2 MMX-III Test Build Presentation version with no embedded video Click to view video

31 Phase 2 Another Project Delay
When it came time to install the components in the case, the project experienced it’s second delay. One side of the case was damaged in shipping, requiring the case to be returned. The good news was a replacement was found for $10 less and the build resumed upon its arrival. The remaining tasks were: Install power supply in case The PS is installed in the bottom of the case and held in place with 4 screws inserted through the back of the case. PS cables are routed through the case cut-outs to their designated locations. Install motherboard in case The motherboard I/O shield is snapped into the back of the case, the MoBo is properly positioned and then held in place with 7 screws. Install storage devices & optical drive The drive bays provide tool-free installation. The drives are inserted into a bay and held in place with a spring loaded clip.

32 Phase 2 Task III - Perform visual inspection
Check that all components and cables are properly installed and connected  With all components installed, a final visual inspection was performed to verify correct installation of cables and components. Task IV - Power system on for testing, check functionality and prepare for OS install Verify system boots into BIOS screen With all components installed, the drive cables were disconnected to perform another test boot. Prepare system for Linux Server OS install With the drives reconnected, the system was restarted and booted to the point of prompting for a bootable disk.

33 Phase 3

34 Phase 3 Phase 3 of the project had one main task and several subtasks.
The main task was: Software Installation

35 Phase 3 Task List Phase 3 Software Installation
Install Linux server operating system Install Apache HTTP Server Install PHP Install MySQL

36 Phase 3 Task I – Software Installation
Install Linux server operating system A slight deviation from the original plan was made by installing a spare 160 GB HDD in the system for the Ubuntu server install. This would provide a test vehicle for the install and if it worked out, the 1 TB drive could still be used for the server or possibly in another capacity. With an Ethernet cable connected, the Ubuntu Server LTS install disk was inserted in the optical drive, and the system was rebooted. The system initially displayed the message "No bootable device, insert boot disk and press Enter.” After several attempts with this disk, a new one was created the Ubuntu install started. Install Apache, MySQL and PHP The Ubuntu Server install allows other services to be installed at the same time. Apache, MySQL and PHP were installed along with OpenSSH Server, Samba file Server, and Tomcat Java Server.

37 Example of Accessing the MMX-III Using PuTTY
Phase 3 During the Ubuntu install a user name and password are created, so when the install is complete, the system is immediately ready for use. Example of Accessing the MMX-III Using PuTTY

38 Phase 4

39 Phase 4 Phase 4 of the project had three main tasks and their associated subtasks. The three main tasks were: Hosting the project website on the MMX-III Create code that tests other server functions Perform final systems testing

40 Phase 4 Phase 4 - Demonstrate System Functionality
Hosting the project website on the MMX-III Determine what if any restrictions my ISP has on web hosting Select best method to host the project website Implement and test web hosting capabilities on the MMX-III Create code that tests other server functions Write programs in PHP and MySQL code to create and display databases Incorporate the code into project website Test PHP/MySQL code and functionality through the website Perform final systems testing Verify system boots up without issues Verify web hosting of the project website Verify PHP/MySQL server functions are operational

41 Phase 4 Task I - Hosting the project website on the MMX-III
Determine ISP’s restrictions on web hosting The ISP has no restrictions for web hosting on a home network Select best method to host the project website The best method to host the project website on the MMX-III is probably using a static IP address. The drawback is, the static IP address came with a cost of $5.95 a month, plus a $25 set up fee. Another method and the one used here, is to use a free dynamic DNS service. Using a downloadable Dynamic Update Client and port forwarding on the network’s router, the MMX-III is accessible from outside my network without a static IP address. Implement and test web hosting capabilities on the MMX-III To test the MMX-III’s web hosting capabilities, the project’s website files were copied from the NMSU server over to the MMX-III and set up to run using the URL: mmxiii.no-ip.biz

42 Phase 4 Task II - Create code that tests other server functions
Write PHP/MySQL code to create and display databases A database named mydb was created and using the file source.sql, a table was added called courses that's populated with information about the required courses for an ICT degree. The file index.php, pulls the data from the database and presents it in a table format using html. Incorporate the code into project website The PHP/MySQL code was incorporated into the project website, by adding a link to the index.php file on the Links page. Test PHP/MySQL code and functionality through the website Testing the code functionality is simply a matter of clicking the “PHP and MySQL Demo” link found on the Links page.

43 Phase 4 Task III - Perform final systems testing
Verify system boots up without issues This task was performed using several different methods. The system was shutdown or restarted using: The front panel power on/off button The front panel reset button Software commands using PuTTY A 5-hour power failure Verify web hosting of the project website The web hosting capabilities of the MMX-III is typically tested on a daily basis. It’s been tested on mobile devices as well as computers running different browsers. Verify PHP/MySQL server functions are operational These functions are routinely tested during the verification of system functionality

44 Phase 4 No-IP Dynamic DNS Service
Three URL’s can be configured to view the project website hosted on the MMX-III. URL’s and Current Status The project’s original URL, mmxiii.no-ip.biz is configured and operational. The last two URL’s can be configured to become operational, and were at one time, but were left in this state to demonstrate dynamic IP address changes shown next. URL Configured Operational mmxiii.no-ip.biz configured mmxiii.no-ip.org not configured not operational mmxiii.hopto.org

45 Phase 4 This is an example of the issues with using a dynamic IP address for the server. It shows how the dynamic IP address supplied by my ISP changes over time. All 3 of the hosts had matching IP Addresses prior to a power failure.

46 Phase 5

47 Phase 5 Phase 5 of the project had two main tasks and their associated subtasks. The two tasks were: Resolve any remaining issues with the MMX-III build Begin preparation for the project presentation

48 Phase 5 Phase 5 Project Wrap-up
Resolve any remaining issues with the MMX-III build Begin preparation for project presentation Develop PowerPoint presentation about project Include video, pictures, and logbook information from the build Learn how to use Adobe Connect/Skype for the project presentation Rehearse presentation using the actual application or a simulation

49 Phase 5 Task I - Resolve any remaining issues with the MMX-III build
MMX-III Issues Static vs. Dynamic IP address – while the dynamic DNS service provided by no-ip.com gives me the ability for web hosting on the MMX-III, it’s not perfect. It requires periodic maintenance and troubleshooting, along with having to use a web proxy to access the project website from inside my network. What to do about this long term, is an issue that requires more thought.

50 Phase 5 Task II - Begin preparation for project presentation
Develop PowerPoint presentation about project PowerPoint presentation for the MMX-III – Complete Video information from the build – Keeping my fingers crossed Learn how to use Adobe Connect/Skype for the project presentation Complete Rehearse presentation using the actual application or a simulation

51 MMX-III The wrap-up

52 Summary This project turned out kind of like I thought it would. It had it’s highs and lows and obstacles to overcome, but in the end everything seemed to work out. In a lot of ways, it was very similar to the projects I’ve been involved with through work, just on a smaller scale. This time though, I was the project’s entire staff and it’s financier. The bottom line is, the project’s success or failure depended solely on me. Personal Observations I believe the website was a huge success and it’s something I’m proud of. 4 out of the 6 project milestones were hit. - MS 1 was missed by a day and MS 2 by a week Each phase of the project was completed, along with all tasks and subtasks. The system functions as designed and meets the goals of the project. - It’s not optimum, but could be with a little bit of effort and money.

53 Highlights, Lowlights & Key Learning's
Summary Highlights, Lowlights & Key Learning's Highlights: Only $13.46 over budget, $ actual cost vs. target cost of $300.00 Successful boot ups during the test builds and after the build was completed Successful software loading Resolving networking issues with dynamic IP address Successful demonstration of server web hosting and PHP/MySQL functions Lowlights: Video issues that delayed project Case was damaged in shipping, not realizing it for 2 weeks Networking issues - ongoing issues and troubles after a power failure Key Learning's: CPU cooler/Ram heat sink - height issues, just because they say it will fit… Networking - Lot’s of practice with static/dynamic IP addresses, troubleshooting Server - Setting up a server is not as exciting as it once sounded Video - is my green kryptonite

54 My Thoughts On The Project
Conclusion My Thoughts On The Project Was it successful? Yes. Overall, I thought the project was a success. Is it perfect? No, but I believe it was a good first effort. Would I do it again? Yes, but I might change some things. I really enjoyed designing and building the computer, but I have to admit to being a little underwhelmed after loading the server software and watching it boot up. After a few hundred dollars and weeks of work, I guess I was expecting to see more on the screen than this. Server software, at least at my level, doesn’t seem to offer much pizzazz visually. Ubuntu LTS mmxiii tty1 mmxiii login:_

55 More Thoughts On The Project
Conclusion More Thoughts On The Project What would I change? I believe I might still build a computer, but would probably go with Ubuntu Desktop. If a server was included in the project, I’d probably try to create it on a virtual machine. Honestly though, I enjoyed working on the website as much as any other part of the project, so if I had it to do over again, I might consider a web development project. What happens next? Well, my wife gets the kitchen counter back that the MMX-III has occupied for the past 6 weeks and the MMX-III goes into semi-retirement while I graduate and begin my sabbatical from work. Long term, I believe the MMX-III has a future in my organization as a combination server/home media computer.

56 Questions

57 MMX-III The End Is Here


Download ppt "TOM PRESTON’S SENIOR PROJECT ICT SPRING 2013"

Similar presentations


Ads by Google