Takip et

Ubuntu 20.04 Üzerinde Seafile ile Dosyalarınızı Senkronize Etme ve Paylaşma: Kapsamlı Bir Rehber

Ubuntu 20.04 Üzerinde Seafile ile Dosyalarınızı Senkronize Etme ve Paylaşma: Kapsamlı Bir Rehber Giriş Günümüzün dijital dünyasında dosy

Ubuntu 20.04 Üzerinde Seafile ile Dosyalarınızı Senkronize Etme ve Paylaşma: Kapsamlı Bir Rehber

Giriş

Günümüzün dijital dünyasında dosyaların güvenli bir şekilde depolanması, senkronize edilmesi ve paylaşılması kritik bir ihtiyaç haline gelmiştir. Ticari bulut depolama hizmetleri (Dropbox, Google Drive, OneDrive vb.) popüler olsa da, gizlilik endişeleri, veri kontrolü eksikliği ve uzun vadede artan maliyetler gibi dezavantajlara sahiptir. İşte bu noktada, kendi bulut depolama çözümünüzü kurmak, hem maliyet etkinliği hem de veri üzerinde tam kontrol sağlaması açısından cazip bir alternatif sunar. Seafile, açık kaynaklı, yüksek performanslı ve güvenli bir dosya senkronizasyon ve paylaşım platformudur. Kendi sunucunuzda barındırarak, verilerinizin nerede saklandığını bilir, gizliliğinizi korur ve hizmeti ihtiyaçlarınıza göre özelleştirebilirsiniz.

Bu kapsamlı rehberde, Ubuntu 20.04 LTS (Long Term Support) sunucusu üzerinde Seafile’ı adım adım nasıl kuracağınızı, yapılandıracağınızı ve kullanacağınızı öğreneceksiniz. Nginx ile ters proxy oluşturma, Let’s Encrypt ile SSL/TLS sertifikası kurma, MariaDB veritabanı entegrasyonu ve sistem hizmetleri olarak Seafile’ı çalıştırma gibi konulara değineceğiz. Bu rehberin sonunda, kendi güvenli ve özel bulut depolama çözümünüzü başarıyla çalıştırmış olacaksınız.

Ön Koşullar

Seafile kurulumuna başlamadan önce aşağıdaki ön koşulların yerine getirildiğinden emin olun:

* Ubuntu 20.04 Sunucusu: Temiz bir Ubuntu 20.04 LTS sunucu kurulumu önerilir. Minimum 2GB RAM ve 2 CPU çekirdeği tavsiye edilir. Depolama alanı ihtiyaçlarınıza göre belirlenmelidir.
* Sudo Yetkileri: Kurulum adımlarının çoğu için sudo yetkilerine sahip bir kullanıcıya ihtiyacınız olacaktır.
* Temel Linux Komut Satırı Bilgisi: Temel komut satırı işlemleri (dosya oluşturma, düzenleme, dizinler arası gezinme vb.) hakkında bilgi sahibi olmak faydalıdır.
* Alan Adı (Domain Name): Seafile sunucunuza internet üzerinden güvenli bir şekilde erişmek için bir alan adına sahip olmanız şiddetle tavsiye edilir (örneğin, cloud.your_domain.com). Bu alan adının sunucunuzun genel IP adresine yönlendirilmiş olması gerekir (A kaydı).
* Statik IP Adresi: Sunucunuzun sabit bir genel IP adresine sahip olması, DNS yapılandırması ve erişilebilirlik açısından önemlidir.
* Güvenlik Duvarı Yapılandırması: UFW (Uncomplicated Firewall) gibi bir güvenlik duvarının kurulu ve yapılandırılmış olması gerekir.

Seafile Sunucu Kurulumu

Bu bölümde, Seafile sunucusunu Ubuntu 20.04 üzerine kurmak için gerekli tüm adımları detaylı bir şekilde ele alacağız.

Sistem Güncellemesi ve Gerekli Paketlerin Kurulumu

İlk olarak, sunucunuzdaki paket listelerini güncelleyelim ve mevcut paketleri yükseltelim. Ardından Seafile’ın çalışması için gerekli olan Python, MariaDB, Nginx ve Certbot gibi bağımlılıkları kuralım.

sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-setuptools python3-venv mariadb-server libmariadb-dev-dev libmemcached-dev
sudo apt install -y nginx certbot python3-certbot-nginx memcached

* python3 ve ilgili paketler: Seafile’ın temel çalışma ortamını sağlar.
* mariadb-server ve libmariadb-dev-dev: Veritabanı hizmeti için MariaDB’yi kurar.
* nginx: Seafile’a ters proxy görevi görecek web sunucusudur.
* certbot ve python3-certbot-nginx: Let’s Encrypt ile ücretsiz SSL sertifikaları almak ve yönetmek için kullanılır.
* memcached: Seafile’ın önbellekleme performansını artırmak için kullanılır.

MariaDB Veritabanı Kurulumu ve Yapılandırması

Seafile, verilerini depolamak için bir veritabanına ihtiyaç duyar. MariaDB, bu amaçla yaygın olarak kullanılan ve güçlü bir seçenektir.

MariaDB kurulumundan sonra güvenlik yapılandırmasını başlatalım:

sudo mysql_secure_installation

Bu betik sizden bazı sorular soracaktır:
* Switch to unix_socket authentication [Y/n]: n
* Change the root password? [Y/n]: Y (Güçlü bir root parolası belirleyin)
* Remove anonymous users? [Y/n]: Y
* Disallow root login remotely? [Y/n]: Y (Güvenlik için önerilir)
* Remove test database and access to it? [Y/n]: Y
* Reload privilege tables now? [Y/n]: Y

Şimdi Seafile için üç ayrı veritabanı ve bir veritabanı kullanıcısı oluşturalım:

sudo mysql -u root -p

MariaDB root parolanızı girin ve aşağıdaki SQL komutlarını çalıştırın:

CREATE DATABASE ccnet-db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE seafile-db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE seahub-db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'seafile'@'localhost' IDENTIFIED BY 'your_database_password'; # your_database_password yerine güçlü bir parola belirleyin

GRANT ALL PRIVILEGES ON ccnet-db.* TO 'seafile'@'localhost';
GRANT ALL PRIVILEGES ON seafile-db.* TO 'seafile'@'localhost';
GRANT ALL PRIVILEGES ON seahub-db.* TO 'seafile'@'localhost';

FLUSH PRIVILEGES;
EXIT;

your_database_password yerine güvenli bir parola kullandığınızdan emin olun.

Seafile Sunucu Dosyalarının İndirilmesi ve Çıkarılması

Seafile sunucu dosyalarını indireceğimiz bir dizin oluşturalım ve yetkilendirmeleri ayarlayalım. Genellikle /opt veya /srv dizini tercih edilir. Ayrıca Seafile için özel bir sistem kullanıcısı oluşturalım.

sudo adduser --system --no-create-home --group seafile
sudo mkdir -p /opt/seafile
cd /opt/seafile

