Takip et

Arch Linux Üzerine ownCloud Kurulumu ve Yapılandırması

Arch Linux Üzerine ownCloud Kurulumu ve Yapılandırması Arch Linux, minimalist yapısı ve “yapılandırmayı sen yap” felsefesiyle sistem yöneti

Arch Linux Üzerine ownCloud Kurulumu ve Yapılandırması

Arch Linux, minimalist yapısı ve “yapılandırmayı sen yap” felsefesiyle sistem yöneticileri ve deneyimli kullanıcılar arasında popüler bir dağıtımdır. Bu esneklik, sunucu uygulamalarını derinlemesine anlamak ve optimize etmek isteyenler için mükemmel bir zemin sunar. ownCloud ise, kişisel ve kurumsal bulut depolama çözümleri arasında önde gelen açık kaynaklı bir platformdur. Kullanıcılara kendi sunucuları üzerinde dosya senkronizasyonu, paylaşımı, takvim ve kişi yönetimi gibi birçok özellik sunarak veri egemenliğini geri kazandırır. Bu makale, Arch Linux’un gücünü ownCloud’un esnekliğiyle birleştirerek, kendi özel bulut depolama sisteminizi nasıl kuracağınızı ve yapılandıracağınızı adım adım açıklamaktadır.

Verilerinizi üçüncü taraf hizmet sağlayıcılarına emanet etmek yerine kendi kontrolünüzde tutmak isteyenler için ownCloud, güvenli ve özelleştirilebilir bir alternatif sunar. Arch Linux üzerindeki kurulum, sistemin nasıl çalıştığına dair derinlemesine bir anlayış geliştirmenize olanak tanırken, aynı zamanda performansı ve güvenliği kendi ihtiyaçlarınıza göre optimize etme fırsatı verir. Bu kılavuzda, gerekli ön gereksinimlerden başlayarak, veritabanı ve web sunucusu kurulumuna, ownCloud dosyalarının dağıtımına ve sonrasında sistemin güvenliğini ve performansını artıracak yapılandırmalara kadar her adımı detaylı bir şekilde ele alacağız. Amacımız, Arch Linux’ta ownCloud’u sorunsuz bir şekilde çalışır hale getirmeniz için kapsamlı ve pratik bir rehber sunmaktır.

Ön Gereksinimler

ownCloud kurulumuna başlamadan önce, sisteminizin belirli gereksinimleri karşıladığından emin olmanız önemlidir. Bu gereksinimler, donanım kaynaklarından yazılım bağımlılıklarına kadar çeşitlilik gösterir.

Donanım Gereksinimleri

ownCloud’un performansı, sunucunuzun donanım özelliklerine doğrudan bağlıdır. Temel bir ownCloud kurulumu için minimum gereksinimler şunlardır:
* İşlemci (CPU): En az 1 GHz çift çekirdekli işlemci önerilir. Daha fazla kullanıcı veya yoğun dosya işlemleri için daha güçlü bir işlemci gerekebilir.
* Bellek (RAM): ownCloud’un kendisi minimum 128 MB RAM gerektirse de, genel sistem performansı ve diğer servisler (veritabanı, web sunucusu) için en az 2 GB RAM önerilir. Yoğun kullanım durumlarında 4 GB veya daha fazlası idealdir.
* Depolama Alanı: İşletim sistemi, ownCloud uygulaması ve kullanıcı verileri için yeterli depolama alanına sahip olmanız gerekir. Başlangıç için en az 20 GB boş disk alanı önerilir, ancak bu tamamen depolayacağınız veri miktarına bağlıdır. RAID yapılandırmaları veya SSD diskler, özellikle büyük dosya transferleri ve çoklu kullanıcı ortamlarında performansı önemli ölçüde artırabilir.
* Ağ Bağlantısı: Sunucunuzun internete sürekli ve stabil bir bağlantısı olmalıdır. Yüksek bant genişliği, dosya senkronizasyonu ve erişim hızını doğrudan etkiler.

Yazılım Gereksinimleri

