Bu yazımızda kişisel bulut oluşturmak isteyen kullanıcılarımız için Pardus üzerine nasıl NextCloud altyapısını kuracaklarını anlatıyoruz.

Bilgisayarınızdaki veya telefon/tabletinizdeki fotoğraflar, videolar ve belgeleri taşıyıp, buluta dilediğiniz yer ve zamanda dilediğiniz cihazla bağlanarak kullanmak için NextCloud son derece yeterli bir yazılımdır.

NextCloud’u kurmadan önce her zaman olduğu gibi yeni bir Pardus Sunucu 21.0 kurulumu yaptığınızı ve IP adresini/ağ geçidini/güvenlik duvarı ve yönlendirici ayarlarını yaptığınızı varsayıyorum.

Ben yazı içerisinde örnek olması için Pardus Sunucu 21.0 ile temiz bir kurulum yaptım ve IP adresini 192.168.120.120 olarak ayarladım. Ağ geçidim 192.168.0.1 (Siz kendi güvenlik duvarınızın veya yönlendiricinizin IP adresini vermeniz gerekir). Alt ağ maskesi olarak /16 (255.255.0.0) kullandım ve bu sayede 192.168.0.0/16 ağındaki herkesin bağlanabilmesine imkan verdim. Tüm bu ağ ayarları için biliyorsunuz /etc/network/ klsöründeki interfaces dosyasını aşağıdaki şekilde düzenlemeniz gerekiyor.

sudo nano /etc/network/interfaces

Kurulumu yeni yapmış olmamıza rağmen güncellemeler varsa onları da yapalım hemen.

sudo apt update

ve

sudo apt upgrade

NextCloud kurulumu

Artık sistemimizin tüm ayarları NextCloud’un kurulumuna hazır. sudo reboot komutuyla sistemi yeniden başlatarak yaptığımız tüm ayarların etkin olmasını sağlıyoruz.

İlk iş olarak NextCloud’un kullanacağı veritabanı olan mariadb’yi sistemimize kuralım.

sudo apt install -y mariadb-server mariadb-client

Artık sistemde mariadb kurulu vaziyette. Hemen mariadb ayarlarımızı yapalım;

sudo mysql_secure_installation

Bu betik çalıştığında size sırasıyla aşağıdaki soruları soracaktır. Karşılarındaki cevapları vererek ilerleyelim.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
  • Enter current password for root (enter for none): Enter’a basarak boş geçin.
  • Set root password? [Y/n] Y ile devam edip yeni bir parola oluşturun.
  • Remove anonymous users? [Y/n] y ile anonim kullanıcıları silin.
  • Disallow root login remotely? [Y/n] y ile uzaktan yönetici girişini kapatın.
  • Remove test database and access to it? [Y/n] y ile test veritabanlarını silin.
  • Reload privilege tables now? [Y/n] y ile Erişim Yetkileri tablolarını yeniden yükleyin.

Şimdi sıra NextCloud’un kullanacağı veritabanını oluşturmaya geldi.

mysql -u root -p

Yukarıdaki komut ile az önce root için belirlediğiniz parolayı girerek mysql komut satırını çalıştırıyoruz ve sırasıyla aşağıdaki komutları giriyoruz. (BÜYÜK/küçük harflere dikkat edelim)

CREATE USER 'NC_IcinAdminKullaniciAdiniz'@'localhost' IDENTIFIED BY 'BurayaGüçlüBirŞifreGirin*%&$()';
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'NC_IcinAdminKullaniciAdiniz'@'localhost';
FLUSH PRIVILEGES;
QUIT

NC_IcinAdminKullaniciAdiniz yerine siz admin veya ncadmin gibi bir kullanıcı adı verebilirsiniz. Ben ncadmin olarak devam edeceğim.

BurayaGüçlüBirŞifreGirin*%&$() yerine kullanıcınızın parolasını girmelisiniz. Tavsiyem, yeterli uzunlukta ve içinde küçük/BÜYÜK harf olan karmaşık bir parola girmeniz yönünde.

Şimdi NextCloud’un ihtiyacı olan diğer paketleri sisteme kuralım.

sudo apt -y install php php-{cli,xml,zip,curl,gd,cgi,mysql,mbstring}

ve

sudo apt -y install apache2 libapache2-mod-php

Şimdi apache2’yi her defasında yeniden çalıştırmamak için enable edelim.

sudo systemctl enable apache2

Web sunucu görevi gören apache2’nin doğru kurulduğunu test etmek için sırasıyla;

