Blog
February 1, 2019

Setting up a Cloud-Based Personal Cloud at Home

Several years ago, I undertook a project to setup a Cloud Storage system on my home wireless LAN that could be shared by my Windows tower PC and my wireless Linux hosts. I have a 1TB external hard drive formatted NTFS connected via USB to my Windows tower PC and syncing with files/folders from the Windows tower to various folders located on the 1TB external storage device that I will call TeraStorage. This TeraStorage device is configured as I:drive on my Windows XP tower PC. The objective was to share the contents of TeraStorage with my Linux Mint 14 Cinnamon laptop and my Fedora 17 Linux laptop wirelessly across the WLAN.My current configuration on my home LAN is as follows: I have a Cisco WRT54G 802.11a/b wireless router, which services as the Broadband Gateway router and DHCP server. This version 8 router is the default gateway for my wired/wireless LAN with IP default gateway address at the Internet Gateway of 192.168.1.254. The security on the router is WPA2 Personal Security Technology using the Temporal Key Integrity Protocol (TKIP) to secure the network. In addition, I have blocked access to all devices on the LAN whose MAC addresses have not been identified and added to my MAC Filter list on the router. The Cisco WRT54G router is a four-port wired/wireless DSL router. I have a Dell Dimension E310 tower PC running Windows XP SP3 connected to one of these four ports. I also have one port that supports a connection to my Vonage VOIP telephone system, one wired port supporting an AT&T Micro Tower for enhanced cell phone service, and the final wired port connecting to an Acer Netbook, which I have converted to a Linux-based Standalone File & Printer Server/Samba Server/FTP Server/WINS Server for the network using ClearOS Linux, which is called the ClearFoundation Network (CFN) device. And, finally, I have an Apple Mac Book running MacOSX Lion, a Dell Inspiron B1300 laptop running Linux Mint Nadia (14 Cinnamon), a Dell Inspiron B1300 laptop running Fedora 17 Linux, and a host of other cellphone and Tivo devices connected wirelessly across my wireless LAN I have called HOMELANW.

To support the file/folder sharing to create the network Cloud Storage project that I undertook, I joined the Windows XP tower PC and the two Linux laptops to a workgroup called HOMELANW that mimics the name of the wireless LAN. I setup a domain on the CFN to be fileserver.domain.dan and the website to be homelanw.com.

The objective of this project was to be able to view files/folders on TeraStorage (connected USB to the Windows tower PC) from my wireless Linux laptops and simultaneously to be able to view those same files/folders from the Windows tower PC as well as the Linux files/folders from the Windows tower PC. This objective has been met and what follows is a brief description of how I accomplished the project.

The first step was to ensure that the 1TB TeraStorage drive was being shared across the LAN. This was accomplished by creating a share of the entire logical drive I: formatted as NTFS in Windows, calling it TeraStorage, and configuring the share to allow users on the LAN to Read/Write those files/folders. Next, I opened the firewall in Windows (via the Control Panel) to allow file & printer sharing on the LAN using the Network Setup Wizard. After ensuring things were setup on the Windows side, I then proceeded to the Linux side to configure those OSes for Windows Networking. Since I was running two different distributions of Linux, I had to handle each one of them as separate entities.

On the Fedora 17 Linux laptop, I installed samba using the Linux command of sudo yum install samba, then authenticating as SuperUser to install the Samba client. Once Samba was installed, the next step was to mount the file system on the Windows share (TeraStorage) on the Fedora Linux OS. To accomplish this required me to first create the directory on the Linux folder called /mnt where file systems are mounted, then mount that file system permanently so that it would survive a reboot and not require human intervention each time the system is restarted. To create the directory in /mnt, I issued the command: sudo mkdir /mnt/TeraStorage. Then, to mount the TeraStorage file system in that directory I had to know the IP address of the Windows share across the network as well as the username and password for accessing that share in Windows. I created a username and password via winadmin on the CFN and determined the IP address of the Windows share by issuing the command of cmd in the Run Command, then typing ipconfig /all at the DOS-prompt in the Windows Terminal. I discovered that IP address to be 192.168.1.111 being issued via DHCP from the Cisco router. So, returning to the Fedora 17 laptop, I went into the Linux Terminal and changed the directory from the home directory to the /etc directory and ran a listing of that directory using the command ls -alh. Then, I located the fstab (file system table) file, and backed up that configuration file (which mounts all file systems on boot up) by issuing the Linux command: cp fstab fstab_bkup. Backing up this file is essential in the event that I make a mistake and corrupt the file in such a way that Linux doesn’t understand the file and can’t load it I can then access the admin console on reboot and reload the original file to restore the system. Next, I edited the fstab using the editor nano by issuing the command: sudo nano /etc/fstab. After accessing fstab in SuperUser editing mode, I added the following line to the bottom of that file: //192.168.1.111/TeraStorage /mnt/TeraStorage cifs username=dancallo,password=[the password I setup for the share in winadmin] 0 0. Here, I configured the mount using the cifs or Common Internet File System rather than NTFS or New Technology File System in order to allow Linux to access and read the files/folders without any issues. And, finally, I saved the file to fstab, and rebooted the Linux system. This permanently mounted the Win Share folder in the Fedora Linux system. One final step was to create a symbolic link from the Win Share mounted in Linux at /mnt/Terastorage to the Fedora 17 Linux Desktop so that all I need to do is double-click on that share and the files/folders on the 1TB external USB hard drive will be accessed across the WLAN and presented in the File Manager window on the Fedora 17 laptop. This symbolic link was created using the command: ln -s /mnt/TeraStorage /home/dancallo/Desktop. A symbolic link in Linux is equivalent to a shortcut in Windows. Except, unlike in Windows, in Linux you can create both hard links and symbolic links.

The configuration on the Linux Mint 14 Cinnamon laptop was identical to that accomplished on the Fedora 17 Linux laptop with two exceptions. First, installing Samba in Linux Mint requires a command-line command of sudo apt-get install Samba instead of sudo yum install samba as was accomplshed in Fedora 17 Linux. And, secondly, Linux Mint 14 does not natively work with the Common Internet File System (cifs). As a result, when mounting the Win Share as was done in Fedora, the resultant TeraStorage folder in Linux Mint 14 was empty. To overcome this problem, I had to install a helper utility in Linux Mint that would allow that OS to understand and play nice with cifs. This utility is called cifs-utils. I installed it in Linux Mint using the Linux command: sudo apt-get install cifs-utils. After installation, I rebooted the Linux Mint system and all was well with the TeraStorage folder. Double-clicking on the symbolic link on the desktop opened the File Manager in Linux Mint and presented the over 27,000 files/folders taking up over 96GB of data storage on the Win Share across the LAN.