Pardus 19 Server üzerine Nextcloud Kurulumu
Tags: pardus, nextcloud, mariadb, linux
Published: 2020-08-31 09:48:51

(MariaDB veritabanı kullanılmıştır)

## Paketlerin  yüklenmesi
```
sudo apt install apache2 php7.3 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip wget unzip -y
```

Yukarıdaki adım sonrasında sistemde yüklü olan PHP versiyonuna(7.2, 7.3 vs) ait ilgili paketler sisteme yüklenecektir.


## Veritabanı ayarları

```
sudo mysql -uroot -e "CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci"
sudo mysql -uroot -e "CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'temp123'"
sudo mysql -uroot -e "GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost'";
sudo mysql -uroot -e "FLUSH PRIVILEGES";
```

Yukarıdaki komutlar sonrası veritabanında;

**Kullanıcı adı: nextcloud**

**Parola:temp123**

**Veritabanı adı:nextcloud_db**

şeklinde oluşturulacaktır.

## PHP ayarları

/etc/php/7.3/apache2/php.ini dosyasında aşağıdaki;

    memory_limit = 128M
    upload_max_filesize = 2M
    post_max_size = 8M
    max_execution_time = 30
    date.timezone =

değerleri değiştireceğiz;

```
sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/7.3/apache2/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 500M/g' /etc/php/7.3/apache2/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 500M/g' /etc/php/7.3/apache2/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php/7.3/apache2/php.ini
sed -i 's/;date.timezone =/date.timezone = Europe\/Istanbul/g' /etc/php/7.3/apache2/php.ini
```

Bu adımlar sonrası aşağıdaki değerlere çekilmiş olacaktır. **sed** komutlarındaki değerleri değiştirerek farklı değerler verebilirsiniz.


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

## Servislerin başlatılması

```
systemctl start apache2 && systemctl start postgresql
systemctl enable apache2 && systemctl enable postgresql
```

Bu komutlar sonrası servisler sistem başlatılırken otomatik başlayacaktır. 


## Nextcloud'un indirilmesi

```
cd /var/www/html
wget https://download.nextcloud.com/server/releases/nextcloud-19.0.1.zip
unzip nextcloud-19.0.1.zip
chown -R www-data:www-data /var/www/html/nextcloud/
chmod -R 755 /var/www/html/nextcloud/
```

Yukarıdaki adımlar sonrası **nextcloud-19.0.1** versiyonu sisteme indirlecektir. Eğer farklı bir versiyon indirmek isterseniz **wget** komutu sonrası o versiyonu yazabilirsiniz.


## Apache ayarları

Aşağıdaki komut ile **nextcloud.conf** dosyası oluşturulur ve açılır;

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


daha sonra bu değerler içerisine yapıştırılır;


    <VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/nextcloud/
     ServerName nextcloud.example.com

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

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Daha sonra aşağıdaki komutlar sıra ile çalıştırılır;

```
    a2ensite nextcloud.conf
    a2enmod rewrite
    a2enmod headers
    a2enmod env
    a2enmod dir
    a2enmod mime
    systemctl restart apache2
```

## Artık arayüze geçebiliriz

Kurulum yaptığınız sunucu ip adresi ile herhangi bir web tarayıcısında **http://ip_adres/nextcloud** adresi açılır. Nextcloud yetkili kullanıcı adı/parola ve yukarıda tanımlanan veritabanı bilgileri girilerek kurulum tamamlanır.