ownCloud, bir web sunucusu, bir veritabanı ve PHP çalışma zamanı ortamına ihtiyaç duyar. Arch Linux üzerinde bu bileşenleri kuracağız:
* İşletim Sistemi: Güncel bir Arch Linux kurulumu.
* Web Sunucusu: Apache (httpd) veya Nginx. Bu kılavuzda her ikisini de ele alacağız, ancak Apache üzerinden daha detaylı bir anlatım sunulacaktır.
* Veritabanı: MariaDB (MySQL ile uyumlu ve Arch Linux’ta varsayılan olarak tercih edilir) veya PostgreSQL. Bu kılavuzda MariaDB kullanacağız.
* PHP: ownCloud’un gerektirdiği belirli PHP sürümü ve çeşitli PHP modülleri. ownCloud’un resmi belgelerinden en güncel sürüm gereksinimlerini kontrol etmek önemlidir. Genellikle PHP 7.4 veya üzeri bir sürüm önerilir.
* Diğer Yardımcı Programlar: wget, tar, unzip gibi temel komut satırı araçları.

Kuruluma başlamadan önce, Arch Linux sisteminizin güncel olduğundan ve temel ağ ayarlarının (statik IP adresi, DNS sunucuları) doğru yapılandırıldığından emin olun.

Sistem Güncellemesi ve Temel Paketlerin Kurulumu

Herhangi bir büyük kurulum işlemine başlamadan önce Arch Linux sisteminizi güncellemek, potansiyel uyumluluk sorunlarını önlemek ve en yeni güvenlik yamalarına sahip olmak için kritik öneme sahiptir.

İlk olarak, sistem paket veritabanını senkronize edin ve yüklü tüm paketleri güncelleyin:

sudo pacman -Syu

Bu komut, sisteminizi en son kararlı sürüme getirir. Güncelleme işlemi tamamlandıktan sonra, ownCloud kurulumu için gerekli olabilecek bazı temel yardımcı programları yükleyelim:

sudo pacman -S wget curl tar unzip

* wget ve curl: ownCloud paketini internetten indirmek için kullanılır.
* tar ve unzip: İndirilen ownCloud arşivini açmak için kullanılır.

Bu adımlar, sisteminizi ownCloud kurulumuna hazırlamak için sağlam bir temel oluşturur.

Veritabanı Kurulumu ve Yapılandırması

ownCloud, tüm kullanıcı verilerini, yapılandırmalarını ve diğer önemli bilgilerini bir veritabanında saklar. Arch Linux üzerinde MariaDB, MySQL ile tamamen uyumlu ve açık kaynaklı bir seçenek olarak yaygın şekilde kullanılır. Bu bölümde MariaDB’yi kuracak ve ownCloud için özel bir veritabanı ile kullanıcı oluşturacağız.

MariaDB Kurulumu

MariaDB sunucusunu sisteminize kurmak için aşağıdaki komutu kullanın:

sudo pacman -S mariadb

Kurulum tamamlandıktan sonra, MariaDB servisini başlatmalı ve sistem açılışında otomatik olarak başlaması için etkinleştirmelisiniz:

sudo systemctl start mariadb
sudo systemctl enable mariadb

MariaDB’nin düzgün çalıştığını kontrol etmek için:

sudo systemctl status mariadb

Çıktıda “active (running)” ifadesini görmelisiniz.

MariaDB Güvenli Yapılandırması

Yeni kurulan bir MariaDB sunucusu, varsayılan olarak bazı güvenlik açıklarına sahip olabilir. mysql_secure_installation betiği, bu açıkları kapatmak için interaktif bir yapılandırma aracı sunar.

sudo mysql_secure_installation

Betik size aşağıdaki soruları soracaktır:
1. Enter current password for root (enter for none): İlk kurulumda root kullanıcısının şifresi yoktur, bu yüzden doğrudan Enter tuşuna basın.
2. Set root password? [Y/n]: Y tuşuna basarak root kullanıcısı için güçlü bir şifre belirleyin. Bu şifreyi unutmayın, çünkü veritabanı yönetimi için gereklidir.
3. Remove anonymous users? [Y/n]: Y tuşuna basarak anonim kullanıcıları kaldırın.
4. Disallow root login remotely? [Y/n]: Y tuşuna basarak root kullanıcısının uzaktan bağlantısını devre dışı bırakın. Bu, güvenlik için iyi bir uygulamadır.
5. Remove test database and access to it? [Y/n]: Y tuşuna basarak “test” veritabanını ve ona erişimi kaldırın.
6. Reload privilege tables now? [Y/n]: Y tuşuna basarak ayrıcalık tablolarını yeniden yükleyin.

Bu adımlar MariaDB sunucunuzun temel güvenliğini önemli ölçüde artıracaktır.

ownCloud İçin Veritabanı ve Kullanıcı Oluşturma

