This tutorial is so great! I found a "more recent" tutorial for this but it didnt go into this much detail and by cross referencing the recent information with your detailed information i was able to setup my perfect nextcloud server. Thank you very much! I have some friends who are interested in nextcloud servers as well and i definitely will make sure to recommend your guide, you've been a great help. Thank you very much!
Good tutorial! I am stuck at the beginning, followed all the steps up to phpmyadmin is giving me a "Not Found" on a page. 8:07 my page is just an error. Was wondering if anyone knew of a fix, thanks :)
I am not a 'Nerd on the Street' like you are, but know some Linux as an intermediate user. This tutorial was great and helped me a lot. Thanks for this wonderful tutorial.
Best tutorial ever, no exaggeration. I'm extraordinarily n00bish with Linux terminal commands and the setup in general, but I've FINALLY got it all set up and good to go! Thank you so much for this tutorial!!
From Belgium. Hi, i used your very good tuto. Nextcloud 17.00 installed on ubuntu server 18.04. To install certificate cerbot, i used their instructions on site. Only one warning for a problem with "emoticone". A huge thank for this professionel work. Success in yours challenges and sorry for my poor english. ;)
Extremely well done. I am most grateful for your efforts documenting this. Thanks. There are so many dodgy tutorials on youtube and it is rare to find ones so well done as this.
thanks for making this, i have been trying to get nextcloud setup for over a week. Your method was the longest, so I tried other methods. Stupid me, should have just used yours to begin with. The only minor problem i had was with using duckdns. In the certbot command I had to add both my domain name and the redirect from duckdns. That made it work great, both on my computer and android setups. Thanks again.
Thank you very much for such an awesome tutorial. I finally got it working after many failed trials using other tutorials (just a noob and your tutorial was easier to follow through )
Thank you very much for this tutorial. You're very clear and easy to listen to. More importantly you present the information in a very straightforward manner.
Any solution for this? "This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them. " bcmath gmp
Epic tutorial! I love the pacing. No BS just getting right down to business. Thanks for this. I got hung up clearing some of those warnings and this video made life a whole lot easier.
I get a error saying I have to go through "Enabling MySQL 4-byte support". However, I have absolutely no clue where to add the recommended settings and which service to restart afterwards. The File Format of my database remains as Annaconda and doesn't upgrade to Barracuda, even after the "manual" database command the provide. Could you or someone else help me out with this?
Anyone faced issue setting Amazon S3 bucket as primary storage, can't seem to get it working (yes: I double checked my login API keys) added objectstorage code in config.php as recommended by the nextcloud docs
This error apeared while trying to create the administrator user. Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1044] Access denied for user 'cloud'@'localhost' to database 'cloud' can any one help pls?
It looks like an SQL permission error, make sure you can log into phpMyAdmin with the username "cloud" and can access the "cloud" database from there. If you can't, you may have messed up the "GRANT" commands, so I would try running them again.
To be fair, some of what I did is probably covered in the Snap installation. Even more of it's probably included in the Docker image. I choose manual precisely because it's easier to customize things and learn how things are set up. An interactive Bash script for regular installation could be nice, though.
Hi Just a quick question, I am updating nextcloud from 20.6 to 20.7 on ubuntu 20.4 (a new install)but when I run the update it stops on DELETE OLD FILES with no error I have checked the nextcloud-data folder and it has permissions for 755, has anyone else had any issues recently? Thank you in advance
my phpmyadmin file is in my /var/www/html now it won't let me update. Tried to move file now it shows in red and I can no longer move or delete the file. Shows access denied! Please help!
@17:00, Wouldnt you save a step in changing permission if you just used cp? mv retains permissions/ownership. cp will give the files whatever the destination has.
22:45 Okay, so if I wanted to do this, I make a new folder in /var/www/nextcloud Do a mv -v /var/www/html/* /var/www/nextcloud/html Do a chown -R www-data:www.data /var/www/nextcloud/html/* after that i'm a bit lost with the 000-default.conf bit Would it be a case of changing the document root to /var/www/nextcloud/html/ ?
You could just make /var/www/nextcloud, no need for anything to be called "html". Then you'd just put /var/www/nextcloud in the 000-default.conf file (or whatever Apache config file you want to use.) Another user did something similar and posted about it on my forums: nerdonthestreet.com/forum-topic/tech-talk/install-wordpress-after They put it in /var/www/html/nextcloud, which, once again, isn't where I would have put it, but it really doesn't matter. You just need to point your .conf file to wherever the Nextcloud files are stored, and then enable the .conf file if it's not the default one. Edit: Feel free to ask on my forums if this isn't clear enough for you!
i have follow your step and everything is working fine but when i using chrome the last version when i log out it's very slow and other link firefox is working very fast so any solution for this issue?
I'm trying to install Nextcloud in my a dedicated pc NAS. I can't access nextcloud one I've configured HTTPS following your tutorial. I've opened 443 port in my router but it doesn't work. Any clue about this? thanks!
Have you opened Port 80? Nextcloud needs to be able to resolve traffic requests from HTTP on 80 and redirect clients to HTTPS on 443, since usually most people don’t type in the https in the address bar :)
First, thanks for an awesome instructional video. Second, I was able to clear all warnings except for the following: "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." Tried, but no luck. Any help would be greatly appreciated. Thanks again!!!
I just fixed this error on my install today. Follow the steps on this link and it should fix your problem. I completed it until step 8 and it worked after. docs.nextcloud.com/server/18/admin_manual/configuration_database/mysql_4byte_support.html?highlight=byte
Hey there, first video witth a great explanation! My instalation is with Portainer and NGINX and I'm getting that error "The "Strict-Transport-Security" HTTP header is not set to at least "15552000" seconds. For enhanced security, it is recommended to enable HSTS as described in the security tips" I don't have that apache2 file just the default. Ideias how can I fix it? Thks mate
Holy grail! As a windows kid, this last week coming into ubuntu has been the hardest one I can recall. Where are all the sweet sweet GUIs? (I didn't even know what that meant until not too long ago) Oh but I'm doing this now! I AM DOING THIS! Thank you so very much for this step by step tutorial!
Just to add to this post that I had problems updating from 20.6 to 20.7 using nextclouds gui and needed to chmod the html folder if it helps, anyone stuck with DELETE OLD FILES so the command was cd /var/www and then chmod www-data:www-data html and then the update runs correctly
hello jacob. that was a nice insight. now i properly setup and need to tweaks some things like moving files or security setup. i need some insight because i want to test this on my LAN local network. so how do i make this work properly and access. i am using wireless and most tutorial i get either using vm or vps which is me no money.
Awalludin Syam If you want to setup your own server on your LAN and have access to it from outside the network, you’ll need to setup a DynDNS updater & port forwarding on your router. I’ll be publishing a guide on how to do this soon on my website: noahsbwilliams.com. This also has a text guide version of Jacob’s video guide that I made after learning Nextcloud administration for the last few months :)
Hey! I thought I was following the prompts correctly, but I somehow wiped the contents of my config.php file. Anyone know either what I did wrong or how to recreate the config.php (including the salt for passwords)? I'm happy to start over but not before I figure out my mistake!
Awesome tutorial, got my next cloud running by following along with you. I still have 1 error on the security setup and warnings. MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL. For further details read the documentation page about this. Any way you can make a video to resolve this? Thanks in advance.
Hello, prompt how to configure transmission-daemon on the nextcloud server, writes that there is no access to folders in the directory where nextcloud is installed
Thanks for great detailed tutorial! I used these instructions to setup Nextcloud on RPI4 running Raspbian (latest). I have USB3.0 4TB HDD connected to RPI, I set Nextcloud data location to this. My concern is, where does Nextcloud strore file temporarily? I can clearly see no external HDD activity until the file is completely uploaded. I believe it stores either in RAM or /var/www/ area. On RPI, since this area is on SDCard, ton of file uploads could potentially corrupt SD card. Can you help recommend how to move temp file storage location?
Thanks for that so detailed video, during create mariadb database , it pop up " common not found" but i do installed mariabd-Server according previous step. please kindly advice, also phpmyadmin page is working fine.
At 25:42 into the video, after you've run your certbot and reloaded your page, mine can no longer be found. It DOES do it's redirect to https, but then I get ERR_CONNECTION_REFUSED
@@NerdOnTheStreet on my home PC. I've got a free dynamic DNS through asuscomm.com. So, my domain name is like MyPersonallReservedName.asuscomm.com. I can access my PC thru it. If it matters, I'm running Linux Mint 19.
Unless you had errors while running certbot (which you didn't say anything about), my guess is that something is blocking port 443 (the port used for HTTPS connections) somewhere in your setup. It looks like Linux Mint has UFW installed (but not enabled) by default-- if you have that turned on, make sure you're allowing incoming connections on TCP port 443. I'm not familiar with asuscomm, but it seems to be a DDNS service built into an Asus router? Make sure that you're allowing port 443 in through your router as well, and that it's being forwarded to the PC you're hosting your web server on.
The application is open sourced, which means u can always compile it however u want.. Tho im not sure what license they use, and if u are allowed to do it.
after I installed phpmyadmin, it didnt work. It was giving the error below. "The requested URL /phpmyadmin/ was not found on this server." I needed to run the following commands nano /etc/apache2/apache2.conf Added this line to the apache conf file : Include /etc/phpmyadmin/apache.conf Restart the service /etc/init.d/apache2 restart
After some mistakes and unwanted manipulation I have lost all my files from the network interface when I surf on firefox for example. But there is still all my files in the directory that I've configured for the first time but not visible on the net but The path is still the same and is ok. Do you know how we can fix it? reboot a scan of the folder end make them visible on the net pls? I've searched along two days without solution.
Hi Jacob, I am discovering this video you made a year ago, as I would like to move away from Dropbox. I am thinking about hosting my nextcloud server at home instead of l’inonde or digitalocean. Am I wrong?
Home-hosting is fine if you want to do that. The only reason I don't do that right now is because I don't have much space for servers in my apartment. If your home's public IP address is dynamic (changes periodically), then you'll need to set up a dynamic DNS service to update your A record whenever the IP address changes.
You can add your public ssh key to digital ocean. This means that a new droplet will let you include it. Then you can ssh in as root without dealing with the emailing of the password
You're right, I'll need to get around to doing that at some point. The password's probably better for a tutorial video since the SSH key requires extra setup, but I have been making an effort to move my actual servers from password-based authentication to key-based.
Excellent and thanks for the magistral tutorial . I have the last version 19 Nextcolud and the overview present other problems. You can help me to solve it?
You need some sort of domain name to get an SSL/TLS certificate, although you might be able to use something like No-IP for that. Everything other than the SSL could be done with just an IP address.
Hello sir, I am not having any domain yet. so will let's encrypt will work for me and if yes then what to write in the "/etc/apache2/sites-available/000-default.conf" at ServerName line? Should I put my local IP address of Nextcloud Server?
Great tutorial, you are a natural teacher, Can I use an office computer as a server with Ubuntu server install connected to the internet and not a virtual machine ? I’m Trying to avoid paying Digital Ocean a monthly fee Thanks
Yes, you can! You just need to make sure you setup port forwarding on ports 80 & 443 (I recommend Port 22 for SSH as well) on your router. Also, you need to find out if you have a static or a dynamic IP address (ask your internet provider). If yours is static, you’re good to go; if it’s dynamic, you’ll need to set up a DynDNS updater for your domain. I know, this sounds complicated, but I promise it’s not (especially compared to the Nextcloud setup in this video). I’ll be publishing a guide on how to do this soon on my website noahsbwilliams.com :)
nextcloud upload is very slow i have internet connection with load balanced. is that issue on php? im also changed upload_max_size and other stuffs on php
This was the best YT tutorial I've ever used. The one problem I ran into which stopped me dead in my tracks near the end is the 4 byte error relating to the database using Antelope instead of Barracuda. The help documents on the Nextcloud website are essentially useless, maybe less than, as they're confusing. I've spent triple the time working on this one error (and it's still not fixed) than I did going through your entire tutorial. I was wondering if you would mind doing an update that deals with this issue. I've seen a lot of others encounter this, and as good as your tutorial is, it's undermined by this issue. I can't see using Nextcloud if this issue can't be rectified. One thing which occurred to me, is that it would make sense to set the database to use the Barracuda format before installing Nextcloud. Maybe this is too simple of a fix. I don't know. Thanks for the work you put into this. It's excellent.
I'm assuming you ran these commands and are still having your issue (the fix is below the first set of commands): mariadb // Enter into the MariaDB/MySQL prompt. use nextcloud; // Replace "nextcloud" with your database name. ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; // This will enable 4-byte support. cd /var/www/nextcloud sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" // This command will enable 4-byte support in Nextcloud. sudo -u www-data php occ maintenance:repair // This step will convert your database. If you get a "Specified key was too long" error, go back into MariaDB/MySQL and run these commands: use nextcloud; set global innodb_large_prefix=on; set global innodb_file_format=Barracuda; Now you should be able to quit and run the "occ maintenance:repair" command again, and it should succeed this time.
@@NerdOnTheStreet Sorry to be such a bother, but this is my last problem. I've cleared all the error messages except for this one... "Last background job execution ran 2 days ago. Something seems wrong. Check the background job settings". I'm new to Linux, so I'm kind of lost. Supposedly from what I've read, there's supposed to be a file in cron.d called "nextcloud", which there isn't. Not sure where to go from here.
@@NerdOnTheStreet Hey! Thanks again, I fixed my last problem, the Cron problem. The learning curve on this stuff is so steep. Thanks for creating such a well done guide.
Thank you so much. the only error I got was the directory /var/www/html/apps did not had permitions and I had to chown www-data:www-data ./* to remove the security warning. weird. If you could let me know why that happened and if me changing the owner was a good call? Thank you.
I'm not sure why that happened without knowing your environment and the exact steps you took, but I would say you resolved the issue correctly. Any file your web server uses will need to be accessible for the Apache user (www-data).
@@NerdOnTheStreet thank you for getting back to my comment. Before doing anything I watch your video and transcribed all the steps and tailored to my info like my domain name. At the end Nextcloud runs well. I then did the same on your other video of installing collabora. Did the same scripting but something is not working. I left a comment there if you could review it would be great. Again thanks for the tutorial.
Great tutorial. I still have a few warnings on nextcloud telling me to install php modules for gmp and bcmatch. I havent figured out how to do that yet so if anyone can point me in the right direction would be greatly appreciated.
Hi Jakob. Thank you so much for this tutorial. Got working. But i have one more error left. This one. "MySQL is used as database but does not support 4-byte characters. " I looked everywhere but can't fix this. Can you give the proper commands and tell how to fix this? Thank you so much.
I encountered this on a Debian install recently. Run the following commands: mariadb // Enter into the MariaDB/MySQL prompt. use nextcloud; // Replace "nextcloud" with your database name. ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; // This will enable 4-byte support. Then, you need to go into your /var/www/nextcloud folder (or wherever Nextcloud is stored) and tell Nextcloud to update its database to match the new setting: cd /var/www/nextcloud sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" // This will run the "occ" file, which is present in the root of your Nextcloud directory, as the www-data user. "occ" stands for "ownCloud Console." This command will enable 4-byte support in Nextcloud. sudo -u www-data php occ maintenance:repair // This step will convert your database. Then, to get out of maintenance mode: sudo -u www-data php occ maintenance:mode --off You should be good after that.
I follow this guide to the letter in September of 2019, but set up my data folder on a software RAID0 array. I recently attempted to update, but got irritated and decided to rebuild my setup with Nextcloud 18, and Ubuntu 20.04 LTS. I am going to follow this guide today but using 20.04 LTS and NC18. I am hoping that things are basically going to go the same as it did before. I was having issues with download rates that would not go above 2mb/s outside of the local network, and am hoping that this new configuration of NC18 and 20.04LTS will be able to be set up by following the steps in this guide. Can anyone offer some insight as to weather or not this will work? I will report back with my findings.
Go into terminal and type: sudo nano /var/www/nextcloud/config/config.php Then add your internal IP-adress to the trusted domains. You put in the ip adress after the domain name with like this. ."ip-adress","2nd ip-adress", and so on.
MySQL is used as a database but does not support 4-byte characters. To manipulate 4-byte characters (such as emojis) in filenames or comments, we recommend enabling 4-byte support in MySQL. For more details, read the documentation about this.
I encountered this on a Debian install recently. Run the following commands: mariadb // Enter into the MariaDB/MySQL prompt. use nextcloud; // Replace "nextcloud" with your database name. ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; // This will enable 4-byte support. Then, you need to go into your /var/www/nextcloud folder (or wherever Nextcloud is stored) and tell Nextcloud to update its database to match the new setting: cd /var/www/nextcloud sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" // This will run the "occ" file, which is present in the root of your Nextcloud directory, as the www-data user. "occ" stands for "ownCloud Console." This command will enable 4-byte support in Nextcloud. sudo -u www-data php occ maintenance:repair // This step will convert your database. Then, to get out of maintenance mode: sudo -u www-data php occ maintenance:mode --off You should be good after that.
Amazing tutorial! Very informative! Thanks a lot! But I still have a problem with caldav, cardav. I made everything according tutorial but still got these messages about wrong settings. Redirection works properly though
Probably too late, but see if the warning persists when accessing via your domain rather than LAN ip. If you can't do that try adding "" in front of ip address in browser. Had same issue, but once I tested it through my domain name all is good.
The Certbot FAQ says it's possible if you're using Apache, and lists the config option you should look into: certbot.eff.org/faq/#can-i-issue-a-certificate-if-my-webserver-doesn-t-listen-on-port-80
I would like to point out that even if you put your files in your root directory it can still be accessed by apache using example.yourdomain.com/../../../ or example.yourdomain.com/%2%2/%2%2 if the apache is not configured properly that is... So instead of relocating the data folder make your webserver connection secure
I used Docker for installing Collabora in my Collabora video that I made right after this one. NGINX is not my choice of web server and CentOS is not my choice of distro, so although I've used both before, I'm not inclined to make a video that's an exact copy of this one but with those components instead. There will be some differences between them, but it's still a PHP/MySQL application you're running, so if you've got experience with CentOS and NGINX, it shouldn't be too hard to watch this video and then figure it out on your system. EDIT: If you give it a try on a CentOS/NGINX setup and you can't figure something out, feel free to ask on the NOTS forums. I might still be able to help with troubleshooting.
The process for CentOS is exactly the same except the name of the package manager is ‘yum’ instead of ‘apt’. Just replace every ‘apt’ command in this video with ‘yum’ :)
Is there a printed version of the steps taken? Having extremely bad eyesight (20/400 without glasses; with glasses, almost 20/20 in left eye & 20/60 in right eye after a very severely detached retina and cataract surgeries), it’s hard to look at a 20” monitor with a maximized video that is pixelated just enough to make commands appear blurry. Thanks in advance.
I run a TH-cam channel, not a blog, but a lot of the things I did are probably covered in the Nextcloud documentation (not all in one place, of course.) If the video is pixelated because you're viewing at less than 1080p due to your bandwidth, consider using youtube-dl so you can view it at full resolution; the video was not downscaled in editing, so the text shouldn't really be pixelated if you're viewing full-screen on a 1080p display. I also narrated most of what I was doing, and showed on video when I was copy/pasting things from the Nextcloud documentation. A printed version of the steps might be quicker if you don't like listening to me talk, but you should be able to follow along with the video even without perfect eyesight, especially with the ability to pause and use a screen magnifier (which I assume you would have if this is an issue for you.)
Nerd on the Street - Tech I knew nothing of TH-cam-dl, so I’ll give that a try. I did watch the video in its entirety, so I’ll use my 2-monitor setup and go step-by-step with your video. I am sorry for my fear that I’m going to mess everything up because of my being new to Linux (I do like it, but I’ve always been a Windows user, so using Windows at work & Linux and Windows at home makes my head spin sometimes. I appreciate your reply and think that I’ll tackle this - and succeed - this weekend! Next up, Collabora & LibreOffice (I watched that video, too). Keep up the good work! I do also enjoy listening to you talk because then the thought process comes through in the words. At some points, I was able to guess what the next step was. You’re great at what you do.
central.owncloud.org/t/setting-up-local-same-server-smb-share/17497/5 Post #4, it also applies to Nextcloud, it's exactly how it works also in owncloud
Performance warning You chose SQLite as database. SQLite should only be used for minimal and development instances. For production we recommend a different database backend. If you use clients for file syncing, the use of SQLite is highly discouraged.
As of today the grouping of the nextcloud files were automatically assigned to the current user I had (running it throught Oracle VM on ubuntu 18.04 LTE) , but it seems I do have to regroup the files! Just thought it would be a comment with meaning :) (and a big thank you for the tutorial! :D )
This tutorial is so great!
I found a "more recent" tutorial for this but it didnt go into this much detail and by cross referencing the recent information with your detailed information i was able to setup my perfect nextcloud server. Thank you very much!
I have some friends who are interested in nextcloud servers as well and i definitely will make sure to recommend your guide, you've been a great help. Thank you very much!
The best NextCloud installation guide I have seen so far.
We'll done!!!
Good tutorial! I am stuck at the beginning, followed all the steps up to phpmyadmin is giving me a "Not Found" on a page. 8:07 my page is just an error. Was wondering if anyone knew of a fix, thanks :)
I wish all tutorials were like this.
Yes. To the point with info regarding the commands
I am not a 'Nerd on the Street' like you are, but know some Linux as an intermediate user. This tutorial was great and helped me a lot. Thanks for this wonderful tutorial.
Best tutorial ever, no exaggeration. I'm extraordinarily n00bish with Linux terminal commands and the setup in general, but I've FINALLY got it all set up and good to go! Thank you so much for this tutorial!!
From Belgium. Hi, i used your very good tuto. Nextcloud 17.00 installed on ubuntu server 18.04. To install certificate cerbot, i used their instructions on site. Only one warning for a problem with "emoticone". A huge thank for this professionel work. Success in yours challenges and sorry for my poor english. ;)
This video was very informative. Thank you for making it.
It`s so good to come by tutorials that actually takes you through everything. Thanks alot for sharing.
I followed this guide to the second. It was half a day of work for me. Thank you so much for the video!
Extremely well done. I am most grateful for your efforts documenting this. Thanks. There are so many dodgy tutorials on youtube and it is rare to find ones so well done as this.
The best NextCloud installation guide I have seen so far. bravo sir
thanks for making this, i have been trying to get nextcloud setup for over a week. Your method was the longest, so I tried other methods. Stupid me, should have just used yours to begin with. The only minor problem i had was with using duckdns. In the certbot command I had to add both my domain name and the redirect from duckdns. That made it work great, both on my computer and android setups. Thanks again.
Thank you very much for such an awesome tutorial. I finally got it working after many failed trials using other tutorials (just a noob and your tutorial was easier to follow through )
Thank you very much for this tutorial. You're very clear and easy to listen to. More importantly you present the information in a very straightforward manner.
Any solution for this? "This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them.
"
bcmath
gmp
Epic tutorial! I love the pacing. No BS just getting right down to business. Thanks for this. I got hung up clearing some of those warnings and this video made life a whole lot easier.
I get a error saying I have to go through "Enabling MySQL 4-byte support".
However, I have absolutely no clue where to add the recommended settings and which service to restart afterwards.
The File Format of my database remains as Annaconda and doesn't upgrade to Barracuda, even after the "manual" database command the provide. Could you or someone else help me out with this?
AmritxDhillon Here, made a text guide for this project that includes how to do this: noahsbwilliams.com/projects/nextcloud-server/
@@noahwilliams8918 Thanks Noah. I'm going to give this a try. This was a fantastic guide, but this 4 byte support thing stopped me in my tracks.
Anyone faced issue setting Amazon S3 bucket as primary storage, can't seem to get it working (yes: I double checked my login API keys) added objectstorage code in config.php as recommended by the nextcloud docs
Can you please make a video about how to enable HTTP2 for faster site loading speeds?
This error apeared while trying to create the administrator user.
Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1044] Access denied for user 'cloud'@'localhost' to database 'cloud'
can any one help pls?
It looks like an SQL permission error, make sure you can log into phpMyAdmin with the username "cloud" and can access the "cloud" database from there. If you can't, you may have messed up the "GRANT" commands, so I would try running them again.
This video should be used to make a util to install nextcloud. So many manual steps that would make really good default install.
To be fair, some of what I did is probably covered in the Snap installation. Even more of it's probably included in the Docker image. I choose manual precisely because it's easier to customize things and learn how things are set up. An interactive Bash script for regular installation could be nice, though.
Hi Just a quick question, I am updating nextcloud from 20.6 to 20.7 on ubuntu 20.4 (a new install)but when I run the update it stops on DELETE OLD FILES with no error I have checked the nextcloud-data folder and it has permissions for 755, has anyone else had any issues recently? Thank you in advance
dude your tutorial is very very helpful I really learned a lot about the website setup including nexcloud setup
my phpmyadmin file is in my /var/www/html now it won't let me update. Tried to move file now it shows in red and I can no longer move or delete the file. Shows access denied! Please help!
@17:00, Wouldnt you save a step in changing permission if you just used cp? mv retains permissions/ownership. cp will give the files whatever the destination has.
Using cp would also create the extra step of having to delete the files from where they were before, wouldn't it?
@@NerdOnTheStreet oops! Good point...
22:45
Okay, so if I wanted to do this, I make a new folder in /var/www/nextcloud
Do a mv -v /var/www/html/* /var/www/nextcloud/html
Do a chown -R www-data:www.data /var/www/nextcloud/html/*
after that i'm a bit lost with the 000-default.conf bit
Would it be a case of changing the document root to /var/www/nextcloud/html/ ?
You could just make /var/www/nextcloud, no need for anything to be called "html". Then you'd just put /var/www/nextcloud in the 000-default.conf file (or whatever Apache config file you want to use.)
Another user did something similar and posted about it on my forums: nerdonthestreet.com/forum-topic/tech-talk/install-wordpress-after They put it in /var/www/html/nextcloud, which, once again, isn't where I would have put it, but it really doesn't matter. You just need to point your .conf file to wherever the Nextcloud files are stored, and then enable the .conf file if it's not the default one.
Edit: Feel free to ask on my forums if this isn't clear enough for you!
i have follow your step and everything is working fine but when i using chrome the last version when i log out it's very slow and other link firefox is working very fast so any solution for this issue?
I'm trying to install Nextcloud in my a dedicated pc NAS. I can't access nextcloud one I've configured HTTPS following your tutorial. I've opened 443 port in my router but it doesn't work. Any clue about this? thanks!
Have you opened Port 80? Nextcloud needs to be able to resolve traffic requests from HTTP on 80 and redirect clients to HTTPS on 443, since usually most people don’t type in the https in the address bar :)
@@noahwilliams8918 I confirm. Both ports need to be open on apache. Virtual Host only needs 80 as let's encrypt adds the redirect automatically in VH.
First, thanks for an awesome instructional video. Second, I was able to clear all warnings except for the following:
"MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL."
Tried, but no luck. Any help would be greatly appreciated. Thanks again!!!
I just fixed this error on my install today. Follow the steps on this link and it should fix your problem. I completed it until step 8 and it worked after. docs.nextcloud.com/server/18/admin_manual/configuration_database/mysql_4byte_support.html?highlight=byte
@@electronicuser40 Worked for me! Thanks!
Awesome video, tried it in a VM and gonna attempt it on my production server soon :)
Gotta love Let's Encrypt
Hey there, first video witth a great explanation!
My instalation is with Portainer and NGINX and I'm getting that error "The "Strict-Transport-Security" HTTP header is not set to at least "15552000" seconds. For enhanced security, it is recommended to enable HSTS as described in the security tips"
I don't have that apache2 file just the default.
Ideias how can I fix it?
Thks mate
Can you install, setup & configure the top 20 needed apps for Nextcloud?
What is the advantage of this over the snap package, like what more control is possible that is useful?
12:10 removing version numbers, was there a shortcut to do it quickly or was that just video editing?
That was editing, sorry!
Holy grail! As a windows kid, this last week coming into ubuntu has been the hardest one I can recall.
Where are all the sweet sweet GUIs? (I didn't even know what that meant until not too long ago)
Oh but I'm doing this now! I AM DOING THIS!
Thank you so very much for this step by step tutorial!
Just to add to this post that I had problems updating from 20.6 to 20.7 using nextclouds gui and needed to chmod the html folder if it helps, anyone stuck with DELETE OLD FILES so the command was cd /var/www and then chmod www-data:www-data html and then the update runs correctly
hello jacob. that was a nice insight. now i properly setup and need to tweaks some things like moving files or security setup. i need some insight because i want to test this on my LAN local network. so how do i make this work properly and access. i am using wireless and most tutorial i get either using vm or vps which is me no money.
Awalludin Syam If you want to setup your own server on your LAN and have access to it from outside the network, you’ll need to setup a DynDNS updater & port forwarding on your router. I’ll be publishing a guide on how to do this soon on my website: noahsbwilliams.com. This also has a text guide version of Jacob’s video guide that I made after learning Nextcloud administration for the last few months :)
Hey! I thought I was following the prompts correctly, but I somehow wiped the contents of my config.php file.
Anyone know either what I did wrong or how to recreate the config.php (including the salt for passwords)? I'm happy to start over but not before I figure out my mistake!
Awesome tutorial, got my next cloud running by following along with you. I still have 1 error on the security setup and warnings. MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL. For further details read the documentation page about this. Any way you can make a video to resolve this? Thanks in advance.
Hello, prompt how to configure transmission-daemon on the nextcloud server, writes that there is no access to folders in the directory where nextcloud is installed
Thanks for great detailed tutorial! I used these instructions to setup Nextcloud on RPI4 running Raspbian (latest). I have USB3.0 4TB HDD connected to RPI, I set Nextcloud data location to this. My concern is, where does Nextcloud strore file temporarily? I can clearly see no external HDD activity until the file is completely uploaded. I believe it stores either in RAM or /var/www/ area. On RPI, since this area is on SDCard, ton of file uploads could potentially corrupt SD card. Can you help recommend how to move temp file storage location?
Thanks for that so detailed video, during create mariadb database , it pop up " common not found" but i do installed mariabd-Server according previous step. please kindly advice, also phpmyadmin page is working fine.
solved by add ~# mysql -u root -p
This is now my goto video for nextcloud. :P Thank you!
So what's the difference between doing this and installing it using diet pie on a raspberry pie
At 25:42 into the video, after you've run your certbot and reloaded your page, mine can no longer be found. It DOES do it's redirect to https, but then I get ERR_CONNECTION_REFUSED
Hmm. Where is your web server hosted? (DigitalOcean/Linode, self-hosted, etc...)
@@NerdOnTheStreet on my home PC. I've got a free dynamic DNS through asuscomm.com. So, my domain name is like MyPersonallReservedName.asuscomm.com. I can access my PC thru it.
If it matters, I'm running Linux Mint 19.
Unless you had errors while running certbot (which you didn't say anything about), my guess is that something is blocking port 443 (the port used for HTTPS connections) somewhere in your setup. It looks like Linux Mint has UFW installed (but not enabled) by default-- if you have that turned on, make sure you're allowing incoming connections on TCP port 443. I'm not familiar with asuscomm, but it seems to be a DDNS service built into an Asus router? Make sure that you're allowing port 443 in through your router as well, and that it's being forwarded to the PC you're hosting your web server on.
@@NerdOnTheStreet Yep. I didn't have port forwarding for port 443. It's working now. Thanks!
OMG this is freakin AWESOME thank you so much for this!!! even Let's Encrypt is covered! simply an amazing tutorial !!!
can I change the icon and app name in ios and android?
and put a name and icon of my company for example
The application is open sourced, which means u can always compile it however u want.. Tho im not sure what license they use, and if u are allowed to do it.
after I installed phpmyadmin, it didnt work. It was giving the error below.
"The requested URL /phpmyadmin/ was not found on this server."
I needed to run the following commands
nano /etc/apache2/apache2.conf
Added this line to the apache conf file :
Include /etc/phpmyadmin/apache.conf
Restart the service
/etc/init.d/apache2 restart
Interesting that you're using an init.d script. I assume you're not using systemd. What distro are you using?
@@NerdOnTheStreet
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
Great tutorial btw, Thanks a lot
This still a valid guide given it's been almost 2 years? Any different steps you recommend we take these days? TIA
i enjoyed watching your video, you are very professional, thanks a lot bro
After some mistakes and unwanted manipulation I have lost all my files from the network interface when I surf on firefox for example. But there is still all my files in the directory that I've configured for the first time but not visible on the net but The path is still the same and is ok. Do you know how we can fix it? reboot a scan of the folder end make them visible on the net pls? I've searched along two days without solution.
find it : go in folder "/var/www/html" and than type "sudo -u www-data php ./occ files:scan --all"
do i need a domain name to get the SSL certificate? cant i just use my IP
SSL certificates are identified by their domain name, so you need a domain name to get an SSL cert.
Love your video. Tested with Nextcloud 17 works well. Only issue with v17 is database move can't be created out of /var
The server has no working Internet connection... This message appear in overview menu after finished installing nextcloud. Please can you help me??
Hi Jacob,
I am discovering this video you made a year ago, as I would like to move away from Dropbox. I am thinking about hosting my nextcloud server at home instead of l’inonde or digitalocean. Am I wrong?
Home-hosting is fine if you want to do that. The only reason I don't do that right now is because I don't have much space for servers in my apartment. If your home's public IP address is dynamic (changes periodically), then you'll need to set up a dynamic DNS service to update your A record whenever the IP address changes.
You can add your public ssh key to digital ocean. This means that a new droplet will let you include it. Then you can ssh in as root without dealing with the emailing of the password
You're right, I'll need to get around to doing that at some point. The password's probably better for a tutorial video since the SSH key requires extra setup, but I have been making an effort to move my actual servers from password-based authentication to key-based.
Very, very, very, very clear manual! Thank you very, very.very.very much !!!!
This guide still valid these days given it's been almost 2 years? Any changes you recommend we make? Thanks
Excellent and thanks for the magistral tutorial . I have the last version 19 Nextcolud and the overview present other problems. You can help me to solve it?
Can I do this without the domain ?
You need some sort of domain name to get an SSL/TLS certificate, although you might be able to use something like No-IP for that. Everything other than the SSL could be done with just an IP address.
Hello sir, I am not having any domain yet. so will let's encrypt will work for me and if yes then what to write in the "/etc/apache2/sites-available/000-default.conf" at ServerName line? Should I put my local IP address of Nextcloud Server?
Let's Encrypt requires a domain name of some kind. You cannot use it with only an IP address.
Great tutorial, you are a natural teacher,
Can I use an office computer as a server with Ubuntu server install connected to the internet and not a virtual machine ?
I’m Trying to avoid paying Digital Ocean a monthly fee
Thanks
Yes, you can! You just need to make sure you setup port forwarding on ports 80 & 443 (I recommend Port 22 for SSH as well) on your router. Also, you need to find out if you have a static or a dynamic IP address (ask your internet provider). If yours is static, you’re good to go; if it’s dynamic, you’ll need to set up a DynDNS updater for your domain. I know, this sounds complicated, but I promise it’s not (especially compared to the Nextcloud setup in this video). I’ll be publishing a guide on how to do this soon on my website noahsbwilliams.com :)
nextcloud upload is very slow
i have internet connection with load balanced.
is that issue on php?
im also changed upload_max_size and other stuffs on php
I recommend nextclouds guide on setting up redis. That's all I got though. Hopefully it helps.
This was the best YT tutorial I've ever used. The one problem I ran into which stopped me dead in my tracks near the end is the 4 byte error relating to the database using Antelope instead of Barracuda. The help documents on the Nextcloud website are essentially useless, maybe less than, as they're confusing. I've spent triple the time working on this one error (and it's still not fixed) than I did going through your entire tutorial. I was wondering if you would mind doing an update that deals with this issue. I've seen a lot of others encounter this, and as good as your tutorial is, it's undermined by this issue. I can't see using Nextcloud if this issue can't be rectified. One thing which occurred to me, is that it would make sense to set the database to use the Barracuda format before installing Nextcloud. Maybe this is too simple of a fix. I don't know. Thanks for the work you put into this. It's excellent.
I'm assuming you ran these commands and are still having your issue (the fix is below the first set of commands):
mariadb // Enter into the MariaDB/MySQL prompt.
use nextcloud; // Replace "nextcloud" with your database name.
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; // This will enable 4-byte support.
cd /var/www/nextcloud
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" // This command will enable 4-byte support in Nextcloud.
sudo -u www-data php occ maintenance:repair // This step will convert your database.
If you get a "Specified key was too long" error, go back into MariaDB/MySQL and run these commands:
use nextcloud;
set global innodb_large_prefix=on;
set global innodb_file_format=Barracuda;
Now you should be able to quit and run the "occ maintenance:repair" command again, and it should succeed this time.
@@NerdOnTheStreet Thanks so much! Yes, this fixed it.
@@NerdOnTheStreet Sorry to be such a bother, but this is my last problem. I've cleared all the error messages except for this one... "Last background job execution ran 2 days ago. Something seems wrong. Check the background job settings". I'm new to Linux, so I'm kind of lost. Supposedly from what I've read, there's supposed to be a file in cron.d called "nextcloud", which there isn't. Not sure where to go from here.
@@NerdOnTheStreet Hey! Thanks again, I fixed my last problem, the Cron problem. The learning curve on this stuff is so steep. Thanks for creating such a well done guide.
Any help on the "MySQL is used as database but does not support 4-byte characters" issue?
Erold de Haseth I made a text tutorial that includes how to fix this: noahsbwilliams.com/projects/nextcloud-server/
@@noahwilliams8918 Waaw! very good and detailed tutorial Thank You.
Thank you so much. the only error I got was the directory /var/www/html/apps did not had permitions and I had to chown www-data:www-data ./* to remove the security warning. weird.
If you could let me know why that happened and if me changing the owner was a good call? Thank you.
I'm not sure why that happened without knowing your environment and the exact steps you took, but I would say you resolved the issue correctly. Any file your web server uses will need to be accessible for the Apache user (www-data).
@@NerdOnTheStreet thank you for getting back to my comment. Before doing anything I watch your video and transcribed all the steps and tailored to my info like my domain name. At the end Nextcloud runs well. I then did the same on your other video of installing collabora. Did the same scripting but something is not working. I left a comment there if you could review it would be great. Again thanks for the tutorial.
very good tutorial. thanks very much. Looking forwards to other videos
Very good tut and instructor.
Great tutorial. I still have a few warnings on nextcloud telling me to install php modules for gmp and bcmatch. I havent figured out how to do that yet so if anyone can point me in the right direction would be greatly appreciated.
Do you have ssh access?
if so sudo apt install gmp and sudo apt install bcmatch on command line using putty or any terminal which has access to your server
Hi Jakob.
Thank you so much for this tutorial. Got working.
But i have one more error left. This one. "MySQL is used as database but does not support 4-byte characters. "
I looked everywhere but can't fix this.
Can you give the proper commands and tell how to fix this?
Thank you so much.
I encountered this on a Debian install recently. Run the following commands:
mariadb // Enter into the MariaDB/MySQL prompt.
use nextcloud; // Replace "nextcloud" with your database name.
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; // This will enable 4-byte support.
Then, you need to go into your /var/www/nextcloud folder (or wherever Nextcloud is stored) and tell Nextcloud to update its database to match the new setting:
cd /var/www/nextcloud
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" // This will run the "occ" file, which is present in the root of your Nextcloud directory, as the www-data user. "occ" stands for "ownCloud Console." This command will enable 4-byte support in Nextcloud.
sudo -u www-data php occ maintenance:repair // This step will convert your database.
Then, to get out of maintenance mode:
sudo -u www-data php occ maintenance:mode --off
You should be good after that.
Fantastic tutorial. Very helpful.
I follow this guide to the letter in September of 2019, but set up my data folder on a software RAID0 array. I recently attempted to update, but got irritated and decided to rebuild my setup with Nextcloud 18, and Ubuntu 20.04 LTS. I am going to follow this guide today but using 20.04 LTS and NC18. I am hoping that things are basically going to go the same as it did before. I was having issues with download rates that would not go above 2mb/s outside of the local network, and am hoping that this new configuration of NC18 and 20.04LTS will be able to be set up by following the steps in this guide. Can anyone offer some insight as to weather or not this will work? I will report back with my findings.
So how did it go? This guide still valid?
@@workmates it did pretty much work how I needed it too. I would say that it is still valid.
For security reasons once you are done disable the phpmyadmin.
How fi this: i have free dns, forwarding and external access is ok but internal does work?
Go into terminal and type:
sudo nano /var/www/nextcloud/config/config.php
Then add your internal IP-adress to the trusted domains. You put in the ip adress after the domain name with like this. ."ip-adress","2nd ip-adress", and so on.
Es el mejor tutorial de NextCloud que eh visto, bien echo.
What distro are u working on? Not the ubuntu server but your main system where ur recording aswell
MySQL is used as a database but does not support 4-byte characters. To manipulate 4-byte characters (such as emojis) in filenames or comments, we recommend enabling 4-byte support in MySQL. For more details, read the documentation about this.
I encountered this on a Debian install recently. Run the following commands:
mariadb // Enter into the MariaDB/MySQL prompt.
use nextcloud; // Replace "nextcloud" with your database name.
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; // This will enable 4-byte support.
Then, you need to go into your /var/www/nextcloud folder (or wherever Nextcloud is stored) and tell Nextcloud to update its database to match the new setting:
cd /var/www/nextcloud
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" // This will run the "occ" file, which is present in the root of your Nextcloud directory, as the www-data user. "occ" stands for "ownCloud Console." This command will enable 4-byte support in Nextcloud.
sudo -u www-data php occ maintenance:repair // This step will convert your database.
Then, to get out of maintenance mode:
sudo -u www-data php occ maintenance:mode --off
You should be good after that.
In creating nextcloud to avoid this problem would this solve?
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Amazing tutorial! Very informative! Thanks a lot! But I still have a problem with caldav, cardav. I made everything according tutorial but still got these messages about wrong settings. Redirection works properly though
Probably too late, but see if the warning persists when accessing via your domain rather than LAN ip. If you can't do that try adding "" in front of ip address in browser. Had same issue, but once I tested it through my domain name all is good.
very informative and helped me alot thank you
Can we use certbot at different port than 80?
I have ISPConfig on first server.
The Certbot FAQ says it's possible if you're using Apache, and lists the config option you should look into: certbot.eff.org/faq/#can-i-issue-a-certificate-if-my-webserver-doesn-t-listen-on-port-80
Thanks buddy I'll check
I would like to point out that even if you put your files in your root directory it can still be accessed by apache using example.yourdomain.com/../../../ or example.yourdomain.com/%2%2/%2%2
if the apache is not configured properly that is... So instead of relocating the data folder make your webserver connection secure
Can we have a tutorials for CentOS+Docker+Ngnix+Collabora?
I used Docker for installing Collabora in my Collabora video that I made right after this one. NGINX is not my choice of web server and CentOS is not my choice of distro, so although I've used both before, I'm not inclined to make a video that's an exact copy of this one but with those components instead. There will be some differences between them, but it's still a PHP/MySQL application you're running, so if you've got experience with CentOS and NGINX, it shouldn't be too hard to watch this video and then figure it out on your system.
EDIT: If you give it a try on a CentOS/NGINX setup and you can't figure something out, feel free to ask on the NOTS forums. I might still be able to help with troubleshooting.
The process for CentOS is exactly the same except the name of the package manager is ‘yum’ instead of ‘apt’. Just replace every ‘apt’ command in this video with ‘yum’ :)
how to setup on android
Is there a printed version of the steps taken? Having extremely bad eyesight (20/400 without glasses; with glasses, almost 20/20 in left eye & 20/60 in right eye after a very severely detached retina and cataract surgeries), it’s hard to look at a 20” monitor with a maximized video that is pixelated just enough to make commands appear blurry. Thanks in advance.
I run a TH-cam channel, not a blog, but a lot of the things I did are probably covered in the Nextcloud documentation (not all in one place, of course.) If the video is pixelated because you're viewing at less than 1080p due to your bandwidth, consider using youtube-dl so you can view it at full resolution; the video was not downscaled in editing, so the text shouldn't really be pixelated if you're viewing full-screen on a 1080p display.
I also narrated most of what I was doing, and showed on video when I was copy/pasting things from the Nextcloud documentation. A printed version of the steps might be quicker if you don't like listening to me talk, but you should be able to follow along with the video even without perfect eyesight, especially with the ability to pause and use a screen magnifier (which I assume you would have if this is an issue for you.)
Nerd on the Street - Tech I knew nothing of TH-cam-dl, so I’ll give that a try. I did watch the video in its entirety, so I’ll use my 2-monitor setup and go step-by-step with your video. I am sorry for my fear that I’m going to mess everything up because of my being new to Linux (I do like it, but I’ve always been a Windows user, so using Windows at work & Linux and Windows at home makes my head spin sometimes.
I appreciate your reply and think that I’ll tackle this - and succeed - this weekend!
Next up, Collabora & LibreOffice (I watched that video, too).
Keep up the good work! I do also enjoy listening to you talk because then the thought process comes through in the words. At some points, I was able to guess what the next step was. You’re great at what you do.
Thanks a ton, and good luck! Drop by the NOTS forums if you have any questions during the process.
Did you SMB to work in v15? It is ridiculously hit and miss on Windows Shares.
central.owncloud.org/t/setting-up-local-same-server-smb-share/17497/5
Post #4, it also applies to Nextcloud, it's exactly how it works also in owncloud
Great tutorial! Thanks!
Thank you very much for your tutorial
Great video! thanks for sharing
Great video! Thank you very much
Performance warning
You chose SQLite as database.
SQLite should only be used for minimal and development instances. For production we recommend a different database backend.
If you use clients for file syncing, the use of SQLite is highly discouraged.
That's why this tutorial uses MariaDB/MySQL, not SQLite.
Do I need a domain for it to be secure or can I use the ip
Let's Encrypt requires that you have a domain name.
Ok, Nextcloud needs LAMP, but can it work with LEMP?
What distro and environment are you using for the video?
The desktop I recorded on is running Arch Linux with the KDE Plasma 5 desktop environment.
you're my hero!!!
you are great! thanks for this tutorial make more like this :)
I upgraded my computer and had some old hardware, so I used the old hardware, used an old case and a new 4TB disk. So I have nearly 4TB of storage.
Thank you, sir!!!
As of today the grouping of the nextcloud files were automatically assigned to the current user I had (running it throught Oracle VM on ubuntu 18.04 LTE) , but it seems I do have to regroup the files!
Just thought it would be a comment with meaning :) (and a big thank you for the tutorial! :D )
"Very easy to install nextcloud" maybe for a pro like you. All jokes aside, great video and thanks for speaking English.
what desktop os are you running in this video?
Arch Linux with the KDE Plasma desktop environment.
@@NerdOnTheStreet Nice build. Love Arch with KDE Plasma