Difference between revisions of "Raspberry Pi: NAS Server"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
(Created page with "== Summary == This Documentation is a step by step guidance to convert your Raspberry Pi into a NAS Server for your Home Network. == Requirements == * at least Raspberry...")
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Summary ==  
== Summary ==  


This Documentation is a step by step guidance to convert your Raspberry Pi into a NAS Server for your Home Network.  
This Documentation is a step by step guidance to convert your Raspberry Pi into a NAS Server for your Home Network.


== Requirements ==
== Requirements ==


* at least Raspberry Pi 3B+  
* at least Raspberry Pi 3B+
 
== Use Cases ==
 
The main use case is to storing data, but I personally use it for decentralized programming for the Languages Python, Node.js and PHP. It is quite handy to open NAS based directories with programming editors, like sublime and visual code.


== Description ==
== Description ==


=== Step 1: Updating the package repositories of your system  ===
=== Step 1: Updating the package repositories of your system  ===
  sudo apt update  
sudo apt update  
  sudo apt upgrade
sudo apt upgrade


=== Step 2: Install Symbian ===
=== Step 2: Install Symbian ===
  sudo apt install samba samba-common-bin
 
sudo apt install samba samba-common-bin
 
=== Step 3: Create the NAS folder  ===
 
'''Option 1: Use the MicroSD Storage'''
 
sudo mkdir /home/SharedDirectory
 
'''Option 2: Use an externally mounted USB Drive'''
 
Searching for Mountable USB drives:
sudo fdisk -l
 
Create a mount folder:
 
mkdir /media/usb-drive
 
Mount the USB Drive
mount /dev/<device name> /media/usb-drive/
 
=== Step 3: Configure Samba  ===
 
sudo nano /etc/samba/smb.conf
 
Add these lines and modify them as you need:
 
  [Drive Name]
  comment = comment
  writeable = Yes
  browseable = yes
  path = /home/SharedDirectory
  create mask = 0660
  directory mask = 0771
  public = yes
 
{| class="wikitable"
|-
| [Drive Name]
| The Displayed folder name
|-
| comment
| A comment to the drive
|-
| writeable
| 'yes' for read and write and 'no' for read only
|-
| browseable
| Specifies if the Drive is visible in your network
|-
| path
| The directory which gets used for the NAS server
|-
| create mask
| The Unix Permissions for new created files
|-
| directory mask
| The Unix Permissions for new created folders
|-
| public
| Allows everybody to access the NAS server. Use 'valid users' to restrict access
|-
|}
 
=== Optional step: Create a folder that gets cleared periodically ===
This folder is meant if you want to transfer data form one machine to another without using an flash drive.
 
sudo mkdir /home/SharedDirectory/TemporaryFilesDirectory
 
Make an corn job to periodically delete the Directory content.
 
crontab -e
 
m h dom mon dow command
0 *  *  *  *  rm /home/SharedDirectory/TemporaryFilesDirectory/*.*
 
This specific cronjob will be exicuted at the sart of every hour. You can choose your prefereds timeslots by editing the '0' and '*'


== Used Hardware ==
== Used Hardware ==

Latest revision as of 10:46, 24 May 2020

Summary

This Documentation is a step by step guidance to convert your Raspberry Pi into a NAS Server for your Home Network.

Requirements

  • at least Raspberry Pi 3B+

Use Cases

The main use case is to storing data, but I personally use it for decentralized programming for the Languages Python, Node.js and PHP. It is quite handy to open NAS based directories with programming editors, like sublime and visual code.

Description

Step 1: Updating the package repositories of your system

sudo apt update 
sudo apt upgrade

Step 2: Install Symbian

sudo apt install samba samba-common-bin

Step 3: Create the NAS folder

Option 1: Use the MicroSD Storage

sudo mkdir /home/SharedDirectory

Option 2: Use an externally mounted USB Drive

Searching for Mountable USB drives:

sudo fdisk -l
  

Create a mount folder:

mkdir /media/usb-drive

Mount the USB Drive

mount /dev/<device name> /media/usb-drive/

Step 3: Configure Samba

sudo nano /etc/samba/smb.conf
Add these lines and modify them as you need:
 [Drive Name]
 comment = comment
 writeable = Yes
 browseable = yes
 path = /home/SharedDirectory
 create mask = 0660 
 directory mask = 0771 
 public = yes
[Drive Name] The Displayed folder name
comment A comment to the drive
writeable 'yes' for read and write and 'no' for read only
browseable Specifies if the Drive is visible in your network
path The directory which gets used for the NAS server
create mask The Unix Permissions for new created files
directory mask The Unix Permissions for new created folders
public Allows everybody to access the NAS server. Use 'valid users' to restrict access

Optional step: Create a folder that gets cleared periodically

This folder is meant if you want to transfer data form one machine to another without using an flash drive.

sudo mkdir /home/SharedDirectory/TemporaryFilesDirectory

Make an corn job to periodically delete the Directory content.

crontab -e 
m h dom mon dow command
0 *  *   *   *  rm /home/SharedDirectory/TemporaryFilesDirectory/*.* 

This specific cronjob will be exicuted at the sart of every hour. You can choose your prefereds timeslots by editing the '0' and '*'

Used Hardware

Raspberry Pi 3B+

References