Centos Freebsd Ubuntu Web Servis

NextCloud Kurulumu

Teknolojinin yaygınlaşmasıyla beraber, dosyalarımızı sadece bilgisayarımızda değil, tabletlerimizde veya cep telefonlarımızda da tutuyoruz. Bazen de dosyalarımıza farklı istemciler üzerinden de erişmek istiyoruz. Ofiste bulunan dosyalarımıza evden de ulaşmak onlarla çalışmak istiyoruz. Tabi sadece çalışmak değil, dosyaların sekronize olması da önemli bir konu. Bu tip işlemler için bir çok Cloud yazılımı bulunuyor. Daha önceki yazılarımızda, OwnCloud Kurulumunu anlatmıştık. Bu yazımızda ise, OwnCloud kadar popüler olan NextCloud kurulum işlemlerini gerçekleştireceğiz.

NextCloud Nedir?

Nextcloud dosya paylaşımı ve senkronizasyonu için tasarlanmış, açık kaynaklı, güçlü ve güvenli, PHP dili kodlanmış bir cloud yazılımıdır. Kullanıcıların bilgisayarlarında bir veya daha fazla dosya ve klasörleri paylaşmalarını ve Nextcloud sunucusuyla senkronize etmelerini sağlayan güvenli ve esnek bir çözüm sunar. Linux dağıtımları, Microsoft işletim sistemleri, MacOS ve Android ve IOS yüklü cihazlar için istemcileri bulunur. Özellikle web tasarım firmaları ile beraber kurumsal hosting kullanıcıları yoğun olarak kullanmaktadır.

Nextcloud Sistem Gereksinimleri (System requirements)

NextCloud sunucu için aşağıdaki gereksinimlere ihtiyaç duyar.

  • En az 128mb ram (512mb tavsiye edilir)
  • Ubuntu 18.04 LTS
  • Debian 8/9
  • Centos/Redhat 7/8
  • Freebsd 11 ve üzeri
  • Mysql Server veya MariaDB Server
  • Apache veya Nginx Web Server
  • PHP 7.1 ve üzeri

