ultimate pi home server

59
let's make Explore (/tag/typeid/) Publish (/about/create.jsp) Featured: Intel IoT(/id/intel/) Life Hacks(/tag/typeid/categoryhome/channellifehacks/?sort=FEATURED) Beauty(/tag/typeid/categoryhome/channelbeauty/?sort=FEATURED) Woodworking(/tag/typeid/categoryworkshop/channelwoodworking/) Welcome reader. First please note: This instructable can be done within a day, but a weekend is certainly recommended. In this instructable I hope to teach you key skills involved with setting up and Related (http://cdn.instructables.com/FVQ/YDJS/HKPXB5RM/FVQYDJSHKPXB5RM.LARGE.jpg) (http://cdn.instructables.com/F05/V686/HKM90SZZ/F05V686HKM90SZZ.LARGE.jpg) (http://cdn.instructables.com/FPB/IIHX/HJF2JXN1/FPBIIHXHJF2JXN1.LARGE.jpg) (http://cdn.instructables.com/FIW/6KLY/HJF2JXN7/FIW6KLYHJF2JXN7.LARGE.jpg) About This Instructable License: 858,366 views 2,800 favorites (/member/DrWilson/) DrWilson (/member/DrWilson/) Follow Student, Manchester UK. Usually I'm making things electronics, computer programming, woodwork, DIY and construction. Follow me for awesome stuff. 354 Bio: (/id/SuperDelicious ChocolateSpongeSandwich) (/id/ExtremeLoft Conversion) (/id/EyeSpyGiftExchange) More by DrWilson raspberry pi (/tag/typeid/categorytechnology/keywordraspberry+pi/) server (/tag/typeid/categorytechnology/keywordserver/) linux (/tag/typeid/categorytechnology/keywordlinux/) cheap server (/tag/typeid/categorytechnology/keywordcheap+server/) cloud (/tag/typeid/categorytechnology/keywordcloud/) port forwarding (/tag/typeid/categorytechnology/keywordport+forwardi terminal (/tag/typeid/categorytechnology/keywordterminal/) Tags: Raspberry Pi online SSH (easy way) (/id/Raspberry PionlineSSHeasyway/) by chalei (/member/chalei/) Raspberry Pi: Minecraft Server (/id/RaspberryPi MinecraftServer/) by chrisgoad3882 (/) share what you make Login (/account/login) | Sign Up (/account/gopro?sourcea=header&sourceaUrl=/id/UltimatePiBasedHomeServer/?ALLSTEPS)

Upload: dragos-drg

Post on 17-Aug-2015

23 views

Category:

Documents


4 download

DESCRIPTION

Ultimate Pi Home Server

TRANSCRIPT

let's makeExplore(/tag/typeid/) Publish(/about/create.jsp)Featured: IntelIoT(/id/intel/) LifeHacks(/tag/typeid/categoryhome/channellifehacks/?sort=FEATURED)Beauty(/tag/typeid/categoryhome/channelbeauty/?sort=FEATURED) Woodworking(/tag/typeid/categoryworkshop/channelwoodworking/)Welcomereader.Firstpleasenote:Thisinstructablecanbedonewithinaday,butaweekendiscertainlyrecommended.InthisinstructableIhopetoteachyoukeyskillsinvolvedwithsettingupandRelated(http://cdn.instructables.com/FVQ/YDJS/HKPXB5RM/FVQYDJSHKPXB5RM.LARGE.jpg)(http://cdn.instructables.com/F05/V686/HKM90SZZ/F05V686HKM90SZZ.LARGE.jpg)(http://cdn.instructables.com/FPB/IIHX/HJF2JXN1/FPBIIHXHJF2JXN1.LARGE.jpg)(http://cdn.instructables.com/FIW/6KLY/HJF2JXN7/FIW6KLYHJF2JXN7.LARGE.jpg)AboutThisInstructableLicense:858,366views2,800favorites(/member/DrWilson/)DrWilson(/member/DrWilson/)FollowStudent,ManchesterUK.UsuallyI'mmakingthingselectronics,computerprogramming,woodwork,DIYandconstruction.Followmeforawesomestuff.354Bio:(/id/SuperDeliciousChocolateSpongeSandwich)(/id/ExtremeLoftConversion)(/id/EyeSpyGiftExchange)MorebyDrWilsonraspberrypi(/tag/typeid/categorytechnology/keywordraspberry+pi/)server(/tag/typeid/categorytechnology/keywordserver/)linux(/tag/typeid/categorytechnology/keywordlinux/)cheapserver(/tag/typeid/categorytechnology/keywordcheap+server/)cloud(/tag/typeid/categorytechnology/keywordcloud/)portforwarding(/tag/typeid/categorytechnology/keywordport+forwarding/)terminal(/tag/typeid/categorytechnology/keywordterminal/)Tags:RaspberryPionlineSSH(easyway)(/id/RaspberryPionlineSSHeasyway/)bychalei(/member/chalei/)RaspberryPi:MinecraftServer(/id/RaspberryPiMinecraftServer/)bychrisgoad3882(/)share what you makeLogin(/account/login) | SignUp(/account/gopro?sourcea=header&sourceaUrl=/id/UltimatePiBasedHomeServer/?ALLSTEPS)configuringaLinuxServer.TheknowledgeusedherecanbeappliedtoalmostallPCarchitecturessoifyoudon'townaPi(Whynotdude?)orit'stiedupinanotherproject,anyoldorunusedPCwillwork.Inmoredetailthemainskillstaughtwillbe:BurninganISOimagetoanSDforthePiInstallinganOSSettingupAwebserverSettingupAnSQLinstanceDeployingacustomcloudnetworkManagingusersforthecloudnetworkSettingupaSAMBAFilesharingnetwork,whichwillintegrateintoanestablishedwindowsbasedhomeorofficenetworkControllingSAMBAusersEstablishingastaticIPwhilstusinganonstaticIPinternetconnectionUsingWebminConsoletoinstallpackagesUsingCommandlineterminaltoinstallpackagesCarryingoutbasiccommandssuchasrebooting(terminal)EditingsystemfileswithNanoterminalbasededitorPermanentlymountingharddriveswithintheLinuxfilesystemtableviawebminUnderstandingtheprincipalofthePortforwardingfunctiononahomerouterSettingupawebinterfacedbittorrentmanagerBeinganoverallITnerd.Ifyou'reinterestedthencarryonreading.Ifnot,giveitatryyoumaydiscoveranewhobby.Astheabovelistdemonstratesthere'salottolearn.Idefinitelyfeelthisisaweekendproject.I'vefollowedthisprocessseveraltimesandittakesacoupleofdaysatleast.Itsgoodtotakelongbreaksbecauseyoureyesmaybegintobecomestrainedandyoumaysuddenlybecomeunenthusiasticaboutthewholething.Thisinstructableoffersfunctionsofmanydifferentstorepurchasableproducts,suchas:DedicatedAmazonEC2turnkeyservers(http://www.turnkeylinux.org/docs/ec2)Belkinroutersthatofferbuiltinapps(http://www.belkin.com/networking/apps/)OnlinecloudservicessuchasGoogleCloud(https://cloud.google.com/products/cloudstorage)NASserverssuchasthis(http://www.amazon.co.uk/BuffaloLinkStationNetworkAttachedStorage/dp/B000ZNUZAM).Theserverwe'llsetupwillcostfarlessthaneachoftheseservicesinthelongrunandonlyafractionofthecostofthecombinedservices.Settingupyourownserverisnotonlycustomandcheap,itsveryrewarding.IwillbeahappyguyifsomebodybenefitsfromwhatthisinstructablecontainsorbecomeinspiredbywhatIhavedone.Ittookagestoplanandwritethisinstructable.Ifyoulearnanythingatallorfeelthisinstructableiswellwrittenorwelldocumented,pleasevoteformeintheWeekendProjectsContestortheIcouldmakethatcontest.Iwouldalsoliketopointoutthatthisisnotacomprehensivetutorialondesigningaservercase.Therearedetailsofmycaseonstep3,howeverthisguideisintendedtobeacomprehensivesoftwaretutorial.Soifyougetstuckorfeelastepisn'ttooclear,justletmeknowandi'llbehappytohelp.Afewtips:Becausethistakesmorethanoneday,don'tjustfallasleepandforgetwhatyouwereplaningondoingnext.Insteadhaveapilefpostitnotes.ThiswaybeforeyouZzZzzzz...youcanjotdownanythingthatneedsdoingduringthenextsession.Ihadloads.Alloverthewalls,floors,chairs,desksyounameit!Okayslightexaggeration,butonaseriousnotetheydohelp.Ididuseafullstack.Anothertipwouldbetofollowthestepsonorder.Don'tjustthink"HmmIlikethesoundofmyowncloudnetworkletsdothatfirst!"Thestepsareinsuchanorderthateachbeforeismostlikelyrequiredforthecurrent,ifthatmakessense.Juststicktotheorder,it'llmakelifeeasier.Afinaltip:don'tbelimitedtowhatistaughthere.DoThinkofthisasabaseforSeeMore(/tag/typeid/?q=)(http://cdn.instructables.com/F37/NHQW/HJF2JXNB/F37NHQWHJF2JXNB.LARGE.jpg)RaspberryPI,THESERVER(TURNKEYLINUX)(/id/RaspberryPITHEHOMESERVERTURNKEYLINUX/)HostyourwebsiteonRaspberrypi(/id/HostyourwebsiteonRaspberrypi/)bysajingeoMakeRaspberryPidoLDAPAuthentication(/id/MakeRaspberryPidoLDAPAuthentication/)bymirzairwanosmaninspiration.AddingmoreservicessuchasthoselistedontheturnkeywebsiteiseasilydoneusingthesearchAPTfunctionwithintheWebminPackagemanager.Okay,Confused?Thenlet'slearn...Caution! This instructable contains 30 steps. Proceed at your own risk.Step1:PlanFirstthingsfirstPlan.Therearemanyaspectsinvolvedwithplanning,andoftenwhenpeopleoverplan,theyquicklyloseinterestintheactualtask.So,abriefplanisasfollows.Components:1xRaspberryPi(Bmodel)1xExternalUSB2.5'HDD(Capacityofyourchoice,mineis1TB)1xRaspberryPiCaseofyourchoice(Mineisacheap3lasercut,clearacrylic,selfassemblykitfromeb )2xHeatsinksfortheprocessoronthePi(Minewerefreewiththecase)1xEthernetCable(http://cdn.instructables.com/F37/NHQW/HJF2JXNB/F37NHQWHJF2JXNB.LARGE.jpg)(http://cdn.instructables.com/FI1/7QBS/HJGE1N7Y/FI17QBSHJGE1N7Y.LARGE.jpg)1xUSBcablefortheharddrive1xSDCard(8GBorabovestronglyrecommended.Alsoensureyoucopyeverythingoffthecardasalldatawillbedeleted.)RelevantpowersuppliesforthePiandHDDOS:WewillbeusingtheoperatingsystemimagefromGhoulmann(http://gonzotech.tumblr.com/post/35816630624/servercoreforraspberrypi).We'lldownloaditlater.TheimageisbasedonRaspian,whichisaDebianflavoradaptedforthePi,thatrunsturnkeyoutthebox.Plandone.Proceed .Step2:Features(http://cdn.instructables.com/FDO/LA0F/HJGE1N63/FDOLA0FHJGE1N63.LARGE.jpg)(http://cdn.instructables.com/F9L/CJLR/HJFSY8CS/F9LCJLRHJFSY8CS.LARGE.jpg)Therearemany(http://www.turnkeylinux.org/all)availablefeaturesavaiabletoaddtoahomeserver,somefree,somepaid.Ihavenarroweddownashortlistoffreefeaturesthatyouwillbeabletoaddtoyourhomeserverfollowingthestepsinthisinstructable .WebminAdminInterface(Thiscouldbeconsideredtheheartoftheoperation)Webminisastateoftheartservermanagementwebuserinterface.Itallowstheinstallation,managementandcontrolofthevariousservicesyoumaywishtoaddtotheserver.Theinterfaceisgreatforefirsttimersasitminimalizestherequireduseofthecommandlineinterface.MoreInfo(http://www.webmin.com/)ShellInABox(Thiscouldbeconsideredthebackend)'Shellinabox'isawebbasedinterfaceforSSH'ingintotheserver.ItrunsonjavaandCSSsoit'scompatblewithallthebestbrowserswithoutanyadditionalplugins.MoreInfo(https://code.google.com/p/shellinabox/)SambaWindowsFileServerSambaissoftwarethatcanberunonaplatformotherthanMicrosoftWindows,forexample,Linux.SambausestheTCP/IPprotocolthatisinstalledonthehostserver.Whencorrectlyconfigured,itallowsthehosttointeractwithaMicrosoftWindowsclientasifitisaWindowsfileandprintserver.MoreInfo(http://www.samba.org/)ownCloudownCloudgivesyouuniversalaccesstoyourfilesthroughawebinterface.Italsoprovidesaplatformtoeasilyview&syncyourcontacts,calendarsandbookmarksacrossallyourdevicesandenablesbasiceditingrightontheweb.ownCloudisextendableviaasimplebutpowerfulAPIforapplicationsandplugins.Manyofwhichareavaiablehere(http://apps.owncloud.com/).MoreInfo(https://owncloud.com/)TransmissionBitTorrentWebUITransmissionisdesignedforeasy,powerfuluse.It'swebuserinterfaceallowstorrent'stoberemotleyadded,thendownloadedtothedefaulttorrentlocation.Thislocationcathebesharedviasamba/ownCloudtoallowremotestreamingofdownloadedcontent.MoreInfo(http://www.transmissionbt.com/)ApacheWebserverTheApacheHTTPServerProjectisanefforttodevelopandmaintainanopensourceHTTPserverformodernoperatingsystemssuchasLinux.Thegoalofthisprojectistoprovideasecure,efficientandextensibleserverthatprovidesHTTPservicesinsyncwiththecurrentHTTPstandards.MoreInfo(http://www.apache.org/)PHP5PHPisaserversidescriptinglanguagedesignedforwebdevelopmentbutalsousedasageneralpurposeprogramminglanguage.PHPisnowinstalledonmorethan244millionwebsitesand2.1millionwebservers.Thisisrequiredforowncloudandanyotherwebpagesyouwishtohost.MoreInfo(http://www.php.net/)MySQLDatabaseManyoftheworld'slargestandfastestgrowingorganizationsincludingFacebook,GoogleandAdoberelyonMySQLtosavetimeandmoneypoweringtheirWebsites.Thatwhywe'llbeusingit.It'salsorequiredforownCloud.MoreInfo(http://www.mysql.com/)noipSyncClientThenoipsyncclientwillallowustogivetheservera'staticaddress',suchas"yourname.noip.biz".ThesyncclientwillupdatethecurrentipyourISP'sallocatedyoueverytenorfifteenminutes.Youmustfirstcreateafreeaccountatnoip.biz,butmoreonthatlater.MoreInfo(http://freedns.noip.com/)Onceyou'veunderstoodthepurposeofeachelementoftheserver,continuetothenextstep.Step3:HardwareSetup(http://cdn.instructables.com/F05/V686/HKM90SZZ/F05V686HKM90SZZ.LARGE.jpg)(http://cdn.instructables.com/FDG/YXHR/HKM90SZU/FDGYXHRHKM90SZU.LARGE.jpg)(http://cdn.instructables.com/FPB/IIHX/HJF2JXN1/FPBIIHXHJF2JXN1.LARGE.jpg)(http://cdn.instructables.com/FRX/EI0K/HKM90SZV/FRXEI0KHKM90SZV.LARGE.jpg)ShowAll8ItemsThehardwarebasicsareaPi,SDcardandpowersupply.You'llalsoneedyourLANEthernetcable.WhenIbeganIusedabasicPicaseziptiedtomy1TBportableUSBHDD.Myideasdeveloped.InmysetupIwantedtwomountedharddrivestooffermorestorage.OnewasaSegatedesktop3.5"320GBHDD.TheotherwasaTuroPortable2.5"1TBHDD.ThisoffersloadsofstoragesoIcancarryoutbackupsandsoon.WhenIdecidedonwhathardwareIwantedtoaddon,Icametoaninstantrealizationthatsomesortofcasewouldbenecessary.DuetotheflashingLED'sthatindicatestatusonallthreemainhardwareparts,IknewIwantedsomethingpartlytransparent.Ialsowantedthecasetolookthepart.AsIstrugglefordeskspacealltoooften,Ialsodecidedtomaketheserverawallmountableunit.ThiswayIwouldhaveaselfcontained,Transparentservercase.Whendesigningyourcaseyoucanbeasbasicorassimpleasyouwish.Forme,itwasverysatisfyingtohaveanendproductthatexpressedsomeprofessionalquality.Tomanagepower,Isimplymounteda3waysocketintothecase.IthensplicedtheendandsoldereditontoanappropriatelyratedswitchandIECsocket.Thisagainleavesaprolikefinish.Thetransformerswithintheenclosuredonotexceedtheratedcurrentofthewires.Foradditionalfinish,ImountedanEthernetandUSBsockettothetop.ByusingUSBhubinside,Iamabletohostanexternalsocket.ThisisusefulasUSBdrivescanbepluggedinwhennecessarywithouthavingtoundothe6sprungscrewsthatholdthehingeddoorclosed.Picturesareannotatedbelow.Step4:Beforewebegin...Beforewebegin,I'djustliketogiveyouaquickideaoftheplanningandnotetakingIdid.BelowaresomeofthenotespagesImadeduringtheprocess.Therearealsoafewofthemanypostitnotesthataremorereadablethanothers.Theyarestillquitescruffyhowever.Duetothepaceofwritingandtimesofnight,thewritingisn'tsodesirable,butitjustgivesaquickidea.Imayalsoadd:somenotesherearenotrelevant.Iwasalsosettingupmyportforwardingforawebaddress.Thisinvolvedforwardingsubdomainstospecificportswithintheroutermanager(portforwarding)andtheDNSfileeditorwithmydomainnameprovider(godaddy.com).(http://cdn.instructables.com/F0B/11PG/HKM90SZW/F0B11PGHKM90SZW.LARGE.jpg)(http://cdn.instructables.com/FVL/LVCU/HKM90SZX/FVLLVCUHKM90SZX.LARGE.jpg)(http://cdn.instructables.com/F3I/JI74/HKJRZI9O/F3IJI74HKJRZI9O.LARGE.jpg)Note:Monstersarecontagious,donotstareforlong.Step5:BurnTheImageThefirststepisoftenfoundtrickyandcomplicated.Iaimforittobequickandsimple,sowecanmoveontothefunpartsooner.First download the Win32 Disk Imager from here(http://downloads.sourceforge.net/project/win32diskimager/Archive/win32diskimagerv0.8binary.zip?r=&ts=1374499756&use_mirror=netcologne)ThiswillallowustoburnanoperatingsystemimagetoourSDcard.Next download the ISO of the Raspian Turnkey mix from here(https://github.com/downloads/ghoulmann/RasplianceCore/raspliancecore02.img.tar.gz).CredittoGhoulmann(http://gonzotech.tumblr.com/post/35816630624/servercoreforraspberrypi)fortheimage.TurnkeyisanoptimizedOSpackagethatisperfectforahomeserver.ThebasicpackageincludesWebmin(http://www.webmin.com/)DashboardandShellInABox(https://code.google.com/p/shellinabox/).ExtractthedownloadedfileandopentheapplicationcalledWin32DiskImager.exeWhentheapplicationopens,weneedtodotwothings.FirstlylocatethedownloadedISOimagefile.byClickingthefileicon.NextensurethecorrectdriveletterisselectedbycrosscomparingthedrivelettersinMyComputerwiththeonesavailableinthedropdownbox.FinallyClickWrite.(http://cdn.instructables.com/F4A/KZB9/HJGE1N7S/F4AKZB9HJGE1N7S.LARGE.jpg)(http://cdn.instructables.com/FIV/UIW8/HJF2JXY2/FIVUIW8HJF2JXY2.LARGE.jpg)(http://cdn.instructables.com/FTM/J2S7/HJF2JXY1/FTMJ2S7HJF2JXY1.LARGE.jpg)(http://cdn.instructables.com/F6Y/Z7J9/HJF2JXXT/F6YZ7J9HJF2JXXT.LARGE.jpg)Amessageinformingthatthedrivecanbecorruptedwillappear.Don'tpanic,thisisstandardprocedure,justclickYes.TheImagewillthebegintowrite.Itwilltakeabouteightminutesintotal.OncetheimagehasbeenwrittentotheSDcard,aWriteSuccessfulDialogappears.CloseitoffandplacetheSDintoyourPi.Step6:InstallTheOSInstallingtheOSisaniceplacetostart,besidesitbeingthefirstchronologicalstep,itisafairlysimpleone.Theuser(you)doesn'treallyhavetodomuchthesetupscripstakecareofthat.Noextensivehardwareisrequiredforthesetupprocess.AllyouneedisaspareUSBKeyboard(orjustborrowoneitwontbelong),ATVwithHDMIorCompositeinputandtherelevantcable.You'llalsoneedyourPipowersupply(JustaregularmicroUSBphonechargerwilldo).(http://cdn.instructables.com/FRZ/YGI6/HJGE1N7V/FRZYGI6HJGE1N7V.LARGE.jpg)FirstplugtheHDMIorCompositecableintothebackoftheTV,thensettheTVtothecorrectinput.ThisisbecausethePidetectswhetherHDMIispluggedinthenusingthatinformationchooseswhethertooutputcompositeornot.ThenplugthecableintothePi.NextinserttheSDcardwepreparedearlier.Pluginthekeyboard.ThenfinallypluginthemicroUSBpower.ThePiwilltheboot.Setupscriptswillrunautomatically.Thiswilltakeafewminutes,beforebeingaskedforarootpassword.Whenpromptedforapassword,chooseasecureone.Don'tuseonethatisalreadyusedforyouremailaccountorsimilar.Usehowsecureismypassword.net(https://howsecureismypassword.net/)tofindasecurepassword.Aimforsomethingthattakesaround10octillionseptuagintillionyearstocrack.Nobutseriously,choosesomethingsecure.Setupmayasksomeotherquestions.Justinputlogicalanswers.AftertheQ&Aisoversetupwillcontinuedoingitsthingforaround5min.Attheendyou'llbetoldtheeth5connectionfailed.Thatbecausewedon'thaveainternetconnectionyet.Oncesetupiscomplete,unplugthepowercableandrelocateyourPiserverintoitsfinalrestingposition.That'sallthereistoit,younolongerneedthekeyboardormonitor/TV.Weareofficiallyheadless(http://en.wikipedia.org/wiki/Headless_system)myfriend.Step7:UpdateWebmin(http://cdn.instructables.com/F2N/4703/HJGE1N82/F2N4703HJGE1N82.LARGE.jpg)InthisstepwewilllogintoWebminforthefirsttime.Whenthisisdone,wewillupdateWebmintothelatestversionusingtheintegratedupdater.First,typeintheipoftheserver(RPi)followedby":12321".ThisisthedefaultportthatWebminisrunningon.SoforexampleIwouldtypein"192.168.2.12:12321".Yourscouldlooklikethis"192.168.1.2:12321"or"192.168.2.5:12321".Noticehowtheportremainsthesame,despitetheipaddresschanging.Aquickexplanation.Theipaddressisthestringofnumbersthatdefinesanydeviceconnectedtotheinternet.TherouterinyourhomehasafunctioncalledDCHP(DynamicHostConfigurationProtocol).ThisautoassignsthedevicesontheLAN(LocalAreaNetwork)anipfollowingthedefaultformatof192.168.1.*ThismeansthatyourPicouldbeanyipaddressthrough192.168.1.2to192.168.1.255(Itwon'tbe192.168.1.1becausethat'susuallytheroutersipaddress).Usuallythereisachronologicalorderofworking,thereforeunlessyouhaveover20devicesonthenetwork,youwontbegoinghigherthan192.168.1.20Ifyoudon'tknowhowtodeterminetheipofadeviceonthenetwork,Istronglyrecommendthis(http://download.cnet.com/SoftPerfectNetworkScanner/30002085_410205180.html)tool.It'sfreeandextremelyhandyifyourlesscomputersavvythanothers.Itworksbyscanningallthepossibleip'sonanetwork,thengathersinformationaboutthedevicesontheotherend.Onceyou'vedonethat,yourgoingtogetthatscarysecuritywarningweallhate.Itlookslikethis:(http://cdn.instructables.com/FHJ/22U9/HJGE1I0I/FHJ22U9HJGE1I0I.LARGE.jpg)Thiswarningusuallyindicatesawebsitethat'shasinsecurecertificates.Thismeansthedatasenttotheserverisn'tnesacerilysenttotheserver,insteadafakeserver,tryingtocapturesensitivedata.Usuallyyou'dturnbackhere,butdon't.ThismessageisonlydisplayedaswehavenotyetinstalledaSSLcertificateontheserver.Theseareexpensive,soinsteadwe'lljustdisableSSL(HTTPS://).That'slateronthough.Fornowjustclickproceedanyway.Onceyourproceededyou'llmeettheWebminLoginpageforthefirsttime.Isn'tshewonderful.HereentertheusernamerootandthepasswordyouenteredduringtheLinuxinstallation.ThenclickLoginTheinterfacewillthenload.Atthebottomofthehomepage,you'llnoticetheUpgradeWebminNowbutton.ClickthebuttonandWebmindoestherest.Justforreassurance,Hereareimagesofhowtheprocessshouldlook:Thisistheupdatedpackagedownloading.Thisisthescriptcarryingouttheupdate.Thisfinalimageshowstheupdateiscomplete.Afterthisisthestageyou'reat,continuetothenextstep.Step8:ShellLoginInthisstepwewilllearnhowtologintotheshellinterfaceviathebrowser.TypetheipaddressoftheRPiintothebrowser,thenport:12320itwilllooklike192.168.1.*:12320Againwe'llseetheuntrustedwebsitepage.(http://cdn.instructables.com/F85/E6EU/HJGE1N81/F85E6EUHJGE1N81.LARGE.jpg)(http://cdn.instructables.com/FNJ/EWAC/HJGE1IDG/FNJEWACHJGE1IDG.LARGE.jpg)ClickProceedanyway,rememberweknowit'ssafebecauseit'syourserver.Thiswillloadtheshellinterface.Youmaybeaskingwhatis'shell'andthinking'Ithoughtcomputerssandandwaterdon'tmix'.I'llexplain.ShellistheLinuxversionofCommandPrompt(whichisprobablyfamiliartoyouwindowsusers).Itbasicallyoffersaccessintotheserverviacommandline,whichcanbeveryusefulfortaskssuchasaddingsambausers,oreditingafileusingnano(nanoisacommandlinetextfileeditor).Sooncetheinterfacehasloadeditwilllooklikethis.VerybasicImayadd.Again,hereI'lloffersomelevelofexplanation.The'corelogin:'isjusttheserverhostname'core'(wecanchangethislater)followedbylogin:Thismeanstheserverrequiresustologinbeforecarryingoutanytasks.Tologinsimplytypeyourusername( root )pressreturn/enterthenenterthepasswordfortherootaccount.Yourpasswordwontbedisplayedforobvioussecurityreasons,suchastheguystoodbehindyoulookingoveryourshoulder.Takethat**.Youwillthebegreetedbyaloginmessageexplaininghowwarrantiesarenotthisnorthat.(http://www.instructables.com/member/rjanssen2/)Step9:HowtoRebootNowweknowhowtoaccessthecommandline,let'stryafewthings.Firstlet'slearnhowtoreboot.Logintotheterminalasnormalorifyoualreadyhaveanopensessionensurethebottomsmostlinereadsusername@hostname~#inessence,root@core~#Type rebootThenpressenterYou'llreceiveabroadcastmessageinformingallusersofthesystemreboot.**thisisnotareferencetotheBritishbandAspostedbymemberrjanssen2Tofixthesessionclosedafterthepromptlogin,youneedtochange/etc/hosts.Enterthefollowing:nano/etc/hostsThenchangethecoreintheline127.0.1.1toyourhostname.Thanksforthehelpthere!(http://cdn.instructables.com/FUY/PMW8/HJGE1N80/FUYPMW8HJGE1N80.LARGE.jpg)(http://cdn.instructables.com/FIZ/CW8X/HJGE1JEM/FIZCW8XHJGE1JEM.LARGE.jpg)That'sallthereistooit.Thisisoneofthemostbasicproceduresyou'llneedtocarryout.Duringtheserverconfigurationandsetupyou'llbedoingthisquitealot.Continuetothenextstepwhereyouwilllearnhowtousenanotoeditfiles.Step10:ChangingtheServerName(Hostname)OurserveriscurrentlynamedCORE.Boringright?We'regoingtochangeit.Firstwecantypehostnameintotheshellintheboxterminal(aftersucsessfullogin)toprintthecurrenthostname.Wecanseeit's'CORE'.Solet'sgoaheadandchangeit.Typenano/etc/hostnamePressreturnwhichwillopenthetextfilelocatedinthe/etcdirectoryontheSDcardnamedhostname,withtheterminaltextfileeditornano.Onbootthesetupscriptsreadthefilecontentsanduseittosetthehostnameoftheserver.Sotochangeit,simplydeletethecontentsofthetextfileandtypeyourdesiredhostname.PressshiftandXtoexit.(http://cdn.instructables.com/FDT/P8N5/HKJRZI9N/FDTP8N5HKJRZI9N.LARGE.jpg)PressYtosavethechanges.Justhitreturntosaveovertheoldfile.Nowjustreboottheserver(coveredinstep8)forchangestotakeeffect.Whenyoulookinnetworklocationfromawindowsfilebrowseryou'llseeyourserverhasbeenrenamed.Step11:MounttheHardDriveIfyouareusingayexternalstoragesuchasaUSBharddriveorUSBstickwiththeserver,wemustconfigureittomountatboot.IfyourdriveisformattedwiththeNTFSfilesystem,followtheguidebelow.IfithasanyothertypeofformattingsuchasFAT32,thenskiptothenextstep.DriveswithWindowsNTFSformattingcanbetrickytomountwithinLinux.Toallowthedrivetobemounted,wemustinstallNTFS3g.ThisirradiatesanyissuesIknowof.So,openupatabwithinyourbrowser.Pointittotheaddressandportofshellinabox,i.e,anewterminalsession.Firsttype aptgetntfs3gaptgetisthecommandtograbapackagefromtherepositoryandinstallit.Theterminalmaythenbegintolooklikeascenefromthematrix.Thisisjustthedownloadingandinstallationofthepackage.Belowareimagesofhowtheprocessshouldlook:(http://cdn.instructables.com/FM1/HIXN/HJGE1N7O/FM1HIXNHJGE1N7O.LARGE.jpg)Yourdonewhenyouseetheroot@core~#messageagain.Thisisjusttheserverswayofsaying"I'mreadyformynextcommandmaster."Step12:MounttheHardDriveContinued(http://cdn.instructables.com/FQN/XPJU/HJGE1N7P/FQNXPJUHJGE1N7P.LARGE.jpg)HeadbackovertoWebmintocontinuemountingthestoragemedia.FromthetopnavigationbarclickDisksandNetworkFilesystemsfromwithintheSystemdropdown.Thiswillloadtheappletwherewecanselectandmountthedrive.Tobeginmountingclickthedropdownboxjustabovethefilesystemtableandselecttheformatofthedriveyouaremounting.MountingadrivewithinLinuxwillnotremoveyourdata,howeverit'salwaysbesttohaveabackup.Thisnextpagewillallowyoutonamethemountandchoosethelocation.Wewillcreateoutmountinthelocation /media/serverhdd .SelectDiskandthereshouldonlybeoneoptionwithinthedropdowntochoosefrom.ChooseNowhereyouhavetheoptionforreadonly.Keepthedefaultsettingsforeverythingelse.Onceyouhavethesamesettingsasabove,clickcreate.Thiswilltakeusbacktoanupdatedfilesystemtable.Noticethefourthentry,thisistheonewejustcreated.Step13:MySQLNextwe'rearegoingtoinstallMySQL.MySQLisafreetoolthatallowsustohostonlinedatabasesthataresecure,andaccessiblebyPHPscrips.Thismeansthataloginpage(suchastheownCloudloginpage)canuseaPHPscripttochecklogindetailssuchasuserandpassword,thusallowingittoserveyouthecorrectfilesandultimatelyallowingyoutologin.Withoutfurtherado,let'sbegin.Toinstall:LogintheWebminadminconsole,hoverovertheunusedmodulescategory.FromthereSelecttheMySQLentry.Thiswillserveapageinformingusweeitherdon'thavethemoduleconfiguredcorrectlyordon'thaveitinstalled.Wedon'thaveitinstalleddoclicktheoptionthatsays'clickheretohaveitinstalledbyapt'.Justforyourinformation,aptisaLinuxpackagemanagerthatcanbeusedtoinstallandremovepackages(basicallysoftwareapplications).(http://cdn.instructables.com/FTK/0HKZ/HKJRZI9L/FTK0HKZHKJRZI9L.LARGE.jpg)Thepackagewillthenbeinstalled.Lotsofcodewillberunninginthewebpage.Leaveittorunitscourse.Itwillinformyouatthebottomofthewebpagewhenthepackagehasbeenadded.Afteritsinstalled,goback,andfromtheserversdropdowninwebmin,selecttheMySQLDatabaseserverentry.Thiswillloadtheinterface.Continuetothenextsteptolearnhowtoaddadatabase.Step14:AddadatabasetoMySQL(ownCloudprep)Sonowwe'regoingtoaddadatabasetoMySQLforownCloudtouse.WithinthedatabaseownCloudwillstoreinformationwithintablesandfields.Moo .Theinformationwillrangefromusernamesandpasswords,tofilesizelimitsandfilepathsforeachuser.It'sreallyquiteclever.Itsquickandeasytoaddatable.FirstfromwithintheMySQLdatabasemanagerpageinwebminclickaddadatabase.(http://cdn.instructables.com/F2Y/J5CE/HKJRZI9K/F2YJ5CEHKJRZI9K.LARGE.jpg)Thenewdatabasepagewillthenload.Herenamethedatabaseandleaveallotheroptionsdefault.I'vecalledmineowncloudforeasyreference.(You'llneedtonotedownthenameforlater.)Wedon'tneedtoadanytablesordatabecauseownCloudwillpopulatethedatabaseduringit'sinstallationprocess.ClickCreateatthebottomofthepage.You'llthenbetakenbacktothemanagementpage,whereyou'llseethenewtable.Prettyeasyright?Next:addingauser.Step15:AddauserToMySQL(ownCloudprep)(http://cdn.instructables.com/FMC/60Q0/HKJRZI9I/FMC60Q0HKJRZI9I.LARGE.jpg)MySQLisamultiuserdatabasemanagementsystem.Thismeansthattherecanbemorethanoneuserthatcangainaccesstothevariousdatabasesandthedatawithinthem.Thisisusefulaswecanassigndifferentpermissionstothedifferentusers.Whywouldwewanttodothat?Thisfeatureisimplementedforanumberofreasons.Thefirstmostobviousbeingasecuritybreach.Forexampleifsomeonesomehowhacksaccesstoaserviceorprogram'scodewhichreliesonadatabasewithinMySQL,theymaybeabledecryptthelogincredentialstotheMySQLdatabaseserver.Thismeanstheycouldaccesssensitivedatawithinotherdatabasesandcausehavoc.Butwaitholdon,don'tpanic.Becausewithmultiuserfunctionality,thedatabaseserverwillbesafe.Wecanknowthisbecausewearecreatingseparateaccountsthatwillrangefrommanagingtheservertoreading,modifyingandevencreatingtables.Ifsomebodyeverdidgainaccess,(whichishighlyunlikely)theywouldonlyhavecertainpermissionswithinthedelegateddatabase/s.ThiswaywearenotcompromisingotherservicesthatrelyontheSQLserver.Anotherreasonisifapieceofcodewithinaservicemalfunctioned(alsoveryunlikely)somehowlosingcontrolandbeginningtoeraseanddeletethedatabases.Thiswouldn'tbepossiblebecausetheprogramwouldonlyhaveaccesstoitsowndatabase.Allisnotlost,Eh?VeryCleverImustpointout.So,letsleanhowtocreateauserthen.TheuseraccountwewillcreatewillbelaterusedforownCloudsousealogicalusernameandpassword,thatwillbeidentifiableinthefuture.OpenuptheMySQLdatabaseservermanagerifyouhaven'talready.Whichyouprobablyhavebecauseyourtwitchingwithexcitementattheconcept.Sofirst,weneedtoclickUserPermissions.Thiswillnavigateustowardsourgoal.Onthepageyou'llseealistofuserandtheircorrespondinginfo.SorrytoruinyourfunMr.Hacker.Anyway,ontheabovepageclickCreateNewUser.Asyouwillsoonsee,thishasloadedtheadduserpage.Herewe'llbeabletoaddourownClouddatabaseaccessuser.Inputtheaboveinformationintothefields,whichis:Username:owncloudPassword:chooseonebutrememberitSelectallpermissionsbesidesSuperuser.QuicktipClickthetopentry,scrolldown,holdshift,clickthebottomentry.ThendeselecttheSuperuserentrybyclickingwhistholdingctrl.Changethemaximumconcurrentloginsto15(wewontbehavingmorethan15usersatatimeconnected.LeaveotheroptionsdefaultthenCreate.Thiswillcreatethenewuserandthennavigateusbacktotheuseraccountspage.Hereyouwillseetheaddedusercredentials.I'veblankedoutthepasswordforobviousreasons.That'sit,we'vecreatedournewuser.DuringtheownCloudsetup,ownCloudwilltietheaccounttothespecifieddatabase.(Remembertheonewecreatedearliernamedcloud?)Let'scontinue.Step16:InstallPHPInthisstepwe'llinstallPHPandthevariousaddon'ssoitscompatiblewithservicessuchasMySQL,whichweinstalledinanearlierstep.FormoreinfoonPHPclickhere(http://en.wikipedia.org/wiki/PHP)Beginbyopeningupaterminalsessionwithshellinabox(Port12320)Loginthentypeaptgetinstallphp5phppearphp5mysqlThenpressenter.ThiswillcarryouttheinstallationofPHPandotherrequireddependenciesforownCloudandTransmission.WhenyoureachtheabovepointjusthitY.Thischeckiscommonpracticeandit'sessentiallyjustAPTaskingforpermissiontouseupthespecifiedamountofdiskspacetoistalltherequestedprograms.Abovewecanseethefilesbeingfetchedfromthemirrors.(http://cdn.instructables.com/FEM/4BHD/HKJRZI9J/FEM4BHDHKJRZI9J.LARGE.jpg)Andrememberwhenyouseeroot@core~#,you'realldone!ContinuetothenextsteptobeingsettingupownCloud.Step17:InstallownCloudTheinstallationforownCloudcanbedoneviatheGUI(GraphicalUserInterface)withinwebmin.HeadovertowebminandselectsystemsoftwarepackagesfromtheSystemdropdownmenu.(http://cdn.instructables.com/FXT/C560/HKJRZI9H/FXTC560HKJRZI9H.LARGE.jpg)Thiswilltakeustotheinstallpackagewebpage.Herefocusonthesecondsection:InstallaNewPackage.HereselectthePackagefromAPTradiobutton.(Whichisoneofthese[TryMe!])Typeintothecorrespondingboxowncloud,likethis:ThenhitInstall.Thescripthasfinished,thus,ownCloudhasbeensuccessfullyinstalled.ContinuetothenextsteptoconfigureandsetupupownCloud.Step18:OwnCloud:PresetupBeforesettingupourownCloudinstanceweneedtocreateafolderontheharddriveforourdatatorestwithin.Quicklyopenupashellinaboxsessionandtypethesethreecommandsseparately:1 cd/media/serverhdd2 mkdircloud3 chmod750/media/serverhdd/cloudThiswillcreatethefolderandchangethepermissionssoowncloudcanwritetoit.Youcannowcontinue.Step19:ConfigureownCloudSowe'veinstalledownCloud,let'ssetitupthentestit.Headoverto192.168.*.*/owncloudYou'llbegreetedbythis:(http://cdn.instructables.com/FM1/HIXN/HJGE1N7O/FM1HIXNHJGE1N7O.LARGE.jpg)(http://cdn.instructables.com/FXT/C560/HKJRZI9H/FXTC560HKJRZI9H.LARGE.jpg)Clicknext,youmaythenbeaskedifyouwanttoinstallintoasubdirectory,justdeletethetextinthefieldandclicknext.Ifnotjustcarryon.Hereistheimportantpart.Thispageiswherewewillspecifyafolderforthedatatogointo,andadminaccount,andtheSQLinformation.InputaUsernameandpassword.ClicktheadvancedbuttonType//media/serverhdd(orwhateveryoumountedyourharddriveas)followedby/cloud.Soit'lllooklikethis: //media/serverhdd/cloudNextclicktheMySQLbuttonandthepagewillexpand,revealingoptionsforthedatabase.HeretypeintheMySQLusernameandpasswordfortheownclouduserwemade.Typeinthedatabasenameofwhichyouwishtouse(wealsocreatedoneearlier)TypeLocalhostinthefinalbox.UltimatePiHomeServer byDrWilson(/member/DrWilson/) (/contest/icouldmakethat/)Collection IMadeit!Download(/id/UltimatePiBasedHomeServer/?download=pdf) 30StepsFavorite Share(/id/UltimatePiBasedHomeServer/)FinallyclickFinishsetup.Thiswillfinalizethesettingandloaduptheowncloudservice.TaDahh!!Everythingisbeginningtocometogethernow.Letslearnhowtocreateauseraccount.NextStep.Step20:CreatinganownCloudUser(http://cdn.instructables.com/FMC/60Q0/HKJRZI9I/FMC60Q0HKJRZI9I.LARGE.jpg)ownCloudhasloadsoffeaturessoitwouldtakeawholelotoftimetoexplaineachoneandhowtouseit.Thatmyfriends,isanotherinstructableforanotherday.Havealookhere(http://owncloud.org/features/)foralistandusage.Creatingauserisfairly*simplesoI'llshowyouhow.ClicktheuseroptionsbuttoninthetopcornerthenclickonUsersfromthedropdown.Thenyou'llbetakentotheusermanagementpage.Tocreateanewuser,typeausernameandpasswordintotheappropriateboxesabovethetableviewofcurrentusers.Thenclickthegroupsdropdownbox.Hereyouwillseeanadminentryandan+addgroupentry.Click+addgroup,thentypeagroupnameforstandarduseraccounts.Thisonlyhastobedoneonce.Thenpressenter(Keyboardkey).Thiswillcreateandselectthenewgroup.Nextclickthecreatebutton.Nowweneedtosetthedatalimitfortheuser.DothisusingtheStoragedropdownontherowoftheuser.Thetopoptionsetsthedefault.Settowhatevermeetsyourneeds.Onceyouhavedoneallthis,you'vecreatedyournewuseraccount.Logout(userbuttonintopright>logout)thenlogbackinasthenewusertotestthingsout.Next,letssamba.*Thetermfairlyandanyotherreferencetosimplicityordifficultythroughoutthisinstructableissubjective,howeverthisinstructableisintendedforanyonewhounderstandsthebasicoperationofaPC,somostshouldbeabletofollowit.Step21:Let'salldotheSambaSambawillallowustosharedocumentswithwindowsPC'sonthesamenetwork.Thiswillallowtheservertobeusedasacentralfileserverwithinyourhome.ThisisusefulifyouhavemorethanonePCwithinthenetwork.InstallationbeginswithopeningthemodulefromtheUnusedmodulescategorywithinwebmin.SogoaheadandselectSambaWindowsFileSharingYouwillthenbetold"SorryMr,youdon'thavethatmodule,"orsomethinglikethatanyway.Justclickclickheretoinstallit.Thepackagewilltheninstall.(http://cdn.instructables.com/FAG/KR97/HKJRZI9G/FAGKR97HKJRZI9G.LARGE.jpg)Thesambapackageandanyotherdependencieshavebeeninstalled.Continuetothenextsteptosetitup.Step22:ConfigureSambaDrivesSonowwe'llsetupadconfigurethesambainstance.Sambaoperatesonthewindowsfileshareprotocol,sointegrationintoawindowsnetwork(orsingularPC)isseamless.FirstopenupSambafromtheserverscategoryinwebmin.Nextselectthecheckerboxesalongthelefthandsideofthedefaultdirectorymounts.Clickthedeleteselecteddrivesbuttonlocatedbelowthetable.Thepageshouldnowlooklikethis:Clickcreateanewfileshare.tobeginmountingyourdirectories.Herewecannowdefineaname,andfilelocation.Wecanalsosetpermissionsforsambausers.(http://cdn.instructables.com/FAG/KR97/HKJRZI9G/FAGKR97HKJRZI9G.LARGE.jpg)Createyoursharewiththeoptions:Sharename:RelevantsharenameofyourchoiceDirectorytoshare:/media/serverhdd/*(here*isawildcard.Mountanyfolderofyourchoice.We'vealreadycreatedourclouddatafoldersoletsmountthat.)Directorytoshare:/media/serverhdd/cloudAutocreatedirectory:YesOwner:rootPermissions:755Group:RootAvailable:YesBrowseable:YesAddasharecommentifdesired.ThenClickCreate.Hereyoucanseethemounteddrive.MineisausersfolderIcreatedontheharddrive.Nowweneedtoeditanoption.Clickontheshareyou'vejustmade.FromthereclicktheSecurityaccessandcontrolbuttonfromthebottom.HerechangetheattributeWritable?toYesThenSave.Returntothesambaconfighomepage,andcontinueuntilyouhavemountedallthesharesyouwishtoadd.Inthenextstepwewillcreateausersowecanlogintothesharesviawindowsexplorer.Step23:AddaSambaUser(http://cdn.instructables.com/FMC/60Q0/HKJRZI9I/FMC60Q0HKJRZI9I.LARGE.jpg)IoftenfindtheWebGUIforaddingsambauserstobebuggyandunreliable.Becauseofthis,I'mgoingtoteachyoutoaddausertheterminalway.First,ashellinaboxsession.Beforewecontinueitisimportanttonote:toaddasambausertheremustbeanexsistingUnixaccountthatyoucanlinkto.ThesambaconfigwillrelyontheUnixuseraccountforpermissions.NamethesambauserthesameastheUnixuseraccount.Nowtypein pdbeditau*usernamehere*Nowyou'llneedtoenterapasswordthenconfirmit.NiceandTidy.Forchangestotakeeffect,you'llneedtorestartthesambaservice.ThisiseasilydoneviatheGUIwiththerestartbuttonantthebottomofthepage.Alldone.NowHeadovertoyourwindowsPCforthenextpart,accessingtheshare.Fulldetailsonthetoolpdbeditareavailablehere(http://linuxcommand.org/man_pages/pdbedit8.html).Step24:Accessingtheshare(http://cdn.instructables.com/FUB/D1ON/HKJRZI9F/FUBD1ONHKJRZI9F.LARGE.jpg)Welcomeback.Nowletsmounttheshareasavolumeinwindows.OpenupMycomputer.ClickMapnetworkDrive.(Locationsareasfollows:Windows8:toptoolbarunderComputergroup.Windows7:Onthetoolbarbelowthefilepath.WindowsVista:WithintheTools...dropdownthatislocatedonthetoolbarbelowthefilepath.WindowsXP:Leftclickwhitespace.)FirstSpecifythedriveletter.Allavailableoneswillbewithinthedropdown.Nextlocation,Whichwillbeintheformat\\*yourservernamehere\*sambasharenamehere*ChecktheReconnectatsigninandConnectusingdifferentcredentialsoptions.ClickFinish.TheCredentialswindowwillthenopen.Heretypetheusernameandpasswordforsamba.ChecktheRemeberoptionthenfinish.Oncethathasbeendone,thesharecanbeusedlikeanormalstoragemediafromwithinWindows.Nextwe'llinstallTransmission.Step25:InstallTransmission(BitTorrent)Transmissionisatorrent/downloadmanager.YousimplyvisittheporttheserviceisrunningontoopenthewebUI.FromthereyoucansimplycopyandpasteURLmagnetlinks,filelinks,torrentfilelinksandmore.Theinterfaceissupersimpletouse.Toinstallopenupashellinaboxsessionandtype: aptgetinstalltransmissionThiswillbegintheinstall.(http://cdn.instructables.com/FEY/I1Y4/HKJRZI9C/FEYI1Y4HKJRZI9C.LARGE.jpg)Herewecaanseethefilesbeingdownloadedandaddedtothefilesystem.Oncethepackagehasinstalled,weneedtostopthedaemon(package)fromrunning.Thisisimportanttodoorthesettingfilemaybecomecorrupt.Type: /etc/init.d/transmissiondaemonstop tostopthedaemon.Nextweneedtoconfiguretheusernameandpasswordfortheinstance.You'llusethesecredentialstologintothewebuserinterface.Type: nano/etc/transmissiondaemon/settings.json toedittheconfigfilewithnano.EdittheUserandpasswordenteriestowhateveryouwish.thepasswordentryisnamedrpcpasswordanduserisrpcusername.HitshiftandXtoexitandpressYtosavechanges.Nextwewillrestartthedaemon.Type: /etc/init.d/transmissiondaemonstartNowvisit192.168.2.*:9091.Hereyou'llhitlogindialog.Enterthecredentialsandlogin.Afterthat,asucsessfulloginwillloadtheinterface.Simplyusetheaddfileicontopasealinkforthemanagertodownload.Againfullusageguidesareavailableonthetrasmissionwebsite.Step26:ThePrincipalThisstepwillexplainhowwewillachieveworldwideaccessfortheserver.Wewillusetwofundamentalelements.Thefirst:noip,isafreeserviceavailabletoanyone.Itcomesintwoforms,thesyncclientandtheonlineserviceaccount.Theaccountsarefreefromthenoipwebsite.Createanaccounthere(http://www.noip.com/newUser.php).Thesecondelementisafunctionbuiltintoalmostallhomerouters:portforwarding.Thisfunctionallowsustoredirectincomingrequeststootherdevicesonthenetwork,i.e.,theserver.Thishastobedoneasanyincoming(http://cdn.instructables.com/F94/RIUG/HKJRZI9B/F94RIUGHKJRZI9B.LARGE.jpg)connectionfromoutsideyourhomenetworkwilljustdirectustotheroutermanagementpage.Weneedtolandonourserversservicespage.Todothisthetwofeaturesworktogethertoprovideasimplerwaytoconnecttotheserver.noipworkslikethis:Portforwardingworkslikethissketch:Continuetosetupthesetools.Step27:Installnoip(http://cdn.instructables.com/FZ1/2CTL/HKJRZI9D/FZ12CTLHKJRZI9D.LARGE.jpg)Toinstallnoip,openanewshellsession.Type: cd/usr/local/src Tomakethecurrentworkingdirectory(folder)src.Nowdownloadthetarfiletothedirectory,fromnoip.comwith: wgethttp://www.noip.com/client/linux/noipduclinux.tar.gzChangethecd(currentdirectory)tonoipfolderusing: cdnoip2.1.91 Thenmakethefileswith: makeTheninstallwith: makeinstallDuringtheinstallyou'llneedyournoipregisterdemailaddressandpasswordtohand.Leavethedefaultupdateperiodas30.Whenaskedsaynotorunningascriptonsucsessfulupdate,usingNkey.Thenlogintonoip.comtoconfirmtheclientcarriedoutit'sfirstupdateConfigureportforwardingonthenextstep.Step28:PortForwardingSettingupportforwardingisdifferentoneveryrouter,becauseofthisi'lljustgiveyouageneralideaofwhichportstoforwardandwhere.Formorespecificdetailsonyourroutersportforwardingfeature(akaVirtualHosts)visitportforward.com(http://portforward.com/english/routers/port_forwarding/routerindex.htm).Okaysothebasicideaisthatyoutypeinusername.noip.biz:*andwindupattheserviceallocatedfor*.Soweneedtosetthisupforfourinstances:ownCloud,Transmission,Webminandshellinabox.Theportsontheserver(forwardtoprivateport)areasfollowsWebminPort12321OwncloudPort80(alsorequires/cloudorwhateversubdirectoryyouchosenearlieri.e.username.noip.biz:80/owncloud)TransmissionPort9091ShellPort12320Theincomingportscanbedifferenttotheoutgoingports,soyoucouldhaveuserame.noip.biz:1leadingtowebmin,userame.noip.biz:2leadingtoownCloudandsoon.Thismakesitmoreconvenienttoremember.Thismeansyourportforwardingtableshouldbefilledoutliketheillustrationbelow.(http://cdn.instructables.com/FX1/7A38/HKJRZI9E/FX17A38HKJRZI9E.LARGE.jpg)Step29:Final:BackupNowwe'vealmostfinished.Thefinalprocedureistounplugthepower,removetheSDandcreateabackupimageoftheOSinit'scurrentstate.Thiswayifsomethinggoeswrongyouhaveabasicfreshcustomsetuptoreturnto.SimplyplacetheSDcardintoareaderandopenupwin32diskimager.Inthetextfieldtypethelocationofthedesktopfollowedby\backup.iso(somethinglikethisC:\Users\Dillon\Desktop\backup.iso).Thiswilltellthesoftwaretoreadthefileandsaveittothedesktop.Theninsteadofwrite,clickread.ThisanimatedGIFshowsawritetakingplace,buttheprocessisthesame.Thiswilltakearound510minutes.Afterit'sdone,puttheSDbackintothePiandrestatease.Ifyoueverneedtorefreshyoursystem(systemrestore)usethebackupyoucreatedtowritetheISOtothecard,asinstep5.Thismeansallwillnotbelost.Forextrasenseofpeace,afteranymajorsystemchanges,performanewbackupandsaveitwithadate.Thiswayyou'llhavedifferentrevisionsofbackupstochoosefrom.(http://cdn.instructables.com/F4A/KZB9/HJGE1N7S/F4AKZB9HJGE1N7S.LARGE.jpg)Wehaveabenicecommentpolicy.Pleasebepositiveandconstructive.Step30:CongratulationsFelicitacionesGlckwnscheOver6,000wordsandmorethan170illustrativediagramsandimageslater,wehavereachedtheend.Ifyoumadeitthisfar,welldone.Ihopeyoufounditanawesomejourney.Thelearningcurvemayhavebeensteep,butiencourageyoutoflyfromthenestandbegintoleanmoreabouttheLinuxworld.Ifyouhaveanyissuesorquestions,droponebelow.IhopeyouenjoyedreadingandlearningasmuchasIdidwriting.Thankyou.(http://cdn.instructables.com/F94/RIUG/HKJRZI9B/F94RIUGHKJRZI9B.LARGE.jpg)IMadeit! AddImages MakeComment(/member/SoakedinVancouver/)5hoursagoReply(/member/SoakedinVancouver/)2hoursagoReply(/member/PatrickDickey52761/)2hoursagoReply(/member/KevinS37/)4hoursagoReply(/member/AndyRReyna/)8monthsagoReply(/member/RomanR2/)8monthsagoReply(/member/KevinS37/)4hoursagoReply140of395Next(http://www.instructables.com/id/UltimatePiBasedHomeServer/?&sort=ACTIVE&limit=40&offset=40#DISCUSS)SoakedinVancouver(/member/SoakedinVancouver/)Afterreadingthecomments,I'llkeepmyweekendtobuildsomethingoutofhardware...)SoakedinVancouver(/member/SoakedinVancouver/) SoakedinVancouverAndthanksforremindingmewhereIputmy1Gdrive!(runningoffmyPiinacustomcasenowburiedunderothermicro's...lol!)PatrickDickey52761(/member/PatrickDickey52761/)Insteadofgoingthroughthetroubleofmountingitwithntfs3g,whydon'tyouformatthedrivetoext4?Afterall,SAMBAhandlesthesharingoffileswithyourWindowscomputers,sotheydon'trequireittobeaWindowscompatibleformat.UnlessyouwanttohavetheabilitytoplugthedrivesintoaWindowscomputeraswell.KevinS37(/member/KevinS37/)Igotthroughit.IbuiltfromscratchonRaspbian20150505w/updates,withaboottoexternalusbHDD(movedthe/foldertotheusbHDD)andwithafixedIPwifinetworkconnection.Connectionsviatightvnc,ssh(pgpkey)andwebminforgeneralmaintenance,andtheownCloudpageforit'smaintenance.Ihadtochangetheownerofthecloudfoldertowwwdataandpermissionsto770togetittowork.YMMV,butitcanbedone.AndyRReyna(/member/AndyRReyna/)I'mhavinganissueinstallingOwnCloud.Igetthefollowingerror:Cananyonehelp?Ihavefollewedtheinstructionstoa"T"(http://cdn.instructables.com/F4Q/9W7P/I327EFXL/F4Q9W7PI327EFXL.LARGE.jpg)RomanR2(/member/RomanR2/) AndyRReynaTryturun"sudochmod770*"and"chownyour_user:your_user*"onthatfolderfromshellloginwithuseronwhichyourunthatowncloudserver.(obviously"your_user"isyour'susernameonraspi,defaultpi)KevinS37(/member/KevinS37/) RomanR2IbuiltfromscratchonRaspbian,andIhadtochangetheownerofthecloudfoldertowwwdataandpermissionsto770togetittowork.YMMV(/member/AndyRReyna/)8monthsagoReply(/member/JasonK15/)1monthagoReply(/member/AndyRReyna/)8monthsagoReply(/member/duke503/)4monthsagoReply(/member/PhilippeA1/)3monthsagoReply(/member/duke503/)3monthsagoReply(/member/duke503/)3monthsagoReply(/member/KevinS37/)4hoursagoReplyAndyRReyna(/member/AndyRReyna/) RomanR2rootalreadyhasownership.Infact,IuninstalledOwncloudandrecreatedalldatabases.Imkdirnewfolderwiththechmodof0770butyetstillgettingsameerror.I'mPuzzledtosaytheleast.AnyThoughts???JasonK15(/member/JasonK15/) AndyRReynaYoucan'tsetlinuxstylepermissionsonanntfsdrive,sochmodwon'twork.I'dsayjustgowithext4,itsimplifiesthings.AndyRReyna(/member/AndyRReyna/) RomanR2Ihavedonethatandstillgettingsameresults.I'mleaningtowardstheNTFSdrive.PerhapsIshouldcovertittoFat32andseewhathappens.duke503(/member/duke503/) AndyRReynaDidconvertingtoFat32fixthisissue?IreallywouldliketostayNTFSifitispossible.PhilippeA1(/member/PhilippeA1/) duke503Iwouldsuggestmountingyourdrivemanuallyusingthentfs3gdriverandeditingthefstabfileratherthanthroughwebmin.Fat32isonlygoingtomakethingsworseasFAT32hasnosupportforlinuxstile(Unix/Posix)filebyfilepermissionswhereasNTFShasfullsupportbutnotthenicestimplementationinthelinuxntfsdrivers.giveyourselfsuperuserstatus(notthebesthabitbuthey!):sudosuinstallntfs3gifnotalreadygotit:aptgetinstallntfs3gyouneedyourdriveuniqueidentifierusing:blkideditfstabfile:nano/etc/fstabaddtobottomoffile:UUID=204UJ.......(YOURDRIVEUUID)/media/yourhddlocationntfs3gauto,users,permissions00sudomkdir/media/yourhddlocationmount/media/yourhddlocationSaveandexitfile(CTRL+O,ENTER,CTRL+X)reboot:rebootduke503(/member/duke503/) PhilippeA1Itriedanditstilldidnotwork.IfIamunderstandingrightallIneedtodotomountisaddthelinesin/etc/fstab.Thisdidnotworkforme.IstheresomethingelseIneedtodotomountthedrive?duke503(/member/duke503/) PhilippeA1Thanks!Iwilltrythisnextweekend.KevinS37(/member/KevinS37/) AndyRReynaIbuiltfromscratchonRaspbian,andIhadtochangetheownerofthecloudfoldertowwwdataandpermissionsto770togetittowork.YMMV(/member/JustinO5/)4monthsagoReply(/member/Bunkeymutt/)5hoursagoReply(/member/sbkenn/)7hoursagoReply(/member/scottnotsohot/)8hoursagoReply(/member/mvan+kleef/)9hoursagoReply(/member/samgol/)yesterdayReply(/member/samgol/)yesterdayReply(/member/samgol/)12daysagoReply(/member/vr00m/)yesterdayReplyJustinO5(/member/JustinO5/) AndyRReynaIhadtheexactsameissue.Iendeduphavingtoformatasext4togetaroundit.Bunkeymutt(/member/Bunkeymutt/)Iknowthefunpartifmakingitbutifyoucan'thereisanoptionatAmazon.Youstillhavetofollowstepsheretosetitup.http://www.amazon.com/RaspberryPiBCM2836900MHzHeatsink/dp/B00W1B5RMW/ref=sr_1_5?s=pc&ie=UTF8&qid=1439141489&sr=15&keywords=Raspberry+Pi&refinements=p_89%3ARaspberry+Pisbkenn(/member/sbkenn/)Betterstill,IMO,istheOrangePi.IthasSATAandWiFionboard.scottnotsohot(/member/scottnotsohot/)Thankyou,itwasverywellwrittenandeasytofollow.mvankleef(/member/mvan+kleef/)great!!samgol(/member/samgol/)Thisstepdidn'tworkformeinitially,butonceIset"rpcwhitelistenabled"tofalseitworkedperfectly.samgol(/member/samgol/)Heyguys,Port:12320didn'tworkforme,butport:4200did.samgol(/member/samgol/)Hiall,SoIamgoingthroughthisinstructableonJuly27,2015onmyRPi2,usinga32GBAdatamicroSD.I'llpostmyworkaroundstoeachstepthatIhadtroubleon.RightoffthebatIhadtroubleonthisstep.EverytimeIwouldputintheSDwithghoulmann'simageitwouldjustbeablankscreen.Itwasthankstodirkh1'scommentthatIwasabletoresolvethis.dirkh1pointedmetothefollowinginstructables:http://www.instructables.com/id/RaspberryPITHEHOMESERVERTURNKEYLINUX/vr00m(/member/vr00m/) samgolI'mtryingthesamething,soI'llbecheckinginonthis."tklpatchapply/./core/"getsalotofthingsdone,butthenexitswith:+sedi'1i#UNCONFIGUREDINTERFACES'/etc/network/interfacessed:can'tread/etc/network/interfaces:Nosuchfileordirectory(/member/FabioH1/)1monthagoReply(/member/vr00m/)yesterdayReply(/member/gpender/)15daysagoReply(/member/ErwanD/)4daysagoReply(/member/JoelC9/)16daysagoReply(/member/EulerFF/)28daysagoReply(/member/TomC30/)28daysagoReplyImanuallyeditedthefiletoputtheintendedtext("#UNCONFIGUREDINTERFACES"),andtriedtorunthescriptsmanually.Butafterrunningthescripts,whenIrestart,I'mlockedoutofmyrpi2with"sshconnectionrefused".Idon'thaveamonitortoconnecttomyrpi2,soI'mdoingthispurelyoverssh.Ifanyonehassucceededtoanyextent,thenpleaseleaveacommentdetailingyourmethod.FabioH1(/member/FabioH1/)Ican'tgetittowork.IdownloadedTurnkey,prepareditamicroSDCard(eventwo,one32Gandone2GB).WhenIinsertitintomyRaspberryPi2itdoesnNOTHING.JusttheredlightontheRPi.AnyTips?vr00m(/member/vr00m/) FabioH1Youshouldtryhttp://www.instructables.com/id/RaspberryPITHEH...(http://www.instructables.com/id/RaspberryPITHEHOMESERVERTURNKEYLINUX/)Thisonedoesnotworkwithrpi2.Ihavetried.gpender(/member/gpender/) FabioH1Iwashavingthesameproblem.I'ddownloadthetaz.gzfilethenextractit,thenwriteitusingtheDiskImagerandnothingonlytheredLED.Inoticedthatthefirstextractionfilewas"raspliancecore02.img.tar"(stillatarfile).SooutfrustrationIdecidedtoextractthealreadyextractedfileandviola!apurely.imgfilethatworksswimminglywhenwrittentotheSDandbootedonthePi.Goodluck!ErwanD(/member/ErwanD/)Doesn'tworkforme.B+2014model.Idownloadedimgtwiceandeachtimeswheniinsertsdcardintopi,redledturnonandnothinghappend.Anyclue?JoelC9(/member/JoelC9/)Wouldthisworkwithpi2bmodel?EulerFF(/member/EulerFF/)WhenIfollowthisstep,INoticethattheversionofOwnclouddownloadedis4.0.4.WhenItrytoupdateit,itsaysitstherecentone,Whileonthehomepage(atthemoment)therecentoneisupto8.Doesany1havethesameproblem?Theoldversionseemstomesswiththesyncclientandthephoneclient...TomC30(/member/TomC30/)LookingforawaytobackuptheHDDtoFTPorwindowsasatar.gz(/member/eafindme/)1monthagoReply1monthagoReply(/member/EulerFF/)(/member/Halphinian/)1monthagoReply(/member/DhruvV/)1monthagoReply(/member/BillyF2/)1monthagoReply(/member/AndyT5/)2monthsagoReply(/member/BillyF2/)1monthagoReplyeafindme(/member/eafindme/)Canitsupportmediastreaming?LikewatchingvideothroughinternetorsomethinglikeYoutube,oronlyallowtoaccessthelocalfolder?GreatInstructable!Thanks!WithsometryanderrorandgoodcommentsIgotitdone!HoweverIhaveproblemgettingOwnCloudworkwithmyAndroidSmartPhone.ICanaccessOwncloudwithmybrowserfromanothercomputer&PhonebutIcan'taccessitwithmyOwncloudAppfromPlayStore(AndroidApp).TheAppjustshutsdownwhenILogintomyOwncloud.Sinceatestserverworkedwiththeapp,Iguessthereissomeproblemwithmyserveracceptingrequestfromanapp.AnyonewithsimilarIssue?(http://cdn.instructables.com/F1I/OVQI/IB8PXLFI/F1IOVQIIB8PXLFI.LARGE.jpg)Halphinian(/member/Halphinian/)CouldIrunMinecraftorTerrariaminiserversonthis?Ihavebeenwantingthebuildaserverforeitherorbothoftheseforawhilenow,andIhavebeenstrugglingbecauseofmylackofknowledgeinthissubject.AnyhelpwouldbeappreciatedonthisDhruvV(/member/DhruvV/)hellomyowncloudrefusestogointomy/media//cloudfolderandgivessomeerroraboutpermissionspleasehelpBillyF2(/member/BillyF2/)Foranyonegoingthroughthetutorialandexperiencesafailureintheinstallation,hereiswhatIneededtodotogetmineworking.http://www.cyberciti.biz/tips/howdoienableremoteaccesstomysqldatabaseserver.htmlAndyT5(/member/AndyT5/)HiIhaveinstalledeverythinganditworkedandrebootedandIknowmyIPaddress.ComingtothisstepthoughIcannotaccesswebminwiththeIPaddress.IstheresomethingIneedtoconfigureonthePIfirst?BillyF2(/member/BillyF2/) AndyT5AndyT5,ifyourstillhavinganissue,trythis.Onyourpi,runservicewebminstartthenyoumayreceivesomemessagelikeEulerFF(/member/EulerFF/)madeit!(/member/MaxB9/)2monthsagoReply(/member/MaxB9/)2monthsagoReplyWehaveabenicecommentpolicy.Pleasebepositiveandconstructive.IMadeit! AddImages MakeComment[ok]Startingwebmindone.Thisshouldgetwebminupandrunningandallowyoutohititthroughtheurl.Hopethathelps.MaxB9(/member/MaxB9/)Firstofallthankyouforyourgreattutorial!However,Idon'tgetwhyyouspecificallystatetoexcludesuperuserrightstotheownclouduserbutinthepictureoftheaddedusercredentialsyouclearlyseepermissions:all.Furthermore,inthenextstepwhereyoucreatethecloudfolderandchmodthatto750,whenIdothattheownerandgroupofthefolderisroot.AndthusIthinktheownclouduserhastohavesuperuserrights.AmIcorrect?orshouldmycloudfolderbeownedbyadifferentuser/group?MaxB9(/member/MaxB9/)140of395Next(http://www.instructables.com/id/UltimatePiBasedHomeServer/?&sort=ACTIVE&limit=40&offset=40#DISCUSS)FEATURED CHANNELSIntelIoT(/id/intel/) LifeHacks(/tag/typeid/categoryhome/channellifehacks/) Beauty(/tag/typeid/categoryhome/channelbeauty/) Woodworking(/tag/typeid/categoryworkshop/channelwoodworking/) Minecraft(/tag/typeid/categoryplay/channelminecraft/) Breakfast(/tag/typeid/categoryfood/channelbreakfast/) LaserCut(/tag/typeid/categoryworkshop/channellasercutting/) Organizing(/tag/typeid/categoryhome/channelorganizing/) Arduino(/tag/typeid/categorytechnology/channelarduino/)NewsletterJoin2million+toreceiveinstantinspirationinyourinbox.I'min! enteremailMobileDownloadourapps!Android(https://play.google.com/store/apps/details?id=com.adsk.instructables)iOS(https://itunes.apple.com/app/instructables/id586765571)Windows(http://apps.microsoft.com/windows/enus/app/7afc8194c771441a959054250d6a8300)AboutUsWhoWeAre(/about/)Advertise(/advertise/)Contact(/about/contact.jsp)Jobs(/community/PositionsavailableatInstructables/)Help(/id/howtowriteagreatinstructable/)ResourcesForTeachers(/teachers/)ArtistsinResidence(http://www.autodesk.com/artistinresidence/home)GiftProAccount(/account/give?sourcea=footer)Forums(/community/)Answers(/tag/typequestion/?sort=RECENT)Sitemap(/sitemap/)TermsofService(http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21959721) |PrivacyStatement(http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21292079) |LegalNotices&Trademarks(http://usa.autodesk.com/legalnoticestrademarks/) | MobileSite(http://m.instructables.com)(http://usa.autodesk.com/adsk/servlet/pc/index?id=20781545&siteID=123112)2015Autodesk,Inc.