Cara menggunakan nextcloud config.php example

Layaknya aplikasi cloud storage seperti Google Drive, Dropbox, OneDrive, dan lain sebagainya, Anda juga bisa menggunakan Nextcloud sebagai alternatif yang bisa dipasang pada server pribadi. Berbasis open-source, Nextcloud bisa dimanfaatkan untuk menyimpan, mengelola, dan membagikan file, di manapun dan kapanpun menggunakan internet.

Secara default, Nextcloud menggunakan storage yang ada pada server sebagai layanan penyimpanan, untuk path lokasi penyimpanan file-file yang ada pada Nextcloud terletak di /var/snap/nextcloud/common/nextcloud/data.

Selain menggunakan Block Storage, Object Storage juga dapat digunakan sebagai penyimpanan primary dari Nextcloud. Object Storage memiliki beberapa kelebihan yakni dalam segi pengaksesan relatif lebih cepat jika dibandingkan dengan Block Storage, sementara dari sisi harga Object Storage relatif lebih murah dibanding Block Storage.

Pada artikel ini akan menggunakan NEO Object Storage dari NEO Cloud sebagai contoh untuk penyimpanan utama dari Nextcloud. Sekedar informasi tambahan, Object Storage dari NEO Cloud sendiri merupakan S3 Compatible yang berarti mampu mendukung API dari Amazon S3.

Pertama-tama subscribe, dahulu NEO Object Storage dengan penyimpanan sesuai yang Anda butuhkan. Daftar dan berlangganan NEO Cloud di halaman portal ini. Setelah itu dapatkan Access Key dan Secret Key dari layanan NEO Object Storage yang Anda miliki. Access Key dan Secret Key ini berfungsi sebagai kredensial yang menyerupai nama pengguna dan kata sandi untuk mengakses NEO Object Storage milik Anda.

Kemudian buat bucket baru yang akan digunakan untuk penyimpanan file-file yang ada pada Nextcloud.

Setelah itu masuk ke Server/VM anda dan edit file config.php yang terletak di path /var/snap/nextcloud/Version-Number/nextcloud/config/config.php.

Setelah itu tambahkan baris konfigurasi berikut pada file tersebut.

'objectstore' => array(
    'class' => 'OC\\Files\\ObjectStore\\S3',
    'arguments' => array(
        'bucket' => 'nama-bucket-anda',
        'autocreate' => true,
        'key' => 'access-key-anda',
        'secret' => 'secret-key-anda',
        'hostname' => 'nos.wjv-1.neo.id',
        'port' => 443,
        'use_ssl' => true,
        'region' => 'optional',
        // required for some non amazon s3 implementations
        'use_path_style'=>true
    ),
),

Edit seperti parameter di atas lalu simpan setelah selesai. Berikut contoh pembaruan parameter tersebut pada file config.php.

Cara menggunakan nextcloud config.php example

Selanjutnya restart snap service dari Nextcloud dengan perintah berikut:

$ systemctl restart snap.nextcloud.apache.service

Cek log apakah snap service tengah berjalan atau berhenti dengan perintah berikut:

$ systemctl restart snap.nextcloud.apache.service

Mengelola file di NEO Object Storage yang tidak hanya memiliki arsitektur komputasi yang kokoh, tetapi juga Anda bisa memanfaatkan fitur replikasi untuk menjaga ketersediaan data yang ada. Fitur ini memanfaatkan adanya multi-region dari layanan NEO Cloud yang dijalankan oleh dua data center.

Anda bisa mendapatkan NEO Object Storage di halaman portal NEO Cloud sekarang.

*)Tulisan ini pertama kali ditulis oleh SysOps Engineer Biznet Gio, Andreas Eko Widodo, pada halaman ini. Disadur berdasarkan redaksi Biznet Gio atas persetujuan penulis.

1. Update OS Raspberry dan firmware dengan mengikuti perintah berikut : 

 sudo apt update 

sudo apt full-upgrade 

sudo rpi-update

Cara menggunakan nextcloud config.php example

2. Install mariadb-server dengan mengikuti perintah berikut : sudo apt install mariadb-server

Cara menggunakan nextcloud config.php example

3. Set Up mariadb. 

