İçindekiler
Herkese selamlar,
Nextcloud, dosya depolama ve paylaşımını sağlayan, açık kaynak kodlu ve kendi kendine barındırılabilen bir bulut çözümüdür. Kullanıcıların verilerini güvenli bir şekilde saklayarak, her yerden erişebilmesine imkan tanır. Özelleştirilebilir yapısı sayesinde, dosya senkronizasyonu, takvim ve görev yönetimi, belge düzenleme ve daha pek çok ek uygulama ile genişletilebilir. Nextcloud, kişisel kullanımın yanı sıra işletmeler için de güçlü bir veri yönetim çözümü sunar ve tüm verilerin kendi sunucularında tutulmasını mümkün kılar.
Bu yazımda size Ubuntu 20 ve 22.04 üzerinde nasıl Nextcloud kurulur kolay bir şekilde anlatacağım. Teknik destek almak isteyen yada kurulum hizmeti almak isteyen ziyaretçilerimiz bana ulaşabilir ve profesyonel hizmetlerimden faydalanabilir.
1. Gerekli Paketlerin Kurulumu
Nextcloud’u kurmak için Apache ve MariaDB gibi gerekli modülleri yüklememiz gerekiyor. Terminalde aşağıdaki komutları çalıştırarak sistem güncellemesi yapın ve ardından gerekli paketleri yükleyin:
sudo apt update && sudo apt upgrade
sudo apt install apache2 mariadb-server libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip
Bu komutlar, Nextcloud’un temel sistemini çalıştırmak için gereken paketleri kurar. Ek uygulamalar çalıştırmayı planlıyorsanız, ilave paketlere ihtiyaç duyabilirsiniz.
2. Veritabanı Oluşturma
Nextcloud için bir veritabanı ve kullanıcı oluşturmamız gerekiyor. Bunun için MariaDB arayüzünü kullanacağız. Aşağıdaki komutla MariaDB komut satırına giriş yapın:
sudo mysql
MariaDB [root]> komutu görünür hale geldiğinde, aşağıdaki komutları çalıştırarak kullanıcı ve veritabanını oluşturun. “username” ve “password” alanlarını kendinize göre düzenleyin:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
MariaDB’den çıkmak için:
quit;
Host dosyası düzenleme
Aşağıdaki komutla host dosyamı açıp public FQDN numaramı girerek makinemin local ip adresini yazıyorum.
nano /etc/hosts
3. Nextcloud Dosyalarını İndirme
Şimdi Nextcloud’un en güncel sürümünü indiriyoruz:
wget https://download.nextcloud.com/server/releases/nextcloud-30.0.0.zip
Dosyayı indirdikten sonra unzip komutuyla çıkarın (eğer yüklü değilse apt install unzip
ile kurabilirsiniz):
unzip nextcloud-30.0.0.zip
Nextcloud dosyalarını çıkardıktan sonra, dosya ve dizin izinlerini ayarlıyoruz:
sudo chown -R www-data:www-data nextcloud/
Nextcloud klasörünü web sunucusunun site dosyalarını okuduğu dizine taşıyın:
sudo mv nextcloud /var/www/
4. Apache Yapılandırması
Apache sunucusunda Nextcloud’u varsayılan site olarak ayarlamak için önce varsayılan siteyi devre dışı bırakın:
a2dissite 000-default.conf
Nextcloud’u sorunsuz çalıştırmak için Apache yapılandırmasını düzenlemeniz gerekiyor. Bunun için Apache konfigürasyon dosyalarını açarak gerekli ayarları yapabilirsiniz:
nano /etc/apache2/sites-available/nextcloud.conf
Dosyanın içine aşağıdaki yapılandırmayı ekleyin:
DocumentRoot /var/www/nextcloud
ServerName next.umitturanli.com.tr
Require all granted
Options MultiViews FollowSymlinks
AllowOverride All
Bu ayarlar, Nextcloud’un varsayılan Apache web sitesini kullanmasını sağlar.
Yeni eklediğiniz siteyi etkinleştirin:
a2ensite nextcloud.conf
Gerekli ayarları yaptıktan sonra Apache’yi yeniden başlatın ve durumunu kontrol edin:
sudo systemctl restart apache2
sudo systemctl status apache2
Alternatif olarak şu komutları da kullanabilirsiniz:
service apache2 restart
service apache2 status
5. PHP Bellek Sınırını Artırma
Nextcloud’un sorunsuz çalışması için PHP bellek sınırını artırmamız gerekiyor. Ubuntu 22.04 için şu dosyayı açın:
nano /etc/php/8.1/apache2/php.ini
Ctrl+w ile memory_limit
satırını bulun ve değeri 128M’den 512M’ye yükseltin.
Ubuntu 20.04 kullanıyorsanız, PHP 7.4 konfigürasyon dosyasını düzenleyin:
nano /etc/php/7.4/apache2/php.ini
Apache Performans Konfigürasyonu – PHP Ayarları Optimize Etme
Nextcloud gibi kaynak tüketen bir uygulamanın performansını optimize etmek için Apache ve PHP ayarlarını doğru şekilde yapılandırmanız gerekir. Özellikle bellek limitleri, yükleme boyutları ve zaman aşımı sürelerini ayarlamak, sunucunuzun daha stabil çalışmasını sağlar. Aşağıda, Ubuntu 20.04 ve 22.04 için gerekli ayarları adım adım bulabilirsiniz.
Ubuntu 20.04 için PHP 7.4 Ayarları
İlk olarak, PHP yapılandırma dosyasını açın:
nano /etc/php/7.4/apache2/php.ini
Ubuntu 22.04 için PHP 8.1 Ayarları
PHP 8.1 sürümünü kullanıyorsanız, aşağıdaki komutla php.ini dosyasını açın:
nano /etc/php/8.1/apache2/php.ini
Bu dosya içinde memory_limit
ayarını bulun ve 128M olan değeri 512M olarak değiştirin. Bu, Nextcloud’un daha geniş bir bellek kullanmasına olanak tanır.
Ardından, memory_limit
ayarını yine 512M olarak ayarlayın. Bu adımlar, sunucunuzun daha fazla bellek kullanarak büyük dosyalar ve işlemlerle başa çıkmasını sağlar.
Diğer Gerekli PHP Ayarları
Her iki sürümde de aşağıdaki ayarları optimize etmeniz gerekecek. Yapılandırmayı şu adımlarla gerçekleştirin:
- upload_max_filesize: Varsayılan olarak 2M olan değeri 200M yaparak, daha büyük dosya yüklemelerine izin verin.
- post_max_size: Varsayılan 8M olan değeri 200M yapın.
- max_execution_time: Varsayılan 30 saniyelik süreyi 360 saniyeye çıkararak, uzun işlemlerde zaman aşımını önleyin.
- date.timezone: Zaman dilimini belirlemek için; işaretini kaldırarak
Europe/Istanbul
olarak ayarlayın. - opcache ayarları: PHP opcache optimizasyonu için şu satırların başındaki
;
işaretini kaldırarak etkinleştirin:
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
Bu adımlar, Nextcloud’un daha hızlı ve verimli çalışmasını sağlayacaktır.
PHP Ayarlarını Komut Satırından Değiştirme
Aşağıdaki komutlarla yukarıdaki ayarları doğrudan değiştirebilirsiniz:
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.1/apache2/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/8.1/apache2/php.ini
sudo sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/8.1/apache2/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 360/" /etc/php/8.1/apache2/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = Europe/Istanbul/" /etc/php/8.1/apache2/php.ini
sudo sed -i "s/;opcache.enable.*/opcache.enable = 1/" /etc/php/8.1/apache2/php.ini
Bu komutlar, manuel olarak yapılan tüm değişiklikleri otomatik hale getirir.
Apache Sunucusunu Yeniden Başlatma
Yaptığınız değişikliklerin geçerli olabilmesi için Apache sunucusunu yeniden başlatın ve durumunu kontrol edin:
systemctl restart apache2
systemctl status apache2
Alternatif olarak:
service apache2 restart
service apache2 status
Nextcloud kurulumu tamamlandı! Tarayıcınızdan sunucu adresinizi girerek Nextcloud’u kurmaya başlayabilirsiniz.
Nextcloud kurulumu için hangi komutlar kullanılmalıdır?
Nextcloud için nasıl bir veritabanı oluşturulmalıdır?
Apache Virtual Host yapılandırması Nextcloud için nasıl yapılır?
PHP ayarları Nextcloud performansını nasıl etkiler?
Nextcloud dosya yükleme sınırları nasıl artırılır?
Apache performans yapılandırması için hangi ayarlar değiştirilmelidir?
Nextcloud için gereken PHP modülleri nelerdir?
Nextcloud kurulumu sırasında dikkat edilmesi gereken noktalar nelerdir?
Nextcloud kurulumundan sonra ne tür testler yapılmalıdır?
Nextcloud güncellemeleri nasıl gerçekleştirilir?
Sorularınızı yanıtlamış olduk 🙂