Ubuntu 16.04.3 Üzerine Nextcloud Kurulumu

Published 01-21-2018 00:00:00

Kurulum için öncelikle sistemin güncel olmasını sağlıyoruz;

sudo apt update && apt upgrade -y

Daha sonra apache2 ve mysql ile ilgili gerekli tüm paketleri içeren lamp-server paketini kuruyoruz;

sudo apt install lamp-server^ -y

kurulum esnasında veritabanı şifresi isteyecektir;

Mysql Şifre-1 Mysql Şifre-1

daha sonra Nextcloud‘un ihtiyaç duyduğu diğer paketler kurulur;

apt install libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt php-xml -y

Paket kurulumundan sonra Nextcloud‘u sunacağımız dizine gidiyoruz;

cd /var/www/html/

Nextcloud sürümü olarak https://download.nextcloud.com/server/releases/ adresinden bir sürüm seçebilirsiniz. Aşağıdaki komut ile nextcloud-12.0.0.zip paketini sürümünü indiriyoruz;

wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip && unzip nextcloud-12.0.0.zip
rm index.html 

arşivden çıkarılan dizinin yetkilerini düzenliyoruz;

sudo chown -R www-data:www-data nextcloud

mysql_secure_installation 

komut sonrası veritabanı şifresi girilerek aşağıdaki cevaplar verilmelidir;

    Securing the MySQL server deployment.

    Enter password for user root: 


    VALIDATE PASSWORD PLUGIN can be used to test passwords
    and improve security. It checks the strength of password
    and allows the users to set only those passwords which are
    secure enough. Would you like to setup VALIDATE PASSWORD plugin?

    Press y|Y for Yes, any other key for No: n

    Using existing password for root.
    Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

     ... skipping.
    By default, a MySQL installation has an anonymous user,
    allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : y

    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? (Press y|Y for Yes, any other key for No) : y
    Success.

    By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
    Success.

    All done! 

Mysql’e bağlanarak bir veritabanı oluşturuyoruz;

mysql -uroot -p

    CREATE DATABASE nextcloud;
    GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'anand';
    FLUSH PRIVILEGES;
    exit;


pico /etc/mysql/my.cnf

    log-bin = /var/log/mysql/mariadb-bin
    log-bin-index   = /var/log/mysql/mariadb-bin.index
    binlog_format   = mixed


a2enmod rewrite 

    Enabling module rewrite.
    To activate the new configuration, you need to run:
      service apache2 restart

service apache2 restart

pico /etc/apache2/sites-available/nextcloud.conf

nextcloud.conf dosya içeriğini aşağıdaki şekilde oluşturuyoruz;

   <VirtualHost *:80>
    ServerAdmin admin@pardus
    DocumentRoot "/var/www/html/nextcloud/"
    ServerName <ip_adress>

    ServerAlias nextcloud

    <Directory "/var/www/html/nextcloud/">
      Options +FollowSymlinks
      AllowOverride All
      Order allow,deny
      allow from all
    </Directory>
    ErrorLog /var/log/apache2/102-error_log
    </VirtualHost>

ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/

pico /etc/apache2/sites-available/nextcloud.conf

service apache2 restart

Bu işlemlerden sonra tarayıcıya;

http://192.168.56.103/nextcloud/index.php

şeklinde yazıyoruz;

Nextcloud Index

ekrandaki istenen verileri girerek kurulumu tamamlıyoruz.

Kurulum sonrası dil ingilizce olarak gelmekte, bunun için oturum açıldıktan sonra ekranın sağ üst köşesindeki Nextcloud Ayarlar Simge simge tıklanarak;

Nextcloud Tüm Ayarlar

dil Türkçe‘ye çevrilebilir.

Kurulum esnasında değişen bir bilgi varsa aşağıdaki dosyada değişiklik yapılabilir;

pico /var/www/html/nextcloud/config/config.php

    <?php
    $CONFIG = array (
      'instanceid' => 'ocyc2henl36n',
      'passwordsalt' => 'TPrgnjU1sgLCHW82kNhpVDvNOUZP1B',
      'secret' => 'M9liBDfZFs8NmwcJGzIx03BhTd36nCTpSHMD7FAkZsOo8pAi',
      'trusted_domains' => 
      array (
        0 => '192.168.56.102',
      ),
      'datadirectory' => '/var/www/html/nextcloud/data',
      'overwrite.cli.url' => 'http://192.168.56.102',
      'dbtype' => 'mysql',
      'version' => '12.0.0.29',
      'dbname' => 'nextcloud',
      'dbhost' => 'localhost',
      'dbport' => '',
      'dbtableprefix' => 'oc_',
      'mysql.utf8mb4' => true,
      'dbuser' => 'oc_pardus',
      'dbpassword' => 'WuNIgrpRyQ1fDeXXu1tQT0jwj2y+0G',
      'installed' => true,
    );

ve değişiklikler sonrasında apache2 servisi yeniden başlatılır.

/etc/init.d/apache2 restart

Nextcloud