Şimdi ownCloud’un kullanacağı özel bir veritabanı ve bu veritabanına erişebilecek bir kullanıcı oluşturacağız. Bu, ownCloud’un root kullanıcısı yerine kendi ayrıcalıklı kullanıcısıyla çalışmasını sağlayarak güvenlik riskini azaltır.

MariaDB komut istemcisine root kullanıcısı olarak bağlanın:

sudo mysql -u root -p

İstendiğinde, mysql_secure_installation sırasında belirlediğiniz root şifresini girin.

MariaDB istemcisi içinde aşağıdaki komutları sırasıyla çalıştırın. owncloud_db yerine istediğiniz veritabanı adını, owncloud_user yerine istediğiniz kullanıcı adını ve 'sifre' yerine güçlü bir şifre belirleyin:

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

* CREATE DATABASE owncloud_db: owncloud_db adında yeni bir veritabanı oluşturur. utf8mb4 karakter seti, çeşitli dillerdeki karakterleri ve emojileri desteklemek için önerilir.
* CREATE USER 'owncloud_user'@'localhost': owncloud_user adında ve sadece yerel makineden (localhost) bağlanabilen bir kullanıcı oluşturur.
* IDENTIFIED BY 'sifre': Bu kullanıcı için bir şifre belirler. Güçlü bir şifre kullanmayı unutmayın.
GRANT ALL PRIVILEGES ON owncloud_db. TO 'owncloud_user'@'localhost': owncloud_user kullanıcısına owncloud_db veritabanındaki tüm tablolara tam erişim yetkisi verir.
* FLUSH PRIVILEGES: Veritabanı ayrıcalıklarını günceller.
* EXIT: MariaDB istemcisinden çıkar.

Veritabanı kurulumu ve yapılandırması artık tamamlanmıştır.

Web Sunucusu Kurulumu ve Yapılandırması

ownCloud, bir web uygulaması olduğu için, istemcilerden gelen HTTP/HTTPS isteklerini işleyebilecek bir web sunucusuna ihtiyaç duyar. Arch Linux üzerinde en yaygın kullanılan web sunucuları Apache ve Nginx’tir. Bu bölümde her iki sunucunun kurulumunu ve ownCloud için nasıl yapılandırılacağını detaylıca ele alacağız.

Apache HTTP Sunucusu Kurulumu ve Yapılandırması

Apache, geniş dokümantasyonu ve esnek modül yapısıyla popüler bir tercihtir.

Apache Kurulumu

Apache web sunucusunu ve PHP ile entegrasyon için gerekli olan php-apache paketini kurun:

sudo pacman -S apache php php-apache

Kurulum tamamlandıktan sonra, Apache servisini başlatın ve sistem açılışında otomatik olarak başlaması için etkinleştirin:

sudo systemctl start httpd
sudo systemctl enable httpd

Bir web tarayıcısından sunucunuzun IP adresine veya alan adına giderek Apache’nin çalıştığını doğrulayabilirsiniz. Varsayılan Arch Linux Apache karşılama sayfasını görmelisiniz.

PHP ve Gerekli Modüllerin Kurulumu

ownCloud’un düzgün çalışması için çeşitli PHP modüllerine ihtiyacı vardır. Aşağıdaki komutla bu modülleri kurun:

sudo pacman -S php-gd php-intl php-json php-zip php-xml php-mbstring php-curl php-fpm php-imagick php-opcache

Bu modüllerin her biri ownCloud’un belirli bir işlevi için gereklidir:
* php-gd: Görüntü işleme (küçük resimler, önizlemeler).
* php-intl: Uluslararasılaştırma ve yerelleştirme.
* php-json: JSON veri işleme.
* php-zip: ZIP arşivlerini işleme.
* php-xml: XML veri işleme.
* php-mbstring: Çok baytlı dizeleri işleme.
* php-curl: Uzak URL’lere bağlantı kurma.
* php-fpm: PHP-FPM (FastCGI Process Manager), özellikle Nginx ile kullanılır, ancak Apache’de de performans artışı sağlayabilir.
* php-imagick: Gelişmiş görüntü işleme.
* php-opcache: PHP kodunu önbelleğe alarak performansı artırır.

Apache PHP Modülü Etkinleştirme

Apache’nin PHP’yi yorumlayabilmesi için php_module‘ü etkinleştirmeniz gerekir. /etc/httpd/conf/httpd.conf dosyasını bir metin düzenleyici ile açın:

