Ubuntu Üzerinde Güvenli Kendi Kendine Barındırılan Dosya Depolama İçin OwnCloud Kurulumu


Giriş

OwnCloud, verileriniz üzerinde tam kontrol sağlayan açık kaynaklı bir dosya senkronizasyonu ve paylaşım platformudur. Dropbox veya Google Drive gibi bulut depolama servislerinin aksine, OwnCloud kendi altyapınız üzerinde çalışır ve gizlilik, güvenlik ile dosya depolama çözümünüzün her yönünü özelleştirme imkanı sunar.

Bu eğitim, Apache, MySQL ve PHP kullanarak Ubuntu üzerinde OwnCloud yükleme ve yapılandırma için adım adım bir rehber sunmaktadır. HTTPS şifrelemesi, kullanıcı yönetimi ve doğru dosya izinleri ile güvenli, üretime hazır bir OwnCloud örneği nasıl kuracağınızı öğreneceksiniz. Ayrıca güvenlik sertleştirmesi, yaygın sorunların giderilmesi ve OwnCloud'u Nextcloud gibi alternatiflere tercih etmeniz gereken durumlar da ele alınacaktır.

Ana Noktalar

  • Ubuntu üzerinde OwnCloud'u kendi sunucunuzda barındırmak, veri ve erişim üzerinde tam kontrol sağlar. Dosyaların nerede saklanacağını, paylaşımın nasıl yönetileceğini ve hangi kullanıcıların giriş yapabileceğini siz belirlersiniz. Bu kurulum, öngörülebilir veri saklama, özel veri tutma politikaları veya dahili altyapı ile daha sıkı entegrasyon ihtiyacı olan ekipler için güçlü bir seçenektir.

  • Klasik bir Apache + PHP (mod_php) + MySQL yığını çalıştırması ve hata ayıklaması oldukça basittir. Apache kullanıcı arayüzünü sunar, libapache2-mod-php7.4 PHP’yi çalıştırır ve MySQL veya MariaDB meta verileri depolar. Yüklenen modülleri, mpm_prefork da dahil olmak üzere, doğrulamak, çalışma zamanının OwnCloud’un beklediğiyle eşleşip eşleşmediğini kontrol etmeye yardımcı olur.

  • HTTPS ve en az ayrıcalıklı izinler, internete açık bir dosya sunucusu için temel gereksinimlerdir. TLS, girişleri ve dosya aktarımlarını korur, UFW ağ maruziyetini sınırlar ve doğru sahiplik, ihtiyaç duyulmayan yerlerde yazma erişimini önler. Bu adımlar, kaba kuvvet saldırıları, güvensiz paylaşım ve kazara veri sızıntısı riskini azaltır.

  • Üretim güvenilirliği ve sürdürülebilirliği için erken aşamada MySQL veya MariaDB kullanın. SQLite hızlı testler için işe yarayabilir, ancak MySQL veya MariaDB çoklu kullanıcı işlemlerini daha iyi yönetir ve yedekleme, geri yükleme ve bütünlük kontrolleri gibi rutin işlemleri kolaylaştırır. Yetkilendirilmiş bir veritabanı kullanıcısı ile sınırlı izinler, kurulumu yönetmeyi daha kolay hale getirir.

  • occ komut satırı aracı, durumu doğrulamanın ve bakım görevlerini çalıştırmanın en güvenli yoludur. Sağlığı kontrol etmek için occ status kullanın, yedekleme öncesi bakım modunu etkinleştirin ve bakım modunun takılı kalması gibi yaygın sorunlardan kurtulun. Komut satırı kontrolleri, sorun gidermeyi tekrarlanabilir ve öngörülebilir hale getirir.

  • Depolama planlaması, çoğu ilk kez kurulum yapan kişinin düşündüğünden daha önemlidir. Dosya verileri hızla büyür ve sonradan taşımak kesintiye neden olur. Veri dizini için SSD destekli depolamayı tercih edin, disk alanını ve inode’ları izleyin ve yerel diskler yeterli olmadığında harici depolama mountlarını düşünün.

  • OwnCloud ve Nextcloud arasında seçim yapmak büyük ölçüde destek ve ekosistem öncelikleriyle ilgilidir. OwnCloud genellikle kararlılığı ve kurumsal destek seçeneklerini vurgularken, Nextcloud çoğunlukla daha geniş bir topluluk uygulama ekosistemi ve daha hızlı özellik genişlemesi sunar. Yönetim ve işbirliği ihtiyaçlarınıza en uygun platformu seçin.

Bu rehberi takip ederek, Ubuntu üzerinde çalışan ve ticari bulut depolama hizmetlerine özel bir alternatif olarak kullanılabilecek, tamamen işlevsel ve güvenli bir OwnCloud örneğine sahip olacaksınız.

OwnCloud Nedir ve Neden Kullanmalısınız?

OwnCloud, kendi altyapınızda Dropbox benzeri işlevsellik sağlayan, kendi kendine barındırılan bir dosya senkronizasyonu ve paylaşım platformudur. Kullanıcıların dosyaları yüklemesine, senkronize etmesine ve paylaşmasına web arayüzü, masaüstü istemcileri ve mobil uygulamalar üzerinden olanak tanır, tüm bunlar yapılırken verilerin nerede depolandığı ve kimlerin erişebileceği üzerinde tam kontrol sağlanır.

OwnCloud'un Temel Özellikleri

OwnCloud, dosya yönetimi ve iş birliği için kapsamlı bir özellik seti sunar:

  • Dosya Senkronizasyonu: Dosyaları masaüstü istemciler (Windows, macOS, Linux) ve mobil uygulamalar (iOS, Android) kullanarak cihazlar arasında otomatik olarak senkronize edin. Bir cihazda yapılan değişiklikler tüm bağlı cihazlara yansır.

  • Web Arayüzü: Herhangi bir tarayıcıda çalışan modern ve duyarlı bir web arayüzü aracılığıyla dosyalara erişin ve yönetin. Dosya yükleyin, indirin, düzenleyin ve önizleyin, istemci yazılımı kurmadan.

  • Dosya Paylaşımı: Dosyaları ve klasörleri diğer OwnCloud kullanıcılarıyla paylaşın veya parola korumalı ve sona erme tarihlerine sahip genel bağlantılar oluşturun. Paylaşılan içeriği kimin görüntüleyebileceğini, indirebileceğini veya düzenleyebileceğini kontrol edin.

  • Sürüm Kontrolü: Dosya sürümlerini takip edin ve gerektiğinde önceki sürümlere geri dönün. Bu, kazara silinmelere veya istenmeyen değişikliklere karşı koruma sağlar.

  • Ortak Düzenleme: Entegre ofis programlarını veya harici düzenleyicileri kullanarak belgeleri birlikte düzenleyin. Birden fazla kullanıcı aynı dosya üzerinde aynı anda çalışabilir.

  • Dış Depolama Entegrasyonu: S3 uyumlu nesne depolama, FTP sunucuları, WebDAV paylaşımları ve yerel dosya sistemi montajları dahil olmak üzere dış depolama altyapılarını bağlayın. Bu, verileri taşımadan depolamayı ölçeklendirmenizi sağlar.

  • Kullanıcı ve Grup Yönetimi: Birden fazla kullanıcı hesabı oluşturun, kullanıcıları gruplara ayırın, depolama kotası belirleyin ve ayrıntılı izinleri yapılandırın. Takım dağıtımları için gereklidir.

  • Güvenlik Özellikleri: İki faktörlü kimlik doğrulama, beklemede şifreleme, denetim günlüğü ve veri koruma düzenlemelerine uyum desteği. OwnCloud Enterprise, fidye yazılımı koruması ve gelişmiş şifreleme gibi ek güvenlik özelliklerini içerir.

  • Uygulama Ekosistemi: Takvim, kişiler, belge düzenleme, video konferans ve daha fazlası için uygulamalar aracılığıyla işlevselliği genişletin. Uygulama pazarı, temel dosya depolamanın ötesinde ek özellikler sunar.

