FreeBSD 11 Ü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 genel barındırılan Github . Bu kılavuz, Node.js, MongoDB, PM2, Nginx, Git ve Acme.sh kullanarak Wiki.js'yi yeni bir FreeBSD 11 Vultr örneğine nasıl yükleyeceğinizi gösterecektir.

Gereksinimler

Wiki.js'yi çalıştırmak için gereksinimler aşağıdaki gibidir:

  • Node.js sürüm 6.11.1 veya üstü
  • MongoDB sürüm 3.2 veya üzeri
  • Git sürüm 2.7.4 veya üstü
  • Nginx, Apache, IIS, Caddy veya H2O gibi bir web sunucusu. Bu kılavuzda Nginx kullanılacaktır.
  • Git uyumlu bir depo (genel veya özel) Bu isteğe bağlıdır
  • Minimum 512 MB RAM. En az 1GB RAM'e sahip bir makine kullanılması önemle tavsiye edilir.
  • A/ AAAAKayıtlar ayarlanmış alan adı . Bu kılavuzda wiki.example.comörnek bir alan olarak kullanacağız .

Sen başlamadan önce

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

uname -ro
# FreeBSD 11.2-RELEASE

FreeBSD sisteminizin güncel olduğundan emin olun.

freebsd-update fetch install
pkg update && pkg upgrade -y

Yükleme sudo, vim, unzip, wget, git, bashve socatbunlar sisteminizde mevcut değilse paketler.

pkg install -y sudo vim unzip wget git bash socat

Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun (kullanacağız johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Grup üyelerinin herhangi bir komutu yürütmesine izin vermek için visudokomutu çalıştırın ve %wheel ALL=(ALL) ALLsatırı kaldırın wheel.

# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL

Şimdi yeni oluşturulan kullanıcınıza geçin.

su - johndoe

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

Saat dilimini ayarlayın.

sudo tzsetup

Node.js dosyasını yükleyin

Wiki.js, Node.js 6.11.1 veya üst sürümünü gerektirir. Bu nedenle, önce Node.js'nin uygun sürümünü yüklememiz gerekir.

Node.js ve NPM'yi yükleyin.

sudo pkg install -y node8 npm-node8

Sürümleri kontrol edin.

node -v && npm -v
# v8.12.0
# 6.4.1

MongoDB'yi yükleyin

Wiki.js, veritabanı motoru olarak MongoDB'yi kullanır.

MongoDB'yi yükleyin.

sudo pkg install -y mongodb36

Versiyonu kontrol et.

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

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

sudo sysrc mongod_enable=yes
sudo service mongod start

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

Wiki'nizi HTTPS ile güvence altına almak gerekli değildir, ancak site trafiğinizi güvence altına almak 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ışmak için çok fazla bağımlılık gerektiren diğer bazı Acme protokol istemcilerine kıyasla çok hafif hale getirir.

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 ~

acme.shSürümü kontrol edin .

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

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

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength ec-256

Yukarıdaki komutları çalıştırdıktan sonra, sertifikalarınız ve anahtarlarınız aşağıdaki dizinlerde olacaktır:

  • RSA: /etc/letsencrypt/wiki.example.com
  • ECC / ECDSA: /etc/letsencrypt/wiki.example.com_ecc

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

Let's Encrypt'ten sertifika aldıktan sonra, Nginx'i bunlardan yararlanacak şekilde yapılandırmamız gerekiyor.

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

Wiki.js gerçek bir web sunucusu olmadan çalışabilir, ancak önüne standart bir web sunucusu koymanız önemle tavsiye edilir. Bu, SSL, birden çok web sitesi, önbellekleme ve diğerleri 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.

sudo pkg install -y nginx

Versiyonu kontrol et.

nginx -v
# nginx version: nginx/1.14.0

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

sudo sysrc nginx_enable=yes
sudo service nginx start

Wiki.js uygulaması için Nginx'i HTTPS (SSL kullanıyorsanız) ters proxy olarak yapılandırın.

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

server {

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

  server_name wiki.example.com;

  charset utf-8;
  client_max_body_size 50M;

  # 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;
  }

}

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 . Dosyayı kaydedin ve :+ W+ ile çıkınQ

Şimdi wiki.js.confdosyayı ana nginx.confdosyaya eklememiz gerekiyor.