sudo nano /etc/httpd/conf/httpd.conf

Aşağıdaki satırları bulun ve yorum işaretini (#) kaldırarak etkinleştirin (veya eksikse ekleyin):

LoadModule php_module modules/libphp.so
Include conf/extra/php_module.conf

php_module.conf dosyası, PHP’nin Apache ile nasıl entegre olacağını tanımlar. Bu dosya genellikle zaten doğru yapılandırılmıştır, ancak kontrol etmekte fayda var:

sudo nano /etc/httpd/conf/extra/php_module.conf

İçeriği yaklaşık olarak şöyle olmalıdır:


    DirectoryIndex index.php index.html
    AddHandler php-script .php
    AddType text/html .php

Bu yapılandırma, .php uzantılı dosyaların PHP modülü tarafından işlenmesini ve index.php‘nin varsayılan dizin dosyası olarak önceliklendirilmesini sağlar.

Apache İçin ownCloud Virtual Host Yapılandırması

ownCloud için özel bir Virtual Host (Sanal Sunucu) yapılandırması oluşturmak, uygulamanın kendi alan adında veya alt dizininde çalışmasını sağlar ve diğer web sitelerinden yalıtır. /etc/httpd/conf/extra/httpd-vhosts.conf dosyasını düzenleyin:

sudo nano /etc/httpd/conf/extra/httpd-vhosts.conf

Bu dosyanın içinde, kendi IP adresinize veya alan adınıza göre aşağıdaki gibi bir Virtual Host bloğu ekleyin:


    ServerAdmin webmaster@example.com
    DocumentRoot "/srv/http/owncloud"
    ServerName your_domain.com
    ServerAlias www.your_domain.com

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    

    ErrorLog "/var/log/httpd/owncloud_error.log"
    CustomLog "/var/log/httpd/owncloud_access.log" combined

* DocumentRoot: ownCloud dosyalarının bulunacağı dizindir. Bu kılavuzda /srv/http/owncloud kullanacağız.
* ServerName: ownCloud’a erişmek için kullanacağınız alan adıdır (örneğin, cloud.example.com).
* AllowOverride All: .htaccess dosyalarının kullanılmasına izin verir, bu ownCloud için önemlidir.

Bu Virtual Host’u etkinleştirmek için /etc/httpd/conf/httpd.conf dosyasında aşağıdaki satırın yorum işaretini kaldırın:

Include conf/extra/httpd-vhosts.conf

Değişikliklerin etkili olması için Apache servisini yeniden başlatın:

sudo systemctl restart httpd

Nginx HTTP Sunucusu Kurulumu ve Yapılandırması (Alternatif)

Nginx, yüksek performanslı ve düşük kaynak tüketimiyle bilinir, özellikle yüksek trafikli siteler için popüler bir alternatiftir. Nginx, PHP kodunu işlemek için PHP-FPM (FastCGI Process Manager) kullanır.

Nginx ve PHP-FPM Kurulumu

Nginx ve PHP-FPM’i kurun:

sudo pacman -S nginx php-fpm

Kurulum tamamlandıktan sonra, Nginx ve PHP-FPM servislerini başlatın ve sistem açılışında otomatik olarak başlamaları için etkinleştirin:

sudo systemctl start nginx php-fpm
sudo systemctl enable nginx php-fpm
Nginx İçin ownCloud Server Block Yapılandırması

Nginx’in varsayılan yapılandırma dosyası /etc/nginx/nginx.conf‘tur. Genellikle, her web sitesi için ayrı bir yapılandırma dosyası oluşturmak ve bunu ana yapılandırma dosyasından dahil etmek daha iyi bir uygulamadır.

/etc/nginx/sites-available/owncloud.conf adında yeni bir dosya oluşturun:

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

Aşağıdaki içeriği dosyaya yapıştırın. your_domain.com yerine kendi alan adınızı ve /srv/http/owncloud yerine ownCloud’un kurulacağı dizini kullanın:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;
    root /srv/http/owncloud;
    index index.php index.html index.htm;

    client_max_body_size 512M; # Maksimum yükleme boyutu
    fastcgi_buffers 64 4K;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /.well-known/carddav {
        return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
        return 301 $scheme://$host/remote.php/dav;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }
    location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
        deny all;
    }

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^(.+\.php)(/.*)?$ {
        fastcgi_split_path_info ^(.+\.php)(/.*)?$;
        include fastcgi.conf;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on; # Eğer SSL kullanılıyorsa
    }

    location ~ /\.ht {
        deny all;
    }
}