OwnCloud, veri egemenliğini koruması gereken, GDPR veya HIPAA gibi düzenlemelere uyması gereken ya da dosya depolamayı mevcut şirket içi altyapıyla entegre etmesi gereken organizasyonlar için özellikle değerlidir. Ayrıca, aksi takdirde ticari bulut depolama için kullanıcı başına ücret ödeyecek ekipler için maliyet açısından da etkilidir.

Elle Kurulum vs Docker: OwnCloud'u Hangi Yolla Kurmalısınız?

Ubuntu üzerine OwnCloud kurarken, iki ana yaklaşımdan birini seçebilirsiniz: LAMP yığını kullanarak geleneksel manuel kurulum veya OwnCloud'u Docker konteynerleri ile dağıtmak. Her yöntemin kendi avantajları ve sınırlamaları vardır; bunlar hedeflerinize ve ortamınıza bağlı olarak değişir.

Dağıtım yöntemiAvantajlarDezavantajlarEn uygun
El Kitabı (LAMP yığını)Yapılandırma üzerinde tam kontrol; daha kolay hata ayıklama; doğrudan dosya ve günlük erişimi; öngörülebilir ayarlamaDaha fazla kurulum adımı; manuel güncellemeler; Linux yönetim deneyimi gerektirirÜretim kullanımı, özel kurulumlar, öğrenme ortamları
Docker konteynerleriHızlı ve tekrar edilebilir dağıtımlar; daha basit yükseltmeler ve geri alma işlemleri; izole hizmetlerDocker/Compose bilgisi gerektirir; hafif kaynak yükü; konteyner düzeyinde hata ayıklamaGeliştirme, test etme, prototipleme, konteyner tabanlı altyapılar

Hangi Dağıtım Sizin İçin Uygun?

Manuel LAMP kurulumu, genellikle üretim ortamlarını çalıştıran, geniş özelleştirme gerektiren veya kurulum üzerinde tam şeffaflık ve kontrol isteyen kişiler tarafından tercih edilir. Bu yöntem, OwnCloud veya LAMP yığını iç yapısını öğrenen herkes için de uygun bir seçenektir.

Öte yandan Docker kullanmak, konteyner tabanlı mimarilerle zaten çalışan geliştiriciler, test uzmanları veya ekipler için idealdir. Docker, kurulum ve yükseltmeleri kolaylaştırır ve kolayca sıfırlanabilen veya taşınabilen tekrar üretilebilir bir ortam sağlar. Ancak, ek bir soyutlama katmanı ekler ve bu da ekstra bir alışma süresi gerektirebilir.

Genel olarak, kararlılık, özelleştirme ve manuel ayarlama önceliklerinizse, manuel kurulum çoğunlukla daha iyi bir seçenektir. Hızlı dağıtımlar, testler için ya da zaten sisteminizde Docker kullanıyorsanız, konteyner tabanlı yaklaşım pratik ve verimlidir.

Bu rehber, her adımı ayrıntılı bir şekilde ele almak için manuel kurulum sürecine odaklanacaktır, ancak temel OwnCloud kavramları, hangi dağıtım stilini seçerseniz seçin aynı kalır.

Önkoşullar

OwnCloud'u yüklemeden önce şunlara sahip olduğunuzdan emin olun:

  • Root veya sudo ayrıcalıklarına sahip bir Ubuntu sunucusu (22.04 veya daha yeni LTS sürümü)
  • SSL sertifikaları için gerekli olarak, kayıtlı bir alan adı sunucunuzun IP adresine yönlendirilmiş olmalıdır
  • En az 2GB RAM ve 20GB boş disk alanı (daha büyük kurulumlar için daha fazla)
  • Linux komut satırı ve metin düzenleyicilerine temel düzeyde aşinalık

Ayrıca bir LAMP yığını kurulu olmalıdır. Henüz yoksa, Ubuntu üzerine LAMP yığını kurma rehberimizi kullanarak kurabilirsiniz. Kurulum şunları içerir:

  • Apache web sunucusu
  • MySQL veritabanı sunucusu
  • Gerekli uzantılarla PHP

Önemli: OwnCloud şu anda PHP 7.4 gerektirmektedir. Ancak, Ubuntu 22.04 veya daha yeni (LTS) sürümleri varsayılan olarak PHP 8.1 ile gelir. Aşağıda gösterilen adımlarda belirtildiği gibi, PHP 7.4'ü üçüncü taraf bir depodan kurmanız gerekecektir.

unzip paketini yükleyin; bu paket OwnCloud dosyasını açmak için gereklidir:

sudo apt install -y unzip

Mimari Genel Bakış

OwnCloud bileşenlerinin nasıl etkileşime girdiğini anlamak, sorun giderme ve optimizasyon konusunda yardımcı olur:

Web Sunucusu (Apache): OwnCloud web arayüzünü sunar ve HTTP/HTTPS isteklerini işler. Apache, PHP dosyalarını işler ve CSS ile JavaScript gibi statik içerikleri sunar.

PHP (mod_php): OwnCloud uygulama mantığını Apache’nin PHP modülü aracılığıyla işler. Bu eğitimde PHP-FPM yerine libapache2-mod-php7.4 ile Apache kullanılmıştır.

MySQL Veritabanı: Kullanıcı hesaplarını, dosya meta verilerini, paylaşım bilgilerini ve uygulama ayarlarını saklar. Veritabanı gerçek dosya içeriklerini saklamaz; onlar dosya sisteminde bulunur.

Dosya Depolama: Kullanıcı dosyaları varsayılan olarak /var/www/owncloud/data/ dizininde (veya seçtiğiniz kurulum yolunda) saklanır. Her kullanıcının dosyalarını içeren bir dizini vardır. Veritabanı, hangi dosyanın hangi kullanıcıya ait olduğunu ve bunların meta verilerini takip eder.

Ters Vekil Sunucu (Opsiyonel): Nginx, yük dengeleme veya SSL sonlandırma için Apache'nin önüne konulabilir, ancak çoğu kurulum için yalnızca Apache yeterlidir.

Bu mimari sorumlulukları ayırır: web sunucusu istekleri yönetir, PHP uygulama mantığını işler, MySQL meta verileri yönetir ve dosya sistemi gerçek dosya verilerini depolar. Bu ayrım, tek tek bileşenleri ölçeklendirmeyi, yedeklemeyi ve sorun gidermeyi kolaylaştırır.

Adım 1 — Gerekli PHP Eklentilerini Yükleme

OwnCloud, temel kurulumun ötesinde belirli PHP uzantılarını gerektirir. OwnCloud kurulumuna başlamadan önce bunları yükleyin.

Öncelikle PHP 7.4 için PHP PPA deposunu ekleyin ve paket listenizi güncelleyin:

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

Apache PHP modülünü ve gerekli PHP eklentilerini yükleyin:

sudo apt install -y libapache2-mod-php7.4 php7.4-gd php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring php7.4-curl php7.4-mysql

