# Kurulum

# Sistem Gereksinimleri

- Wiki.js, Node.js'in desteklendiği hemen hemen her sistemde çalışır. Bu, Linux, macOS, Windows'un yanı sıra Docker/Kubernetes ve Heroku konteyner çözümlerinde çalışacağı anlamına gelir. Wiki.js zaman zaman yeni güncellemeleri, dilleri, temaları vb. otomatik olarak kontrol eder.
- **CPU:** Wiki.js tek bir CPU çekirdeğinde mükemmel şekilde çalışır. Ancak arkaplan çalışanlarından tam olarak yararlanmak için 2 veya daha fazla çekirdek önerilir.
- **RAM:** Linux sistemlerinin Wiki.js'yi çalıştırabilmesi için en az 1 GB RAM'e sahip olması gerekir. Windows ve macOS sistemleri genellikle biraz daha fazla RAM gerektirir. İşlemin kendisi genellikle yaklaşık 70 MB RAM'de yer alırken, bazı olaylar(sayfa oluşturma, indeksleme vb.) RAM kullanımında kısa süreli artışlara neden olur.
- **Depolama Alanı:** Depolama gereksinimleri gireceğiniz içeriğe göre belirlenir. Neredeyse tamamen metinden oluşan Wiki'lerin birkaç megabaytı aşması pek mümkün değildir. Ancak resim, video veya diğer dosyaları yüklediğiniz anda depolama gereksinimlerinizi buna göre planlamalısınız. En az 1 GB depolama alanı önerilir.
- Wiki.js, özel bir alt alan adı ve alan adı gerektirir. Wiki.js'i bir alt klasörle eşleyemezsiniz.
- En iyi kullanım için PostgreSQL’in 9.5 ve sonraki sürümleri önerilir. Bunun dışında MySQL 8.0 ve sonraki sürümleri, MariaDB 10.2.7 ve sonraki sürümleri, MS SQL Server 2012 ve sonraki sürümleri, SQLite 3.9 ve sonraki sürümleri önerilir. Bu veri tabanı motorlarından birini zaten kurmuş olmanız beklenmektedir. Wiki.js, boş bir veri tabanına bağlanmak için benzersiz bir kullanıcı ve şifreye ihtiyaç duyar.
- Node.js’in 12.0 sürümünden sonraki sürümleri için tek sayıyla biten sürümler desteklenmez (13.X, 15.X, 17.X).
- **Docker için:** Node.js, Docker görüntüsüne otomatik olarak dahil edilir. Ek olarak Node.js kurmanıza gerek yoktur.
- Wiki.js herhangi bir gerçek web sunucusuna (nginx veya Apache gibi) ihtiyaç duymaz. Ancak gelişmiş Ağ/DNS yapılandırmasına ihtiyacınız varsa Wiki.js'in önüne **“reverseproxy”** yerleştirmeniz gerekebilir.
- Google Chrome, Mozilla Firefox, Apple Safari gibi popüler tarayıcılar tarafından desteklenir. Tüm tarayıcılar varsayılan olarak arka planda otomatik olarak güncellenir.

# Linux Kurulumu

<p class="callout info">Kullanılan sürüm Ubuntu 22.04 LTS sürümüdür.</p>

Öncelikle sistemimize Docker kuruyoruz.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/MxMimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/MxMimage.jpeg)

Docker'ı yüklemek için bağımlılıkları yüklüyoruz:

> sudo apt -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install ca-certificates curl gnupg lsb-release

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/CEfimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/CEfimage.jpeg)

Docker paket kayıt defterini kaydediyoruz:

> sudo mkdir -p /etc/apt/keyrings
> 
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
> 
> echo "deb \[arch=$(dpkg --print-architecture) signed by=/etc/apt/keyrings/docker.gpg\]https://download.docker.com/linux/ubuntu $(lsb\_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/YfTimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/YfTimage.jpeg)

Paket güncellemelerini yeniliyoruz ve Docker'ı yüklüyoruz:

> sudo apt -qqy update
> 
> sudo apt -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install docker-ce docker-ce-cli containerd.iodocker-compose-plugin

Şimdi konteynerları kurmak için gerekli hazırlıklara geçiyoruz.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/BGpimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/BGpimage.jpeg)

Wiki.js için kurulum dizini oluşturduk:

> mkdir -p /etc/wiki

Dijital kimlik bilgisi oluşturduk:

> openssl rand -base64 32 &gt; /etc/wiki/.db-secret

Docker iç ağı oluşturduk:

> docker network create wikinet

PostgreSQL için veri birimi oluşturduk:

> docker volume create pgdata

Şimdi gerekli konteynerların kurulumuna geçiyoruz.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/y4Timage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/y4Timage.jpeg)

