NextCloud: Difference between revisions
Created page with "NextCloud is a free open-source self-hosted cloud storage solution. It’s functionally similar to Dropbox. Proprietary cloud storage solutions (Dropbox, Google Drive, etc) are convenient, but at a price: they can be used to collect personal data because your files are stored on their computers. If you worried about privacy, you can switch to NextCloud, which you can install on your private home server or on a virtual private server (VPS). You can upload your files to yo..." |
|||
| Line 1: | Line 1: | ||
NextCloud is a free open-source self-hosted cloud storage solution. It’s functionally similar to Dropbox. Proprietary cloud storage solutions (Dropbox, Google Drive, etc) are convenient, but at a price: they can be used to collect personal data because your files are stored on their computers. If you worried about privacy, you can switch to NextCloud, which you can install on your private home server or on a virtual private server (VPS). You can upload your files to your server via NextCloud and then sync those files to your desktop computer, laptop or smartphone. This way you have full control of your data. | NextCloud is a free open-source self-hosted cloud storage solution. It’s functionally similar to Dropbox. Proprietary cloud storage solutions (Dropbox, Google Drive, etc) are convenient, but at a price: they can be used to collect personal data because your files are stored on their computers. If you worried about privacy, you can switch to NextCloud, which you can install on your private home server or on a virtual private server (VPS). You can upload your files to your server via NextCloud and then sync those files to your desktop computer, laptop or smartphone. This way you have full control of your data. | ||
== NextCloud Features == | == NextCloud Features == | ||
* Free and open-source | * Free and open-source | ||
| Line 9: | Line 7: | ||
* The app store contains hundreds of apps to extend functionality (like calendar app, contacts app, note-taking app, video conferencing app, etc). | * The app store contains hundreds of apps to extend functionality (like calendar app, contacts app, note-taking app, video conferencing app, etc). | ||
* The sync client is available on Linux, macOS, Windows, iOS and android. | * The sync client is available on Linux, macOS, Windows, iOS and android. | ||
== Installasi == | == Installasi == | ||
=== Download NextCloud on Ubuntu 20.04 === | === Download NextCloud on Ubuntu 20.04 === | ||
Log into your Ubuntu 20.04 server. Then download the NextCloud zip archive onto your server. The latest stable version is 21.0.1 at time of this writing. You may need to change the version number. Go to https://nextcloud.com/install and click the <code>download for server</code> button to see the latest version. | Log into your Ubuntu 20.04 server. Then download the NextCloud zip archive onto your server. The latest stable version is 21.0.1 at time of this writing. You may need to change the version number. Go to https://nextcloud.com/install and click the <code>download for server</code> button to see the latest version. | ||
| Line 24: | Line 20: | ||
The <code>-d</code> option specifies the target directory. NextCloud web files will be extracted to <code>/usr/share/nginx/nextcloud/</code>. Then we need to change the owner of this directory to <code>www-data</code> so that the web server (Nginx) can write to this directory. | The <code>-d</code> option specifies the target directory. NextCloud web files will be extracted to <code>/usr/share/nginx/nextcloud/</code>. Then we need to change the owner of this directory to <code>www-data</code> so that the web server (Nginx) can write to this directory. | ||
sudo chown www-data:www-data /usr/share/nginx/nextcloud/ -R | sudo chown www-data:www-data /usr/share/nginx/nextcloud/ -R | ||
=== Create a Database and User for Nextcloud in MariaDB Database Server === | === Create a Database and User for Nextcloud in MariaDB Database Server === | ||
Log into MariaDB database server with the following command. Since MariaDB is now using <code>unix_socket</code> plugin to authentication user login, there’s no need to enter MariaDB root password. We just need to prefix the <code>mysql</code> command with <code>sudo</code>. | Log into MariaDB database server with the following command. Since MariaDB is now using <code>unix_socket</code> plugin to authentication user login, there’s no need to enter MariaDB root password. We just need to prefix the <code>mysql</code> command with <code>sudo</code>. | ||
| Line 31: | Line 26: | ||
create database nextcloud; | create database nextcloud; | ||
Create the database user. Again, you can use your preferred name for this user. Replace <code>your-password</code> with your preferred password. | Create the database user. Again, you can use your preferred name for this user. Replace <code>your-password</code> with your preferred password. | ||
create user | create user [/cdn-cgi/l/email-protection <nowiki>[email protected]</nowiki>] identified by 'your-password'; | ||
Grant this user all privileges on the <code>nextcloud</code> database. | Grant this user all privileges on the <code>nextcloud</code> database. | ||
grant all privileges on nextcloud.* to | grant all privileges on nextcloud.* to [/cdn-cgi/l/email-protection <nowiki>[email protected]</nowiki>] identified by 'your-password'; | ||
Flush privileges and exit. | Flush privileges and exit. | ||
flush privileges; | flush privileges; | ||
exit; | exit; | ||
=== Create a Nginx Config File for Nextcloud === | === Create a Nginx Config File for Nextcloud === | ||
Create a <code>nextcloud.conf</code> file in <code>/etc/nginx/conf.d/</code> directory, with a command-line text editor like Nano. | Create a <code>nextcloud.conf</code> file in <code>/etc/nginx/conf.d/</code> directory, with a command-line text editor like Nano. | ||
| Line 161: | Line 155: | ||
If the test is successful, reload Nginx for the changes to take effect. | If the test is successful, reload Nginx for the changes to take effect. | ||
sudo systemctl reload nginx | sudo systemctl reload nginx | ||
=== Install and Enable PHP Modules === | === Install and Enable PHP Modules === | ||
Run the following commands to install PHP modules required or recommended by NextCloud. | Run the following commands to install PHP modules required or recommended by NextCloud. | ||
sudo apt install imagemagick php-imagick php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp | sudo apt install imagemagick php-imagick php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp | ||
== Terkait == | |||
* [[NextCloud:Disable server-side-encryption]] | |||
== Source == | == Source == | ||
* [https://www.linuxbabe.com/ubuntu/install-nextcloud-ubuntu-20-04-nginx-lemp-stack linuxbabe.com] | * [https://www.linuxbabe.com/ubuntu/install-nextcloud-ubuntu-20-04-nginx-lemp-stack linuxbabe.com] | ||
[[Category:Server]] | [[Category:Server]] | ||
[[Category:Linux]] | [[Category:Linux]] | ||