libapache2-mod-php7.4 paketi, Apache’in PHP dosyalarını mod_php kullanarak işlemesini sağlar; bu, Apache’in prefork MPM’i kullanıldığında gereklidir.

Eklentilerin yüklü olduğunu doğrulayın:

php -m | grep -E 'gd|zip|intl|xml|mbstring|curl|mysql'

Çıktıda tüm listelenen uzantıları görmelisiniz. Eksik olanlar varsa, bunları tek tek apt install kullanarak yükleyin.

PHP Sürümünü Doğrulama

PHP 7.4'ün aktif sürüm olduğundan emin olun. Birden fazla PHP sürümünüz yüklüyse, sistemi PHP 7.4 kullanacak şekilde yapılandırın:

sudo update-alternatives --config php

Eğer sorulursa listeden PHP 7.4'ü seçin. Aktif sürümü doğrulayın:

php -v

PHP 7.4.x gösteren bir çıktı görmelisin.

update-alternatives komutu, komut satırı arayüzünde (CLI) kullanılan PHP sürümünü değiştirir, ancak Apache'nin web sayfalarını sunarken kullandığı PHP sürümünü belirlemez. Apache, bir Apache modülü olarak etkinleştirilen PHP sürümünü kullanır (örneğin, libapache2-mod-php7.4). Apache'nin şu anda hangi PHP modülünü ve Çok İşlemli Modülünü (MPM) kullandığını kontrol etmek için, şu komutu çalıştırın:

apache2ctl -M | grep -E 'php7.4|mpm_prefork'

Bu, OwnCloud'un kurulum ve kullanım boyunca doğru PHP sürümünü kullanmasını sağlar.

Yeni uzantıları yüklemek için Apache'yi yeniden başlatın:

sudo systemctl restart apache2

Adım 2 — MySQL Veritabanı ve Kullanıcı Oluşturma

OwnCloud'un metadata depolamak için bir MySQL veritabanına ihtiyacı vardır. Güvenlik ve izolasyon için özel bir veritabanı ve kullanıcı oluşturun.

MySQL’e root olarak giriş yapın:

sudo mysql -u root -p

Veritabanını, kullanıcıyı oluştur ve yetkileri ver:

CREATE DATABASE owncloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

strong_password_here yerine güvenli bir şifre kullanın. Bu şifreyi güvenli bir şekilde saklayın, OwnCloud kurulumu sırasında ihtiyacınız olacak.

Veritabanının oluşturulduğunu doğrulayın:

sudo mysql -u root -p -e "SHOW DATABASES;" | grep owncloud

Çıktıda owncloud görmelisiniz.

Adım 3 — OwnCloud'u İndirme ve Kurma

En son OwnCloud Community Edition sürümünü indirin. Güncel sürüm için OwnCloud indirme sayfasını kontrol edin.

Geçici bir dizin oluşturun ve OwnCloud’u indirin:

cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.zip
unzip owncloud-complete-latest.zip

Bu paket, eksiksiz OwnCloud sunucusunu ve birlikte gelen uygulamaları içerir, bu da kurulum sırasında bileşenlerin eksik olma riskini azaltır.

<$>[not] Kurulum Yolu: Bu eğitimde /var/www/owncloud dizini kurulum dizini olarak kullanılmaktadır; bu, Ubuntu üzerinde web uygulamaları için standart konumdur. Sunucu yapılandırmanıza uygun herhangi bir dizin yolu seçebilirsiniz (örneğin, /www/wwwroot/owncloud.sizindomaininiz.com veya /opt/owncloud). Farklı bir yol seçerseniz, sonraki tüm komutlarda ve yapılandırma dosyalarında /var/www/owncloud dizinini seçtiğiniz yol ile değiştirin. <$>[not]

OwnCloud'u web kök dizinine taşıyın:

sudo mv owncloud /var/www/

Doğru sahiplik ve izinleri ayarlayın. OwnCloud'un belirli dizinlere yazma erişimi olması gerekir:

sudo chown -R www-data:www-data /var/www/owncloud
sudo chmod -R 755 /var/www/owncloud

Bu komutlar, tüm OwnCloud dosyalarının sahibi olarak web sunucusu kullanıcısını (www-data) ayarlar ve sahibine okuma, yazma ve çalıştırma izinleri, grup ve diğer kullanıcılar için ise okuma ve çalıştırma izinleri verir. Bu, Apache’in dosyaları sunabilmesini ve OwnCloud’un gerekli dizinlere yazabilmesini sağlar.

İzinlerin doğru şekilde ayarlandığını doğrulayın:

ls -la /var/www/owncloud | head -5

Tüm dosya ve dizinlerde sahip ve grup olarak www-data görmelisiniz.

Veri dizinini uygun izinlerle oluşturun:

sudo mkdir -p /var/www/owncloud/data
sudo chown -R www-data:www-data /var/www/owncloud/data
sudo chmod 750 /var/www/owncloud/data

OwnCloud Apache sanal sunucusunun tanınıp tanınmadığını doğrulayın:

apache2ctl -S | grep -i owncloud

Adım 4 — Apache Sanal Sunucu Yapılandırması

OwnCloud'un PHP ile mod_php üzerinden çalışabilmesi için Apache'in prefork MPM (Çoklu İşleme Modülü) gereklidir. Eğer Apache kurulumunuz event MPM kullanıyorsa (yeni Ubuntu sürümlerinde yaygındır), sanal sunucuyu yapılandırmadan önce prefork'a geçin.

Prefork MPM'ye Geçiş

MPM olayını devre dışı bırak ve prefork'u etkinleştir:

sudo a2dismod mpm_event || true
sudo a2enmod mpm_prefork
sudo systemctl restart apache2

|| true, etkinlik MPM etkin değilse komutun başarısız olmasını önler. Prefork MPM ve PHP 7.4’ün yüklü olduğunu doğrulayın:

apache2ctl -M | grep -E 'php7.4|mpm_prefork'

Çıktıda hem mpm_prefork_module hem de php7_module görmelisiniz. Bu, Apache'in OwnCloud için doğru MPM ve PHP modülünü kullandığını doğrular.

Sanal Sunucu Oluşturma

Apache'yi OwnCloud'u sunacak şekilde yapılandırın. Bir sanal sunucu yapılandırma dosyası oluşturun:

sudo nano /etc/apache2/sites-available/owncloud.conf

Aşağıdaki yapılandırmayı ekleyin ve your_domain.com kısmını kendi alan adınızla değiştirin:

<VirtualHost *:80>
    ServerName your_domain.com
    DocumentRoot /var/www/owncloud

    <Directory /var/www/owncloud>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/owncloud
        SetEnv HTTP_HOME /var/www/owncloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/owncloud_error.log
    CustomLog ${APACHE_LOG_DIR}/owncloud_access.log combined
</VirtualHost>

Gerekli Apache modüllerini etkinleştir:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

OwnCloud sitesini etkinleştirin:

sudo a2ensite owncloud.conf

Varsayılan Apache sitesini etkinse devre dışı bırakın:

sudo a2dissite 000-default.conf

Apache yapılandırmasını test edin:

sudo apache2ctl configtest

Test başarılı olursa, Apache'i yeniden yükleyin:

sudo systemctl reload apache2

Adım 5 — Web Tabanlı Kurulumu Tamamlama

Tarayıcınızı açın ve http://your_domain.com adresine gidin. OwnCloud kurulum sihirbazını göreceksiniz.

