Debian 9 Üzerinde Wiki.js Kurulumu

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

Gereksinimler

  • Node.js 6.9.0 veya üstü
  • MongoDB 3.2 veya üstü
  • nginx
  • Git 2.7.4 veya üstü
  • Git uyumlu bir depo (genel veya özel) ( isteğe bağlı )
  • Minimum 768MB RAM
  • A/ AAAAKayıtlar ayarlanmış alan adı

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

lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)

Sisteminizin güncel olduğundan emin olun.

apt update && apt upgrade -y

Gerekli paketleri kurun.

apt install -y build-essential apt-transport-https sudo curl wget dirmngr sudo

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

Git'i yükle

Git'i Debian'a yükleyin.

sudo apt install -y git

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

git --version
# git version 2.11.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

Wiki.js, veritabanı motoru olarak MongoDB'yi kullanır. Buna göre, sunucumuza MongoDB yüklememiz gerekecek. Kurulum için resmi MongoDB depolarını kullanacağız .

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

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt update
sudo apt install -y mongodb-org

Versiyonu kontrol et.

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

MongoDB'yi etkinleştirin ve başlatın.

sudo systemctl enable mongod.service
sudo systemctl start mongod.service

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

Wiki.js'nin önüne standart bir web sunucusu yerleştirmeniz önemle tavsiye edilir. Bu, SSL, birden çok web sitesi, önbellekleme ve daha fazlası gibi özellikleri kullanabilmenizi sağlar. Bu öğreticide Nginx kullanacağız, ancak başka herhangi bir sunucu yapacak, sadece doğru bir şekilde yapılandırmanız gerekiyor.

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/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(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

Bir şekilde yapılandır Nginx HTTPveya HTTPS(SSL kullanan varsa) Wiki.js uygulama için ters vekil.

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 server_nameyönerge ve proxy_passbaşka bir bağlantı noktası yapılandırmaya karar verirseniz direktiftir 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 dosyasını yükleyin ve Let's Encrypt sertifikası edinin (isteğe bağlı)

Wiki'nizi güvenli hale getirmek HTTPSgerekli değildir, ancak site trafiğinizi güvence altına almak için iyi bir uygulamadır. Let's Encrypt'ten bir SSL sertifikası almak için Acme.sh istemcisini kullanacağız. 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. Bu, başarılı bir şekilde çalışması için çok fazla bağımlılık gerektiren diğer ACME protokol istemcileriyle karşılaştırıldığında çok hafif olmasını sağlar.

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 your_email@example.com
cd ~

Versiyonu kontrol et.

/etc/letsencrypt/acme.sh --version
# v2.7.9

İçin RSA ve ECDSA sertifikaları alın wiki.example.com.

# 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 your_email@example.com --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 your_email@example.com --ocsp-must-staple --keylength ec-256 

NOT : Alan adınızla değiştirmeyi unutmayın wiki.example.com.

Yukarıdaki komutları çalıştırdıktan sonra, sertifikalarınız ve anahtarlarınız aşağıdaki dizinlerde 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, Nginx'i bunlardan yararlanacak şekilde yapılandırmamız gerekiyor.

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/example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/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

Yüklü olan Wiki.js 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ı çalıştırarak başlatın.

node wiki configure

Bu, http://localhost:3000Wiki.js'yi yapılandırmak için gitmenizi bildirir. Wiki.js'nin önünde Nginx varsa, o zaman etki alanı adınızı (örneğin http://wiki.example.com) açmak yerine açabileceğiniz anlamına gelir 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 Kurulumu

Varsayılan olarak, bir sistem yeniden başlatıldıktan sonra Wiki.js otomatik olarak başlamaz. Önyüklemede başlayabilmesi için PM2 işlem yöneticisini 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 örneğiniz, işlem yöneticisi olarak PM2'yi kullanarak arka plan işlemi olarak çalışır. İşletim sisteminizi yeniden sudo rebootbaşlatabilir ve yeniden başlatma işleminden sonra Wiki.js'nin başlatılıp başlatılmadığını kontrol edebilirsiniz.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

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

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.

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.

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.

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.