<table border="0" cellpadding="0" cellspacing="0" class="TableNormal" id="bkmrk-%C2%A0-docker-create---na"><tbody><tr><td valign="top" width="605">docker create --name=db -e POSTGRES\_DB=wiki -e POSTGRES\_USER=wiki -ePOSTGRES\_PASSWORD\_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro

-v pgdata:/var/lib/postgresql/data --restart=unless-stopped -h db --network=wikinet postgres:15

</td></tr><tr><td valign="top" width="605">docker create --name=wiki -e DB\_TYPE=postgres -e DB\_HOST=db -e DB\_PORT=5432 -eDB\_PASS\_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -eDB\_USER=wiki -e DB\_NAME=wiki -e UPGRADE\_COMPANION=1 --restart=unless-stopped -hwiki --network=wikinet -p 80:3000 -p 443:3443 ghcr.io/requarks/wiki:2

</td></tr><tr><td valign="top" width="605">docker create --name=wiki-update-companion -v /var/run/docker.sock:/var/run/docker.sock:ro --restart=unless-stopped -h wiki-update-companion --network=wikinet ghcr.io/requarks/wiki-update-companion:latest

</td></tr></tbody></table>

Şimdi de firewall kuruyoruz ve aktif ediyoruz.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/p6Pimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/p6Pimage.jpeg)

> sudo ufw allow ssh
> 
> sudo ufw allow http
> 
> sudo ufw allow https
> 
> sudo ufw --force enable

Konteynerları başlatıyoruz.

> docker start db
> 
> docker start wiki
> 
> docker start wiki-update-companion

Tarayıcınızdaki URL kısmına sunucunuzun IP'sini veya alan adını girin.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/dnmimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/dnmimage.jpeg)

Gerekli bilgileri kendinize göre doldurun.

<p class="callout warning">Güçlü bir şifre koymayı unutmayın!</p>

Telemetry’i açabilirsiniz. Telemetry, Wiki.js’in geliştiricilerine feedback vermek için kullanılır. Bilgilerinizi girdikten sonra “Install” deyip devam edin.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/YTQimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/YTQimage.jpeg)

Devam ettikten sonra karşınıza çıkan sayfaya bilgilerinizi girip giriş yapın.

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/9kHimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/9kHimage.jpeg)

“Create Home Page” seçeneğine tıklayıp sayfamız için dilediğimiz editörü seçebiliriz.

[![image.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/3eSimage.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/3eSimage.png)

# Windows Kurulumu

<p class="callout info">Kullanılan sürüm Windows 11 Home sürümüdür.</p>

Öncelikle arama kısmına “powershell” yazıp yönetici olarak çalıştır deyippowershell’i açıyoruz.

[![image.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/KYzimage.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/KYzimage.png)

Wiki.js son sürümünü indiriyoruz.

> Invoke-WebRequest -Uri "https://github.com/Requarks/wiki/releases/latest/download/wiki-js-windows.tar.gz" -OutFile "wiki-js.tar.gz"

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/9pqimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/9pqimage.jpeg)

İndirdiğimiz paketi seçtiğimiz son varış noktasına çıkarıyoruz ve paketin bulunduğu path’e gidiyoruz:

> New-Item -Path "C:\\" -Name "wiki" -ItemType "directory"
> 
> tar xzf wiki-js.tar.gz -C "C:\\wiki"
> 
> cd C:\\wiki

[![image.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/JL3image.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/JL3image.png)

Örnek yapılandırma dosyasını config.yml olarak yeniden adlandırıyoruz:

> Rename-Item -Path config.sample.yml -NewName config.yml

[![image.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/bNSimage.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/bNSimage.png)

Favori metin düzenleyicinizi (örn. Not Defteri) kullanarak yapılandırmadosyasını düzenleyin. PostgreSQL, MySQL, MariaDB, MS SQL Server,SQLite veri tabanlarından hangisini kullanmak istiyorsanız onu belirtin vebağlantı noktası ayarlarınızı girin. Ben PostgreSQL kullandım siz farklı birveri tabanı kullanmak istiyorsanız [https://docs.requarks.io/install/config](https://docs.requarks.io/install/config) sayfasını ziyaret edip Database conf ayarlarına göre veri girebilirsiniz:

> notepad .\\config.yml

[![image.jpeg](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/scaled-1680-/yGrimage.jpeg)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-01/yGrimage.jpeg)

Tarayıcınızdaki kurulum sayfası açılıncaya kadar bekleyin ve kurulumu tamamlamak için kurulum sihirbazını tamamlayın:

> node server

<p class="callout warning">Windows bilgisayarınızda “node.js” kurulu olmalıdır ve veri tabanınızile uyumlu bir biçimde çalışmalıdır!</p>