OwnCloud kurulum sihirbazının başlangıç ekranı.

Yönetici Hesabı Oluştur

Aşağıdaki bilgileri girin:

  • Kullanıcı Adı: Bir yönetici kullanıcı adı seçin (ör. admin)
  • Parola: Güçlü bir parola oluştur
  • Veri klasörü: Varsayılan olarak /var/www/owncloud/data bırakın

OwnCloud yönetici hesabı oluşturma formu, ayrıntılı alanlarla.

Veritabanını Yapılandır

Veritabanı türü olarak MySQL/MariaDB seçin, ardından şunları girin:

  • Veritabanı kullanıcısı: owncloud
  • Veritabanı şifresi: Adım 2'de oluşturduğunuz şifre
  • Veritabanı adı: owncloud
  • Veritabanı sunucusu: localhost

Kurulumu tamamla öğesine tıklayın. OwnCloud gerekli veritabanı tablolarını oluşturacak ve kurulumu tamamlayacaktır. Bu işlem bir dakika sürebilir.

Kurulum tamamlandığında, OwnCloud web arayüzüne giriş yapmış olacaksınız.

Kurulumdan sonra OwnCloud giriş ekranı.

Başarılı giriş sonrası OwnCloud ana kontrol paneli.

OwnCloud durumunu OCC komut satırı aracıyla doğrulayabilirsiniz:

sudo -u www-data php /var/www/owncloud/occ status

Adım 6 — OwnCloud'u HTTPS ile Güvence Altına Alma

HTTPS şifrelemesi, dosya transferlerini ve giriş bilgilerini korumak için gereklidir. Ücretsiz bir SSL sertifikası almak için Let’s Encrypt kullanacağız.

Certbot'u Yüklemek

Certbot ve Apache eklentisini yükleyin:

sudo apt install -y certbot python3-certbot-apache

SSL Sertifikası Alma

Alan adınız için bir sertifika talep edin:

sudo certbot --apache -d your_domain.com

Certbot şunları yapacaktır:

  1. Alan adı sahipliğini doğrula
  2. SSL sertifikasını edinin
  3. Apache'yi HTTPS kullanacak şekilde yapılandırın
  4. Otomatik yenilemeyi ayarla

İstemi izleyin. Certbot, HTTP'yi HTTPS'ye yönlendirmek için Apache'i otomatik olarak yapılandıracaktır.

SSL Yapılandırmasını Doğrulama

SSL yapılandırmanızı test edin:

sudo certbot certificates

Sertifikanızın son kullanım tarihleriyle birlikte listelendiğini görmelisiniz.

HTTPS üzerinden OwnCloud'a erişin: https://your_domain.com. Tarayıcınızda bağlantının şifreli olduğunu gösteren bir kilit simgesi görmelisiniz.

Otomatik Sertifika Yenileme

Let’s Encrypt sertifikaları her 90 günde bir sona erer. Certbot otomatik yenilemeyi ayarlar, ancak bunun çalıştığını doğrulayın:

sudo certbot renew --dry-run

Bu komut başarılı olursa, otomatik yenileme doğru bir şekilde yapılandırılmış olur.

Daha ayrıntılı SSL yapılandırması için, Apache’yi Let’s Encrypt ile güvence altına alma rehberimize bakın.

Adım 7 — Güvenlik Duvarı Kurallarını Yapılandırma

Sunucunuza erişimi UFW (Basit Güvenlik Duvarı) kullanarak kısıtlayın. Sadece gerekli olan portlara izin verin.

UFW durumunu kontrol et:

sudo ufw status

UFW etkin değilse, etkinleştirin ve kuralları yapılandırın:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

Kuralları doğrulayın:

sudo ufw status numbered

SSH (port 22) ve Apache (port 80 ve 443) için izin veren kuralları görmelisiniz.

Daha kapsamlı bir güvenlik duvarı yapılandırması için, Ubuntu'da UFW kurulumu rehberimize bakın.

Adım 8 — Kullanıcı Hesapları ve Grupların Kurulması

OwnCloud, ekip dağıtımları için birden fazla kullanıcı ve grubu destekler. Arayüz, farklı bölümlere erişim için sol üst menüden ve profilinize ve yönetim ayarlarınıza erişim için sağ üst menüden gezinme sağlar.

OwnCloud sol üst navigasyon menüsü ana bölümleri gösteriyor.

Kullanıcı profili ve ayar seçenekleri ile OwnCloud sağ üst menüsü.

OwnCloud yönetici profil ayarları sayfası.

Kullanıcı Oluşturma

OwnCloud web arayüzünde Ayarlar → Kullanıcılar yolunu izleyin.

OwnCloud kullanıcı yönetim arayüzü, kullanıcı listesi ve oluşturma seçeneklerini gösteriyor.

Tıklayın + Yeni kullanıcı ve girin:

  • Kullanıcı Adı: Benzersiz bir kullanıcı adı
  • Şifre: Güçlü bir şifre
  • Gruplar: Grupları seçin (veya boş bırakın)
  • Depolama kotası: Bir limit belirleyin (örn. 5 GB) veya sınırsız bırakın

Kullanıcıyı eklemek için Oluştur'a tıklayın.

Grup Oluşturma

Ayarlar → Gruplar bölümüne gidin.

Kullanıcı gruplarını oluşturmak ve yönetmek için OwnCloud grup yönetim arayüzü.

Üzerine tıklayın + Yeni grup, bir grup adı girin ve üzerine tıklayın Oluştur.

Bir grup seçerek kullanıcılara grup ekleyin, ardından Kullanıcı ekle'ye tıklayın ve listeden kullanıcıları seçin.

Depolama Kotası Belirleme

Her kullanıcının ne kadar depolama alanı kullanabileceğini kontrol edin:

  1. Ayarlar → Kullanıcılar bölmesine gidin
  2. Bir kullanıcının yanındaki dişli simgesine tıklayın
  3. Depolama kotasını belirleyin (ör. 5 GB veya limitsiz)
  4. Kaydet öğesine tıklayın

Depolama kotaları, bireysel kullanıcıların tüm mevcut disk alanını tüketmesini önlemeye yardımcı olur.

Adım 9 — Dosya Paylaşımını Yapılandırma

OwnCloud, dosya ve klasörleri diğer kullanıcılarla veya genel bağlantılar aracılığıyla paylaşmayı destekler.

OwnCloud yönetici paylaşım ayarları yapılandırma sayfası.

Dahili Paylaşım

Başka bir OwnCloud kullanıcısı ile paylaşmak için:

  1. Dosyaya veya klasöre gidin
  2. Paylaş simgesine tıklayın
  3. Kullanıcı adını girin veya listeden seçin
  4. İzinleri seçin: Görebilir, Düzenleyebilir veya Paylaşabilir
  5. Paylaş öğesine tıklayın

OwnCloud dosya paylaşım arayüzü, seçilen bir dosya için paylaşım seçeneklerini gösteriyor.

Kullanıcı gruplarıyla dosya paylaşımı için OwnCloud grup paylaşım arayüzü.

Herkese Açık Bağlantı Paylaşımı

Paylaşılabilir bir genel bağlantı oluşturmak için:

  1. Bir dosya veya klasörde Paylaş simgesine tıklayın
  2. + Bağlantı paylaşımı ekle
  3. Seçenekleri yapılandır:

    • Şifre koruması: Erişim için şifre gerektir
    • Son kullanma tarihi: Bağlantının ne zaman sona ereceği belirlenir
    • İzin: Görüntüle veya indir
  4. Oluşturulan bağlantıyı kopyala

