Ubuntu 18.04 Üzerinde Wiki.js Kurulumu

Wiki.js , Node.js , Git ve Markdown üzerine kurulmuş ücretsiz ve açık kaynaklı, modern bir wiki uygulamasıdır . Wiki.js kaynak kodu genel barındırılan Github . Bu kılavuz, Node.js, MongoDB, PM2, Nginx, Git ve Acme.sh kullanarak yeni bir Ubuntu 18.04 LTS Vultr örneğine Wiki.js'yi nasıl yükleyeceğinizi gösterecektir.

Gereksinimler

Wiki.js'yi çalıştırmak ve bu kılavuzu bitirmek için gereksinimler aşağıdaki gibidir:

  • Node.js sürüm 6.9.0 veya üstü
  • MongoDB sürüm 3.2 veya üzeri
  • nginx
  • Git sürüm 2.7.4 veya üstü
  • Minimum 768MB RAM
  • A/ AAAAKayıtlar ayarlanmış alan adı

Ubuntu sürümünü kontrol edin.

lsb_release -ds
# Ubuntu 18.04.4 LTS

Erişimi olan yeni bir non-rootkullanıcı hesabı oluşturun sudove bu hesaba geçin.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NOT : Kullanıcı adınızla değiştirin johndoe.

Saat dilimini ayarlayın.

sudo dpkg-reconfigure tzdata

Sisteminizin güncel olduğundan emin olun.

sudo apt update && sudo apt upgrade -y

Gerekli paketleri kurun.

sudo apt install -y build-essential apt-transport-https

Git'i yükle

Git 2.7.4, Ubuntu sunucu sürümüne önceden yüklenmiş olarak gelir, bu yüzden yüklememiz gerekmez. Daha yeni bir sürüm yüklemek istiyorsanız, üçüncü taraf PPA'ları kullanabilir veya Git'in en son sürümünü kaynağından derleyebilirsiniz.

Şu anda yüklü olan Git sürümünü şu komutla doğrulayabilirsiniz:

git --version
# git version 2.7.4

Git yazılımının daha yeni bir sürümünü yüklemek istiyorsanız, aşağıdakileri kullanabilirsiniz.

# Remove existing git package
sudo apt remove -y git
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
sudo apt update && sudo apt upgrade -y
sudo apt install -y git

Git sürümünü doğrulayın.

git --version
# git version 2.17.0

Node.js dosyasını yükleyin

Node.js için NodeSource APT deposunu kullanarak Node.js'yi yükleyin.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

Node.js ve NPM sürümlerini kontrol edin.

node -v && npm -v
# v8.11.2
# 5.6.0

MongoDB'yi yükleyin

En son büyük ve küçük MongoDB sürümleri ile güncel tutulan resmi MongoDB depolarını kullanacağız .

MongoDB Topluluk Sürümü'nü yükleyin.

sudo apt install -y mongodb

Versiyonu kontrol et.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3

Nginx'i yükleme ve yapılandırma

Nginx'i yükleyin.

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Versiyonu kontrol et.

sudo nginx -v
# nginx version: nginx/1.15.0

Nginx'i etkinleştirin ve başlatın.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Nginx'i Wiki.js uygulaması için ters proxy olarak yapılandırın.

sudo vim /etc/nginx/conf.d/wiki.js.confAşağıdaki temel ters proxy yapılandırmasıyla çalıştırın ve doldurun.

server {

    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

Yukarıdaki yapılandırmada değiştirmeniz gereken tek şey, başka bir bağlantı noktası yapılandırmaya karar verirseniz server_nameyönerge ve potansiyel olarak proxy_passyönerge 3000. Wiki.js 3000varsayılan olarak bağlantı noktasını kullanır .

Yapılandırmayı kontrol edin.

sudo nginx -t

Nginx'i yeniden yükleyin.

sudo systemctl reload nginx.service

Acme.sh istemcisini yükleyin ve Let's Encrypt sertifikası edinin (isteğe bağlı)

Wiki'nizi HTTPSgüvenli hale getirmek gerekli değildir, ancak sitenizin trafiğini güvenli hale getirir. Acme.sh sıfır bağımlılık ile Let's Encrypt SSL sertifikaları almak için saf bir unix kabuk yazılımıdır.

Acme.sh dosyasını indirin ve yükleyin .

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Versiyonu kontrol et.

/etc/letsencrypt/acme.sh --version

wiki.example.comEtki alanı / ana bilgisayar adı için RSA ve ECDSA sertifikaları alın .

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256 

Yukarıdaki komutları çalıştırdıktan sonra sertifikalarınız ve anahtarlarınız şurada olacaktır:

  • RSA için: /etc/letsencrypt/wiki.example.comdizin.
  • ECC / ECDSA için: /etc/letsencrypt/wiki.example.com_eccdizin.

Let's Encrypt'ten sertifika aldıktan sonra, bunları kullanmak için Nginx'i yapılandırmamız gerekir.

sudo vim /etc/nginx/conf.d/wiki.js.confTekrar çalıştırın ve Nginx'i HTTPSters proxy olarak yapılandırın .

server {

    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    # RSA
    ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

Yapılandırmayı kontrol edin.

sudo nginx -t

Nginx'i yeniden yükleyin.

sudo systemctl reload nginx.service

Wiki.js'yi yükleyin

Wiki.js dosyasının yüklenmesi gereken boş bir belge kök klasörü oluşturun.

sudo mkdir -p /var/www/wiki.example.com

Belge kök klasörüne gidin.

cd /var/www/wiki.example.com

/var/www/wiki.example.comKlasörün sahipliğini kullanıcı olarak değiştirin johndoe.

sudo chown -R johndoe:johndoe /var/www/wiki.example.com

Gönderen /var/www/wiki.example.comklasörde, Wiki.js. indirmek için aşağıdaki komutu çalıştırın ve yükleyin

curl -sSo- https://wiki.js.org/install.sh | bash

Wiki.js'nin şu anda yüklü sürümünü görüntülemek için aşağıdaki komutu çalıştırabilirsiniz.

node wiki --version
# 1.0.78

Yükleme tamamlandığında, yapılandırma sihirbazını çalıştırmanız istenir.

Yapılandırma sihirbazını başlatın.

node wiki configure

Bu, http://localhost:3000Wiki.js'yi yapılandırmak için göz atmanızı bildirir. Wiki.js'nin önünde Nginx varsa http://wiki.example.com, gitmek yerine alan adınızı (ör. ) Açabilirsiniz localhost.

Web tarayıcınızı kullanarak http://wiki.example.comekrandaki talimatlara gidin ve izleyin. Yapılandırma sihirbazı sırasında girilen tüm ayarlar config.ymldosyaya kaydedilir . Yapılandırma sihirbazı sizin için Wiki.js'yi otomatik olarak başlatır.

PM2'yi yükle

Varsayılan olarak, bir sistem yeniden başlatıldıktan sonra Wiki.js otomatik olarak başlamaz. Önyüklemede başlayabilmesi için PM2'yi kurmamız gerekiyor. PM2, yerel NPM modülü olarak Wiki.js ile birlikte gelir, bu nedenle PM2'yi global olarak yüklememize gerek yoktur.

PM2'ye kendisini bir başlangıç ​​hizmeti olarak yapılandırmasını söyleyin.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup

Son olarak, geçerli PM2 yapılandırmasını kaydedin.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Wiki.js, süreç yöneticisi olarak PM2'yi kullanarak bir arka plan işlemi olarak çalışır.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun