GNU/Linux >> Linux Esercitazione >  >> OpenSuse

Come installare Seafile con Nginx su openSUSE Leap 42.1

Seafile è un software di file hosting gratuito con funzionalità simili a Dropbox o Google Drive che può essere installato sul tuo server. Seafile è rilasciato con una licenza OpenSource. Puoi creare la tua sincronizzazione di file sicura e condividere server con seafile, è un software di condivisione file affidabile che consente agli utenti di crittografare i propri dati sul server. Seafile è scritto in C e python.

In questo tutorial, ti mostrerò come creare la tua sincronizzazione di file e condividere il server con seafile su openSUSE Leap 42.1. Ti guideremo attraverso l'installazione di seafile e quindi configureremo la GUI web con crittografia https dietro un server proxy inverso nginx.

Prerequisito

  • OpenSUSE Leap 42.1 - 64 bit
  • Privilegi di root
  • Comprendi il comando zypper

Passaggio 1:configura il nome host

Accedi al tuo server openSUSE:

ssh [email protected]

dopo aver effettuato l'accesso al server, modifica il file hosts con vim:

vim /etc/hosts

Incolla la configurazione (sostituisci l'IP e il nome host con i tuoi valori):

192.168.1.101   cloud.kuonseafile.co    cloud

Salva ed esci.

Nota:

192.168.1.101 =indirizzo IP del mio server.

Cloud =il nome host del mio server.

kuonseafile.co =il mio nome di dominio.

Verifica nome host e FQDN (Fully Qualified Domain Name):

hostname
hostname -f

Passaggio 2:installazione delle dipendenze

Seafile è scritto in python, quindi abbiamo bisogno di diverse librerie python per l'installazione. Per il database, seafile supporta SQLite e MySQL, in questo tutorial utilizzerò un database MySQL che offre prestazioni migliori rispetto a SQLite.

Installa tutti i pacchetti incluso il server MySQL/MariaDB con il comando zypper di seguito:

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

Al termine dell'installazione, vai al passaggio successivo.

Passaggio 3:configurazione del database

C'è una cosa che dovresti sapere quando vuoi distribuire seafile. Seafile ha bisogno di 3 database:

  1. database ccnet
  2. database Seafile
  3. database seahub

Al passaggio 2 abbiamo installato correttamente il server MySQL/MariaDB, ora avvialo con il comando seguente:

rcmysql start

Imposta una nuova password per l'utente root mysql con il comando mysqladmin:

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

Quindi, accedi alla shell MySQL e crea 3 database per seafile e un nuovo utente per quei 3 database.

Accedi alla shell MySQL:

mysql -u root -p

DIGITARE PASSWORD "aqwe123"

Crea i tre database per l'installazione di seafile:ccnet_db, seafile_db e seahub_db:

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

E crea un nuovo utente seafilecloud con la password '[email protected]':

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

Ora concedi l'accesso per l'utente seafilecloud a tutti i 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;

Tutti i database sono pronti per l'installazione di seafile.

Fase 4 - Installa e configura Seafile

In questo passaggio installeremo e configureremo seafile. Installeremo seafile sotto l'utente seafile e la directory home, quindi dobbiamo creare un nuovo utente Linux con il nome "seafile".

Crea il nuovo utente

Crea un nuovo utente con il nome seafile per l'installazione:

useradd -m -s /bin/bash seafile

Nota:

-m =Crea una nuova home directory per l'utente in "/home/".
-s /bin/bash =Definisci la shell per l'utente.

Scarica Seafile

Passa all'utente seafile con il comando su di seguito:

su - seafile

Ora sei nella home directory di seafile, scarica il server 5 di seafile con il comando wget:

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

Estrarre l'archivio seafile e rinominarlo:

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

Installa Seafile 5

Vai alla directory seafile-server ed esegui il file di installazione per installare seafile:

cd seafile-server/

Installeremo seafile con il database MySQL, quindi esegui il file di installazione MySQL:

./setup-seafile-mysql.sh

Ora ti verranno chiesti i dettagli del server.

nome server =usa il nome host del server.
IP server o dominio =usa l'indirizzo IP del mio server.
Seafile Data direcoty =basta premere Invio.
Porta per il file server seafile =basta premere Invio.

Quindi, configura il database. Abbiamo creato il nostro database per l'installazione, quindi scegli il numero "2" .

Ora ti verrà chiesto del profilo del database:

Host di MySQL =L'impostazione predefinita è localhost.
Porta predefinita =3306.
Utente MySQL per seafile =Utilizza l'utente che abbiamo creato nel passaggio 3 - "seafilecloud".
Password MySQL =password per l'utente seafilecloud.
database ccnet =Abbiamo creato il databsae - ccnet_db.
database seafile =seafile_db.
database seahub =seahub_db.

Se non si sono verificati errori, puoi confermare l'installazione premendo "Invio".

attendi che lo script generi la configurazione e il database.

Avvia Seafile e Seahub

Seafile è installato, ora puoi avviarlo con il comando seguente:

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

Ti verrà chiesto di creare un utente amministratore per seafile, inserisci l'email e la password di amministratore.

A questo punto, puoi accedere alla GUI web di seafile sulla porta 8000.

Fase 5 - Installa e configura Nginx

Nginx è un server Web leggero con basso utilizzo di memoria e consumo di CPU. In questo passaggio, installeremo nginx, quindi creeremo un nuovo host virtuale per l'accesso proxy inverso a seafile. Abiliteremo https per le connessioni sul server.

Installa Nginx

Installa il server web nginx con il comando zypper:

zypper in nginx

Genera il certificato SSL

Quindi, vai alla directory nginx e crea una nuova directory per il certificato SSL. Quindi genera il file del certificato con il comando OpenSSL:

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

Ora genera il file del certificato:

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

Configura host virtuale

Nella directory nginx, crea una nuova directory chiamata "vhosts.d" per archiviare il file dell'host virtuale. Crea quella directory e quindi crea un nuovo file host virtuale con vim:

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

Incolla la configurazione dell'host virtuale di seguito:

    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;
        }
    }