OwnCloud genel bağlantı paylaşım arayüzü, şifre koruması ve süre sonu seçenekleri ile.

Herkese açık bağlantılar, OwnCloud hesabı olmayan kişilerle dosya paylaşmak için faydalıdır.

Güvenlik Sertleştirme

HTTPS ve güvenlik duvarı yapılandırmasının ötesinde, ek güvenlik önlemleri OwnCloud örneğinizi korur.

Dosya ve Dizin İzinleri

İzinle ilgili sorunlarla karşılaşırsanız, sahiplik ve izin komutlarını Adım 3 — OwnCloud İndirme ve Kurulum'dan tekrar uygulayın.

İki Faktörlü Kimlik Doğrulamayı Etkinleştirme

OwnCloud, ek hesap güvenliği için iki faktörlü kimlik doğrulamayı (2FA) destekler.

  1. Bir 2FA uygulaması yükleyin (örneğin, Google Authenticator, Authy)
  2. OwnCloud'da Ayarlar → Güvenlik bölümüne gidin
  3. İki faktörlü kimlik doğrulamayı etkinleştir
  4. QR kodunu 2FA uygulamanızla tarayın
  5. Onaylamak için doğrulama kodunu girin

İki faktörlü kimlik doğrulamayı (2FA) etkinleştirdikten sonra, giriş yapmak için hem şifrenize hem de 2FA uygulamanızdan alınan bir koda ihtiyacınız olacak.

Uygulamaları yüklemek ve yapılandırmak için OwnCloud uygulama yönetim arayüzü.

Güvenilen Alan Adlarını Yapılandırma

OwnCloud örneğinize hangi alan adlarının erişebileceğini sınırlandırın. Yapılandırma dosyasını düzenleyin:

sudo nano /var/www/owncloud/config/config.php

trusted_domains dizisini bulun ve alan adınızı ekleyin:

'trusted_domains' =>
array (
  0 => 'localhost',
  1 => 'your_domain.com',
),

Kaydet ve çık. Bu, yetkisiz alan adlarının örneğinize erişmesini engeller.

Fail2Ban Kurulumu (Opsiyonel)

Fail2Ban, tekrar eden başarısız giriş denemeleri gibi kötü niyetli davranışlar sergileyen IP adreslerini otomatik olarak engeller.

Fail2Ban yapılandırmaları, Apache günlük formatlarına, sanal sunucu yollarına ve OwnCloud sürümlerine bağlı olarak değişebilir. Aşağıdaki örnek bir başlangıç noktası sağlar ve sunucunuzun erişim günlüklerinin konumuna ve istek desenlerine uyacak şekilde ayarlama gerektirebilir.

Fail2Ban'i Kurun:

sudo apt install -y fail2ban

OwnCloud için özel bir hapis oluşturun:

sudo nano /etc/fail2ban/jail.d/owncloud.conf

Aşağıdaki yapılandırmayı ekleyin:

[owncloud]
enabled = true
port = 80,443
filter = owncloud
logpath = /var/log/apache2/owncloud_access.log
maxretry = 3
bantime = 3600

Filtreyi oluştur:

sudo nano /etc/fail2ban/filter.d/owncloud.conf

Ekle :

[Definition]
failregex = ^.*"POST /owncloud/.*" (4[0-9]{2}|5[0-9]{2}) .*$
ignoreregex =

Fail2Ban beklenildiği gibi tetiklenmiyorsa, Apache erişim günlük yolu doğrulayın ve failregex'i sisteminizdeki gerçek OwnCloud istek girdileriyle eşleşecek şekilde düzenleyin.

Fail2Ban'i Yeniden Başlat:

sudo systemctl restart fail2ban

Fail2Ban artık OwnCloud erişim günlüklerini izleyecek ve şüpheli faaliyet gösteren IP'leri engelleyecek.

Performans Optimizasyonu

Üretim ortamında OwnCloud performansını en üst düzeye çıkarmak için birkaç önemli optimizasyon uygulayın: PHP limitlerini artırın, OPcache'i etkinleştirin ve yapılandırın, MySQL veya MariaDB ayarlarını optimize edin, veri dizini için SSD depolama kullanın, Apache'i çoklu işlem için yapılandırın ve sunucu donanımınızın yeterli olduğundan emin olun.

PHP Yapılandırması

PHP bellek sınırını ve yürütme süresini artırın. PHP yapılandırmasını düzenleyin:

sudo nano /etc/php/7.4/apache2/php.ini

Bu ayarları bulun ve değiştirin:

memory_limit = 512M
max_execution_time = 3600
upload_max_filesize = 1G
post_max_size = 1G

Apache'yi yeniden başlat:

sudo systemctl restart apache2

OPcache'i Etkinleştirme

OPcache, derlenmiş PHP kodunu önbelleğe alarak PHP performansını artırır. Etkinleştirin:

sudo nano /etc/php/7.4/apache2/php.ini

Bul ve yorum satırını kaldır:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2

Apache'yi yeniden başlat:

sudo systemctl restart apache2

Veritabanı Optimizasyonu

OwnCloud için MySQL'i optimize edin. MySQL yapılandırmasını düzenleyin:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld] altında bu ayarları ekleyin veya değiştirin:

innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 200

MySQL'i Yeniden Başlat:

sudo systemctl restart mysql

Bu değerleri sunucunuzun mevcut RAM miktarına ve iş yüküne göre ayarlayın.

Depolama Genişletme

Dosya depolama ihtiyaçlarınız zamanla arttıkça, mevcut verileri taşımak veya hizmeti aksatmak konusunda endişelenmenize gerek yoktur. OwnCloud, ek diskler, ağ paylaşımları ekleyerek veya yeni depolama altyapılarını dış depolama desteği aracılığıyla entegre ederek kullanılabilir depolamanızı sorunsuz bir şekilde genişletmenizi sağlar. Bu esneklik, yeni yerel sürücüleri bağlayarak, SAN veya NAS cihazlarını ekleyerek veya bulut tabanlı depolama çözümlerine bağlanarak depolama alanınızı büyütmenize olanak tanır; tüm bunlar, dosyaları taşımadan doğrudan OwnCloud arayüzünden erişilebilir.

Harici Depolama Ekleme

OwnCloud, harici depolama arka uçlarını bağlamayı destekler:

  1. Ayarlar → Yönetim → Dış depolama
  2. Depolama ekle öğesine tıklayın
  3. Depolama türünü seçin (Yerel, FTP, S3, vb.)
  4. Bağlantı detaylarını yapılandır
  5. Kullanılabilirliği ayarla (tüm kullanıcılar veya belirli gruplar)
  6. Kaydet öğesine tıklayın

OwnCloud dış depolama yapılandırma arayüzü, kullanılabilir depolama arka uçlarını gösteriyor.

Harici depolama, kullanıcıların dosya listelerinde yerel depolama ile birlikte görünür.

Nesne Depolamayı Kullanma

Büyük ölçekli dağıtımlar için, S3 uyumlu nesne depolamayı düşünün:

  1. Dış depolama uygulamasını yükleyin (genellikle önceden yüklü gelir)
  2. Ayarlar → Yönetim → Dış depolama
  3. Amazon S3 veya S3 Uyumlu seçin
  4. Erişim kimlik bilgilerini ve kova adını girin
  5. Gerektiği gibi yapılandır

