how to host your own cloud v20

17
http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/ technology workshop living food play outside How to Host Your Own Cloud v2.0 by jayredge on May 7, 2014 Table of Contents How to Host Your Own Cloud v2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Intro: How to Host Your Own Cloud v2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Step 1: Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Step 2: Installing Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Step 3: Configure Apache2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Step 4: Configure the Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Step 5: Secure the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Step 6: Map Public IP Address to a Domain Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Step 7: Transfer Media (Linux) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Step 8: What's Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Upload: marius-danila

Post on 16-Nov-2015

32 views

Category:

Documents


2 download

DESCRIPTION

How to Host Your Own Cloud v20

TRANSCRIPT

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    technology workshop living food play outside

    How to Host Your Own Cloud v2.0by jayredge on May 7, 2014

    Table of Contents

    How to Host Your Own Cloud v2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    Intro: How to Host Your Own Cloud v2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Step 1: Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Step 2: Installing Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    Step 3: Configure Apache2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    Step 4: Configure the Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    Step 5: Secure the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    Step 6: Map Public IP Address to a Domain Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Step 7: Transfer Media (Linux) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Step 8: What's Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    http://www.instructables.com/tag/type-id/category-technology/http://www.instructables.com/tag/type-id/category-workshop/http://www.instructables.com/tag/type-id/category-living/http://www.instructables.com/tag/type-id/category-food/http://www.instructables.com/tag/type-id/category-play/http://www.instructables.com/tag/type-id/category-outside/http://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=title

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Intro: How to Host Your Own Cloud v2.0This ultimate purpose of this tutorial is to explain how to host your own cloud server at home. This allows you to access your documents, pictures, videos, music, andother media from anywhere as long as you have an internet connection. This guide also serves as an update to my previous guide, which can be found here. My oldguide was written almost two years ago and was in dire need of updating. As I have learned more about Linux, I have discovered new tricks and more efficient methodsof hosting a cloud. The following list describes the major updates in this guide:

    Software: Ubuntu Server 14.04 64-bitEasier file transferring between server and clientFixed many permission issuesFixed some potential security issuesDeveloped automated scripts to backup data to the server from the clientUpdated configuration steps for Apache2For those who read my previous cloud guide, I included a software called Ampache, which allowed music to be streamed from the cloud. I will not be includingthis software configuration initially in this guide. Ampache is currently undergoing major changes and I do not want to write the configuration before the changesare complete.Other minor fixes

    Although there are many updates in this guide, the overall concept remains the same. By the end of this guide, you should be able to host a cloud from your home usingfree software and cheap hardware. Finally, I will attempt to explain everything with as much detail as possible.

    Let's get started with prerequisites.

    Step 1: Prerequisites1. Media you wish to upload to the cloud. The device the media is currently stored on will be called the client from now on.

    2. A server. The server does not need to be particularly powerful unless you intend to have a huge amount of traffic accessing it. I find that old Dell computers workextremely well as cloud servers. The main parts in the server you need to worry about are the hard drive and memory. The hard drive will store the data on the cloud. Thesize of the hard drive limits how much data can be stored on your cloud. A large amount of memory in your server is not essential, but can help when transferring largefiles. I would recommend at least 1gb of memory in a cloud server.

    3. Ubuntu Server 14.04 LTS. This is the software that will be used to run the cloud. This software is command line based, meaning there is no GUI. If that worries you,don't panic! Learning to use the command line is exciting. Assuming you follow the instructions in this guide, you should have no problems. I will not be explaining how todownload and burn Ubuntu to disc in this guide, but if you need help, check out Step 2 of my previous guide.

    4. A monitor. This is needed during the initial configuration of the server. Once the configuration is complete, you can take the monitor, keyboard, and mouse away.

    Also, be sure to place your server next somewhere near an Ethernet connection to the router. It is important to have an Ethernet connection as opposed to Wi-Fi becauseit is much faster and more reliable, which is helpful if you are streaming media such as movies.

    Next, we will install Ubuntu Server 14.04 LTS to the server.

    http://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/http://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/step2/Burn-Ubunutu-to-Disc/

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Step 2: Installing Ubuntu1. Begin by inserting the CD/USB with Ubuntu Server into the server. Be sure the server is set to boot from USB. If you do not know how to boot from CD/USB, pleasesee the guide here. Ubuntu Server will load and the installation process will begin.

    2. First, you will be presented with the language screen. Highlight your language and press Enter to continue.

    3. The Ubuntu Server boot screen will appear next. This screen has serveral options for installing and configuring Ubuntu Server. Highlight the Install Ubuntu Serveroption and press Enter to continue.

    4. Next, highlight the appropriate language in the list and press Enter to continue.

    5. On the next screen, highlight your location and press Enter to continue.

    6. The next screen will ask you whether or not you would like Ubuntu to detect your keyboard layout. You are more than welcome to do this, but I usually choose not to.For those using a standard American keyboard, you should not need to use this tool. Press Enter to continue.

    7. The next screen is a keyboard configuration prompt. Highlight the type of keyboard you are using and press Enter to continue.

    8. Once the keyboard layout is selected, Ubuntu may ask you for a more specific keyboard layout based on the previous selection. In my case, Ubuntu wanted to knowjust which form of English (US) keyboard I was using. Highlight the appropriate option and press Enter the continue.

    9. Next, Ubuntu will ask you to give your server a host-name. The host name refers to how the name the server will be known by on the network. In my cast, I gave myserver the host-name "ubuntu" for simplicity's sake. You can give your server whatever host-name you like, however, keep in mind all commands used in this guide willbe based on the host-name "ubuntu". Press Tab and then Enter to continue.

    10. The server will then ask you to enter your name in the field. You can put whatever name you would like in this field as it doesn't really have any significancewhatsoever. I chose to enter "server" in this field. Press Tab and then Enter to continue.

    11. Next, the installer will prompt you to enter a username for the server. The username is the log in credential used to access the server. In my example, I chose theusername "server". You can give your server whatever username you would like, however, keep in mind all commands used in this guide will be based on the username"server". Press Tab and then Enter to continue.

    12. The password prompt will appear next. Enter a password for the user you just created in the previous step. Press Tab and Enter to continue. The next prompt will askyou to re-enter your password. Once finished, press Tab and Enter to continue.

    13. The next prompt will ask you if you would like to encrypt your home directory. If your computer is stolen, the thief will not be able to access your files. Encryption addsan extra layer of security to your server, but can also slow down performance. I chose not to encrypt my home directory in this example. Press Enter to continue.

    14. Next comes the disk partitioning tool. The options you are presented with on your installation may be a bit different than mine since I am using a virtual machine in theexample. Assuming your hard drive contains no other operation systems or partitions, you should be good to highlight "Guided - use entire disk and set up LVM" orsomething similar to that. Press Enter to continue.

    15. The next prompt will ask you to select this hard drive you wish to partition. If you only have one hard drive installed in the server, it will be the only one displayed. Ifyou have multiple hard drives installed in the server, be sure to choose the correct disk. Highlight the appropriate option and press Enter to continue.

    16. The next screen will ask to confirm your partitioning selections. Review the selections you made and Press Tab and then Enter to continue.

    17. (Optional) If you are using a virtual machine to install Ubuntu Server like I am in this example. The next prompt will ask prompt you to enter the percentage of thevolume you selected to use for Ubuntu. Enter the appropriate amount and press Tab and Enter to continue.

    18. (Optional) If you are using a virtual machine, the next prompt will ask you to confirm your choices before formatting the drive. Review your selections and press Taband Enter to continue.

    19. If you plan to use a proxy with your Ubuntu Server, enter it on the following prompt and press Tab and Enter to continue. If not, just press Enter to continue.

    20. Ubuntu will then prompt you to choose how you would like automatic updates to be installed. Choose whichever option you would like. I would strongly recommendyou choose to install security updates automatically. Highlight to appropriate option and press Enter to continue.

    21. Next, a software selection prompt will appear. This prompt lists many software packages commonly used in conjunction with Ubuntu Server. In our case, we need toinstall OpenSSH and LAMP Server. Press space on each of those two packages, then press Tab and Enter to continue.

    22. Ubuntu will then install all the package you chose along with other necessary packages. During this process, the installer will prompt you to enter a password forMySQL. Enter a password and press Tab and Enter to continue. Another prompt will ask you to re-enter your password. Once finished, press Tab and Enter to continue.Please note, you do not have to enter a password for MySQL, however, I strongly recommend you chose to use a password.

    23. Next, Ubuntu will ask you if it can install GRUB to the master boot record. GRUB is the tool Ubuntu uses to load its operating system. It can also be used as arecovery tool. If you have no other operating systems loaded on the server, highlight Yes and press Enter to continue. If there are other OS'es on the server, decidewhich bootloader you would like to used and make the appropriate selection on this screen.

    24. Finally, Ubuntu will finish the installation process and prompt you to reboot the server. Press Enter to continue.

    At this point Ubuntu Server 14.04 LTS should be successfully installed. Next, additional packages will be installed to add extra functionality to the server.

    http://pcsupport.about.com/od/tipstricks/ht/bootcddvd.htm

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Step 3: Configure Apache2Now, Apache2 needs to be configured. This configuration allows the automated scripts to run without running into permissions issues. To begin, turn on your Ubuntuserver. Once the server is booted, the terminal will prompt you for a username. Enter the username you created earlier. In my example, I would enter server. Next, enterthe password you created for the user. Please note, nothing shows up on the screen when a password is entered. Once successfully logged in, type:

    sudo apt-get install apache2-utils

    This package will install various utilities available for use with Apache 2. Once that is complete, the default ports apache uses for the web-server need to be changed. Bydefault, Apache 2 listens for web traffic on port 80. Because many ISP's block incoming traffic on port 80, the default port needs to be changed. If the port is not changedfrom port 80, the web-server will not be accessible from an outside network, which defeats the purpose of a cloud. To change the default port number type:cd /etc/apache2

    then:

    sudo nano ports.conf

    This command will open the file named ports.conf. The line that says Listen 80 needs to be changed to Listen 8080. This changes the port apache2 listens on from port80 to 8080. Most ISP's do not block incoming traffic on this port. Once finished, press Ctrl+O and then Crtl+X to save the file and exit nano.

    There is another file that needs to be edited to confirm the change from port 80 to 8080. Type:

    cd sites-enabled

    then

    sudo nano 000-default.conf

    Change the line that says VirtualHost 80 to VirtualHost 8080. Once finished, press Ctrl+O to save and then Ctrl+X to exit.

    Next, to ensure there are no permissions issue when automatically copying files from a client to the server, the default directory Apache2 operates on needs to bechanged. To change the default directory, the userdir module needs to be installed and activated. To do this, type:

    sudo a2enmod userdir

    Once the installation finishes, type:

    sudo service apache2 restart

    This will restart the apache2 service and update the default path apache2 uses.

    Next, type cd to change the directory to the home directory. Then type:

    mkdir public_html

    This will create the folder apache2 uses. Next, restart apache2 one more time to ensure the changes are made.

    Type:

    sudo service apache2 restart

    Finally, create the folders to store the media that will eventually be placed on the cloud. To do this, type:

    mkdir public_html/documents

    mkdir public_html/pictures

    mkdir public_html/movies

    mkdir public_html/music

    This will create directories for documents, pictures, movies, and music.

    Apache2 is now configured, but before the web-server can be tested, the router needs to be configured for port forwarding.

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Step 4: Configure the RouterIn order to access your cloud from an outside network, port 8080 must be forwarded to the IP address of your server. If port forwarding is skipped, the router will continueto block incoming traffic on port 8080.

    To port-forward, the following information is needed:The router's default gatewayThe server's local ip address.

    To find the default gateway of the network, type the command route. The default gateway of the router will be displayed in the Gateway field. The gateway will be used toaccess the router configuration utility.

    To find the local ip address of the server, type the command ifconfig. Assuming your server is connected the router via a wired connection, the ip address of the serverwill be listed under the eth0 connection. Look for the field that says inet addr. The number that follows that address is local ip address of the server. It should looksomething like 192.168.xxx.xxx, where the x's can be any number between 0 and 255. Write this number down.

    Open a web browser and type the default gateway address in the address bar. The router configuration utility of your specific brand of router should open. Most likely, therouter will ask for a username and password before any changes can be made to the configuration. A quick Google search can usually yield the default username andpassword of your router.

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Once logged in, look for a port forwarding tab on the webpage. My router's port forwarding page was listed under Applications & Gaming and then Single PortForwarding.

    In my example, the router requires me to enter the external and internal port number, and the IP address to forward traffic from that port to. In the external and internalport number columns I entered 8080. In the To IP address column I entered 192.168.2.186, which was the local IP of my server. Your configuration should be extremelysimilar to this.

    Once finished, click save to save the settings. This should be the only thing that needs to be configured on most routers. If you have a external firewall connected to yournetwork, you may need to allow traffic through on port 8080.

    Now that the router is port forwarding traffic to the server, it's time for a test. To access your server from an outside network, I recommend using your phone's 4G service.To test the server, one last ip address is necessary. On a client connected to the local network, type "what is my ip address" into Google. Google will then display yourpublic ip address. On your 4G connected phone, type the following into the address bar of a web browser:

    PublicIPAddres:8080

    Where the PublicIPAddress is your public ip address. The 8080 part tells the web browser to access the webpage on port 8080 instead of the default port 80.

    If apache2 is configured correctly an apache2 welcome page should be displayed. If this is the case, you are ready to move on to the next step. If you do not see anapache2 page, be sure you are using the correct IP address and have followed the steps above correctly. If you are still having issues, please leave a comment below.

    To access the documents directory created earlier, you can type:

    PublicIPAddress:8080/~Username/documents

    Replace Username with the username of your server. In my example, I would enter server. The remaining part of the address is the folder you want to access. Forexample, if I wanted to access a folder who's directory was ~/public_html/movies/UP!/, I would type:

    PublicIPAddress:8080/~server/movies/UP!/

    Although apache2 is configured, it is not very secure. Currently, anyone could access all the files on the webserver. To prevent this from happening, a username andpassword authentication system will be implemented in the next step.

    Step 5: Secure the ServerTo prevent the entire world from accessing the media on your cloud, password authentication needs to be implemented. To begin, change directories to public_html bytyping:

    cd ~/public_html

    Then

    sudo nano .htaccess

    Do not forget the '.' before the htaccess. The dot hides the file from users. This file will tell the webserver that a username and password are required to access the cloud.Nano will open a blank file called .htaccess when the above command is entered. In the window type:

    AuthType BasicAuthName "Password Required"AuthUserFile /home/Username/.htpasswdrequire valid-user

    Be sure to replace the username with username of your server. In my example, the username is server.

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Once finished, press Ctrl+O to save and Ctrl+X to exit. The next file that needs to be created is .htpasswd. This file will contain a list of the approved log in credentials forthe cloud.

    First, type cd to change the directory to the home directory.

    Next, type:

    htpasswd -c /home/Username/.htpasswd User

    Be sure to replace the username with the username of your server, just like above. Also replace the word User with any name you would like. The named specified in theUser field is used as the username for the cloud. In my example, I use the name admin. Once entered, the server will create the .htpasswd file, and prompt you for apassword for the specified user. Enter and confirm your password to continue.

    All folders inside the public_html directory are now secured by password authentication.

    To add another user to the credential list, DO NOT enter the same command as above, instead type:

    htpasswd /home/Username/.htpasswd User

    If you type the same command as above, the .htpasswd file you create initially will be overwritten.

    To test the password authentication on the web-server. Open a web browser and enter:

    PublicIPAddress:8080/~Username/

    A box should appear prompting you to enter a username and password in order to access the content on the page. Enter the username and password created earlier,and the content on the page should become available. Please note, all directories inside of the public_html folder do not need a .htaccess file. Because the parentdirectory has the .htaccess file, all directories beneath it will require authentication for access.

    Now that the cloud is secured, you can now safely start adding media to the server.

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    Step 6: Map Public IP Address to a Domain NameThis step is entirely optional. The purpose of this step is to create a free domain name which maps your public IP address to a domain name. The reason behind this issimple. IP Addresses are difficult to remember, and occasionally, an ISP will change your public IP address. This step will make your public IP Address static, and map itto a domain name. Like I said before, this step is completely optional.

    To begin creating a domain name, open this website, and create an account. The account is needed to create a domain name. Once the account is created, log into thewebsite and click the button that says Subdomains on the left side of the page. Next, click the [Add] button. The page that opens is where the domain name will becreated.

    Leave the Type of Subdomain as A.In the Subdomain box, enter the name you want to call your website. For example, I will call my website apples.In the Domain box, choose the domain you want your website to reside under. The option you choose here does not really matter as long as you choose a public domain.In my example, I chose mooo.comIn the Destiantion box, enter your public IP address. To find this address, type "what is my ip address" into Google.

    Finally, click Save. The domain should now be mapped to your public ip address. Whenever you wish to access your website, you can now access it using the subdomainand domain names you selected. For example, to access your movies you would type:

    www.SubDomainName.Domain.com:8080/~Username/movies/

    Where the subdomainname, domain are the names you chose above. If I chose apples as my subdomain name, and mooo.com as my domain, I would enter thosenames in their respective areas.

    Once this step is complete, it is time to transfer media from your client to the server.

    Step 7: Transfer Media (Linux)In this step, the media residing on the client machine will be transferred to the newly created cloud. They are many different ways to transfer media to the cloud: copy andpaste, drag n' drop, or FTP. While each of the options are great and work well, they aren't automated. Each time any media is updated on the client machine, it must bemanually transferred to the server. To solve this issue, an automated script is needed. I have attached the script I use to this step. My client machine runs Linux, so this isa Linux script. If you are running Windows are your client machine, you can use a software such as FileZilla to manually transfer your files to the server.

    To begin, download the script and place it in the /home folder on the client machine. Open the script and edit it to meet the needs of your client machine. In the scriptthere are four rsync commands. Each one corresponds to a media folder: one for documents, photos, media, and music. Below is a description of each element in thescript:

    rsync -u -r -v -e ssh --progress --delete --chmod=D775 /path/to/your/media/documents/* YOUR_SERVER_NAME@YOUR_DOMAIN NAME:~/public_html/documents/ --exclude=.htaccess --exclude=.htaccess~

    rsync - rsync is the service used to transfer the media to the server.

    -u - This option skips copying files if they are newer on the server. If for some reason there was a newer file on the server than on the client machine, it would not beoverwritten on the server.

    -r - This option copies all files recursively.

    -v - This option basically tells rsync to let you know what it is doing as opposed to outputting no data to the terminal. Verbosity can be increased by adding additionaldashes in front of the v.

    -e - This command followed by ssh tells rsync to copy the files over SSH. This option ensures security if files are being copied over the internet. In order to use this optionsuccessfully, SSH must be configured on the server. You must also be able to SSH to the server without using a password. A quick Google search should lead you to atutorial on how to accomplish both those tasks. If you are only copying files over a local network, this command really is not necessary.

    --progress - This option shows the progress rsync is making during the copying process.

    --delete - This option will delete files on the server if they are no longer on the client machine. This means that if you accidentally delete a file on the client machine, runthe script, and want to retrieve that file off the server because you didn't mean to delete it in the first place, it won't be there.

    --chmod=D775 - This option gives each file the proper permissions for cloud hosting. If this option is taken out, folders within the cloud directories will not show up on thewebsite.

    /path/to/your/media/documents/* - This is the path to your documents folder. The /* at the end of the command ensures all files within the documents folder aretransferred. Change the script to match the path to each of your media directories.

    YOUR_SERVER_NAME@YOUR_DOMAIN NAME:~/public_html/documents/ - This command is the path to the server directory the files will be copied to. ReplaceYOUR_SERVER_NAME with the name of your server. In the case of this guide, it would be server. Replace YOUR_DOMAIN_NAME with the domain name you createdin the previous step. Finally, replace /documents/ with the appropriate media folder you are copying to.

    --exclude=.htaccess --exclude=.htaccess~ - Because the --delete option is in place, these files could potentially be deleted off the server because they are not on theclient machine. However, since these files protect the server, they should not be deleted. This command keeps them from being deleted.

    To run the script, type:./rsync_backup

    If there you get a permission denied error type:chmod 755 rsync_backup

    At this point, the script should run and all media will be transferred to the server. To automate the script, try creating a cron job. Another quick Google search should yielda simple tutorial on how to accomplish that.

    File Downloads

    http://freedns.afraid.org/signup/http://www.instructables.com/files/orig/FZF/OWR0/HZGTFD8L/FZFOWR0HZGTFD8L.null?utm_source=pdf&utm_campaign=files

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    rsync_backup (680 bytes)[NOTE: When saving, if you see .tmp as the file ext, rename it to 'rsync_backup']

    Step 8: What's Next?Now that your cloud server is up and running, there are many different projects, software, and scripts to implement on your server. You can try creating a VPN server withmy guide here. You can also set up streaming from your server to any machine using XBMC. That procedure is descried in previous cloud guide here. Also, you can tryyour hand at web developing, and create your own website. Should you wish to stream your music from the cloud, there is an excellent opensource music streamingsoftware called Ampache.

    The possibilities are incredibly numerous. If you have an idea of something you wish to put on your server, chances are, there is a tutorial for it somewhere on theInternet, and if there isn't, try venturing into uncharted territory. Please feel free to leave any questions or comments below as I try to answer all of them as best I can.

    Related Instructables

    How to Accessyour Media fromAnywhere byHosting yourOwn Cloud! byjayredge

    Odroid U3LAMP Serverwith SeafileCloud bytlankford

    Setting up aLamp Server onUbuntu byjoshwoldstad

    An Experiment?A Money Saver?or Just aDatabase? bybpassini

    Apache SSLWebDav Serverby koff1979

    Harddisklessweb server. byComputothought

    Advertisements

    Comments

    45 comments Add Comment

    DIMPYRATLANI says: Mar 14, 2015. 6:46 AM REPLYhello..i need your help when i m installing apache 2 i am facing some problems that i have shown in the attached image..kindly please help me to solve thisproblem..

    RogerBarcelo says: Feb 20, 2015. 8:18 AM REPLYHi jayredge,

    First of all thank you for the great tutorial. However, I can't get it running properly... I hope you can help me.

    I've followed your instructions step by step, but whenever I go to PublicIPAddress:8080/~MyUser I keep getting "Forbidden; You don't have permission toaccess /~MyUser on this server."

    How can I solve that?

    Thanks in advance

    usman-privatecloud says: Feb 8, 2015. 4:43 AM REPLYDear,

    Firstly, we have made an awesome guideline in configuring cloud server.

    Would you please share your email ID/Skype ID so that i can communicate with you if I face any issues. Because, I am going to configure this cloud server inmy office environment which I need your help to configured it.

    Please share I shall be very thankful to you

    http://www.instructables.com/files/orig/FZF/OWR0/HZGTFD8L/FZFOWR0HZGTFD8L.null?utm_source=pdf&utm_campaign=fileshttp://www.instructables.com/files/orig/FZF/OWR0/HZGTFD8L/FZFOWR0HZGTFD8L.null?utm_source=pdf&utm_campaign=fileshttp://www.instructables.com/files/orig/FZF/OWR0/HZGTFD8L/FZFOWR0HZGTFD8L.null?utm_source=pdf&utm_campaign=fileshttp://www.instructables.com/id/Host-Your-Own-Virtual-Private-Network-VPN-with-O/http://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/step12/How-to-Stream/http://ampache.org/http://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/How-Access-your-Media-from-Anywhere-by-Hosting-you/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Odroid-U3-LAMP-Server-with-Seafile-Cloud/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Odroid-U3-LAMP-Server-with-Seafile-Cloud/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Odroid-U3-LAMP-Server-with-Seafile-Cloud/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Odroid-U3-LAMP-Server-with-Seafile-Cloud/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Odroid-U3-LAMP-Server-with-Seafile-Cloud/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/member/tlankford/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Setting-up-a-Lamp-Server-on-Ubuntu/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Setting-up-a-Lamp-Server-on-Ubuntu/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Setting-up-a-Lamp-Server-on-Ubuntu/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Setting-up-a-Lamp-Server-on-Ubuntu/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/member/joshwoldstad/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/An-Experiment-A-Money-Saver-or-Just-a-Database/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/An-Experiment-A-Money-Saver-or-Just-a-Database/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/An-Experiment-A-Money-Saver-or-Just-a-Database/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/An-Experiment-A-Money-Saver-or-Just-a-Database/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/An-Experiment-A-Money-Saver-or-Just-a-Database/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/member/bpassini/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Apache-SSL-WebDav-Server/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Apache-SSL-WebDav-Server/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Apache-SSL-WebDav-Server/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/member/koff1979/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Harddiskless-web-server/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Harddiskless-web-server/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/Harddiskless-web-server/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/member/Computothought/?utm_source=pdf&utm_campaign=relatedhttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#commentshttp://www.instructables.com/member/DIMPYRATLANI/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/DIMPYRATLANI/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://cdn.instructables.com/F2J/TT45/I78VIZJE/F2JTT45I78VIZJE.LARGE.jpghttp://www.instructables.com/member/RogerBarcelo/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/RogerBarcelo/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/usman-privatecloud/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/usman-privatecloud/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSS

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    csens2 says: Feb 2, 2015. 7:34 PM REPLYHi no matter what i do it keeps timing out when i try to go to ipaddress:8080 i have opened port on router and modem and still nothing

    daweda says: Dec 23, 2014. 2:03 PM REPLYHi! Can you tell me why I cant download the file rsync_backup? :))

    FrankH2 says: Dec 21, 2014. 2:27 PM REPLYHi. Not quite sure how this works, when using userdir. I've installed OwnCloud on a virtual machine, and added a second disk (located on anotherdiskstorage, than the Ubuntu server), that I want to use for the OwnCloud storage part. I mounted the second disk at /var/www and created folder html andcopied index.html file to new folder. How does it work when users are created. How do I ensure, that all the storage goes to the second disk, instead of theUbuntu disk? Should I mount it to public_html instead (not sure that will work). I'm okay with the users being located on the local Ubuntu disk. Just want allthe user data to be stored on the second disk.

    Br

    Frank

    Kriskras99 says: Nov 16, 2014. 8:31 AM REPLYYou could also use owncloud (owncloud.org)

    ThomasS2 says: Oct 5, 2014. 8:31 PM REPLYCan I just plug my external drives to the server and instead of having the client pc and the server pc.

    jetbreaker says: Aug 18, 2014. 3:42 PM REPLYAny chance anyone knows how to setup FileZilla with our servesr?

    dreaddead76 says: Aug 19, 2014. 4:46 AM REPLYI wanted to do this also and had some trouble at first, be sure to open up port 22 on your router. that is the port filezilla using to SSH into your server.After doing that simply enter your ip address into the quick connect bar under host, enter your user name and password, use port # 22. that should getyou connected.

    jetbreaker says: Aug 19, 2014. 8:59 AM REPLYI could port forward using port 22, but I can't open that on my modem because my ISP won't allow it.

    My username and password... Would that be the one we made during jayredge's guide to sign into our servers or is there some other user name andpassword?

    dreaddead76 says: Aug 19, 2014. 10:10 AM REPLYnavigate to /etc/ssh/ and then sudo nano ssh_config scroll down until you see the port number. delete the # symbol at the front and change theport to your choosing. don't forget to ctrl o to save, ctrl x to exit. you also might want to make a back file before you change things. then restart.

    jetbreaker says: Aug 19, 2014. 12:17 PM REPLYThank you very much dreaddead76, I will try it as soon as I get a chance and reply back with my results!

    dreaddead76 says: Aug 19, 2014. 4:32 PM REPLYThe user name and password will be what you used in place of (server user) in the guide

    jetbreaker says: Aug 21, 2014. 4:43 PM REPLYHey dreaddead76, I port-forwarded the using port 25, and then I followed your instructions of going into ssh_config. I restarted theserver and tried quick connect with my server and the server admin password we set following jayredge's guide.

    I tried the quick connect and I get "Could not connect to server" then I tried setting up through the Site Manager, and nothing still. Anyfurther advise?

    Please and thank you!

    http://www.instructables.com/member/csens2/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/csens2/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/daweda/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/daweda/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/FrankH2/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/FrankH2/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/Kriskras99+/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/Kriskras99+/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/ThomasS2/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/ThomasS2/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSS

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    dreaddead76 says: Aug 22, 2014. 3:12 PM REPLYMake sure ubuntu's firewall is not blocking your port with:

    sudo ufw allow 25

    jetbreaker says: Aug 23, 2014. 8:14 AM REPLYTried sudo ufw allow 25

    Also I tried following this guide as well: https://help.ubuntu.com/12.04/serverguide/ftp-serv...

    "ECONNREFUSED - Connection refused by server" still pops up. Any chance you have screenshots or something I canvisually follow? Maybe I'm setting it up incorrectly

    dreaddead76 says: Aug 23, 2014. 12:39 PM REPLYWe're getting closer, Sounds like you still have port issues check this config file and make sure its set to your port: sudonano /etc/ssh/sshd.config be sure you put the d in after ssh this should fix your problem. This will change the listen port forssh.

    jetbreaker says: Aug 23, 2014. 3:29 PM REPLYOkay, so I was finally able to log in using one of the accounts I made via this tutorial:https://gist.github.com/joshellington/2224420

    However, I'm not exactly sure how to have the 4 user accounts I made for me and my friends share a few folders.Trying to Step 7 (Symbolic Link) but not really sure I'm doing this part correctly

    dreaddead76 says: Aug 24, 2014. 5:52 AM REPLYmake sure the permissions are set the same for all users on the folder you want to share.

    jetbreaker says: Aug 23, 2014. 8:53 AM REPLYI tried a different approach. In the Site Manager I'm using my cloud IP address with my 80 port. Tried User and Password andI'm stuck in "Connection established, waiting for welcome message" Then the connection times out

    dreaddead76 says: Aug 15, 2014. 9:33 AM REPLYI'm unable to download the rsync_backup file. Is there a problem with the link or can I get it somewhere else? It keeps saying "request forbidden byadministrator rules. I have a pro account not sure what the problem is. I'm stuck at this point, can you help?

    jayredge says: Aug 17, 2014. 1:09 PM REPLYI just e-mailed instructables support because I have no idea why that error is occurring.

    dreaddead76 says: Aug 19, 2014. 4:53 AM REPLYThanks for the reply, and the great guide it is much appreciated. Can you give me the commands to add apache users to groups, and also maybehow to change the apache user passwords? I would like some folders visible to some groups and not to others.

    dreaddead76 says: Aug 19, 2014. 4:33 PM REPLYNevermind I figured it out, thanks.

    jetbreaker says: Aug 18, 2014. 3:27 PM REPLYI was rather shocked too, but who understands these people?

    One final for this buddy. How do I setup filezilla to my site?

    jtlindsey says: Aug 17, 2014. 8:03 AM REPLYI got the apache2 server up and running on laptops but not android phones. On two different laptops everything tested working ok when trying to play musicfrom the server. But when I try to play music from a android phone (tried on android galaxy s2 and another android phone) it would pop up a error messagesaying phone doesn't support that kind of file. But the file is mp3 so I know it supports it.

    The first time i used the old guide (fumbled through) and got it working and it worked on android phones too. Then I broke it trying to troubleshoot a problemgetting ampache working. Once i got the apache2 server back up, I started having the problem with android phones.

    So my question is, which step controls or is tied to file recognition that may affect the above issue? Why would it affect android phones and not a laptop?

    Also when I set things up and it uses default port 80 the test.php works fine. After making the changes to get everything working on port 8080, the site worksand I can login and play music from another pc off network, but when i go to localhost:8080/test.php i get

    The requested URL /test.php was not found on this server.

    http://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttps://help.ubuntu.com/12.04/serverguide/ftp-server.htmlhttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttps://gist.github.com/joshellington/2224420http://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/dreaddead76/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jtlindsey/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jtlindsey/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSS

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    I'm not sure how to solve this. When everything was setup as default using port 80, localhost/test.php displayed results showing configuration as expected.But now that im using 8080, I'm not sure how to verify test.php (which is in www).

    jayredge says: Aug 17, 2014. 1:17 PM REPLYAs far as the test.php goes, I believe there is a port setting in the php5 files that needs to be changed from 80 to 8080. As far as the .mp3 thing isconcerned I honestly have no idea why your phone would not support that format. Did you try setting up ampache on Ubuntu 14.04?

    jtlindsey says: Aug 17, 2014. 3:03 PM REPLYHello thanks for your reply

    Yes I'm trying to set it up on Ubuntu 14.04. The phone thing is crazy. Tried on two android phones and no luck. Just keeps saying the file format isunsupported. I tried to download and got a message that the download keeps failing.

    Do you know the file name and folder inside php5 that will work for changing php5 setting?

    jayredge says: Aug 18, 2014. 2:58 PM REPLYI believe the php configuration file is located in /etc/php5/apache2/php.ini

    jetbreaker says: Aug 15, 2014. 5:22 PM REPLYHey jayredge, I've tried about a million things, considering we have similar routers. I followed your guide to the letter. I have a linksys E2500 and I singleport-forwarded exactly as instructed. I have had zero success pinging my server from my phone. I've run out of ideas at this point.

    jayredge says: Aug 17, 2014. 1:00 PM REPLYSo you were able to successfully Ubuntu Server? Are you able to access the Apache2 default page? Sometimes pinging is blocked by default on manyrouters. If you wanted to ping a device on an internal network from an external network, such as your phone, the router would most likely reject yourrequest. If you wanted to ping your server from an external network, you would need to open the port on your router.

    jetbreaker says: Aug 18, 2014. 10:34 AM REPLYActually jayredge, does it matter it's not port 8080? Could I use port 80? Turns out Optimum (my spiteful provider) closes all prots except 80 and 25.

    jayredge says: Aug 18, 2014. 2:57 PM REPLYI'm shocked that an ISP keeps port 80 open, but yes you totally can use port 80 if it is open.

    jetbreaker says: Aug 17, 2014. 2:23 PM REPLYYeah, I was able to internally reach the default page. Also I'm using the latest version 14.04.

    I don't know what other setting I can change on my router. Followed your guide to the the T.

    mastershake111 says: Jul 27, 2014. 12:56 AM REPLYHaving issues after step 4. I was able to reach the Apache2 Ubuntu Default Page after the initial apache set up. However, trying to navigate toipaddress:8080/~name always leads to a 403 error.

    Are there any changes you had to make to apache2.conf to avoid this issue?

    jayredge says: Jul 28, 2014. 6:24 AM REPLYDid you forget to run the following command:

    sudo a2enmod userdir

    That could have something to do with it. If that doesn't work, try navigating to a directory within the public_html folder, such as documents. Like this:

    PublicIPAddress:8080/~username/documents

    jetbreaker says: Aug 14, 2014. 6:30 PM REPLYI'm having issues just reaching the Apache2 Ubuntu Default Page (w/ my phone). Doesn't seem to load. Any suggestions?

    2322091 says: Jul 30, 2014. 10:14 PM REPLYI'm having the same issue as mastershake111, 403 error. I verified sudo a2enmod userdir and got "Module userdir already enabled". Then I triednavigating to PublicIPAddress:8080/~username/documents and still got the same error. Of course, I'm replacing PublicIPAddress with my own. I triedaccessing the other folders, no success. I admit to being a noob, please break it down for me, thx!

    http://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jtlindsey/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jtlindsey/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/mastershake111/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/mastershake111/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/2322091/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/2322091/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSS

  • http://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/

    mastershake111 says: Jul 30, 2014. 11:31 PM REPLY2322091,

    It was a file/folder permissions issue for me. I resolved it by running the command "chmod 711 /home/username" where you replace usernamewith your own. The 7 gives you rwx permissions and the 1's give cd/x but not r/w permissions to other users. There is a brief explanation ofchmod permissions at this website: https://www.cise.ufl.edu/~shray/

    I read somewhere that apache needs access to this folder or else you'll get the 403 error.

    Best Regards,

    mastershake111

    jayredge says: Aug 9, 2014. 8:46 AM REPLYHey guys,

    I'm glad you were able to resolve the issue because I am not sure why there was a permissions problem in the first place. The only reasonthe permissions should have needed changing is if the folder was created using sudo. If you guys didn't do that than I am not sure whathappened.

    2322091 says: Aug 9, 2014. 9:33 AM REPLYYeah, I probably created it using sudo. Either way, mastershake111's fix worked for me.

    Thanks!

    jetbreaker says: Aug 12, 2014. 6:25 PM (removed by author or community request)

    jetbreaker says: Aug 14, 2014. 6:28 PM REPLYNevermind. I figured it out. IF you're installing Ubuntu via a USB drive, just unplug it after you're asked about your time zone and the installation will work.

    bigjknudsen says: Jul 16, 2014. 1:51 AM REPLYProbably the most well explained linux tutorial I have ever read. It makes what I would class 'intermediate' level stuff into 'noob' level :)

    I am not new to linux but also no power user either. I have setup a few lamp servers in the past so this wasn't overly new to me. But any first time linux useror beginner will find this tutorial very simple to follow.

    I especially liked that you explained your reasoning on each step. Most other tutorials just say do this, that and then this and your done or are so technicallyin depth most users give up.

    Well done mate and thanks. I'm off to setup my own personal cloud now!

    http://www.instructables.com/member/mastershake111/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/mastershake111/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jayredge/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/2322091/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/2322091/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/jetbreaker/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSShttp://www.instructables.com/member/bigjknudsen/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/member/bigjknudsen/?utm_source=pdf&utm_campaign=commentshttp://www.instructables.com/id/How-to-Host-Your-Own-Cloud-v20/?utm_source=pdf&utm_campaign=comments#DISCUSS