Şimdi Seafile’ın en son stabil sürümünü indirelim. En güncel sürümü Seafile resmi indirme sayfasından (https://www.seafile.com/en/download/) kontrol etmeniz önemlidir. Bu rehber için örnek bir sürüm kullanacağız (örneğin, 9.0.5).

sudo wget https://download.seafile.com/d/xxx/files/xxx/seafile-server_9.0.5_x86-64.tar.gz # Linki güncel sürüm ile değiştirin
sudo tar -xzf seafile-server_9.0.5_x86-64.tar.gz
sudo mv seafile-server-9.0.5 seafile-server-latest # Kolay yönetim için sembolik bağlantı yerine dizin adını güncelleyelim
sudo mkdir -p /opt/seafile-data # Seafile'ın verilerini depolayacağı dizin
sudo chown -R seafile:seafile /opt/seafile/seafile-server-latest /opt/seafile-data

Bu adımla Seafile sunucu dosyalarını /opt/seafile/seafile-server-latest dizinine çıkardık ve tüm Seafile dosyalarının ve veri dizininin seafile kullanıcısına ait olmasını sağladık.

İlk Kurulum Betiği ile Seafile’ın Başlatılması

Seafile’ın ilk kurulum betiğini çalıştırarak temel yapılandırmayı yapalım. Bu betik, Seafile’ın veritabanı bağlantılarını ve temel ayarlarını oluşturacaktır.

cd /opt/seafile/seafile-server-latest
sudo -u seafile ./setup-seafile.sh

Betik size aşağıdaki soruları soracaktır:
1. Server name: Sunucunuz için bir isim girin (örneğin, My Seafile Cloud).
2. IP address or domain name: Sunucunuzun genel IP adresini veya alan adını girin (örneğin, cloud.your_domain.com).
3. Path to the seafile data directory: /opt/seafile-data (varsayılanı kabul edebilirsiniz).
4. Choose a database type: 2 (MySQL/MariaDB).
5. Database host: localhost (varsayılanı kabul edin).
6. Database port: 3306 (varsayılanı kabul edin).
7. Database user: seafile
8. Database password: Daha önce oluşturduğunuz seafile kullanıcısının veritabanı parolasını girin.

Kurulum betiği tamamlandığında, Seafile’ın temel yapılandırma dosyaları (ccnet.conf, seafile.conf, seahub_settings.py) oluşturulmuş olacaktır.

Seafile ve Seahub Hizmetlerini Başlatma

Şimdi Seafile ve Seahub hizmetlerini başlatalım. Seahub ilk başlatıldığında sizden yönetici (admin) hesabı oluşturmanızı isteyecektir.

sudo -u seafile /opt/seafile/seafile-server-latest/seafile.sh start
sudo -u seafile /opt/seafile/seafile-server-latest/seahub.sh start

Seahub’ı ilk başlattığınızda, sizden bir yönetici e-posta adresi ve parola belirlemenizi isteyecektir. Bu bilgilerle Seafile web arayüzüne giriş yapacaksınız.

Hizmetlerin başarıyla çalıştığını kontrol etmek için netstat komutunu kullanabilirsiniz:

sudo netstat -tulnp | grep -E '8000|8082'

8000 (Seahub) ve 8082 (Seafile dosya sunucusu) portlarında dinleyen süreçler görmelisiniz.

Nginx Ters Proxy ve SSL Yapılandırması

Seafile sunucunuza güvenli ve alan adınız üzerinden erişebilmek için Nginx’i ters proxy olarak yapılandırmamız ve Let’s Encrypt ile SSL sertifikası kurmamız gerekiyor.

Nginx Kurulumu

Nginx’i daha önce kurmuştuk (sudo apt install nginx). Şimdi Nginx yapılandırmasını yapalım.

Seafile Nginx Yapılandırması

Seafile için yeni bir Nginx yapılandırma dosyası oluşturalım:

sudo nano /etc/nginx/sites-available/seafile.conf

Aşağıdaki içeriği dosyaya yapıştırın. your_domain.com yerine kendi alan adınızı kullanmayı unutmayın.

server {
    listen 80;
    server_name your_domain.com; # Alan adınızı buraya yazın

    # HTTP'den HTTPS'ye yönlendirme (Certbot daha sonra otomatik olarak ekleyecektir)
    # return 301 https://$host$request_uri;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        client_max_body_size 0; # Büyük dosyalar için sınırsız boyut
        proxy_connect_timeout  36000s;
        proxy_send_timeout  36000s;
        proxy_read_timeout  36000s;
        send_timeout  36000s;
    }

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_connect_timeout  36000s;
        proxy_send_timeout  36000s;
        proxy_read_timeout  36000s;
        send_timeout  36000s;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }

    location /media {
        root /opt/seafile/seafile-server-latest/seahub/media/; # Seafile medya dosyalarının yolu
    }
}

Dosyayı kaydedin ve kapatın (CTRL+X, Y, Enter).

Şimdi bu yapılandırma dosyasını etkinleştirelim ve Nginx’i yeniden başlatalım:

sudo ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/
sudo nginx -t # Nginx yapılandırma dosyasının sözdizimini kontrol et
sudo systemctl restart nginx

HTTPS (SSL/TLS) Kurulumu (Certbot ile)

Web sitemizi güvenli hale getirmek için Let’s Encrypt’ten ücretsiz bir SSL sertifikası alalım. Certbot, bu süreci otomatikleştiren harika bir araçtır.

sudo certbot --nginx -d your_domain.com # Alan adınızı buraya yazın

