Pardus 19 Server üzerine Nextcloud Kurulumu


Tags: pardus, nextcloud, postgres, linux
Published: 2020-08-31 08:54:23

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

## Paketlerin  yüklenmesi
```
sudo apt install apache2 libapache2-mod-php postgresql php-pgsql php-xml php-cli php-cgi 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ı
```
su - postgres
psql
CREATE USER nextcloud WITH PASSWORD 'temp123';
CREATE DATABASE nextcloud_db;
GRANT ALL PRIVILEGES ON DATABASE nextcloud_db to nextcloud;
```
Yukarıdaki komutlar sonrası veritabanında;

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

**Parola:temp123**

**Veritabanı adı:nextcloud_db**

şeklinde oluşturulacaktır. Veritabanı oluşturulduktan sonra arzu ederseniz;

``` 
select * from pg_database;
```

komutu ile veritabanlarını listeleyebilirsiniz. Daha sonra;

```   
\q
exit
```
komutları ile Postgresql'den çıkabilirsiniz.
## 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 açı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.