sudo systemctl start apache2

ve

sudo systemctl status apache2

Komutlarıyla önce apache2’yi çalıştırıyoruz sonrasında durumunu kontrol ediyoruz.

Ardından php.ini dosyamızı düzenleyelim.

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

Bu yazı yayına hazırlandığı sırada güncel PHP sürümü 7.4 olduğu için klasör diziliminde /etc/php/7.4/… şeklinde verilmiştir. Siz hangi PHP sürümünü kullandıysanız onunla devam etmelisiniz.

Aşağıdaki satırları php.ini içerisinde bulup yine aşağıdaki şekilde değiştirin. Eğer bulduğunuz satırın önünde ; (Noktalı virgül) sembolü varsa onu kaldırın. Her satır için tek tek ayrıntı yazmayacağım zira komutun/parametrenin adı zaten her şeyi anlatıyor.

date.timezone = Europe/Istanbul
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300

CTRL+O Enter ile kaydedip CTRL+X ile editörden çıkalım.

Şimdi apache2 servisini yeniden başlatarak ayarları uygulayalım.

sudo systemctl restart apache2

Şimdi artık NextCloud’un son sürümünü kendi web sayfasından indirip sisteme kurabiliriz. Bunun için komut satırından dosya indirmemize imkan veren curl ve indirilen zip’li paketi açmak için unzip paketlerine ihtiyacımız olacak. Önce ihtiyacımız olan paketleri kuralım hemen.

sudo apt -y install curl unzip

sonrasında NextCloud’u indirebiliriz.

curl -o nextcloud-23.zip https://download.nextcloud.com/server/releases/latest-23.zip

Bu yazı yayına hazırlandığı sırada NextCloud 23. sürümdeydi. Siz ilerleyen zamanlarda kurulumu yaparken ona göre ilgili dosyayı indirmelisiniz.

İndirdiğimiz dosyayı açalım.

unzip nextcloud-23.zip

Şimdi paketten çıkartılan tüm dosyalar nextcloud klasörü altına açıldı.

nextcloud klasörünü olduğu gibi /var/www/html/ altına taşıyalım.

sudo mv nextcloud /var/www/html/

Bu klasörün sahipliğini ayarlayalım.

sudo chown -R www-data:www-data /var/www/html/nextcloud

Son olarak dosyaların yetkilerini ayarlayalım.

sudo chmod -R 755 /var/www/html/nextcloud

Kurulum temel olarak tamamlandı. Şimdi NextCloud’u açıp kurulumu tamamlayalım.

Bunun için herhangi bir web browser’da http://192.168.120.120/nextcloud yazarak NextCloud’un kontrol paneline erişebilirsiniz.

İlk iş olarak cloud yöneticiniz için oluşturduğunuz kullanıcı adı ve parolayı girin. Bu kullanıcı ve parolayı yukarıda anlattığım mysql içerisinde CREATE USER komutu ile oluşturmuştunuz. Ben örneğimde ncadmin kullanıcı adını kullandım.

Daha sonra verilerin kaydedileceği klasörü seçiyoruz. Varsayılan ile devam edebilirsiniz ancak farklı bir disk veya klasör de seçebilirsiniz. Farklı bir klasöre kaydedecekseniz o klasörün yetkilerini/izinlerini ayarlamayı unutmayın.

Son olarak veritabanı bilgilerini giriyoruz. Veritabanı olarak nextcloud adında bir veritabanı oluşturmuştuk ve veritabanı yönetici kullanıcımız root idi ve parolasını mysql_secure_installation betiğini çalıştırdığımızda girmiştiniz.

Ve geldik son hamleye. Ekranın altındaki Install düğmesine basarak NextCloud kurulumunu tamamlıyoruz.

Sizi 4 adımdan oluşan bir karşılama ekranı yol gösterecektir.

Artık NextCloud açıldı ve kullanıma hazır.

NextCloud kuruldu ve kullanıma hazır

Varsayılan yüklü örnek dosyalar görünecektir.

NextCloud kurulumuyla gelen örnek dosyalar

Artık temel seviyede kullanabileceğiniz bir özel bulutunuz var. Güle güle kullanın.

Elbette NextCloud’un ince ayarlarını yapmak gerekir. Bu sayede çeşitli hataları ve performans sorunlarını giderebilirsiniz. Detaylar için NextCloud’un kendi sitesinden gerekli bilgileri alabilirsiniz.

Soru görüş ve önerilerinizi forumlarımıza bekliyorum.

Kalın sağlıcakla.