Certbot sizden e-posta adresinizi isteyecek, hizmet şartlarını kabul etmenizi isteyecek ve sertifikayı otomatik olarak yapılandırmasını isteyecektir. Genellikle HTTP trafiğini HTTPS’ye yönlendirme seçeneğini (redirect) seçmeniz önerilir.

Certbot, Nginx yapılandırma dosyanızı otomatik olarak güncelleyecek ve SSL sertifikalarını kuracaktır. Sertifikaların otomatik olarak yenilenip yenilenmediğini test etmek için:

sudo certbot renew --dry-run

Bu komut herhangi bir hata vermezse, sertifikalarınız otomatik olarak yenilenecektir.

Seafile Yapılandırma Dosyalarının Düzenlenmesi

Nginx ve SSL yapılandırmasından sonra, Seafile’ın kendi yapılandırma dosyalarında bazı düzenlemeler yapmamız gerekiyor ki web arayüzü ve dosya sunucusu doğru URL’leri kullansın.

ccnet.conf

Bu dosya Seafile’ın temel sunucu ayarlarını içerir. SERVICE_URL parametresini güncelleyelim.

sudo nano /opt/seafile-data/ccnet/ccnet.conf

SERVICE_URL satırını bulun veya ekleyin ve alan adınızı HTTPS ile belirtin:

[General]
SERVICE_URL = https://your_domain.com

Kaydedin ve kapatın.

seahub_settings.py

Bu dosya Seahub (web arayüzü) için özelleştirilmiş ayarları içerir. FILE_SERVER_ROOT ve SECRET_KEY gibi önemli parametreleri güncelleyelim. Ayrıca performans için Memcached yapılandırmasını ekleyelim.

sudo nano /opt/seafile/seafile-server-latest/seahub_settings.py

Aşağıdaki satırları ekleyin veya güncelleyin:

# FILE_SERVER_ROOT: Dosya indirme/yükleme için kullanılır
FILE_SERVER_ROOT = 'https://your_domain.com/seafhttp'

SECRET_KEY: Django için güvenlik anahtarı, kurulumda otomatik oluşur, kontrol edin

SECRET_KEY = 'otomatik_oluşan_anahtar'

TIME_ZONE: Sunucunuzun saat dilimini ayarlayın

TIME_ZONE = 'Europe/Istanbul' # Örnek: 'America/New_York', 'Asia/Shanghai'

SITE_NAME: Web arayüzünde görünen isim

SITE_NAME = 'My Private Cloud'

ENABLE_USER_SELF_REGISTRATION: Kullanıcıların kendi kendine kayıt olmasına izin verip vermeme

ENABLE_USER_SELF_REGISTRATION = False # Güvenlik için False önerilir

ACTIVATE_AFTER_REGISTRATION: Kendi kendine kayıt sonrası otomatik aktivasyon

ACTIVATE_AFTER_REGISTRATION = False # Eğer self-registration True ise, bu da True olabilir

Memcached yapılandırması (performans için önerilir)

CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', 'TIMEOUT': 3600, 'KEY_PREFIX': 'seafile', } } COMPRESS_CACHE_BACKEND = 'default'

Kaydedin ve kapatın.

Değişikliklerin Uygulanması

Yapılandırma değişikliklerinin etkili olması için Seafile ve Seahub hizmetlerini yeniden başlatalım:

sudo -u seafile /opt/seafile/seafile-server-latest/seafile.sh restart
sudo -u seafile /opt/seafile/seafile-server-latest/seahub.sh restart

Sistem Hizmetleri Olarak Seafile ve Seahub

Sunucunuz yeniden başlatıldığında Seafile ve Seahub’ın otomatik olarak başlamasını sağlamak için systemd birim dosyaları oluşturalım.

Systemd Birim Dosyaları Oluşturma

1. seafile.service Oluşturma:

sudo nano /etc/systemd/system/seafile.service

İçeriği aşağıdaki gibi yapıştırın:

[Unit]
Description=Seafile
After=network.target mariadb.service memcached.service

[Service]
Type=forking
ExecStart=/opt/seafile/seafile-server-latest/seafile.sh start
ExecStop=/opt/seafile/seafile-server-latest/seafile.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile
WorkingDirectory=/opt/seafile/seafile-server-latest

