MMX-III A BRIEF INTRODUCTION MMX-III What is the MMX-III? The MMX-III is a Linux based server...
-
Upload
loreen-poole -
Category
Documents
-
view
231 -
download
1
Transcript of MMX-III A BRIEF INTRODUCTION MMX-III What is the MMX-III? The MMX-III is a Linux based server...
MMX-IIITOM PRESTON’S SENIOR PROJECT
ICT 435 - SPRING 2013
MMX-IIIA BRIEF INTRODUCTION
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”.
MMX-IIIMMX-III Running Ubuntu Server 12.04.2 LTS
MMX-IIITHE PROJECT
PROJECT BACKGROUND
The ICT 435 Senior Project
GoalApply some of the skills acquired during time spent in the ICT program to a real world situation.
The ProjectThe 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 WebsiteIn addition to the project, a website is developed and maintained to convey information and updates about the project.
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
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.
WEBSITE
WEBSITE
The project’s first requirementBuild a website
The website would be the vehicle for deliveringThe project idea proposalThe detailed outline for the approved project The project’s timeline and milestonesThe project’s tasksThe bi-weekly reportsThe 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.
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.
WEBSITEThe 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 footerw/text
Grey header w/text
Project logo image
Main body
Left column
Menu&Info boxes
REPORTS
Bi-weekly Reports16 Bi-weekly written reports spread across the termReports discuss the project and progressPosted on the website Value of the reportsThe 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.
TASKSProject TasksA 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:
http://mmxiii.no-ip.biz/tasks.html http://web.nmsu.edu/~tpreston/ict435/project/tasks.html
TIMELINEProject TimelineThe 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 MilestonesThe Project also had 6 milestones to help gauge its progress:
MS 1: All components ordered by 2/17/13MS 2: MMX-III assembly completed and power on by 3/17/13MS 3: All server software loaded and operational by 4/7/13MS 4: Verify hosting capabilities, develop backup plan if needed by 4/14/13MS 5: MMX-III is operational and functioning as designed by 4/22/13MS 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.
TIMELINEThe MMX-III Project Timeline
PROJECT PHASES
PHASE 1
PHASE 1
Phase 1 of the project had four main tasks and the associated subtasks.
The four main tasks were:
I. Starting a project logbook
II. Creating a hardware design
III. Selecting a Linux server operating system
IV. Acquiring the hardware and software
PHASE 1Task List
Phase 1 - Design and AcquisitionStart a project logbookCreate 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
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 designCreating 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 CPUThe CPU was provided through an employee program at IntelThe Chip Loaner Program provides samples of CPU’s to employeesThe CPU selection is limited (8), but state of the art products are availableFor this project, the Ivy Bridge, third generation Core i5-3450 was chosen
PHASE 1Choosing 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 SelectionThe 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 ComponentsThe 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
PHASE 1
Task III - Selecting a Linux Server OSUbuntu, 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.
MMX-III
List of MMX-III Components
• 3rd Generation Intel Core i5-3450 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 12.04.2 LTS OS
PHASE 2
PHASE 2
Phase 2 of the project had four main tasks and the associated subtasks.
The four main tasks were:
I. Documenting the build
II. Assembling the components
III. Visual inspection
IV. Power system on for testing, check functionality and prepare for OS install
PHASE 2Task List
Phase 2 - Building the MMX-IIIDocumenting 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
PHASE 2
Task I - Documenting the build
Create a plan for the assemblyThe 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 buildThe 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 buildThe project logbooks already in use would be used to capture any information from the build.
PHASE 2
Task II - Assembling the components 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 CPUThe CPU is placed in the socket on the MoBo and is clamped in place
Install memoryThe memory module is inserted into slot A1 and is held in place with two latches
Install CPU coolerA 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 bootThis 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.
PHASE 2
MMX-III Test Build
Presentation version with no embedded video
Click to view video
PHASE 2
Another Project DelayWhen 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 caseThe 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 caseThe 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 driveThe drive bays provide tool-free installation. The drives are inserted into a bay and held in place with a spring loaded clip.
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 installWith the drives reconnected, the system was restarted and booted to the point of prompting for a bootable disk.
PHASE 3
PHASE 3
Phase 3 of the project had one main task and several subtasks.
The main task was:
I. Software Installation
PHASE 3
Task List
Phase 3Software Installation
Install Linux server operating system Install Apache HTTP Server Install PHP Install MySQL
PHASE 3Task 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 12.04.2 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 PHPThe 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.
PHASE 3
Example of Accessing the MMX-III Using PuTTY
During the Ubuntu install a user name and password are created, so when the install is complete, the system is immediately ready for use.
PHASE 4
PHASE 4
Phase 4 of the project had three main tasks and their associated subtasks.
The three main tasks were:
I. Hosting the project website on the MMX-III
II. Create code that tests other server functions
III. Perform final systems testing
PHASE 4
Phase 4 - Demonstrate System FunctionalityHosting 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
PHASE 4
Task I - Hosting the project website on the MMX-III Determine ISP’s restrictions on web hostingThe ISP has no restrictions for web hosting on a home network
Select best method to host the project websiteThe 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
PHASE 4
Task II - Create code that tests other server functions
Write PHP/MySQL code to create and display databasesA 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 websiteTesting the code functionality is simply a matter of clicking the “PHP and MySQL Demo” link found on the Links page.
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 buttonThe front panel reset buttonSoftware commands using PuTTYA 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
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 Operational
mmxiii.no-ip.org
not configured
not operational
mmxiii.hopto.org
not configured
not operational
PHASE 4This 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.
PHASE 5
PHASE 5
Phase 5 of the project had two main tasks and their associated subtasks.
The two tasks were:
I. Resolve any remaining issues with the MMX-III build
II. Begin preparation for the project presentation
PHASE 5
Phase 5Project Wrap-up
Resolve any remaining issues with the MMX-III buildBegin 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
PHASE 5
Task I - Resolve any remaining issues with the MMX-III build
MMX-III IssuesStatic 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.
PHASE 5
Task II - Begin preparation for project presentation
Develop PowerPoint presentation about projectPowerPoint presentation for the MMX-III – CompleteVideo information from the build – Keeping my fingers crossed
Learn how to use Adobe Connect/Skype for the project presentationComplete
Rehearse presentation using the actual application or a simulationComplete
MMX-IIITHE WRAP-UP
SUMMARYThis 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 ObservationsI 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.
SUMMARY
Highlights, Lowlights & Key Learning'sHighlights: Only $13.46 over budget, $313.46 actual cost vs. target cost of $300.00Successful boot ups during the test builds and after the build was completedSuccessful software loadingResolving networking issues with dynamic IP addressSuccessful demonstration of server web hosting and PHP/MySQL functions
Lowlights: Video issues that delayed projectCase was damaged in shipping, not realizing it for 2 weeksNetworking 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, troubleshootingServer - Setting up a server is not as exciting as it once soundedVideo - is my green kryptonite
CONCLUSION
My Thoughts On The ProjectWas 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 12.04.2 LTS mmxiii tty1mmxiii login:_
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.
QUESTIONS
MMX-IIITHE END IS HERE