Centiki 7 Üzerinde Wiki.js Nasıl Kurulur

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 yeni bir CentOS 7 Vultr örneğine Wiki.js'yi nasıl yükleyeceğinizi gösterecektir.

Gereksinimler

Wiki.js'yi çalıştırmak için gereksinimler şunlardır:

  • 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ü
  • Git uyumlu bir depo (genel veya özel) ( isteğe bağlı )
  • Minimum 768MB RAM
  • A/ AAAAKayıtlar ayarlanmış alan adı

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

cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

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

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

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

Saat dilimini ayarlayın.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Sisteminizin güncel olduğundan emin olun.

sudo yum update -y

Bu öğreticiyi tamamlamak için gerekli paketleri yükleyin.

sudo yum install -y wget curl vim zip unzip bash-completion

SELinux ve Güvenlik Duvarını devre dışı bırakın.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

EPEL havuzunu etkinleştirin.

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Git'i yükle

CentOS depoları Git'in çok eski bir sürümünü sağlar, bu nedenle Git'i kaynağından oluşturmamız gerekir.

Git'i kaynak kodundan oluşturarak yükleyin.

# Remove existing git package if installed: 
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.1.tar.gz && tar zxvf git-2.17.1.tar.gz
rm git-2.17.1.tar.gz
cd git-2.17.1
make configure
./configure
make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~

# Confirm this command returns /usr/local/bin/git:
which git

Sürümü doğrulayın.

git --version
# git version 2.17.1

Node.js dosyasını yükleyin

Wiki.js, Node.js 6.9.0 veya üst sürümünü gerektirir, bu yüzden önce Node.js dosyasını yüklememiz gerekir.

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

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum 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. En son büyük ve küçük MongoDB sürümlerini içeren resmi MongoDB depolarını kullanacağız .

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

sudo vim /etc/yum.repos.d/mongodb-org-3.6.repo

# Copy/paste this
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

sudo yum 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.

Nginx'i yükleyin.

sudo vim /etc/yum.repos.d/nginx_mainline.repo

# Copy/paste this
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key

sudo yum install -y nginx

Versiyonu kontrol et.

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 konfigüre Nginx HTTPveya HTTPSWiki.js. için ters proxy

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_namedirektiftir ve proxy_passbaşka bir port yapılandırmaya karar verirseniz potansiyel olarak 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 istemcisini 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 betiğidir. 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 ~

Versiyonu kontrol et.

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

Alan adınız / ana bilgisayar adınız 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 aşağıdaki dizinlerde olacaktır:

  • RSA için: /etc/letsencrypt/wiki.example.com
  • ECC / ECDSA için: /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.

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

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ı 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, 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 kaydedildi . 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'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, komutu çalıştırarak 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şlamasını sağlayabilirsiniz.



CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

KubOSM ile Kubernetesi CentOS 7de dağıtın

KubOSM ile Kubernetesi CentOS 7de dağıtın

Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

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