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.
Bu yazıda neler var?
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 [email protected]
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 [email protected]
<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 [email protected]
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/
Add Comment