Bu yapılandırma, ownCloud için gerekli olan yeniden yazma kurallarını, dosya erişim kısıtlamalarını ve PHP-FPM ile entegrasyonu sağlar. Özellikle fastcgi_pass unix:/run/php-fpm/php-fpm.sock; satırı, Nginx’in PHP isteklerini PHP-FPM’e nasıl ileteceğini belirtir.

Bu yapılandırmayı etkinleştirmek için, /etc/nginx/nginx.conf dosyasında http bloğunun içine aşağıdaki satırı ekleyin:

include /etc/nginx/sites-enabled/*.conf;

Ardından, yapılandırma dosyanızın sembolik bir bağlantısını sites-enabled dizinine oluşturun:

sudo ln -s /etc/nginx/sites-available/owncloud.conf /etc/nginx/sites-enabled/owncloud.conf

Nginx yapılandırmasının sözdizimini kontrol edin ve servisi yeniden başlatın:

sudo nginx -t
sudo systemctl restart nginx

PHP Yapılandırması

Hem Apache hem de Nginx için PHP ayarlarını optimize etmeniz gerekecektir. /etc/php/php.ini dosyasını düzenleyin:

sudo nano /etc/php/php.ini

Aşağıdaki ayarları bulun ve ownCloud’un gereksinimlerine göre değiştirin:

memory_limit = 512M         ; PHP betiklerinin kullanabileceği maksimum bellek.
upload_max_filesize = 512M  ; Yüklenebilecek maksimum dosya boyutu.
post_max_size = 512M        ; POST isteğiyle gönderilebilecek maksimum veri boyutu.
max_execution_time = 360    ; Betiğin çalışabileceği maksimum süre (saniye).
date.timezone = Europe/Istanbul ; Sunucunuzun saat dilimi. Kendi bölgenize göre ayarlayın.

Değişikliklerin etkili olması için web sunucusunu (Apache veya Nginx) ve PHP-FPM’i (eğer Nginx kullanıyorsanız) yeniden başlatın:

# Apache kullanıyorsanız:
sudo systemctl restart httpd

Nginx ve PHP-FPM kullanıyorsanız:

sudo systemctl restart nginx php-fpm

Web sunucusu ve PHP yapılandırması artık tamamlanmıştır.

ownCloud Kurulumu

Web sunucusu ve veritabanı hazır olduğuna göre, ownCloud dosyalarını indirip sunucumuza yerleştirebiliriz.

ownCloud Dosyalarını İndirme ve Çıkarma

ownCloud’un resmi web sitesinden en son kararlı sürümünü indirin. Genellikle bir .tar.bz2 arşivi olarak sunulur. ownCloud’un web sitesini (owncloud.com) ziyaret ederek veya aşağıdaki gibi bir wget komutu kullanarak indirme bağlantısını bulabilirsiniz:

# En güncel sürümü kontrol etmek için ownCloud'un resmi sitesine bakın.

Aşağıdaki örnek, belirli bir sürüm içindir, siz kendi sürüm numaranızı güncelleyin.

wget https://download.owncloud.org/community/owncloud-10.12.2.tar.bz2

İndirilen arşivi açın:

tar -xvf owncloud-10.12.2.tar.bz2

Bu işlem, geçerli dizinde owncloud adında bir dizin oluşturacaktır.

Dizin İzinlerini Ayarlama

ownCloud dosyalarını web sunucunuzun erişebileceği bir konuma taşıyın. Apache için /srv/http/ veya Nginx için /srv/http/ (veya DocumentRoot olarak belirlediğiniz başka bir dizin) yaygın tercihlerdir.

sudo mv owncloud /srv/http/

Şimdi ownCloud dizininin sahipliğini ve izinlerini web sunucusu kullanıcısına (Arch Linux’ta genellikle http) ayarlamanız gerekir. Bu, ownCloud’un dosya oluşturma, düzenleme ve silme işlemlerini gerçekleştirebilmesi için zorunludur.

sudo chown -R http:http /srv/http/owncloud
sudo chmod -R 755 /srv/http/owncloud

* chown -R http:http: /srv/http/owncloud dizininin ve tüm alt dizinlerinin/dosyalarının sahipliğini http kullanıcısına ve http grubuna atar.
* chmod -R 755: Dizinlere okuma, yazma ve çalıştırma izinleri (7), dosyalara ise okuma ve çalıştırma izinleri (5) verir.

ownCloud Web Arayüzü Üzerinden İlk Yapılandırma

Artık bir web tarayıcısı açıp ownCloud’u yapılandırmak için sunucunuzun alan adına veya IP adresine gidebilirsiniz (örneğin, http://your_domain.com).

Karşınıza ownCloud kurulum sihirbazı çıkacaktır. Burada aşağıdaki bilgileri girmeniz istenir:

1. Yönetici hesabı oluşturma: Güçlü bir kullanıcı adı ve şifre belirleyin. Bu, ownCloud’a erişmek için kullanacağınız ilk yönetici hesabıdır.
2. Veri klasörü: Varsayılan olarak ownCloud dizini içinde bir data klasörü önerilir. Güvenlik nedenleriyle bu klasörü web sunucusu DocumentRoot dışına taşımak iyi bir uygulamadır (örneğin, /var/owncloud_data). Ancak, basit bir kurulum için varsayılanı kullanabilirsiniz. Eğer taşırsanız, bu klasör için de uygun izinleri ayarladığınızdan emin olun (sudo chown -R http:http /var/owncloud_data).
3. Veritabanı yapılandırması:
* Veritabanı kullanıcı adı: owncloud_user (daha önce oluşturduğunuz kullanıcı adı)
* Veritabanı şifresi: sifre (daha önce belirlediğiniz şifre)
* Veritabanı adı: owncloud_db (daha önce oluşturduğunuz veritabanı adı)
* Veritabanı ana bilgisayarı: localhost

Tüm bilgileri girdikten sonra “Kurulumu Bitir” veya benzeri bir düğmeye tıklayın. ownCloud veritabanını oluşturacak, gerekli tabloları kuracak ve sizi yönetici paneline yönlendirecektir.

Tebrikler! ownCloud temel kurulumunu tamamladınız.

ownCloud Sonrası Yapılandırmalar ve Optimizasyonlar

ownCloud’unuz artık çalışır durumda olsa da, daha iyi performans, güvenlik ve kararlılık için bazı ek yapılandırmalar ve optimizasyonlar yapılması önerilir.

HTTPS/SSL Yapılandırması (Let’s Encrypt ile Örnek)

Veri güvenliği için ownCloud’a her zaman HTTPS üzerinden erişilmelidir. Let’s Encrypt, ücretsiz SSL/TLS sertifikaları sağlayarak bu süreci kolaylaştırır.

Certbot Kurulumu

Certbot, Let’s Encrypt sertifikalarını otomatik olarak alıp yönetmek için kullanılan bir araçtır.

sudo pacman -S certbot

Eğer Apache kullanıyorsanız, Apache için Certbot eklentisini de kurun:

sudo pacman -S certbot-apache

Nginx kullanıyorsanız, Nginx için Certbot eklentisini de kurun:

sudo pacman -S certbot-nginx
Sertifika Alma ve Yapılandırma

Alan adınız için sertifika almak için aşağıdaki komutu kullanın:

# Apache için:
sudo certbot --apache -d your_domain.com -d www.your_domain.com

Nginx için:

sudo certbot --nginx -d your_domain.com -d www.your_domain.com

Certbot, size bir e-posta adresi sağlamanızı, hizmet koşullarını kabul etmenizi ve HTTP trafiğini HTTPS’e yönlendirme seçeneğini soracaktır. Yönlendirme seçeneğini kabul etmek, tüm bağlantıların güvenli olmasını sağlar. Certbot, web sunucusu yapılandırmanızı otomatik olarak güncelleyecek ve sertifikaları kuracaktır.

Sertifikaların otomatik olarak yenilenmesi için bir cron işi veya systemd timer ayarlanır (Certbot genellikle bunu otomatik yapar).

Cron İşleri Ayarlama

ownCloud, arka plan görevlerini (örneğin, dosya taramaları, bildirimler) çalıştırmak için düzenli aralıklarla tetiklenmesi gereken cron işlerine ihtiyaç duyar. ownCloud arayüzünde “Yönetim” -> “Genel” altında bu ayarı “Cron” olarak değiştirmelisiniz.

Daha sonra, web sunucusu kullanıcısı (http) için bir cron işi oluşturun:

sudo -u http crontab -e

Açılan editöre aşağıdaki satırı ekleyin:

/5    * php -f /srv/http/owncloud/cron.php

Bu, cron.php betiğini her 5 dakikada bir çalıştıracaktır. php komutunun doğru yolu sisteminize göre değişebilir, ancak Arch Linux’ta genellikle /usr/bin/php‘dir ve PATH’te bulunur.

Bellek Önbellekleme (APCu, Redis)

Bellek önbellekleme, ownCloud’un performansını önemli ölçüde artırabilir. ownCloud, APCu veya Redis gibi önbellek mekanizmalarını destekler.

APCu Kurulumu ve Yapılandırması

APCu (Alternative PHP Cache userland cache), PHP nesnelerini ve veri yapılarını RAM’de önbelleğe alarak performansı hızlandırır.

APCu’yu kurun:

sudo pacman -S php-apcu

Ardından, /etc/php/conf.d/apcu.ini (veya /etc/php/php.ini içinde) aşağıdaki satırları ekleyerek veya düzenleyerek APCu’yu etkinleştirin:

extension=apcu.so
apc.enabled = 1
apc.shm_size = 128M ; İhtiyaçlarınıza göre ayarlayın
apc.ttl = 7200
apc.enable_cli = 1

Değişikliklerin etkili olması için web sunucunuzu ve PHP-FPM’i (eğer kullanıyorsanız) yeniden başlatın.

Son olarak, ownCloud’un config.php dosyasına (/srv/http/owncloud/config/config.php) aşağıdaki satırı ekleyerek APCu’yu ownCloud için etkinleştirin:

'memcache.local' => '\OC\Memcache\APCu',
Redis Kurulumu ve Yapılandırması (Daha Gelişmiş)

Redis, daha büyük ölçekli ve çoklu sunuculu ownCloud kurulumları için önerilen daha gelişmiş bir önbellekleme çözümüdür.

Redis sunucusunu kurun:

sudo pacman -S redis

Redis servisini başlatın ve etkinleştirin:

sudo systemctl start redis
sudo systemctl enable redis

PHP Redis uzantısını kurun:

sudo pacman -S php-redis

config.php dosyasına aşağıdaki satırları ekleyerek Redis’i ownCloud için etkinleştirin:

'memcache.local' => '\OC\Memcache\Redis',
'redis' => [
    'host' => 'localhost',
    'port' => 6379,
    'timeout' => 0.0,
    'dbindex' => 0,
],
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',

Web sunucunuzu ve PHP-FPM’i yeniden başlatmayı unutmayın.

Güvenlik Güçlendirmeleri

* Fail2ban: Sunucunuza yönelik kaba kuvvet saldırılarını önlemek için fail2ban kurabilirsiniz. Bu araç, başarısız giriş denemelerini izler ve belirli bir sayıda denemeden sonra kötü niyetli IP adreslerini geçici olarak engeller.

sudo pacman -S fail2ban

/etc/fail2ban/jail.local dosyasını yapılandırarak ownCloud giriş günlüklerini izlemesini sağlayabilirsiniz.
* İzinler: ownCloud dizinlerinin ve dosyalarının izinlerini düzenli olarak kontrol edin. Özellikle config/config.php dosyası, sadece web sunucusu kullanıcısı tarafından okunabilir olmalı ve başkaları tarafından yazılabilir olmamalıdır.
* Güncellemeler: ownCloud ve temel sistem paketlerini düzenli olarak güncelleyin. Güncellemeler, güvenlik açıklarını kapatır ve yeni özellikler sunar.

ownCloud Güncellemeleri

ownCloud’u güncellemek için genellikle owncloud dizinini yeni sürüme ait dosyalarla değiştirmek ve ardından web arayüzünden veya komut satırından occ upgrade komutunu çalıştırmak gerekir.

# ownCloud dizinine gidin
cd /srv/http/owncloud

Yönetici olarak çalıştırın

sudo -u http php occ upgrade

Bu komut, veritabanını günceller ve ownCloud kurulumunuzu yeni sürüme uyarlar.

Sorun Giderme ve Sıkça Sorulan Sorular

ownCloud kurulumu ve yapılandırması sırasında çeşitli sorunlarla karşılaşmak mümkündür. İşte yaygın sorunlar ve olası çözümleri:

Yaygın Hatalar ve Çözümleri

* “Internal Server Error” (500 Hatası): Bu genellikle PHP hatalarından, yanlış dosya izinlerinden veya Apache/Nginx yapılandırma sorunlarından kaynaklanır.
* Çözüm: Web sunucusu hata günlüklerini (/var/log/httpd/error_log veya /var/log/nginx/error.log) ve ownCloud günlüklerini (/srv/http/owncloud/data/owncloud.log) kontrol edin. PHP display_errors ayarını geçici olarak On yaparak daha detaylı hata mesajları alabilirsiniz (üretim ortamında Off olmalıdır).
* “PHP module not installed” veya “Missing PHP modules”: ownCloud kurulum sihirbazında veya yönetim panelinde bu tür uyarılar alıyorsanız, gerekli PHP modüllerini (php-gd, php-intl vb.) kurmadığınız veya PHP yapılandırmasında etkinleştirmediğiniz anlamına gelir.
* Çözüm: sudo pacman -S komutuyla eksik modülleri kurun ve web sunucusunu/PHP-FPM’i yeniden başlatın.
* “Data directory is invalid” veya “Data directory has bad permissions”: ownCloud veri dizininin (genellikle /srv/http/owncloud/data) web sunucusu kullanıcısı (http) tarafından yazılabilir olmadığını gösterir.
* Çözüm: sudo chown -R http:http /srv/http/owncloud/data ve sudo chmod -R 750 /srv/http/owncloud/data komutlarıyla izinleri düzeltin.
* “Your web server is not yet properly set up to allow files larger than XMB to be uploaded”: PHP yapılandırmasındaki upload_max_filesize ve post_max_size ayarlarının yetersiz olduğunu gösterir.
* Çözüm: /etc/php/php.ini dosyasında bu değerleri artırın ve web sunucusunu/PHP-FPM’i yeniden başlatın.
* “Access denied for user ‘owncloud_user’@’localhost'”: Veritabanı kullanıcı adı, şifresi veya veritabanı adı yanlış girilmiştir.
* Çözüm: ownCloud kurulum sihirbazında veya config/config.php dosyasındaki veritabanı bilgilerini kontrol edin ve MariaDB’de oluşturduğunuz bilgilerle eşleştiğinden emin olun.

Günlük Dosyaları Kontrolü

Sorun giderme sürecinde en önemli araçlardan biri günlük dosyalarıdır.
* Web Sunucusu Günlükleri:
* Apache: /var/log/httpd/error_log, /var/log/httpd/access_log
* Nginx: /var/log/nginx/error.log, /var/log/nginx/access.log
* PHP-FPM Günlükleri: /var/log/php-fpm/error.log
* ownCloud Günlükleri: /srv/http/owncloud/data/owncloud.log (veya config.php içinde belirtilen konum)
* Sistem Günlükleri: journalctl -xe komutuyla genel sistem günlüklerini kontrol edebilirsiniz.

Bu günlük dosyalarını düzenli olarak kontrol etmek, sorunların kaynağını hızla tespit etmenize yardımcı olacaktır.

Sonuç

Bu kapsamlı kılavuzda, Arch Linux’un gücünü ve esnekliğini kullanarak kendi ownCloud bulut depolama sisteminizi nasıl kuracağınızı ve yapılandıracağınızı adım adım öğrendiniz. Sistem güncellemesinden başlayarak, MariaDB veritabanının kurulumu ve güvenli yapılandırmasına, Apache veya Nginx web sunucularının ownCloud için optimize edilmesine ve son olarak ownCloud uygulamasının kendisinin kurulmasına kadar tüm kritik adımları ele aldık. Ayrıca, HTTPS/SSL sertifikalarıyla güvenliği artırma, cron işleri ayarlama, bellek önbellekleme ile performansı optimize etme ve yaygın sorunları giderme stratejileri gibi önemli sonrası yapılandırmaları da detaylandırdık.

Kendi ownCloud sunucunuzu Arch Linux üzerinde çalıştırmak, size verileriniz üzerinde tam kontrol sağlar ve gizliliğinizi korumanıza yardımcı olur. Bu süreç, sadece bir bulut depolama çözümü kurmakla kalmaz, aynı zamanda Linux sistem yönetimi, web sunucusu yapılandırması ve veritabanı yönetimi konularında değerli deneyimler kazanmanızı da sağlar. Unutmayın ki, herhangi bir sunucu uygulamasında olduğu gibi, ownCloud kurulumunuzun güvenliğini ve performansını korumak için düzenli güncellemeler ve denetimler yapmak hayati önem taşır. Bu kılavuzun, kendi kişisel veya kurumsal bulutunuzu başarıyla oluşturmanız için sağlam bir temel oluşturduğunu umuyoruz.

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

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.