NextCloud masaüstü için sistem gereksinimleri

  • Windows 7 ve sonrası
  • MacOS Lion
  • Linux (CentOS/Redhat 6.5 ve sonrası , Ubuntu 14.04 ve sonrası, Fedora 21 ve sonrası , Debian 8 ve sonrası

NextCloud mobil istemci için gereksinimler

  • iOS 10.x+
  • Android 4.x+

NextCloud tarayıcı için gereksinimler

NextCloud’u tarayıcı üzerinden kullanmak isterseniz, güncellemeleri yapılmış tüm tarayıcılarda rahatlıkla çalışacaktır. Fakat aşağıda kendi sitesi üzerinden tavsiye ettiği tarayıcıların listesi bulunmaktadır;

  • Microsoft Internet Explorer 11 (son versiyon)
  • Microsoft Edge
  • Mozilla Firefox
  • Google Chrome/Chromium
  • Apple Safari

NextCloud Eklentileri

NextCloud’ın aynı zamanda bir çok eklentisi bulunuyor. NextCloud talk ile, görüntülü aramalar veya ekran paylaşımları yapabiliyorsunuz. Rainloop webmail ile entegre sağlayan eklenti veya bu ve buna benzer bir çok ekran görüntüsü bulunuyor. Tüm eklentilere ve uygulamalara NextCloud’ın kendi sayfasından bakabilirsiniz.

NextCloud Kurulumu

NextCloud kurulumu için yukarıda belirlediğimiz gereksinimler bulunuyor. Biz makalede kurulum işlemlerini Centos, Ubuntu ve Freebsd işletim sistemleri için gerçekleştireceğiz ve nextcloud kurulumu için gerekli işlemleri yapacağız.

Centos üzerine NextCloud kurulumu

Öncelikle Selinux’u devre dışı bıraklım;

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Adım 1 : PHP ve Apache kurulumu

Centos işletim sistemimizi güncelleyelim;

yum update -y

NextCloud’un çalışması için PHP 7.1 ve üzeri bir sürüm gerekiyor. PHP 7.3 kararlı bir sürüm ve bu sürümü kullanacağız. Bunun için de remi reposunu eklememiz gerekiyor

sudo yum -y install epel-release yum-utils
sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Varsayılan PHP 5.6 versiyonunu PHP 7.3 olarak değiştirelim;

sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php73

Apache ve PHP kurulumlarını gerçekleştirelim;

sudo yum -y install vim httpd php php-cli php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu php-pecl-apcu-devel

Adım 2: Mysql veritabanı işlemleri

Centos 7 üzerine mysql kurulum işlemleri için bu yazımızı okuyabilirsiniz. Kurulumu yaptıktan sonra veritabanımızı açalım;

mysql -u root -p
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY "veritabanı_kullanıcı_şifresi";
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
QUIT

Adım 3: NextCloud indirme ve kurulum işlemleri

NextCloud’un dosyasını indirelim. İndirmeden önce yoksa wget ve unzip’i kuralım.

sudo yum -y install wget unzip
wget https://download.nextcloud.com/server/releases/latest-17.zip

İndirdiğimiz sıkıştırılmış dosyayı açalım;

unzip latest-17.zip

Klasörü taşıyalım;

mv nextcloud/ /var/www/html/

Klasör ve dosyaların izin ve sahipliklerini ayarlıyalım;

mkdir /var/www/html/nextcloud/data
chown apache:apache -R /var/www/html/nextcloud/data
chown apache:apache -R /var/www/html/nextcloud

Adım 4: Apache virtual host işlemleri

Dilerseniz IP adresiniz üzerinden http://IP_adresiniz/nextcloud şeklinde ulaşabilirsiniz veya vhost ayarı ile bir domain veya subdomainden erişime açabilirsiniz. Biz virtual host dosyası açıp, subdomain üzerinden işlemleri yapacağız.

nano /etc/httpd/conf.d/nextcloud.conf

Dosyayı açtıktan sonra aşağıdakileri kopyalayalım;

<VirtualHost *:80>
  ServerName nextcloud.veriloji.com
  ServerAdmin next@veriloji.com
  DocumentRoot /var/www/html/nextcloud
  <directory /var/www/html/nextcloud>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
    SetEnv HOME /var/www/html/nextcloud
    SetEnv HTTP_HOME /var/www/html/nextcloud
  </directory>
</VirtualHost>

Dosyayı kaydedelim ve httpd servisini başlatalım;

systemctl enable --now httpd
semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
service httpd restart

Adım 5: Firewall izinleri

Firewall (güvenlik duvarı) üzerinde 80. portuna erişim izni verelim;

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Bu adımdan sonra, NextCloud’un sunucu tarafında işlemleri tamamlanmış oldu. Tarayıcınız üzerinden erişip, işlemleri yapabilirsiniz. Diğer işletim sistemleri üzerine kurulumları yaptıktan sonra, en son tarayıcı üzerindeki işlemleri de göstereceğiz. Buraya tıklayarak, son adıma gidebilirsiniz.

Ubuntu üzerine NextCloud Kurulumu

Ubuntu üzerinde de aynı şekilde, Apache ve mysql kurulum işlemlerini yapalım;

Adım 1: Apache ve PHP Kurulumu

Öncelikle sistemimizi güncelleyelim;

sudo apt-get update

Apache ve PHP’yi kuralım;

sudo apt-get install apache2 libapache2-mod-php7.2 php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip

HTTP servisini aktif edelim ve başlatalım;

sudo systemctl start apache2
sudo systemctl enable apache2

Adım 2: Mysql Kurulumu

Mysql yerine MariaDB kurulumu yapacağız;

sudo apt-get install mariadb-server
sudo mysql_secure_installation

Gelen ekranda sorulara aşağıdaki gibi yanıt vererek, kurulumu tamamlayalım;

  • Enter current password for root (enter for none): enter
  • Set root password? [Y/n] y
  • Remove anonymous users? [Y/n] y
  • Disallow root login remotely? [Y/n] y
  • Remove test database and access to it? [Y/n] y
  • Reload privilege tables now? [Y/n] y
Veritabanı Oluşturma
sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE nextcloud; 
MariaDB [(none)]> CREATE USER nextcloud@localhost IDENTIFIED BY 'veritabanı_kullanıcı şifresi'; 
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.*  TO nextcloud@localhost IDENTIFIED BY 'veritabanı_kullanıcı şifresi'; 
MariaDB [(none)]> FLUSH PRIVILEGES; 
MariaDB [(none)]> EXIT;

Adım 3 : NextCloud İndirme ve Kurulum

Dosyayı indirelim (kurulu değilse wget ve unzip paketlerini kuralım);

sudo apt-get install wget
sudo apt-get install unzip
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.1.zip

İndirdiğimiz dosyayı açalım ve izinleri ayarlayalım;

sudo unzip nextcloud-18.0.0.zip
sudo cp -r nextcloud /var/www/html/
sudo chown -R www-data:www-data /var/www/html/nextcloud

Adım 4: Apache virtual host işlemleri

Centos işletim sisteminde anlattığımız gibi, http://IP_adresiniz/nextcloud şeklinde tarayıcınız üzerinden erişim sağlayabilirsiniz. Subdomain veya domain ile erişmek isterseniz aşağıdaki işlemleri yapabilirsiniz.

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

Dosyayı aşağıdakileri kopyalayıp, kaydedip çıkalım;

Alias /nextcloud "/var/www/html/nextcloud/"

ServerName nextcloud.veriloji.com
ServerAdmin next@veriloji.com

<Directory /var/www/html/nextcloud/>
  Require all granted
  Options FollowSymlinks MultiViews
  AllowOverride All

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

 SetEnv HOME /var/www//html/nextcloud
 SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>

Apache modüllerini aktif edelim;

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Ve Apache servisini restart edelim;

sudo systemctl restart apache2 

NextCloud kurulum işlemleri tamamlandı. Son adım tarayıcı üzerindeki işlemlere buraya tıklayarak gidebilirsiniz.

Freebsd üzerine NextCloud Kurulumu

Freebsd üzerinde pkg paket yöneticisi ile veya ports ağazından kurulumu gerçekleştirebiliriz.

Ports ağacını çekip açalım;

portsnap fetch
portsnap extract

Adım 1: Apache ve PHP Kurulumu

Apache’yi mod_php ile çalıştıracağız. mod_php kurmaya başladıktan sonra, Freebsd apache ve php paketlerini otomatik olarak derleyecektir.

cd /usr/ports/www/mod_php73
make install clean BATCH=yes

Apache PHP yapılandırma ayarları için httpd.conf dosyasını açalım;

ee /usr/local/etc/apache24/httpd.conf

ve aşağıdaki satırları kopyalayıp, kaydedip dosyadan çıkalım.

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

Apache’nin çalışmasını için rc.conf dosyamıza yazalım;

sysrc apache24_enable="YES"
PHP ve Extension Kurulumu
cd /usr/ports/lang/php73
make install clean BATCH=yes
cd /usr/ports/lang/php73-extensions
make config

Gelen ekran, curl, json, mysql, mbstring, gd, intl, imagick, xml ve zip extensionlarını seçelim ve ardından install komutunu verelim;

make install clean BATCH=yes

Adım 2: Mysql Kurulumu ve Veritabanı Oluşturma

Mysql Kurulum işlemleri için bu yazımıza göz gezdirebilirsiniz.

Veritabanı Oluşturma
mysql -u root -p
create database nextcloud;
create user 'nextcloud'@'localhost' identified by 'veritabanı_kullanıcı_sifresi';
grant all privileges on nextcloud.* to 'nextcloud'@'localhost';
flush privileges;

Adım 3: NextCloud Kurulum İşlemleri

Yukarıda değindiğimiz gibi, NextCloud freebsd ports ağacında bulunuyor. Direkt olarak ports ağacı üzerinden kurulumu yapacağız.

cd /usr/ports/www/nextcloud
make install clean BATCH=yes

Adım 4: Apache virtual host işlemleri

ee /usr/local/etc/apache/httpd.conf
<VirtualHost *:80>
        
    ServerAdmin nextcloud@veriloji.com
    DocumentRoot "/usr/local/www/nextcloud/"
    ServerName nextcloud.veriloji.com
    ErrorLog "/var/log/nextcloud-error_log"
    CustomLog "/var/log/nextclod-access_log" common
            <Directory />
        Options None
        AllowOverride All
        Require all granted
        </Directory>
</VirtualHost>

Dosyayı kapatalım ve Apache web sunucumuzu yeniden başlatalım;

service httpd restart

NextCloud Kurulum İşlemleri

Bu adım, tüm işletim sistemlerinde aynı şekilde olacaktır. Centos, Ubuntu veya Freebsd için kurulum yaptıysanız da işlem fark etmeyecektir. Tarayıcınız üzerinden NextCloud’a erişin. IP adresi veya subdomain şeklinde verdiyseniz, direkt tarayıcınıza yazın.

Açılan sayfada, önce kullanıcı adınızı ve şifrenizi belirleyip, sonra “Depolama ve Veritabanı” linkine tıklayıp, oluşturduğunuz mysql bilgilerini yazın ve “Kurulumu tamamla” linkine tıklayın.

“Kurulumu tamamla” dedikten sonra, NextCloud gerekli mysql tablolarını oluşturacak ve kullanıma hazır hale gelecektir.

NextCloud Kurulum işlemlerimiz tamamlandı. Dosyalarınızı yükleyebilir, senkronize şekilde çalışabilir ve dosyalarınızı paylaşabilirsiniz.

NextCloud İstemcileri

Yukarıda değindiğimiz gibi, NextCloud’ın mobil cihazlar ve masaüstü bilgisayarlar için uygulamaları bulunuyor. https://nextcloud.com/install/#install-clients adresinden, kullandığınız işletim sistemi veya cihaza uygun istemciyi indirip, NextCloud’a bağlanabilirsiniz.

NextCloud Windows Uygulaması

NextCloud IOS Uygulaması

Not : İstemciler üzerinden bağlandığınızda, sertifika ile ilgili hata alabilirsiniz. Dilerseniz sertifikaya güven diyerek bağlantı kurabileceğiniz gibi, Let’s Encrypt ile ücretsiz sertifika tanımlayarak da bağlanabilirsiniz.

Centos 7 Apache Let’s Encrypt Kurulum ve Kullanımı

Freebsd Apache Let’s Encrypt SSL Kurulum ve Kullanım

NextCloud’u sanal sunucularımız üzerinden kullanmak isterseniz sanal sunucular sayfamızı ziyaret edebilirsiniz.

Referanslar : https://docs.nextcloud.com/ https://apps.nextcloud.com/