Nesne depolama, büyük dosya koleksiyonları için ölçeklenebilir ve maliyet etkin bir depolama sağlar.

OwnCloud ve Nextcloud: Güvenli Kendi Kendine Barındırılan Dosya Depolama için Detaylı Bir Karşılaştırma

Kendi kendine barındırılan bulut depolama çözümünüzü planlarken, en iyi açık kaynak seçeneklerden ikisi OwnCloud ve Nextcloud’tır. Her ikisi de güçlü dosya senkronizasyonu, paylaşım ve iş birliği özellikleri sunar, ancak felsefe, geliştirme yaklaşımı, özellik setleri, güvenlik ve destek seçenekleri açısından önemli farklılıklar vardır. Bu detaylı karşılaştırma, hangi platformun kişisel veya kurumsal ihtiyaçlarınıza en uygun olduğunu belirlemenize yardımcı olacaktır.

Ana Farklar Bir Bakışta

GörünümOwnCloudNextcloud
Birincil OdakKurumsal özellikler, ticari uzun vadeli destek, istikrarTopluluk odaklı inovasyon, hızlı özellik lansmanları, açık kaynak felsefesi
LisanslamaÇekirdek için AGPL; kurumsal uygulamalar ve destek için ticari seçenekler100% AGPL açık kaynak (tüm özellikler)
Sürüm SıklığıKararlı, iyi test edilmiş sürümler, daha az sık güncellemelerHızlı gelişim, sık yeni özellik ve hata düzeltmeleri
Gelişmiş ÖzelliklerDetaylı dosya erişimi, kurumsal şifreleme, fidye yazılımı koruması, denetimİşbirliği araçları, entegre video sohbeti, e-posta, kapsamlı paylaşım
Uygulama Ekosistemiİyi ama daha küçük (istikrar ve güvenliğe odaklı)En büyük açık kaynak uygulama mağazası: Notlar, Konuşma, Grup Yazılımı, Haritalar ve daha fazlası
Topluluk BüyüklüğüDaha küçük, kurumsal odaklı, güçlü ticari satıcı desteğiDaha büyük, çok aktif açık kaynak topluluğu ve katkıda bulunanlar
DestekResmî ticari destek ve SLA’lar (ownCloud GmbH)Topluluk desteği, isteğe bağlı ücretli kurumsal destek (Nextcloud GmbH)
En İyi İçinYeni özellikler yerine uyumluluk, destek ve istikrar arayan işletmelerİnovasyon ve özelleştirme isteyen kuruluşlar/öğrenciler/geliştiriciler

Detaylı Özellik Karşılaştırması

1. Güvenlik ve Uyumluluk

  • OwnCloud: Dosya güvenlik duvarı, fidye yazılımı koruması, denetim, kullanıcı sağlama ve çok faktörlü kimlik doğrulama dahil olmak üzere gelişmiş kurumsal düzeyde güvenlik modülleri sunar. GDPR, HIPAA ve diğer standartlar için uyum modülleri mevcuttur.
  • Nextcloud: Düzenli üçüncü taraf denetimleri, kaba kuvvet saldırılarına karşı koruma, iki faktörlü kimlik doğrulama ve aktif bir bug bounty programı ile güçlü bir güvenlik temeli. Gelişmiş denetim veya dosya güvenlik duvarı gibi kurumsal düzey özellikler üçüncü taraf uygulamalar veya geliştirme gerektirebilir.

2. Performans ve Ölçeklenebilirlik

  • OwnCloud: Büyük ölçekli, kritik öneme sahip dağıtımlar için tasarlanmıştır. Dağıtılmış depolama, dosya kilitleme ve milyonlarca dosya ile kullanıcıyı optimize şekilde yönetme araçlarını içerir.
  • Nextcloud: Çoğu orta ölçekli organizasyon ve topluluk için iyi bir şekilde ölçeklenir. Yatay ölçeklendirme seçenekleri mevcuttur, ancak gelişmiş dağıtık depolama ek yapılandırma gerektirir.

3. İş Birliği Araçları

  • OwnCloud: Temel iş birliği özellikleriyle güvenli ve öngörülebilir dosya depolama ve paylaşımına odaklanır. Ofis belgeleri düzenleme için entegrasyonlar (ticari eklentilerle) mevcuttur.
  • Nextcloud: Kapsamlı yerleşik iş birliği paketi, gerçek zamanlı ortak doküman düzenleme (Collabora/OnlyOffice ile), takvim, sohbet (Talk), e-posta ve daha fazlası, hepsi gelişen uygulama ekosistemi üzerinden sıkı bir şekilde entegre edilmiş.

4. Ekosistem ve Genişletilebilirlik

  • OwnCloud: İş ve uyumluluk odaklı, özenle seçilmiş, istikrarlı bir uygulama pazaryeri sunar.
  • Nextcloud: En büyük açık kaynak bulut uygulama mağazasını sunar; multimedya, grup yazılımı, araştırma, DevOps ve daha fazlası için yüzlerce eklentiye sahiptir.

5. Ticari ve Topluluk Desteği

  • OwnCloud: ownCloud GmbH tarafından desteklenmektedir, profesyonel destek, onboarding ve kurumsal SLA paketleri sunar. Büyük işletmeler, devlet kurumları ve düzenlemelere tabi sektörler tarafından kullanılmaktadır.
  • Nextcloud: Nextcloud GmbH tarafından yönetilen ve ticari destek seçenekleri sunan, ancak açık topluluk iş birliğine büyük önem veren bir platform. Herkes için çevrimiçi forumlar, dokümantasyon ve düzenli topluluk etkinlikleri mevcuttur.

Karar Rehberi: Hangi Platformu Seçmelisiniz?

OwnCloud'u tercih edin eğer:

  • Garantili kurumsal destek, uzun vadeli bakım veya resmi bir hizmet seviyesinde anlaşma (SLA) gerektiriyorsunuz.
  • Kuruluşunuz, en son özelliklerden ziyade öngörülebilirlik, uyumluluk ve istikrarı önceliklendiriyor.
  • Dosya güvenlik duvarı, fidye yazılım koruması veya detaylı denetim gibi gelişmiş ticari modüllere ihtiyacınız var.
  • Düzenlenmiş bir sektörün parçasısınız (ör. sağlık, finans, devlet) ve resmi bir satıcı desteğine ihtiyacınız var.

Nextcloud'u tercih edin eğer:

  • Hızlı, hızla büyüyen bir platform ve aktif bir topluluk ile sık sık özellik geliştirmelerine sahip bir platform istiyorsunuz.
  • Yerleşik olarak entegre edilmiş çok çeşitli iş birliği araçlarına ihtiyacınız var (sohbet, video, e-posta, haberler vb.).
  • Tüm özellikler için sadece açık kaynaklı bir yaklaşımı tercih ediyorsunuz, kilitli ticari modüller olmadan.
  • Hızla gelişen bir uygulama ekosisteminde denemeler yapmak veya katkıda bulunmak istiyorsunuz.

SSS

Soru: Kurumsal kullanım için OwnCloud mu yoksa Nextcloud mu daha iyidir?
Cevap: OwnCloud, resmi destek, uzun vadeli güvenlik bakımı ve uyumluluk özellikleri gerektiren büyük işletmeler tarafından genellikle tercih edilmektedir. Nextcloud de işletmeler için uygundur, özellikle açık kaynak topluluğu yeniliklerini benimseyenler için.

