Windows WSL2 ile Nextcloud Kurma
Published: 2024-05-27 12:01:56


Nextcloud, kullanıcıların dosya depolama, senkronizasyon, paylaşım ve işbirliği yapabileceği açık kaynaklı bir bulut depolama platformudur. İster kişisel kullanım için ister kurumsal düzeyde olsun, kullanıcılar Nextcloud'u kendi sunucularında veya barındırılan hizmetlerde kullanarak dosyalarını güvenli bir şekilde yönetebilirler. Güvenlik, esneklik ve genişletilebilirlik gibi özellikleriyle dikkat çeker.
 * Windows 10'da Komut İstemini yönetici olarak çalıştırıyoruz. PowerShell'i yönetici olarak çalıştırıyoruz.
```
PowerShell
# WSL özelliğini etkinleştiriyoruz
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# Sanal makine platformunu etkileştiriyoruz
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
```
Bilgisayarı yeniden başlatıyoruz. Burada eğer sanal makine içinde sanal makine kuracaksak sanal makinenin CPU ayarlarından 'Virtualize IntelVT-x/EPT or AMD-V/RVI' ayarını etkinleştiriyoruz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1d5ndherd16u5dpo7tz2.png)

```
# Sanallaştırma paltformunu etkinkleştiriyoruz.
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
# wsl2 yi etkinleştiriyoruz
wsl --set-default-version 2
# wsl çekirdek güncellemesini indiriyoruz.
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile .\wsl_update_x64.msi
# ilerleme tercihni sıfırla
$ProgressPreference = 'Continue'
# indirilen dosyaları yüklüyoruz
.\wsl_update_x64.msi
```

* Windows bilgisayarımızdan Microsoft Store girip Debianı indiriyoruz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9m6y0oq7c5fjl0atxee.png)


* Debian sanal makinesini açıp kullanıcı adı ve şifre belirliyoruz.

```
sudo apt update
sudo apt upgrade -y
sudo apt install unzip wget -y
sudo apt install apache2 mariadb-server mariadb-client -y
sudo apt install php8.2-* -y
sudo service mariadb start
sudo su
mysql_secure_installation
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/08z7v05whyjyenjq16kz.png)

``` mysql -u root -p ```
* Nextcloud veritabanını oluşturuyoruz
```
CREATE DATABASE nextclouddb;
GRANT ALL ON nextclouddb.* to 'nextcloud_rw'@'localhost' IDENTIFIED BY 'N3xtCl0ud!';
FLUSH PRIVILEGES;
EXIT;
exit
```

* Apache web kökünde Nextcloud'u indirip çıkarmak için aşağıdaki komutlarla devam ediyoruz.

```
# en son nextcloud sürümünü indiriyoruz
wget -O /tmp/nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
# indirilen nextcloud versionunu çıkartıyoruz.
sudo unzip -q /tmp/nextcloud.zip -d /var/www
# Yeni nextcloud dizinin sahibini www-data olarak ayarlıyoruz
sudo chown -R www-data:www-data /var/www/nextcloud

```
*  nextcloud.conf dosyası oluşturuyoruz.
```  sudo nano /etc/apache2/sites-available/nextcloud.conf ```

```
Alias /nextcloud "/var/www/nextcloud/"
<directory /var/www/html/nextcloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted

Dav off

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</directory>
```
* Siteyi etkinleştirmek için ve Apache'yi yeniden başlatmak için aşağıdaki komutlarla devam ediyoruz.

```
sudo a2ensite nextcloud
sudo a2enmod rewrite headers env dir mime dav
sudo service apache2 restart
```
* localhost/nextcloud/ sitesine gidiyoruz

username: nextcloud_rw
password: N3xtCl0ud!
database name: nextclouddb
database host: localhost

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4k1hxo0a7q82jox6c27m.png)