GNU/Linux >> Belajar Linux >  >> OpenSuse

Cara Menginstal Seafile dengan Nginx di openSUSE Leap 42.1

Seafile adalah perangkat lunak hosting file gratis dengan fungsi seperti Dropbox atau Google Drive yang dapat diinstal di server Anda sendiri. Seafile dirilis di bawah lisensi OpenSource. Anda dapat membangun sinkronisasi file aman Anda sendiri dan berbagi server dengan seafile, ini adalah perangkat lunak berbagi file yang andal yang memungkinkan pengguna untuk mengenkripsi data mereka di server. Seafile ditulis dalam C dan python.

Dalam tutorial ini, saya akan menunjukkan kepada Anda bagaimana membangun sinkronisasi file Anda sendiri dan berbagi server dengan seafile di openSUSE Leap 42.1. Kami akan memandu Anda melalui penginstalan seafile lalu mengonfigurasi GUI web dengan enkripsi https di belakang server proxy terbalik nginx.

Prasyarat

  • OpenSUSE Leap 42.1 - 64bit
  • Hak istimewa root
  • Pahami perintah zypper

Langkah 1 - Konfigurasi Hostname

Masuk ke server openSUSE Anda:

ssh [email protected]

setelah Anda masuk ke server, edit file host dengan vim:

vim /etc/hosts

Tempel konfigurasi (ganti IP dan nama host dengan nilai Anda sendiri):

192.168.1.101   cloud.kuonseafile.co    cloud

Simpan dan keluar.

Catatan:

192.168.1.101 =alamat IP server saya.

Cloud =nama host server saya.

kuonseafile.co =nama domain saya.

Verifikasi hostname dan FQDN (Fully Qualified Domain Name ):

hostname
hostname -f

Langkah 2 - Instal Dependensi

Seafile ditulis dalam python, jadi kami membutuhkan beberapa pustaka python untuk instalasi. Untuk database, seafile mendukung SQLite dan MySQL, dalam tutorial ini, saya akan menggunakan database MySQL yang memberikan performa lebih baik dari SQLite.

Instal semua paket termasuk server MySQL/MariaDB dengan perintah zypper di bawah ini:

zypper in python python-imaging python-MySQL-python python-setuptools mariadb mariadb-client

Setelah penginstalan selesai, lanjutkan ke langkah berikutnya.

Langkah 3 - Konfigurasi Basis Data

Ada satu hal yang harus Anda ketahui ketika Anda ingin menggunakan seafile. Seafile membutuhkan 3 database:

  1. basis data ccnet
  2. database file laut
  3. basis data hub laut

Pada langkah 2 kita telah berhasil menginstal server MySQL/MariaDB, sekarang mulai dengan perintah di bawah ini:

rcmysql start

Tetapkan kata sandi baru untuk pengguna root mysql dengan perintah mysqladmin:

/usr/bin/mysqladmin -u root password 'aqwe123'

Selanjutnya, login ke shell MySQL dan buat 3 database untuk seafile dan satu pengguna baru untuk 3 database tersebut.

Masuk ke shell MySQL:

mysql -u root -p

KETIK SANDI "aqwe123"

Buat tiga database untuk penginstalan seafile - ccnet_db, seafile_db, dan seahub_db:

create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';

Dan buat pengguna baru seafilecloud dengan sandi '[email protected]':

create user [email protected] identified by '[email protected]';

Sekarang berikan akses untuk pengguna seafilecloud ke semua database:

grant all privileges on ccnet_db.* to [email protected] identified by '[email protected]';
grant all privileges on seafile_db.* to [email protected] identified by '[email protected]';
grant all privileges on seahub_db.* to [email protected] identified by '[email protected]';
flush privileges;

Semua database siap untuk instalasi seafile.

Langkah 4 - Instal dan Konfigurasi Seafile

Pada langkah ini, kita akan menginstal dan mengkonfigurasi seafile. Kita akan menginstal seafile di bawah user seafile dan direktori home, jadi kita perlu membuat user Linux baru dengan nama "seafile".

Buat Pengguna Baru