[Install]
WantedBy=multi-user.target

Kaydedin ve kapatın.

2. seahub.service Oluşturma:

sudo nano /etc/systemd/system/seahub.service

İçeriği aşağıdaki gibi yapıştırın. start-fastcgi komutunu kullanarak Nginx ile daha iyi entegrasyon sağlıyoruz.

[Unit]
Description=Seafile hub
After=network.target seafile.service

[Service]
Type=forking
ExecStart=/opt/seafile/seafile-server-latest/seahub.sh start-fastcgi
ExecStop=/opt/seafile/seafile-server-latest/seahub.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile
WorkingDirectory=/opt/seafile/seafile-server-latest

[Install]
WantedBy=multi-user.target

Kaydedin ve kapatın.

3. Hizmetleri Etkinleştirme ve Başlatma:
Systemd’yi yeni birim dosyalarını yeniden yüklemesi için bilgilendirelim, ardından hizmetleri etkinleştirelim ve başlatalım:

sudo systemctl daemon-reload
sudo systemctl enable seafile seahub
sudo systemctl start seafile seahub

Hizmetlerin durumunu kontrol etmek için:

sudo systemctl status seafile seahub

Her iki hizmetin de active (running) durumda olduğunu görmelisiniz.

Güvenlik Duvarı Yapılandırması (UFW)

Sunucunuzun güvenliğini sağlamak için güvenlik duvarını doğru şekilde yapılandırmak hayati öneme sahiptir. Yalnızca gerekli portlara izin vermeliyiz.

sudo ufw allow OpenSSH # SSH erişimi için
sudo ufw allow 'Nginx Full' # Nginx'in hem HTTP (80) hem de HTTPS (443) portlarına izin ver
sudo ufw enable # Güvenlik duvarını etkinleştir
sudo ufw status # Güvenlik duvarı durumunu kontrol et

Güvenlik duvarını etkinleştirdikten sonra, SSH bağlantınızın kopmaması için OpenSSH kuralını etkinleştirdiğinizden emin olun.

Seafile Web Arayüzü Kullanımı

