Kami telah menerbitkan tutorial tentang cara menginstal Nextcloud di Ubuntu 16.04 dengan server web Apache pada Juni 2016, tak lama setelah rilis publik pertama Nextcloud. Tetapi banyak orang ingin menggunakan Nginx daripada Apache sebagai server web. Jadi dalam tutorial ini kita akan melihat cara menginstal Nextcloud 13 di Ubuntu 16.04 dengan Nginx.
Catatan:Jika Anda menggunakan Ubuntu 18.04, ikuti tutorial ini:Instal Nextcloud di Ubuntu 18.04 dengan Nginx (LEMP stack)
Prasyarat
Pertama, Anda harus melihat tutorial pemasangan LEMP ini untuk Ubuntu 16.04 jika Anda belum menginstal LEMP. Setelah terinstal, kembali ke sini dan baca terus.
Langkah 1:Unduh NextCloud 13
Unduh arsip zip server NextCloud ke server Anda. Versi stabil terbaru adalah 13.0.4 pada saat penulisan ini. Anda mungkin perlu mengubah nomor versi. Buka https://nextcloud.com/install dan klik tombol download untuk melihat versi terbaru.
wget https://download.nextcloud.com/server/releases/nextcloud-13.0.4.zip
Ekstrak.
sudo apt install unzip unzip nextcloud-13.0.4.zip
Direktori baru bernama nextcloud
akan dibuat di direktori kerja saat ini. Pindahkan direktori baru dan semua kontennya ke root dokumen server web Nginx
sudo mv nextcloud /usr/share/nginx/
Kemudian Anda juga perlu mengatur pengguna Nginx (www-data) sebagai pemilik direktori NextCloud.
sudo chown www-data:www-data /usr/share/nginx/nextcloud/ -R
Langkah 2:Buat Database dan Pengguna di MariaDB
Masuk ke server database MariaDB dengan perintah berikut:
sudo mysql -u root
Kemudian buat database untuk Nextcloud. Tutorial ini memberi nama database nextcloud. Anda dapat menggunakan nama apa pun yang Anda suka.
create database nextcloud;
Buat pengguna basis data. Sekali lagi, Anda dapat menggunakan nama pilihan Anda untuk pengguna ini. Ganti kata sandi Anda dengan kata sandi pilihan Anda.
create user nextclouduser@localhost identified by 'your-password';
Berikan pengguna ini semua hak istimewa di nextcloud
basis data.
grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'your-password';
Hapus hak istimewa dan keluar.
flush privileges; exit;
Langkah 3:Aktifkan Logging Biner di MariaDB
Edit file konfigurasi mysqld.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Tambahkan tiga baris berikut di [mysqld]
bagian.
log-bin = /var/log/mysql/mariadb-bin log-bin-index = /var/log/mysql/mariadb-bin.index binlog_format = mixed
Format log biner harus mixed
. Simpan dan tutup file. Kemudian restart layanan MariaDB.
sudo systemctl restart mysql
Sekarang log biner diaktifkan di MariaDB.
Langkah 4:Buat File Konfigurasi Nginx untuk Nextcloud
Buat nextcloud.conf
file di /etc/nginx/conf.d/
direktori.
sudo nano /etc/nginx/conf.d/nextcloud.conf
Masukkan teks berikut ke dalam file. Ganti teks berwarna merah dengan data Anda yang sebenarnya. Jangan lupa untuk menetapkan A record untuk nama domain.
server { listen 80; server_name nextcloud.your-domain.com; # Add headers to serve security related headers add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; # Path to the root of your installation root /usr/share/nginx/nextcloud/; location = /robots.txt { allow all; log_not_found off; access_log off; } # The following 2 rules are only needed for the user_webfinger app. # Uncomment it if you're planning to use this app. #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json # last; location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } location ~ /.well-known/acme-challenge { allow all; } # set max upload size client_max_body_size 512M; fastcgi_buffers 64 4K; # Disable gzip to avoid the removal of the ETag header gzip off; # Uncomment if your server is build with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location / { rewrite ^ /index.php$uri; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) { include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; #Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } # Adding the cache control header for js and css files # Make sure it is BELOW the PHP block location ~* \.(?:css|js)$ { try_files $uri /index.php$uri$is_args$args; add_header Cache-Control "public, max-age=7200"; # Add headers to serve security related headers (It is intended to # have those duplicated to the ones above) add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; # Optional: Don't log access to assets access_log off; } location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ { try_files $uri /index.php$uri$is_args$args; # Optional: Don't log access to other assets access_log off; } }
Simpan dan tutup file. Uji konfigurasi Nginx, lalu muat ulang Nginx agar perubahan diterapkan.
sudo nginx -t sudo systemctl reload nginx
Langkah 5:Instal dan Aktifkan Modul PHP
Jalankan perintah berikut untuk menginstal modul PHP yang diperlukan.
sudo apt install php7.0-common php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring
Langkah 6:Aktifkan HTTPS
Sekarang Anda dapat mengakses wizard penginstalan web Nextcloud di browser Anda dengan memasukkan nama domain untuk penginstalan Nextcloud Anda.
nextcloud.your-domain.com
Tetapi sebelum memasukkan informasi sensitif apa pun, kita harus mengaktifkan koneksi HTTPS aman di Nextcloud. Kami dapat memperoleh sertifikat TLS gratis dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien certbot (Let's Encrypt) di Ubuntu 16.04 dari PPA resmi. software-properties-common
paket diperlukan untuk menambahkan PPA di Ubuntu. Terkadang, itu tidak diinstal secara default di Ubuntu. Python-certbot-nginx
adalah plugin Nginx.
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python-certbot-nginx
Anda mungkin juga perlu memutakhirkan beberapa perpustakaan.
sudo apt upgrade
Selanjutnya, jalankan perintah berikut untuk mendapatkan sertifikat TLS gratis menggunakan plugin Nginx.
sudo certbot --nginx --agree-tos --redirect --staple-ocsp --email your-email-address -d nextcloud.your-domain.com
Dalam beberapa detik, Anda akan melihat pesan seperti di bawah ini, yang berarti sertifikat TLS berhasil diperoleh dan diinstal.
Selesaikan Instalasi di Browser Web Anda
Sekarang Anda dapat mengakses wizard penginstalan web Nextcloud menggunakan koneksi HTTPS. Untuk menyelesaikan instalasi, Anda perlu membuat akun admin, masuk ke jalur folder data Nextcloud, masukkan detail database yang dibuat sebelumnya.
Folder data adalah tempat file pengguna disimpan. Untuk keamanan, yang terbaik adalah menempatkan direktori data di luar root web Nextcloud. Jadi, alih-alih menyimpan file pengguna di bawah /usr/share/nginx/nextcloud/data/
, kita dapat mengubahnya menjadi /usr/share/nginx/nextcloud-data
, yang dapat dibuat dengan perintah berikut:
sudo mkdir /usr/share/nginx/nextcloud-data
Kemudian pastikan pengguna Nginx (www-data
) memiliki izin menulis ke direktori data.
sudo chown www-data:www-data /usr/share/nginx/nextcloud-data -R
Setelah selesai, Anda akan melihat antarmuka Web Nextcloud. Selamat! Anda dapat mulai menggunakannya sebagai penyimpanan cloud pribadi Anda.
Itu dia! Saya harap tutorial ini membantu Anda menginstal Nextcloud di Ubuntu 16.04 dengan konfigurasi Nginx. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami. Anda juga dapat mengikuti kami di Google+, Twitter atau menyukai halaman Facebook kami.