Buat user baru dengan nama seafile untuk instalasi:

useradd -m -s /bin/bash seafile

Catatan:

-m =Buat direktori home baru untuk pengguna di bawah "/home/".
-s /bin/bash =Tentukan shell untuk pengguna.

Unduh Seafile

Beralih ke pengguna seafile dengan perintah su di bawah ini:

su - seafile

Sekarang Anda berada di direktori home seafile, unduh seafile server 5 dengan perintah wget:

wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.3_x86-64.tar.gz

Ekstrak arsip seafile dan ganti namanya:

tar -xzvf seafile-server_5.1.3_x86-64.tar.gz
mv seafile-server-5.1.3/ seafile-server

Instal Seafile 5

Buka direktori seafile-server dan jalankan file setup untuk menginstal seafile:

cd seafile-server/

Kami akan menginstal seafile dengan database MySQL, jadi jalankan file setup MySQL:

./setup-seafile-mysql.sh

Sekarang Anda akan dimintai detail server.

nama server =gunakan nama host server.
IP server atau Domain =gunakan alamat ip server saya.
Direcoty Data Seafile =cukup tekan Enter.
Port untuk file server seafile =cukup tekan Enter.

Selanjutnya, konfigurasikan database. Kami telah membuat database kami sendiri untuk instalasi, jadi pilih nomor "2" .

Sekarang Anda akan ditanya tentang profil database:

Host mysql =Defaultnya adalah localhost.
Port default =3306.
Pengguna MySQL untuk file laut =Menggunakan pengguna yang telah kita buat di langkah 3 - "seafilecloud".
sandi MySQL =kata sandi untuk pengguna seafilecloud.
database ccnet =Kami telah membuat database - ccnet_db.
database file laut =seafile_db.
basis data seahub =seahub_db.

Jika tidak ada kesalahan yang terjadi, Anda dapat mengonfirmasi pemasangan dengan menekan "Enter".

tunggu skrip menghasilkan konfigurasi dan database.

Mulai Seafile dan Seahub

Seafile terinstal, sekarang Anda dapat memulainya dengan perintah di bawah ini:

./seafile.sh start
./seahub.sh start

Anda akan diminta untuk membuat pengguna admin untuk seafile, cukup masukkan email dan kata sandi admin Anda.

Pada tahap ini, Anda dapat mengakses GUI web seafile pada port 8000.

Langkah 5 - Instal dan Konfigurasi Nginx

Nginx adalah server web ringan dengan penggunaan memori dan konsumsi CPU yang rendah. Pada langkah ini, kita akan menginstal nginx, lalu membuat virtual host baru untuk akses reverse proxy ke seafile. Kami akan mengaktifkan https untuk koneksi di server.

Instal Nginx

Instal server web nginx dengan perintah zypper:

zypper in nginx

Buat Sertifikat SSL

Selanjutnya, buka direktori nginx dan buat direktori baru untuk sertifikat SSL. Kemudian buat file sertifikat dengan perintah OpenSSL:

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Sekarang buat file sertifikat:

openssl genrsa -out privkey.pem 4096
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

Konfigurasikan Host Virtual

Di direktori nginx, buat direktori baru bernama "vhosts.d" untuk menyimpan file virtual host. Buat direktori itu dan kemudian buat file host virtual baru dengan vim:

mkdir -p /etc/nginx/vhosts.d/
cd /etc/nginx/vhosts.d/
vim cloud.kuonseafile.conf

