Ada beberapa tutorial penyiapan server Seafile untuk ISPConfig, tetapi tidak ada yang tidak memerlukan sebagian besar pengeditan file yang benar-benar harus dibiarkan sendiri sesuai rekomendasi pengembang ISPConfig. Meskipun pengaturan ini ditulis untuk Ubuntu 14.04 LTS dan ISPConfig 3, pengaturan ini dapat diikuti untuk distro lain. Solusi ini bekerja untuk saya, tetapi jaminan atau garansi dinyatakan atau tersirat.
Diasumsikan bahwa pembaca ingin menggunakan Seafile menggunakan MySQLdan 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 web baru. Meskipun secara teknis Anda dapat menggunakan situs web yang sudah ada, membuat situs baru berfungsi lebih baik karena memungkinkan kami memisahkan semua file awan 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
<Location /media>
Require all granted
</Location>
# seafile httpserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
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 seafiledatabase klien tersebut.Setelah pengguna database dibuat, klik Databases, dan Add newDatabase. 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 situs web Anda dan jalankan perintah berikut:apt-get install python2.7 python-setuptoolspython-simplejson python-imaging python-mysqldb python-flup
Saya lebih suka menjalankan semua server saya di dalam direktori pribadi daripada direktori web, jadi kami akan menyiapkannya.
cd private
mkdir seafile
cd seafile
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_x86-64.tar.gz
atau untuk 32bit
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_i386.tar.gz
tar zxvf seafile-server_3.1.6_x86- 64.tar.gz
mkdir terpasang
mv seafile-server_* terpasang
cd seafile-server-*
./setup_seafile_mysql.sh
4 Proses Awal
Saatnya memulai seafile dan pastikan pengaturan awal berfungsi.
./seafile.sh start
./seahub.sh start
http://192.168.1.111:8000/
5 Pengaturan Apache
Sebagian besar pengaturan kami untuk Apache sebenarnya dilakukan di dalam pengaturan situs web di atas. Namun, kita perlu menambahkan baris ke apache.conf agar semuanya bekerja dengan lancar. Sayangnya, saya belum menemukan cara untuk menambahkan ini tanpa mengedit file tunggal ini.
sudo echo "## Server Eksternal Seafile">>/etc/Apache2/Apache.conf
sudo echo "FastCGIExternalServer/var/www/seafile.myDomainHere.com/web/seahub.fcgi -host127.0.0.1:8000">> /etc/apache2/apache.conf
SERVICE_URL = http://www.myseafile.comKita juga perlu memodifikasi FILE_SERVER_ROOT di /path/to/seafile-server/seahub_settings.py
FILE_SERVER_ROOT ='http://www.myseafile.com/seafhttp'
Mulai ulang Apache.sudo service apache2 restartMulai ulang layanan Seafile.
./seafile.sh start
./seahub.sh start-fastcgi
6 Aktifkan HTTPS
Satu-satunya hal yang perlu dilakukan adalah membuat kunci SSL dari dalam tab Situs ISPConfig. Karena cara ISPConfig terinstal dan beroperasi, semua hal lain harus sudah diatur. Anda mungkin perlu memastikan Apache dimulai ulang.7 Memulai layanan secara otomatis
Karena tujuannya di sini adalah untuk menyimpan semua yang ada di ISPConfig, daripada membuat layanan startup, kami akan menambahkan seafilescript ke cron job pengguna. Secara alami, Anda harus memastikan bahwa klien memiliki kemampuan untuk menambahkan pekerjaan cron penuh. /var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seahub. shstart-fastcgi
dan
/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seafile_start
UPDATE (23 November 2014) :Karena server seafile &seahub memerlukan beberapa saat untuk memulai, ada kalanya skrip kedua akan dijalankan sebelum skrip sebelumnya selesai. Dengan demikian server tidak akan mulai. Saya telah memperbarui skrip startup originalseafile agar berfungsi dengan baik dengan ISPConfig. Saya mungkin berlebihan pada perintah tunggu, tetapi skrip berfungsi dengan baik saat menggunakannya. Pastikan Anda login sebagai pengguna file ini sebelum menjalankan perintah berikut.
Buat file startup:
cd ~/private/seafile
sentuh startSeafile.sh
chmod +x startSeafile.sh
#!/bin/bash
# Ubah nilai "seafile_dir" ke jalur instalasi seafile Anda
seafile_dir=/var/www/clients/client1/web42/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
# Ubah nilai fastcgi menjadi true jika fastcgi akan digunakan
fastcgi=true
# Atur port fastcgi, defaultnya adalah 8000. Ubah jika perlu.
fastcgi_port=8000
## Perintah tidur diperlukan untuk mencegah kesalahan MYSQL jika
## skrip ini berjalan sebelum MYSQL beroperasi penuh
sleep 60 &
tunggu %1
kasus "$1" di
mulai)
${script_path}/seafile.sh start>> ${seafile_init_log} &
tunggu %1
jika [ $fastcgi =true ];
kemudian
${script_path}/seahub.sh start-{fastcgi_init_{fastcgi_} log} &
tunggu %1
else
$ {script_path} /seahub.sh start>> $ {seahub_init_log} &
tunggu %1
fi
;;
mulai ulang)
${script_path}/seafile.sh mulai ulang>> ${seafile_init_log} &
tunggu %1 = if /> Lalu
$ {script_path} /seahub.sh restart-fastcgi $ {fastcgi_port}>> $ {seahub_init_log} &
tunggu %1
lain
$ {script_path} / seahub.sh restart>> ${seahub_init_log} &
tunggu $1
fi
;;
${script_path}/seahub.sh $1>> ${seahub_init_log}
;;
*)
/init .{start|stop|restart}"
keluar 1
;;
esac
Sekarang Anda hanya perlu menambahkan satu tugas startServer.shcron ke dalam Commands to Runsection dari ISPConfig:
/var/www/clients/client1/web42/private/seafile/startSeafile. shstart
Itu dia!