Artık Seafile sunucunuz tamamen çalışır durumda. Web tarayıcınızı açın ve yapılandırdığınız alan adını (https://your_domain.com) ziyaret edin. Yönetici e-posta adresiniz ve parolanızla giriş yapın.

Giriş ve İlk Ayarlar

Giriş yaptıktan sonra, Seafile ana paneline yönlendirileceksiniz. Buradan kütüphaneler oluşturabilir, kullanıcıları yönetebilir ve çeşitli ayarlara erişebilirsiniz.

Kütüphane Oluşturma ve Yönetimi

* Yeni Kütüphane Oluşturma: Sol menüdeki “Kütüphaneler” bölümüne gidin ve “Yeni Kütüphane” düğmesine tıklayın. Kütüphanenize bir isim verin ve isterseniz bir açıklama ekleyin.
* Şifreli Kütüphaneler: Hassas verileriniz için şifreli kütüphaneler oluşturabilirsiniz. Bu kütüphanelere yüklenen tüm veriler sunucu tarafında şifrelenir ve yalnızca doğru parola ile erişilebilir.

Dosya Yükleme ve İndirme

Bir kütüphaneye girdikten sonra, dosya yüklemek için “Yükle” düğmesini kullanabilir veya dosyaları doğrudan tarayıcı penceresine sürükleyip bırakabilirsiniz. Dosyaları indirmek için ise dosyanın üzerine tıklamanız yeterlidir.

Dosya Paylaşımı

Seafile, güçlü dosya paylaşım özelliklerine sahiptir:
* Dahili Kullanıcılarla/Gruplarla Paylaşım: Kütüphaneleri veya belirli klasörleri Seafile sunucunuzdaki diğer kullanıcılar veya gruplarla paylaşabilirsiniz. Paylaşım sırasında okuma/yazma izinlerini belirleyebilirsiniz.
* Harici Bağlantılar: Belirli bir dosya veya klasör için herkese açık indirme veya yükleme bağlantıları oluşturabilirsiniz. Bu bağlantıları parola ile koruyabilir, bir son kullanma tarihi belirleyebilir ve hatta yükleme/indirme sayılarını sınırlayabilirsiniz.

Kullanıcı ve Grup Yönetimi

Yönetici panelinden (sağ üst köşedeki profil simgesine tıklayıp “Sistem Yöneticisi”ni seçerek erişilebilir):
* Kullanıcı Ekleme/Silme: Yeni kullanıcı hesapları oluşturabilir, mevcut kullanıcıları silebilir veya parolalarını sıfırlayabilirsiniz.
* Grup Oluşturma: Kullanıcıları gruplar halinde düzenleyebilir ve kütüphaneleri gruplarla paylaşarak izin yönetimini kolaylaştırabilirsiniz.

Seafile İstemci Kurulumu ve Kullanımı

Seafile sunucunuzdaki dosyalarınıza farklı cihazlardan erişmek ve senkronize etmek için Seafile istemcilerini kullanabilirsiniz.

Masaüstü İstemcisi (Linux, Windows, macOS)

* İndirme ve Kurulum: Seafile’ın resmi indirme sayfasından (https://www.seafile.com/en/download/) işletim sisteminize uygun masaüstü istemcisini indirin ve kurun.
* Senkronizasyon: İstemciyi başlattıktan sonra, sunucu URL’nizi (https://your_domain.com) ve kullanıcı bilgilerinizi girerek oturum açın. Ardından, senkronize etmek istediğiniz kütüphaneleri seçebilir ve yerel bilgisayarınızda bir senkronizasyon klasörü belirleyebilirsiniz. İstemci, bu klasördeki değişiklikleri otomatik olarak sunucuyla senkronize edecektir.
* Dosya Geçmişi ve Sürüm Kontrolü: Masaüstü istemcisi, dosyalarınızın farklı sürümlerini yönetmenize olanak tanır. Yanlışlıkla silinen veya değiştirilen dosyaları kolayca geri yükleyebilirsiniz.

Mobil İstemci (Android, iOS)

* Uygulama Mağazalarından İndirme: Android için Google Play Store’dan, iOS için Apple App Store’dan “Seafile” uygulamasını aratarak indirebilirsiniz.
* Erişim ve Kullanım: Uygulamayı açın, sunucu URL’nizi ve kullanıcı bilgilerinizi girerek oturum açın. Mobil istemci üzerinden dosyalarınıza göz atabilir, indirebilir, yükleyebilir ve paylaşabilirsiniz. Otomatik fotoğraf yükleme özelliği ile mobil cihazınızdaki fotoğrafları otomatik olarak Seafile sunucunuza yedekleyebilirsiniz.

WebDAV Erişimi

Seafile, WebDAV protokolünü destekler. Bu sayede Seafile kütüphanelerinize WebDAV uyumlu diğer uygulamalar (örneğin, dosya yöneticileri, not alma uygulamaları) aracılığıyla erişebilirsiniz. WebDAV URL’si genellikle https://your_domain.com/seafdav şeklindedir ve kullanıcı adınız/parolanızla giriş yapabilirsiniz.

Yedekleme ve Bakım

Verilerinizin güvenliğini sağlamak için düzenli yedekleme yapmak ve Seafile sunucunuzu güncel tutmak çok önemlidir.

Veritabanı Yedeklemesi

MariaDB veritabanlarınızı düzenli olarak yedeklemelisiniz:

sudo mysqldump -u seafile -p ccnet-db > /path/to/backup/ccnet-db_$(date +%F).sql
sudo mysqldump -u seafile -p seafile-db > /path/to/backup/seafile-db_$(date +%F).sql
sudo mysqldump -u seafile -p seahub-db > /path/to/backup/seahub-db_$(date +%F).sql

seafile kullanıcısının veritabanı parolasını girmeniz gerekecektir. /path/to/backup yerine yedekleme dizininizi belirtin.

Seafile Veri Dizini Yedeklemesi

Seafile’ın tüm dosya verilerini içeren veri dizinini de yedeklemelisiniz:

sudo rsync -av /opt/seafile-data /path/to/backup/seafile-data_$(date +%F)

Bu komut, /opt/seafile-data dizinini hedef yedekleme dizinine kopyalar.

Güncelleme Süreci

Seafile yeni sürümler yayınladığında, güvenlik yamaları ve yeni özellikler için sunucunuzu güncellemeniz önemlidir. Güncelleme işlemi genellikle şu adımları içerir:
1. Yedekleme: Her zaman güncelleme yapmadan önce tam bir yedekleme alın.
2. Yeni Sürümü İndirme: Seafile’ın resmi sitesinden yeni sürümün .tar.gz dosyasını indirin.
3. Hizmetleri Durdurma: Seafile ve Seahub hizmetlerini durdurun.
4. Güncelleme Betiğini Çalıştırma: İndirdiğiniz yeni sürüm dizinindeki güncelleme betiklerini (örneğin, upgrade_x.x_to_y.y.sh) çalıştırın.
5. Hizmetleri Başlatma: Hizmetleri tekrar başlatın.

Her güncelleme için Seafile’ın resmi belgelerindeki spesifik güncelleme rehberini takip etmek en iyisidir.

Sorun Giderme ve Sıkça Sorulan Sorular

Kurulum veya kullanım sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:

* Seafile veya Seahub hizmetleri başlamıyor:
* sudo systemctl status seafile seahub komutuyla hizmetlerin durumunu kontrol edin.
* /opt/seafile-data/logs/ dizinindeki seafile.log ve seahub.log dosyalarını hata mesajları için inceleyin.
* Veritabanı bağlantı bilgilerini ccnet.conf ve seahub_settings.py dosyalarında kontrol edin.
* seafile kullanıcısının dosya izinlerinin doğru olduğundan emin olun (sudo chown -R seafile:seafile /opt/seafile /opt/seafile-data).

* Web arayüzüne erişilemiyor (502 Bad Gateway veya bağlantı hatası):
* Nginx’in çalışıp çalışmadığını kontrol edin: sudo systemctl status nginx.
* Nginx yapılandırmasının doğru olduğundan emin olun: sudo nginx -t.
* Nginx hata günlüklerini kontrol edin: /var/log/nginx/error.log.
* Seafile ve Seahub’ın 8000 ve 8082 portlarında dinleyip dinlemediğini kontrol edin: sudo netstat -tulnp | grep -E '8000|8082'.
* ccnet.conf içindeki SERVICE_URL ve seahub_settings.py içindeki FILE_SERVER_ROOT değerlerinin doğru HTTPS alan adınızı içerdiğinden emin olun.

* Dosya yükleme/indirme sorunları:
* seahub_settings.py dosyasındaki FILE_SERVER_ROOT ayarını kontrol edin.
* Nginx yapılandırmasındaki /seafhttp bloğunun doğru olduğundan emin olun.
* Güvenlik duvarınızın 80 ve 443 portlarına izin verdiğini doğrulayın.

* Certbot SSL sertifikası sorunları:
* Alan adınızın sunucunuzun IP adresine doğru şekilde yönlendirildiğinden emin olun.
* sudo certbot renew --dry-run ile yenilemeyi test edin.
* Nginx yapılandırmanızda HTTP port 80’in açık olduğundan emin olun, Certbot başlangıçta bu portu kullanır.

Sonuç

Bu rehberde, Ubuntu 20.04 sunucusu üzerinde Seafile’ı başarıyla kurmayı, Nginx ile güvenli bir şekilde yapılandırmayı ve temel kullanımını öğrendiniz. Kendi Seafile sunucunuzu barındırarak, verileriniz üzerinde tam kontrol sahibi olur, gizliliğinizi korur ve ticari bulut depolama hizmetlerine bağımlılığınızı azaltırsınız. Seafile’ın zengin özellikleri, güçlü senkronizasyon yetenekleri ve kullanıcı dostu arayüzü sayesinde, kişisel veya kurumsal ihtiyaçlarınız için güvenilir ve esnek bir dosya senkronizasyon ve paylaşım çözümü elde etmiş olursunuz. Unutmayın, herhangi bir sunucu hizmetinde olduğu gibi, düzenli yedekleme ve güvenlik güncellemeleri, sisteminizin uzun vadeli sağlığı ve verilerinizin güvenliği için kritik öneme sahiptir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version