S: OwnCloud'dan Nextcloud'a veya tam tersi göç edebilir miyim?
C: Her ikisi de benzer bir çekirdek mimariye sahip olduğundan göç mümkündür, ancak uyumluluk sürüme ve yüklü uygulamalara göre değişir. Verilerinizi her zaman yedekleyin ve göçü üretim ortamı dışında test edin.

Soru: OwnCloud ve Nextcloud: Hangisi kendi sunucunuzda barındırılan dosya depolama için geleceğe daha uygun?
Cevap: İkisi de olgun ve aktif olarak bakım yapılan platformlardır. Nextcloud, hızlı açık kaynak inovasyonunda öne çıkarken, OwnCloud dayanıklılık, uyumluluk ve kanıtlanmış kurumsal dağıtımlara odaklanır. Özetle, hem OwnCloud hem de Nextcloud, Dropbox veya Google Drive gibi ticari bulut hizmetlerine güçlü ve özellik açısından zengin alternatiftir; gizlilik, esneklik ve verileriniz üzerinde tam kontrol sunar. Kararınız, güvenlik, destek ve genişletilebilirlik açısından özel gereksinimlerinize göre şekillenmelidir. Uyumluluk ihtiyacı, yeni özelliklere olan ilgi ve arzu edilen destek modeli gibi organizasyonel önceliklerinizi değerlendirerek, kendi sunucunuzda barındıracağınız ortam için doğru açık kaynak dosya depolama platformunu güvenle seçebilirsiniz.

Yedekleme ve Geri Yükleme (Önerilen)

Düzenli yedeklemeler, OwnCloud verilerinizi korumak ve felaket kurtarma işlemlerini mümkün kılmak için çok önemlidir.

Bakım Modunu Etkinleştir

Veri değişikliklerini önlemek için yedeklemeden önce OwnCloud'u bakım moduna alın:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on

Veritabanı Yedeklemesi

MySQL veritabanını yedekleyin:

mysqldump -u owncloud -p owncloud > /root/owncloud_db_backup.sql

Dosya Yedekleme

OwnCloud dosyalarını ve veri dizinini yedekleyin:

tar czf /root/owncloud_files_backup.tar.gz /var/www/owncloud
# or, for incremental backup:
rsync -a /var/www/owncloud/ /backup/location/owncloud/

Geri Yükleme Prosedürü

  1. Önce veritabanını geri yükleyin:

    mysql -u owncloud -p owncloud < /root/owncloud_db_backup.sql
  2. Dosyaları ve veri dizinini geri yükleyin:

    tar xzf /root/owncloud_files_backup.tar.gz -C /
    # or use rsync to copy files back
  3. Bakım modunu devre dışı bırak:

    sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Düzeni geri yükleyin: Dosyaları geri yüklemeden önce her zaman veritabanını geri yükleyin. Geri yükleme işlemi tamamlandıktan sonra, OwnCloud'u çevrimiçi duruma getirmek için bakım modunu devre dışı bırakın.

Yaygın Sorunları Giderme

  • Sunucu İç Hatası: Genellikle yanlış dosya izinleri veya eksik bir PHP/Apache modülünden kaynaklanır. Adım 3 — OwnCloud İndirme ve Kurulum bölümündeki sahiplik ve izin komutlarını yeniden uygulayın ve gerekli PHP modüllerinin etkinleştirildiğini doğrulayın.

  • Güvenilen alan adı hatası: Sunucunuzun alan adını içerecek şekilde /var/www/owncloud/config/config.php dosyasındaki trusted_domains dizisini güncelleyin.

  • Büyük dosya yükleme hataları: /etc/php/7.4/apache2/php.ini dosyasındaki upload_max_filesize, post_max_size ve max_execution_time ayarlarını artırın, ardından Apache'yi yeniden başlatın.

  • Bakım modu takıldı: Bakım modunu şu şekilde devre dışı bırakın:

    sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

PHP Sürüm Uyumluluğu

OwnCloud PHP 7.4 gerektirir. PHP sürümünüzü kontrol edin:

php -v

Daha eski bir sürüm kullanıyorsanız, Apache modülü ile PHP 7.4'ü kurun:

sudo apt install -y php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-gd php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring php7.4-curl

PHP modülünü etkinleştirin ve Apache'i yeniden başlatın:

sudo a2enmod php7.4
sudo systemctl restart apache2

PHP'nin Apache'de yüklü olduğunu doğrulayın:

apache2ctl -M | grep php7

Çıktıda php7_module görmelisiniz.

Veritabanı Bağlantı Hataları

OwnCloud MySQL’e bağlanamıyorsa, şunları kontrol edin:

  1. MySQL çalışıyor: sudo systemctl status mysql
  2. Veritabanı kimlik bilgileri /var/www/owncloud/config/config.php dosyasında doğru
  3. MySQL kullanıcısının uygun izinleri var: sudo mysql -u root -p -e "SHOW GRANTS FOR 'owncloud'@'localhost';"

İzin Hataları

Adım 3 — OwnCloud’u İndirme ve Kurma bölümündeki sahiplik ve izin komutlarını yeniden uygulayın.

Sorunlar devam ederse, Apache'in dosyaları okuyabildiğini doğrulayın:

sudo -u www-data ls -la /var/www/owncloud

Bu, web sunucusu kullanıcısının uygun erişime sahip olduğunu doğrular.

SSL Sertifika Sorunları

HTTPS çalışmıyorsa:

  1. Sertifikayı doğrula: sudo certbot certificates
  2. Apache SSL yapılandırmasını kontrol et: sudo apache2ctl -S
  3. DNS'in sunucunuza yönlendiğini doğrulayın: dig your_domain.com
  4. Güvenlik duvarının 443 numaralı portu izin verdiğini kontrol edin: sudo ufw status

OwnCloud'u Kendi Sunucusunda Barındırmanın Artıları ve Eksileri

Artıları

  • Tam Veri Kontrolü: Tüm veriler sizin altyapınızda kalır, uyumluluk ve veri yerleşim gereksinimlerini karşılar
  • Kullanıcı Başına Ücret Yok: Tek seferlik sunucu maliyetleri ile tekrar eden kullanıcı başına bulut depolama ücretleri
  • Özelleştirme: OwnCloud’u kuruluşunuzun ihtiyaçlarına göre değiştirin ve genişletin
  • Gizlilik: Dosyalarınıza veya meta verilerinize üçüncü taraf erişimi yok
  • Entegrasyon: Mevcut kurum içi altyapı ve hizmetlerle bağlantı kurun
  • Sınırsız Depolama: Depolamayı donanımınıza göre ölçeklendirin, satıcı sınırlarına göre değil

Eksiler

  • Bakım Gerekiyor: Güncellemeler, yedeklemeler, güvenlik yamaları ve sorun giderme sizin sorumluluğunuzdadır
  • İlk Kurulum Karmaşıklığı: Linux, web sunucusu ve veritabanı yönetimi bilgisi gerektirir
  • Donanım Maliyetleri: Sunucu donanımlarını veya bulut örneklerini sağlamak ve bakımını yapmak gerekir
  • Performans Ayarı: Büyük dağıtımlar veya yüksek eşzamanlılık için optimizasyon gerekebilir
  • Destek: Yalnızca topluluk desteği (ticari destek içeren OwnCloud Enterprise kullanılmadıkça)

OwnCloud'u kendi sunucunuzda barındırmak, veri egemenliği, uzun vadede maliyet tasarrufu veya özelleştirme öncelikli olduğunda mantıklıdır. Teknik bilgiye sahip değilseniz veya yönetilen servisleri tercih ediyorsanız bu seçenek daha az uygundur.