sudo vim /usr/local/etc/nginx/nginx.confAşağıdaki satırı çalıştırın ve http {}bloğa ekleyin .

include wiki.js.conf;

Yapılandırmayı kontrol edin.

sudo nginx -t

Nginx'i yeniden yükleyin.

sudo service nginx reload

Wiki.js'yi yükleyin

Wiki.js'nin yükleneceği boş bir belge kök klasörü oluşturun.

sudo mkdir -p /usr/local/www/wiki.example.com

Belge kök klasörüne gidin.

cd /usr/local/www/wiki.example.com

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

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

Gönderen /usr/local/www/wiki.example.comklasör Wiki.js. indirmek ve yüklemek için aşağıdaki komutları çalıştırın

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

VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable)
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar -f - -xz -C .
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar -f - -xz -C .
cp -n config.sample.yml config.yml

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.102

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 http://wiki.example.com, yerel ana bilgisayara gitmek yerine alan adınızı (örneğin ) açabileceğiniz anlamına gelir .

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 işlem yöneticisini yükleme ve ayarlama

Varsayılan olarak, bir sistem yeniden başlatıldıktan sonra Wiki.js otomatik olarak başlamaz. Önyüklemede başlamasını sağlamak için PM2 işlem yöneticisini kurmamız ve kurmamız gerekiyor.

PM2'yi küresel olarak yükleyin npm.

sudo npm install -g pm2

Versiyonu kontrol et.

pm2 -v
# 3.2.2

Henüz orada değilseniz belge kök klasörünüze gidin ve Wiki.js'yi durdurun.

cd /usr/local/www/wiki.example.com
node wiki stop

Wiki.js'yi PM2 aracılığıyla başlatın.

pm2 start server/index.js --name "Wiki.js"

PM2 tarafından yönetilen liste süreci.

pm2 list

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

pm2 startup

Son olarak, şu PM2 yapılandırmasını şu komutu çalıştırarak kaydedin:

pm2 save

Wiki.js örneğiniz artık PM2'yi işlem yöneticisi olarak kullanarak arka plan işlemi olarak çalışıyor.



Leave a Comment

Bir Vultr Bulut Sunucusuna pfSense Kurulumu

Bir Vultr Bulut Sunucusuna pfSense Kurulumu

pfSense, ağlarına geniş bir özellik yelpazesi eklemek isteyen sistem yöneticileri için ideal bir araçtır. Öncelikle açık kaynaklı

FreeBSD 12 Üzerinde LimeSurvey CE Kurulumu

FreeBSD 12 Üzerinde LimeSurvey CE Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? LimeSurvey PHP ile yazılmış açık kaynaklı bir anket yazılımıdır. LimeSurvey kaynak kodu GitHubda barındırılıyor. Bu kılavuz size

FreeBSDde Nginx Ters Proxy ve Golang Kurulumu

FreeBSDde Nginx Ters Proxy ve Golang Kurulumu

Gereksinimler UNIX hakkında temel bilgiler. Nginx yüklü FreeBSD x64. Araçları Yükleme FreeBSD ile birlikte gönderilmeyen birkaç programa ihtiyacınız olacaktır. Ru

FreeBSD 12 Üzerinde Automad CMS Kurulumu

FreeBSD 12 Üzerinde Automad CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Automad, PHPde yazılmış açık kaynaklı bir dosya tabanlı içerik yönetim sistemidir (CMS) ve şablon motorudur. Automad kaynak kodu i

FreeBSD 12 Üzerinde X-Cart 5 Kurulumu

FreeBSD 12 Üzerinde X-Cart 5 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? X-Cart, tonlarca özellik ve entegrasyona sahip son derece esnek bir açık kaynaklı e-ticaret platformudur. X-Cart kaynak kodu aceleci

WordPressi OpenBSD 6.2ye yükleme

WordPressi OpenBSD 6.2ye yükleme

Giriş WordPress, internet üzerindeki baskın içerik yönetim sistemidir. Bloglardan dinamik içeriğe sahip karmaşık web sitelerine kadar her şeyi güçlendirir

FreeBSD 11 Üzerinde Murmur Kurun ve Yapılandırın (Mumble Sunucusu)

FreeBSD 11 Üzerinde Murmur Kurun ve Yapılandırın (Mumble Sunucusu)

