Seafile adalah sistem penyimpanan file berbasis cloud open-source yang mirip dengan Dropbox &Box. Perbedaannya adalah bahwa Seafile dapat digunakan pada sistem klien sendiri. Ini memberikan faktor keamanan dan keselamatan yang lebih besar karena kata sandi hanya dipertukarkan antara klien yang menyiapkan sistem, dan penggunanya sendiri daripada perusahaan hosting awan perusahaan.
Ada beberapa tutorial pengaturan server Seafile untuk ISPConfig, tetapi tidak ada yang tidak memerlukan sebagian besar pengeditan file yang harus benar-benar dibiarkan sendiri sesuai rekomendasi pengembang ISPConfig. Meskipun pengaturan ini ditulis untuk Ubuntu 18.04 LTS dan ISPConfig 3, ini dapat diikuti untuk distribusi lain. Solusi ini bekerja untuk saya, tetapi tidak ada jaminan atau garansi yang tersurat maupun tersirat.
Diasumsikan bahwa pembaca ingin menggunakan Seafile menggunakan MySQL dan Apache (juga https). Juga diasumsikan bahwa Anda dapat menggunakan ISPConfig secara fungsional, karena ini bukan tutorial ISPConfig.
1 Situs Web Penyiapan
Buka panel kontrol hosting ISPConfig Anda, klik tab Situs, dan buat situs baru. Pastikan Anda memilih None untuk Auto-Subdomain, SSL, Let's Encrypt SSL, dan Fast-CGI untuk PHP. Meskipun Anda secara teknis dapat menggunakan situs web yang ada, membuat situs web baru berfungsi lebih baik karena memungkinkan kami untuk memisahkan semua file cloud dari situs lain. Ini juga diperlukan untuk menggunakan panel ISPConfig untuk perubahan konfigurasi.
Di panel konfigurasi situs web, klik tab Opsi dan masukkan yang berikut di bagian Petunjuk Apache:
Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media
RewriteEngine On
Memerlukan semua yang diberikan
# seafile httpserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub#SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1ProxyPass / http://127.0.0.1:8000/ProxyPassReverse / http://127.0.0.1:8000/
Anda juga harus membuat pengguna shell untuk situs ini karena akan segera diperlukan.
2 Buat Database
Dari panel Sites di ISPConfig, pilih Database User dan Add new User. Buat satu pengguna per klien yang akan mengelola database file laut klien tersebut.
Setelah pengguna database dibuat, klik Database, dan Tambahkan Basis Data baru. Anda perlu menambahkan tiga database terpisah: ccnetdb, seafiledb, seahubdb
3 Unduh dan Instal perangkat lunak Seafile
Ada beberapa paket wajib yang perlu kita instal. SSH ke server Anda dengan pengguna yang memiliki izin yang memadai untuk menginstal perangkat lunak.
apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup
Saya lebih suka menjalankan semua server saya di dalam direktori pribadi daripada direktori web, jadi kami akan menyiapkannya. SSH ke server dengan nama pengguna yang kita buat di atas.
cd private
mkdir seafile
cd seafile
wget https://download.seadrive.org/seafile-server_6.3.2_x86-64.tar.gz
atau untuk 32bit
wget https://download.seadrive.org/seafile-server_6.2.5_i386.tar.gz
tar zxvf seafile-server_6.3.2_x86-64.tar .gz
mkdir terpasang
mv seafile-server_* terpasang
cd seafile-server-*
./setup-seafile-mysql.sh
Pada titik ini, Anda harus menjawab pertanyaan yang diajukan terkait dengan sistem dan instalasi Anda. Saat Anda masuk ke bagian berjudul Please Choose a way to initialize seafile databases, Anda harus memilih 2 dan memasukkan informasi database dari penyiapan ISPConfig Anda.
4 Proses Awal
Saatnya untuk memulai seafile dan pastikan pengaturan awal berfungsi.
./seafile.sh start
./seahub.sh start
Setelah memulai layanan, buka browser web Anda dan arahkan ke alamat situs web yang Anda buat di atas dengan port 8000.
http://192.168.1.111:8000/
5 Pengaturan Apache
Sekarang ubah SERVICE_URL di /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL =https://www.myseafile.com
Kita juga perlu memodifikasi FILE_SERVER_ROOT di /path/to/seafile-server/seahub_settings.py
FILE_SERVER_ROOT ='https://www.myseafile.com/seafhttp'
Mulai ulang Apache.
sudo service apache2 restart
Mulai ulang layanan Seafile.
./seafile.sh start
./seahub.sh start
6 Memulai layanan secara otomatis
Karena tujuannya di sini adalah untuk menyimpan semuanya dengan ISPConfig, daripada membuat layanan startup, kami akan menambahkan skrip seafile ke cron job pengguna. Secara alami, Anda harus memastikan bahwa klien memiliki kemampuan untuk menambahkan pekerjaan cron penuh.
Buat file startup:
cd ~/private/seafile
sentuh startSeafile.sh
chmod +x startSeafile.sh
Tempelkan kode berikut ke dalam skrip startSeafile.sh:
#!/bin/bash
# Ubah nilai "seafile_dir" ke jalur instalasi seafile Anda
seafile_dir=/var/www/clients/client1/web2/private/ seafile
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub. init.log
## Perintah tidur diperlukan untuk mencegah kesalahan MYSQL jika
## skrip ini berjalan sebelum MYSQL beroperasi penuh
sleep 60 &
tunggu %1
case "$1" di
mulai)
${script_path}/seafile.sh start>> ${seafile_init_log} &
tunggu %1
${script_path}/seahub.sh mulai>> ${seahub_init_log} &
tunggu %1
;;
mulai ulang)
${script_path}/seafile.sh mulai ulang>> ${seafile_init_log} &
tunggu %1
${script_path}/seahub.sh mulai ulang>> ${seahub_init_log} &
tunggu %1
;;
berhenti )
${script_path}/seafile.sh $1>> ${seafile_init_log} &
${script_path}/seahub.sh $1>> ${seahub_init_log}
;;
*)
echo "Penggunaan:/etc/init.d/seafile {start|stop|restart}"
keluar 1
;;
esac
Untuk memastikan bahwa file cron ditulis dengan benar, ada beberapa hal yang harus diperiksa. Klik Klien -> [klien Anda] -> Batas. Pastikan Batas Pekerjaan Cron diatur ke Cron Penuh dengan penundaan 0 antara eksekusi. Setelah itu, Anda hanya perlu menambahkan tugas cron startServer.sh tunggal ke dalam bagian Commands to Run di ISPConfig.
/var/www/clients/client1/web42/private/seafile/startSeafile.sh start
Sudah!Tautan
- ISPConfig
- Seafile