Sıkça Sorulan Sorular (SSS)

S1: OwnCloud'u Ubuntu'da çalıştırmak için sistem gereksinimleri nelerdir?
OwnCloud, Ubuntu 22.04 veya daha yenisini (LTS), Apache 2.4+, MySQL 5.7+ veya MariaDB 10.2+ ve PHP 7.4 gerektirir. Minimum donanım: 2GB RAM, 20GB disk alanı. Birden çok kullanıcıyla üretim ortamı için 4GB+ RAM ve 100GB+ depolama alanı planlayın. Kesin gereksinimler kullanıcı sayısına, dosya boyutlarına ve eşzamanlı erişim desenlerine bağlıdır.

S2: OwnCloud ile Apache yerine Nginx kullanabilir miyim?
Evet, OwnCloud Nginx ile çalışır, ancak Apache resmi olarak önerilen web sunucusudur ve daha iyi belgelenmiştir. Nginx kullanıyorsanız, PHP-FPM ve yeniden yazma kurallarını manuel olarak yapılandırmanız gerekecektir. OwnCloud belgeleri Nginx yapılandırma örneklerini içermektedir.

S3: OwnCloud kurulumumu nasıl yedeklerim?
Üç bileşeni yedekleyin: OwnCloud uygulama dosyaları (/var/www/owncloud), veri dizini (/var/www/owncloud/data) ve MySQL veritabanı. Veritabanı için mysqldump, dosyalar için rsync veya tar kullanın. Düzenli otomatik yedeklemeler planlayın ve geri yükleme prosedürlerini test edin.

S4: OwnCloud hassas veriler için güvenli midir?
OwnCloud doğru şekilde yapılandırıldığında güçlü güvenlik sağlar: HTTPS şifrelemesi, kullanıcı doğrulaması, isteğe bağlı iki faktörlü kimlik doğrulama ve dosya seviyesinde erişim kontrolleri. Oldukça hassas veriler için, gelişmiş şifreleme özelliklerine sahip OwnCloud Enterprise'ı düşünün veya dinlenme halinde şifreleme ve ağ izolasyonu gibi ek güvenlik önlemleri uygulayın.

S5: OwnCloud'u yeni bir sürüme nasıl yükseltirim?
Yükseltmeden önce, kurulumunuzu ve veritabanınızı yedekleyin. Yeni sürümü indirin, geçici bir konuma çıkarın, web sunucusunu durdurun, uygulama dosyalarını (config/ ve data/ hariç) değiştirin, dosya izinlerini güncelleyin ve yükseltme betiğini web arayüzü veya komut satırı üzerinden çalıştırın (occ upgrade). Yükseltmeleri her zaman önce bir test ortamında deneyin.

S6: OwnCloud, Active Directory veya LDAP ile entegre olabilir mi?
Evet, OwnCloud, LDAP kullanıcı altyapı uygulaması aracılığıyla LDAP ve Active Directory entegrasyonunu destekler. Bu, dizin hizmetinizdeki mevcut kullanıcı hesaplarını kullanmanıza olanak tanır ve ayrı OwnCloud kullanıcı hesaplarını yönetme ihtiyacını ortadan kaldırır. LDAP’ı Ayarlar → Yönetim → Kullanıcı kimlik doğrulaması bölümünden yapılandırabilirsiniz.

S7: OwnCloud Community ve Enterprise sürümleri arasındaki fark nedir?
OwnCloud Community Edition açık kaynaklı ve ücretsizdir; temel dosya depolama ve paylaşım özelliklerine sahiptir. Enterprise Edition ise gelişmiş güvenlik (fidye yazılımı koruması, dosya güvenlik duvarı), uyumluluk özellikleri (saklama politikaları, denetim kayıtları), ticari destek ve öncelikli hata düzeltmeleri sunar. Çoğu küçük ve orta ölçekli kurulum, Community Edition ile iyi çalışır.

Soru 8: Ubuntu üzerinde OwnCloud performansını nasıl artırabilirim?
PHP OPcache'i etkinleştirin, MySQL ayarlarını optimize edin (innodb_buffer_pool_size değerini artırın), veri dizini için SSD depolama kullanın, Apache'yi uygun worker ayarları ile yapılandırın ve statik içerikler için ters proxy önbelleği kullanmayı düşünün. Çok büyük kurulumlar için ise nesne depolama arka uçları veya dağıtık dosya sistemlerini göz önünde bulundurun.

Soru 9: OwnCloud mobil uygulamaları destekliyor mu?
Evet, OwnCloud iOS ve Android için resmi mobil uygulamalar sunmaktadır. Bu uygulamalar, mobil cihazlardan dosyalara erişmenizi, senkronize etmenizi ve dosya paylaşmanızı sağlar. Uygulamalar, otomatik fotoğraf yükleme, çevrimdışı dosya erişimi ve OwnCloud örneğinize güvenli bağlantılar gibi özellikleri destekler.

S10: MySQL yerine PostgreSQL kullanabilir miyim?
Evet, OwnCloud alternatif bir veritabanı altyapısı olarak PostgreSQL'i destekler. Kurulum sırasında MySQL yerine PostgreSQL'i seçin ve bağlantı bilgilerini sağlayın. PostgreSQL, OwnCloud ile daha az yaygın olarak kullanılsa da, halihazırda PostgreSQL altyapısı kullanan dağıtımlar için iyi çalışır.

Sonuç

OwnCloud, ticari bulut depolama hizmetlerine güçlü, kendi kendine barındırılan bir alternatif sunar. OwnCloud'u Ubuntu üzerine Apache, MySQL ve PHP ile kurarak, dosya senkronizasyonu, paylaşımı ve işbirliği gibi özellikleri korurken, dosya depolama altyapınız üzerinde tam kontrol elde edersiniz.

Kurulum süreci, LAMP yığını kurmayı, veritabanını yapılandırmayı, kurulumu HTTPS ile güvence altına almayı ve güvenlik duvarları ile uygun izinlerle güvenliği güçlendirmeyi içerir. Çalışır duruma geldikten sonra OwnCloud, kullanıcı yönetimini, harici depolama entegrasyonunu ve üretim dağıtımları için performans optimizasyonunu destekler.

Veri egemenliğini korumak, uzun vadeli depolama maliyetlerini azaltmak veya dosya depolama çözümünüzü özelleştirmek istiyor olmanız fark etmez, Ubuntu’da OwnCloud, kişisel kullanımdan kurumsal dağıtımlara kadar ölçeklenebilen esnek bir temel sunar. OwnCloud ile Nextcloud arasındaki seçim, önceliklerinize bağlıdır: kurumsal destek ve istikrar ile topluluk odaklı yenilik ve hızlı özellik güncellemeleri arasında bir tercih yapmanız gerekir.

Doğru yapılandırma, güvenlik sertleştirmesi ve düzenli bakım ile OwnCloud örneğiniz yıllarca güvenilir ve özel dosya depolama sağlayacaktır.

İleri Okumalar

  • Ubuntu'ya LAMP Yığını Nasıl Kurulur
  • Ubuntu'da Apache'yi Let’s Encrypt ile Güvence Altına Alma
  • Ubuntu'da UFW ile Bir Güvenlik Duvarı Nasıl Kurulur

Linux-Console.net Topluluğu ile öğrenme sürecine katıldığınız için teşekkürler.