{"id":205,"date":"2020-01-31T05:08:39","date_gmt":"2020-01-31T04:08:39","guid":{"rendered":"https:\/\/codedoneright.eu\/?page_id=205"},"modified":"2021-02-20T04:58:30","modified_gmt":"2021-02-20T03:58:30","slug":"tutorial","status":"publish","type":"page","link":"https:\/\/codedoneright.eu\/?page_id=205","title":{"rendered":"Introduction"},"content":{"rendered":"\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The goal of this project is to set up a minimalistic server running on a Raspberry Pi that will be fine-tuned to your needs and run headless \u2013 no peripherals are needed. If you decide that a simple SOC board is not enough anymore \u2013 you can migrate to a desktop and install Debian. Everything on this website, with some RaspberryPi specific exceptions, can be done on a regular PC! Provided you install a Debian-based operating system.<\/p>\n\n\n\n<p>I will walk you through every stage needed to accomplish that in a user-friendly way and try to explain everything as we go. There might, however, be parts that you will have to accept without a detailed explanation in the interest of being newbie friendly. You can research those topics on your own at a later time. A lot of system administration work is searching the internet and it is good to know how to do it. Sooner or later you will find a problem, specific only to your situation, that will require an extensive search with a solution on a very obscure website.<\/p>\n\n\n\n<p>With a proper internet connection and a domain you will be able to substitute most commonly used services like website hosting, email, cloud storage, address books and many more. They might not be as sophisticated as commercial counterparts, but they will be entirely yours.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Purpose of this website<\/h3>\n\n\n\n<ul><li>To document everything I have learned<\/li><li>To help you set up a similar server for your own needs<\/li><li>General educational purpose<\/li><\/ul>\n\n\n\n<p>There are many guides on the internet, but most are not newbie friendly, complete and coherent, or they assume some level of knowledge. Other than that, it is just for my own benefit. If you happen to make use of it, great! <\/p>\n\n\n\n<p>Website is divided into sections so that you can pick and choose what you need on your server.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Initial server setup<\/h3>\n\n\n\n<p>Your server will be ready after completing the following steps. It will not host any services just yet, but it will be a great foundation to build upon.<\/p>\n\n\n\n<ul><li>Part 1 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=263\">Required hardware<\/a><\/li><li>Part 2 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=309\">DNS configuration<\/a><\/li><li>Part 3 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=78\">Installing a minimalistic server<\/a><\/li><li>Part 4 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=187\">Basic security<\/a><\/li><li>Part 5 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=375\">Port forwarding<\/a><\/li><li>Part 6 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=1218\" target=\"_blank\" rel=\"noreferrer noopener\">Booting RaspberryPi 4 from USB Drive<\/a> <\/li><\/ul>\n\n\n\n<p>For use only on local area network (LAN), it is enough that you install RaspberryOS alone.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">General purpose tutorials<\/h3>\n\n\n\n<p>This section has a few general Linux oriented tutorials to help you understand the operating system and provide some tips.<\/p>\n\n\n\n<ul><li>Part 1 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=74\">Basic commands<\/a><\/li><li>Part 2 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=1616\" target=\"_blank\" rel=\"noreferrer noopener\">APT \u2013 managing software<\/a><\/li><li>Part 3 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=176\">Useful tricks<\/a><\/li><li>Part 4 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=414\">Running script<\/a><\/li><li>Part 5 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=1389\" target=\"_blank\" rel=\"noreferrer noopener\">Cron, task automation<\/a><\/li><li>Part 6 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=670\">Partitioning and formatting drives<\/a><\/li><li>Part 7 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=620\">Mounting external storage<\/a><\/li><li>Part 8 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=1074\">Backup<\/a><\/li><li>Part 9 \u2013 <a aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener\" href=\"http:\/\/codedoneright.eu\/?page_id=1045\" target=\"_blank\">Shell alias, issue commands quicker<\/a><\/li><li>Part 10 \u2013 Dynamic MOTD for SSH (in the making, but in no rush)<\/li><\/ul>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Services<\/h3>\n\n\n\n<p>This section has a selection of services that you can set up on your server. A computer on its own does nothing, services make it useful.<\/p>\n\n\n\n<ul><li>Part 1 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=302\">FTP server<\/a> <\/li><li>Part 2 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=493\">Web Server \u2013 Apache2<\/a><\/li><li>Part 3 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=929\">PHP<\/a><\/li><li>Part 4 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=557\">MySQL<\/a><\/li><li>Part 5 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=573\">WordPress website<\/a><\/li><li>Part 6 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=583\">SSL certificate with Certbot<\/a><\/li><li>Part 7 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=596\">Samba server (Network Attached Storage)<\/a><\/li><li>Part 8 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=665\">Nextcloud<\/a><\/li><li>Part 9 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=786\">Email server<\/a><\/li><li>Part 10 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=810\">Webmail, access your email from a browser<\/a><\/li><li>Part 11 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=989\">Mumble, voice chat application<\/a><\/li><li>Part 12 \u2013 <a href=\"http:\/\/codedoneright.eu\/?page_id=1095\">Torrentbox<\/a><\/li><li>Part 13 \u2013 <a href=\"https:\/\/codedoneright.eu\/?page_id=1480\" target=\"_blank\" rel=\"noreferrer noopener\">Radicale, callendar and address book service<\/a><\/li><\/ul>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Expanding the knowledge<\/h3>\n\n\n\n<h5 class=\"wp-block-heading\">The Debian Administrator&#8217;s Handbook<\/h5>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg\" alt=\"Tutorial on Debian\" width=\"226\" height=\"300\"\/><figcaption>Cover of The Debian Administrator&#8217;s Handbook<\/figcaption><\/figure><\/div>\n\n\n\n<p>Remember that <em>RaspberryOS<\/em> is a fork of <em>GNU\/Linux Debian<\/em>. If you are stuck, need help with a particular command or just want to expand your knowledge, a great place to start is <a href=\"https:\/\/debian-handbook.info\/\">The Debian Administrator&#8217;s Handbook<\/a> by Rapha\u00ebl Hertzog and Roland Mas. <\/p>\n\n\n\n<p>The link will take you to handbook&#8217;s website where you can read it online. There are translations to various languages \u2013 some more complete than others. You can also download it for free as a pdf file or buy a physical copy if you wish to support authors. It is a great read and will greatly expand your knowledge. I cannot recommend it enough.<\/p>\n\n\n\n<p>If I am talking about, for example, <em>packages <\/em>you can jump to the respective book chapter and learn more. Tutorials have practical knowledge, the book has theory. It does not have all the answers, you will still have to extensively search online for specific topics, but it will greatly expand on tutorials from this site.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">The Linux Command Line<\/h5>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"http:\/\/www.linuxcommand.org\/images\/lcl2_front_new.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>If you are still scared of the command line interface, known as the terminal, you simply have to read this book. It is free and contains   a lot of information about using CLI.<\/p>\n\n\n\n<p><a href=\"http:\/\/www.linuxcommand.org\/tlcl.php\" target=\"_blank\" rel=\"noreferrer noopener\">The Linux Command Line<\/a> \u2013 This is a free download released under Creative Commons license. If you want a print version, No Starch Press has you covered. Although the content is the same, if you find it useful support the author.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The goal of this project is to set up a minimalistic server running on a Raspberry Pi that will be fine-tuned to your needs and run headless \u2013 no peripherals are needed. If you decide that a simple SOC board&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":71,"menu_order":5,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introduction a friently tutorial &#8212; Code Done Right!<\/title>\n<meta name=\"description\" content=\"See for yourself how little you need in order to set up a Raspberry Pi powered server. Take a look at my tutorial series here!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codedoneright.eu\/?page_id=205\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Introduction a friently tutorial &#8212; Code Done Right!\" \/>\n<meta name=\"twitter:description\" content=\"See for yourself how little you need in order to set up a Raspberry Pi powered server. Take a look at my tutorial series here!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codedoneright.eu\/?page_id=205\",\"url\":\"https:\/\/codedoneright.eu\/?page_id=205\",\"name\":\"Introduction a friently tutorial &#8212; Code Done Right!\",\"isPartOf\":{\"@id\":\"https:\/\/codedoneright.eu\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/codedoneright.eu\/?page_id=205#primaryimage\"},\"image\":{\"@id\":\"https:\/\/codedoneright.eu\/?page_id=205#primaryimage\"},\"thumbnailUrl\":\"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg\",\"datePublished\":\"2020-01-31T04:08:39+00:00\",\"dateModified\":\"2021-02-20T03:58:30+00:00\",\"description\":\"See for yourself how little you need in order to set up a Raspberry Pi powered server. Take a look at my tutorial series here!\",\"breadcrumb\":{\"@id\":\"https:\/\/codedoneright.eu\/?page_id=205#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codedoneright.eu\/?page_id=205\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codedoneright.eu\/?page_id=205#primaryimage\",\"url\":\"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg\",\"contentUrl\":\"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codedoneright.eu\/?page_id=205#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codedoneright.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi server\",\"item\":\"https:\/\/codedoneright.eu\/?page_id=71\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codedoneright.eu\/#website\",\"url\":\"https:\/\/codedoneright.eu\/\",\"name\":\"Code Done Right!\",\"description\":\"Raspberry Pi server guides\",\"publisher\":{\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codedoneright.eu\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568\",\"name\":\"CodeDoneRight\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png\",\"contentUrl\":\"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png\",\"width\":120,\"height\":120,\"caption\":\"CodeDoneRight\"},\"logo\":{\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/codedoneright.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introduction a friently tutorial &#8212; Code Done Right!","description":"See for yourself how little you need in order to set up a Raspberry Pi powered server. Take a look at my tutorial series here!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codedoneright.eu\/?page_id=205","twitter_card":"summary_large_image","twitter_title":"Introduction a friently tutorial &#8212; Code Done Right!","twitter_description":"See for yourself how little you need in order to set up a Raspberry Pi powered server. Take a look at my tutorial series here!","twitter_image":"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/codedoneright.eu\/?page_id=205","url":"https:\/\/codedoneright.eu\/?page_id=205","name":"Introduction a friently tutorial &#8212; Code Done Right!","isPartOf":{"@id":"https:\/\/codedoneright.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codedoneright.eu\/?page_id=205#primaryimage"},"image":{"@id":"https:\/\/codedoneright.eu\/?page_id=205#primaryimage"},"thumbnailUrl":"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg","datePublished":"2020-01-31T04:08:39+00:00","dateModified":"2021-02-20T03:58:30+00:00","description":"See for yourself how little you need in order to set up a Raspberry Pi powered server. Take a look at my tutorial series here!","breadcrumb":{"@id":"https:\/\/codedoneright.eu\/?page_id=205#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codedoneright.eu\/?page_id=205"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codedoneright.eu\/?page_id=205#primaryimage","url":"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg","contentUrl":"https:\/\/debian-handbook.info\/wp-content\/uploads\/2011\/05\/front-cover-small-1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/codedoneright.eu\/?page_id=205#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codedoneright.eu\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi server","item":"https:\/\/codedoneright.eu\/?page_id=71"},{"@type":"ListItem","position":3,"name":"Introduction"}]},{"@type":"WebSite","@id":"https:\/\/codedoneright.eu\/#website","url":"https:\/\/codedoneright.eu\/","name":"Code Done Right!","description":"Raspberry Pi server guides","publisher":{"@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codedoneright.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568","name":"CodeDoneRight","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/","url":"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png","contentUrl":"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png","width":120,"height":120,"caption":"CodeDoneRight"},"logo":{"@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/codedoneright.eu"]}]}},"_links":{"self":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/205"}],"collection":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=205"}],"version-history":[{"count":71,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/205\/revisions"}],"predecessor-version":[{"id":1656,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/205\/revisions\/1656"}],"up":[{"embeddable":true,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/71"}],"wp:attachment":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}