Ubuntu 16.04 + NextCloud 10 Install Guide



  • Install Ubuntu

    Install Ubuntu Server the way you like. Only one minor change. When you come to the Software Selection Screen, I recommend setting up the LAMP,
    Standard System Utilities, and OpenSSH Server options as displayed below.

    Tasksel

    ===
    If you find any issues or something I botched, just let me know!

    After your reboot, go ahead and let the updates run...

    apt update
    apt upgrade
    

    To get the most receent version, visit the NextCloud.com website, and click "Download" in the upper right corner. In the next page under where it says Get Server, click the Download button again.

    It will open a little Popup window. On the "Archive" tab, right click on the tar.bz2 file and copy the link, and then use wget to download it to your server:

    1. Use Wget...
    wget https://download.nextcloud.com/server/releases/nextcloud-10.0.1.tar.bz2
    
    1. Extract the archive and copy the folder contentsto /var/www/html
      Edit: Thanks for the correction, @fuznutz04
    tar -jxvf nextcloud-10.0.1.tar.bz2
    sudo cp -Rv nextcloud/* /var/www/html/
    mkdir /var/www/html/data
    
    1. Activate the necessary apache modules:
    sudo a2enmod rewrite
    sudo a2enmod headers
    sudo a2enmod env
    sudo a2enmod dir
    sudo a2enmod mime
    
    1. Install some necessary PHP modules
    sudo apt install php-zip php-mbstring php-ctype mcrypt php-xml php-curl php-gd
    
    1. Set Apache as the owner of the files...
    chown -R www-data:www-data /var/www/html/*
    
    1. Ensure that the DirectoryIndex has index.php as the first item in the line in /etc/apache2/mods-enabled/dir.conf
    sudo nano /etc/apache2/mods-enabled/dir.conf
    sudo systemctl restart apache2
    
    1. Delete the original index.html and Run the Install Wizard
    sudo rm /var/www/html/index.html
    
    
    1. Create a MySQL User and database for NextCloud... Enter your root password when prompted.
    mysql -u root -p
    create database nextcloud;
    grant all on nextcloud.* to cloud identified by 'next!';
    flush privileges;
    exit;
    

    Test the login...
    (use the password for the cloud user that you specified in the 'identified by' above)

    mysql -u cloud -p
    

    If you are able to log in, continue. If not, go back and start step 9 over again.

    1. HTTP to the IP address of your nextclout server ie: http://192.168.128.107/

    You should be presented with a page that asks you to create an admin account and for more information, such as data folder, and database user, and password... Fill the information out.

    Form to fill out

    Ideally, you will use more secure usernames and passwords... But after you have it filled out, click the 'Finish Setup' button.

    If everything was successful, it will take you to the user interface.

    It is HIGHLY recommended that you configure SSL for your next cloud server, or place your Nextcloud server behind an NGinx proxy confgiured with SSL.



  • Thanks for this. I'm going to give this a shot this weekend.



  • Good guide, thanks again. Just got an install up and running in about 10 min.

    Something that might trip you up is the data folder location. By default, /var/www/html/data does not exist, and the installer does not create it. You either have to create that data folder in the /var/www/html path, or point it to somewhere else entirely. Then, give permission to that data folder with the command used earlier:

    chown -R www-data:www-data /var/www/html/data 
    OR
    chown -R www-data:www-data /SomeOtherPath/folder


  • @fuznutz04 said in Ubuntu 16.04 + NextCloud 10 Install Guide:

    Good guide, thanks again. Just got an install up and running in about 10 min.

    Something that might trip you up is the data folder location. By default, /var/www/html/data does not exist, and the installer does not create it. You either have to create that data folder in the /var/www/html path, or point it to somewhere else entirely. Then, give permission to that data folder with the command used earlier:

    chown -R www-data:www-data /var/www/html/data 
    OR
    chown -R www-data:www-data /SomeOtherPath/folder
    

    Thanks for the note. Not sure how I missed that step, lol. OP updated!



  • Awesome thanks,

    Will def move this up on my project list

    oh such a long list it is 😕