Sostituisci server_name con il tuo nome di dominio - riga 3 e 11.
Per la posizione del supporto riga 47, sostituisci con il percorso dell'installazione di seafile - '/home/seafile/seafile-server/seahub'.

Salvare il file ed uscire dall'editor, quindi testare la configurazione con il comando:

nginx -t

assicurati che non ci siano problemi o errori nella configurazione.

Configura Seafile per utilizzare il tuo dominio e HTTPS

Passa all'utente seafile e modifica la configurazione. Prima di modificare la configurazione, disattivare il servizio seafile e seahub.

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

Torna alla home directory dell'utente di seafile, quindi vai alla directory conf e modifica i file ccnet.conf e seahub_settings.py.

cd ~/
cd conf/

Modifica il file ccnet.conf:

vim ccnet.conf

Alla riga 5: 'SERVICE_URL':sostituisci il dominio con il tuo nome di dominio con https.

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

Salva ed esci.

Ora modifica seahub_settings.py

vim seahub_settings.py

Aggiungi la nuova riga di seguito per definire la radice del file server.

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

Salva ed esci.

Fase 6 - Avvia seafile e test

Nginx è installato - MariaDB/MySQL sono installati e il server seafile è installato.

Fai Nginx e MySQL per iniziare all'avvio:

systemctl enable nginx
systemctl enable mysql

Riavvia i servizi:

systemctl restart nginx
systemctl restart mysql

Quindi, avvia seafile e seahub dall'utente seafile:

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

Tutti i servizi sono avviati.

Ora puoi accedere al server seafile con l'URL del tuo server. Il mio è:

cloud.kuonseafile.co

Verrai reindirizzato alla pagina di accesso alla connessione https di seafile.

Inserisci i dettagli dell'utente amministratore che abbiamo creato nel passaggio 4.

Ora puoi vedere il file manager di seafile e iniziare a caricare i file sul tuo server seafile.


OpenSuse
  1. Come installare Nginx con PHP-FPM e MySQL su openSUSE 12.1

  2. Come installare Mongodb 5 in Opensuse Leap 15.3

  3. Come installare Mysql Server 8 su OpenSUSE Leap 15.3

  4. Come installare e configurare Redis 6 su OpenSUSE Leap 15.3

  5. Come installare Erlang su Opensuse Leap 15.3

Come installare Skype su openSUSE Leap

Come installare NGINX su openSUSE

Come installare TeamViewer 12 su openSUSE Leap 42.2

Come installare Dropbox su openSUSE Leap 42.2

Come installare RabbitMQ in OpenSUSE Leap 15.3

Come installare Google Chrome su openSUSE Leap 15