GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan ISPConfig dan Seafile tanpa modifikasi file manual

Tutorial ISPConfig Seafile 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 keselamatan dan keamanan yang lebih besar karena kata sandi hanya dipertukarkan antara klien yang mengatur sistem, dan penggunanya sendiri daripada perusahaan cloud hosting perusahaan.

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

Pada titik ini Anda harus menjawab pertanyaan yang diminta karena berhubungan dengan sistem dan instalasi Anda. Saat Anda masuk ke bagian berjudul Please Choose a way to initializeseafile databases, Anda harus memilih 2dan memasukkan informasi database dari penyiapan ISPConfig Anda.

4 Proses Awal

Saatnya 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

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

Sekarang ubah SERVICE_URL di /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = http://www.myseafile.com
Kita 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 restart
Mulai 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. Pastikan Anda menambahkan dua tugas cron yang berbeda; satu untuk seafile dan satu lagi untuk seahub.Sisipkan yang berikut ini di Command to Runsection:

/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

Tempel kode berikut ke dalam skrip 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!


Linux
  1. Cara Menggunakan Awk dan Ekspresi Reguler untuk Memfilter Teks atau String dalam File

  2. Cara Menyembunyikan File Dan Folder di File Manager Tanpa Mengganti Nama

  3. Bagaimana cara menghapus file tanpa menggunakan rm?

  1. Bagaimana Cara Menginstal Dan Menggunakan Pycharm Tanpa Harus Menggunakan Terminal?

  2. UNIX / Linux:Cara Menggunakan Sticky Bit pada Direktori dan File

  3. Cara Audit untuk Modifikasi file dan Eksekusi File di Linux

  1. Memahami jalur file dan cara menggunakannya di Linux

  2. Apa itu chroot jail dan Bagaimana Cara Menggunakannya?

  3. Apa itu file dtb u-Boot dan bagaimana cara menggunakannya (BeagleBoard xM)?