sudo mysql_secure_installation 


Enter current password for root (enter for none) : (klik enter) 

Set root password? [Y/n} (klik y) New password : (isi paswword database) 

Remove anonymous users? [Y/n] (pilih y) 

Disallow root login remotely? [Y/n] (pilih y) 

Remove test database and access to it? [Y/n] (pilih y) 

Reload privilege tables now? [Y/n] (pilih y)

Cara menggunakan nextcloud config.php example

4. Membuat Database untuk cloud server sudo mariadb 


CREATE DATABASE teguh; 

SHOW DATABASES; 

GRANT ALL PRIVILEGES ON teguh.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'mypassword'; FLUSH PRIVILEGES;

Cara menggunakan nextcloud config.php example

5. Intsall Apache dan beberapa paket yang dibutuhkan. 

sudo apt install php php-apcu php-bcmath php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-mbstring php-mysql php-zip php-xml

Cara menggunakan nextcloud config.php example

6. Restart Service mariadb dan apache2 


sudo systemctl restart apache2 

sudo systemctl restart mariadb

Cara menggunakan nextcloud config.php example

7. Aktifkan ekstensi PHP yang sebelumnya diinstall 


 sudo phpenmod bcmath gmp imagick intl

Cara menggunakan nextcloud config.php example

8. Cek web service yang sebelumnya diinstall, dengan membuka browser dengan alamat localhost atau ip raspberry yang diinstall. 


9. Download Nextcloud 


cd /home/pi/Downloads 

wget https://download.nextcloud.com/server/releases/nextcloud-21.0.0.zip 

sudo apt install unzip unzip nextcloud-.zip 

sudo mv nextcloud /var/www/html

Cara menggunakan nextcloud config.php example

Cara menggunakan nextcloud config.php example

10. Beri hak akses pada file nextcloud 


sudo chown -R www-data:www-data nextcloud 

sudo a2dissite 000-default.conf 

sudo systemctl reload apache2 


11. Tambahkan host virtual Apache untuk Nextcloud 


sudo nano /etc/apache2/sites-available/nextcloud.conf


<VirtualHost *:80>

     DocumentRoot "/var/www/html/nextcloud"

     ServerName nextcloud


     <Directory "/var/www/html/nextcloud/">

         Options MultiViews FollowSymlinks

         AllowOverride All

         Order allow,deny

         Allow from all

    </Directory>


    TransferLog /var/log/apache2/nextcloud_access.log

    ErrorLog /var/log/apache2/nextcloud_error.log


 </VirtualHost>


12. Aktifkan situs 


 sudo a2ensite nextcloud.conf 


13. Config file php.ini 

 Ubuntu : 

sudo nano /etc/php/7.4/apache2/php.ini 


Debian : 

sudo nano /etc/php/7.3/apache2/php.ini 


Sesuaikan parameter yang ada di file php.ini:


memory_limit = 512M

upload_max_filesize = 200M 

max_execution_time = 360 

post_max_size = 200M 

date.timezone = America/Detroit 

opcache.enable=1 

opcache.interned_strings_buffer=8 

opcache.max_accelerated_files=10000 

opcache.memory_consumption=128 

opcache.save_comments=1 

opcache.revalidate_freq=1

14. Aktifkan mod Apache yang diperlukan 


sudo a2enmod dir env headers mime rewrite ssl 

sudo systemctl restart apache2 


 15. Perbarui konfigurasi agar sesuai dengan info database yang Anda gunakan sebelumnya 


 Aktifkan cache memori 

Edit file konfigurasi Nextcloud berikut : 


sudo nano /var/www/html/nextcloud/config/config.php 


Tambahkan baris berikut diakhir: 


 'memcache.local' => '\OC\Memcache\APCu', 


Beri hak akses pada config.php 


sudo chmod 660 /var/www/nextcloud/config/config.php 

sudo chown root:www-data /var/www/html/nextcloud/config/config.php 


Perbaiki indeks database sudo php /var/www/html/nextcloud/occ db:add-missing-indices 



 16. Buat sertifikat SSL (Optional)


sudo add-apt-repository ppa:certbot/certbot 

sudo certbot --apache -d nextcloud