Murmur, Mumble sesli iletişim protokolü için resmi sunucu yazılımıdır. Bu resmi uygulama istikrarlı ve etkilidir. Bu kılavuz

FreeBSD 12.0 Üzerinde Nginx, MySQL ve PHP (FEMP) Yığını Nasıl Yüklenir

FreeBSD 12.0 Üzerinde Nginx, MySQL ve PHP (FEMP) Yığını Nasıl Yüklenir

Linuxtaki bir LEMP yığını ile karşılaştırılabilir bir FEMP yığını, bir FreeBSyi etkinleştirmek için genellikle birlikte yüklenen bir açık kaynaklı yazılım koleksiyonudur

PF Güvenlik Duvarı ile FreeBSD Güvenliği

PF Güvenlik Duvarı ile FreeBSD Güvenliği

Bu eğitici, FreeBSD sunucunuzu OpenBSD PF güvenlik duvarını kullanarak nasıl koruyacağınızı gösterecektir. Dağıtılmış temiz bir FreeBSD kurulumunuz olduğunu varsayacağız b

FreeBSD 11 Üzerinde Kaşe Nasıl Kurulur

FreeBSD 11 Üzerinde Kaşe Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? Cachet PHP ile yazılmış açık kaynaklı bir durum sayfası sistemidir. Cachet için kaynak kodu GitHubda barındırılıyor. Bu kılavuzda,

FreeBSD 12ye WonderCMS Kurulumu

FreeBSD 12ye WonderCMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? WonderCMS, PHPde yazılmış açık kaynaklı, hızlı ve küçük bir düz dosya CMSdir. WonderCMS kaynak kodu Githubda barındırılmaktadır. Bu kılavuz

FreeBSD 12de Apachede TLS 1.3ü Etkinleştirme

FreeBSD 12de Apachede TLS 1.3ü Etkinleştirme

Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür

FreeBSD 11 üzerine Nginx ile Vernik 5i yükleyin

FreeBSD 11 üzerine Nginx ile Vernik 5i yükleyin

Vernik, bir web sunucusundan içerik depolayan açık kaynaklı bir önbellek sunucusudur. Apache veya Nginx gibi bir web sunucusunun önüne kurulur. Cachin

FreeBSD 12 Dolibarr Kurulumu

FreeBSD 12 Dolibarr Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr

ProcessWire CMS 3.0 FreeBSD 11 FAMP VPS Kurulumu

ProcessWire CMS 3.0 FreeBSD 11 FAMP VPS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ProcessWire CMS 3.0 basit, esnek ve güçlü, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS). ProcessWire CMS 3.

FreeBSD 11 Üzerinde Matomo Analytics Kurulumu

FreeBSD 11 Üzerinde Matomo Analytics Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Matomo (eski adıyla Piwik), Google Analyticse açık bir alternatif olan açık kaynaklı bir analiz platformudur. Matomo kaynağı o barındırılıyor o

FreeBSD 12de Nginxte TLS 1.3ü Etkinleştirme

FreeBSD 12de Nginxte TLS 1.3ü Etkinleştirme

Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür

OpenSMTPD, Dovecot, Rspamd ve RainLoop Kullanan OpenBSD E-Posta Sunucusu

OpenSMTPD, Dovecot, Rspamd ve RainLoop Kullanan OpenBSD E-Posta Sunucusu

Giriş Bu eğitici, OpenSMTPD, Dovecot, Rspamd ve RainLoop kullanarak OpenBSD üzerinde çalışan tam özellikli bir e-posta sunucusunu gösterir. OpenSMTPD th

FreeBSD 12 Mailtrain Haber Bülteni Uygulaması Nasıl Kurulur

FreeBSD 12 Mailtrain Haber Bülteni Uygulaması Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? Mailtrain, Node.js ve MySQL / MariaDB üzerine kurulmuş açık kaynaklı, kendi kendine barındırılan bir bülten uygulamasıdır. Mailtrains kaynağı GitHubda. Thi

OpenBSD 6da Ghost Professional Yayıncılık Platformunu Kurma

OpenBSD 6da Ghost Professional Yayıncılık Platformunu Kurma

Ghost, WordPresse rakip olan en yeni ve en büyük başlangıç. Tema geliştirme hızlı ve kolaydır, çünkü Ghost geliştiricileri

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

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?