Tempel konfigurasi host virtual di bawah ini:

    server {
        listen       80;
        server_name  cloud.kuonseafile.co;    #Domain Name
        rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https
    }
    server {
        listen 443;
        ssl on;
        ssl_certificate /etc/nginx/ssl/cacert.pem;        # path to your cacert.pem
        ssl_certificate_key /etc/nginx/ssl/privkey.pem;    # path to your privkey.pem
        server_name cloud.kuonseafile.co;                    #Domain Name
        proxy_set_header X-Forwarded-For $remote_addr;

        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
        server_tokens off;

        location / {
            fastcgi_pass    127.0.0.1:8000;
            fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
            fastcgi_param   PATH_INFO           $fastcgi_script_name;

            fastcgi_param   SERVER_PROTOCOL        $server_protocol;
            fastcgi_param   QUERY_STRING        $query_string;
            fastcgi_param   REQUEST_METHOD      $request_method;
            fastcgi_param   CONTENT_TYPE        $content_type;
            fastcgi_param   CONTENT_LENGTH      $content_length;
            fastcgi_param   SERVER_ADDR         $server_addr;
            fastcgi_param   SERVER_PORT         $server_port;
            fastcgi_param   SERVER_NAME         $server_name;
            fastcgi_param   HTTPS               on;
            fastcgi_param   HTTP_SCHEME         https;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        location /seafhttp {
            rewrite ^/seafhttp(.*)$ $1 break;
            proxy_pass http://127.0.0.1:8082;
            client_max_body_size 0;
            proxy_connect_timeout  36000s;
            proxy_read_timeout  36000s;
            proxy_send_timeout  36000s;
            send_timeout  36000s;
        }
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

Ganti nama_server dengan nama domain Anda sendiri - baris 3 dan 11.
Untuk lokasi media baris 47, ganti ke jalur instalasi seafile - '/home/seafile/seafile-server/seahub'.

Simpan file dan keluar dari editor, lalu uji konfigurasi dengan perintah:

nginx -t

pastikan tidak ada masalah atau kesalahan pada konfigurasi.

Konfigurasikan Seafile untuk Menggunakan Domain dan HTTPS Anda sendiri

Beralih ke seafile pengguna dan edit konfigurasi. Sebelum mengedit konfigurasi, matikan layanan seafile dan seahub.

su - seafile
cd seafile-server/
./seafile.sh stop
./seahub.sh stop

Kembali ke direktori home user seafile, lalu pergi ke direktori conf dan edit file ccnet.conf dan seahub_settings.py.

cd ~/
cd conf/

Edit file ccnet.conf:

vim ccnet.conf

Pada baris 5: 'SERVICE_URL' - ganti domain dengan nama domain Anda sendiri dengan https.

SERVICE_URL = https://cloud.kuonseafile.co/

Simpan dan keluar.

Sekarang edit seahub_settings.py

vim seahub_settings.py

Tambahkan baris baru di bawah ini untuk menentukan root server file.

FILE_SERVER_ROOT = 'https://cloud.kuonseafile.co/seafhttp'

Simpan dan keluar.

Langkah 6 - Mulai seafile dan pengujian

Nginx diinstal - MariaDB/MySQL diinstal dan server seafile diinstal.

Jadikan Nginx dan MySQL untuk memulai saat boot:

systemctl enable nginx
systemctl enable mysql

Mulai ulang layanan:

systemctl restart nginx
systemctl restart mysql

Selanjutnya, mulai seafile dan seahub dari pengguna seafile:

su - seafile
cd seafile-server/
./seafile start
./seahub start-fastcgi

Semua layanan dimulai.

Sekarang Anda dapat mengakses server seafile dengan URL server Anda. Milik saya adalah:

cloud.kuonseafile.co

Anda akan diarahkan ke halaman login koneksi https dari seafile.

Masukkan detail pengguna admin yang telah kita buat di langkah 4.

Sekarang Anda dapat melihat pengelola file seafile dan mulai mengunggah file ke server file laut Anda.


OpenSuse
  1. Cara Menginstal Nginx Dengan PHP-FPM Dan MySQL Di openSUSE 12.1

  2. Bagaimana menginstal Mongodb 5 di Opensuse Leap 15.3

  3. Bagaimana menginstal Mysql Server 8 pada OpenSUSE Leap 15.3

  1. Cara menginstal &mengkonfigurasi Redis 6 pada OpenSUSE Leap 15.3

  2. Cara Menginstal dan mengatur Nginx sebagai proxy OpenSUSE Leap 15.3

  3. Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di OpenSUSE Leap 15.3

  1. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  2. Bagaimana cara menginstal Erlang di Opensuse Leap 15.3

  3. Bagaimana menginstal Java 17 di OpenSUSE Leap 15.3