CentOS 7 Üzerinde Wekan (Açık Kaynak Kanban) Kurulumu

Wekan, Meteor JavaScript çerçevesiyle oluşturulmuş bir kanban panosudur. Neredeyse aynı özellikleri sağlayan, açık kaynak kodlu ve Trello'ya kendi kendine barındırılan bir alternatif olarak kabul edilir. Kart tabanlı "yapılacaklar" yönetim listeleri oluşturmanızı sağlar. Wekan, işbirlikçi bir ortamda çalışırken verimliliği artırmak için çok faydalıdır. Wekan tamamen duyarlı bir web arayüzüne sahiptir ve birçok dilde aktif olarak tercüme edilmiştir.

Ön şartlar

Bu eğitimde, wekan.example.comVultr örneğine işaret eden alan adı olarak kullanacağız . Lütfen örnek alan adının tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.

CentOS 7'yi Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, bağımlılıkları yüklemeye devam edin.

Node.js dosyasını yükleyin

Wekan sadece destekler Node.js LTS version 4.8. Node.js'yi yüklemek için, düğüm sürüm yöneticisini kullanacağız. nvmYükleyici komut dosyasını çalıştırarak yükleyin .

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash

Hemen kullanmaya başlamak için nvmbunu çalıştırın.

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

Eğer nvmbaşarıyla yüklendikten sonra onun sürümünü kontrol etmek mümkün olmalıdır.

[user@vultr ~]$ nvm --version
0.33.4

Node.js'yi yükleyin.

nvm install v4.8

Node.js'nin varsayılan sürümünü ayarlayın.

nvm use node

Node.js başarıyla yüklendiyse, sürümünü kontrol edebilmeniz gerekir.

node -v

Bu çıktıyı göreceksiniz.

[user@vultr ~]$ node -v
v4.8.4

NVM, yalnızca geçerli kullanıcı için Node.js'yi yükler. Node.js'nin küresel olarak erişilebilir olması için bunu çalıştırın.

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr

Node.js yayınlandı /bin/node.

[user@vultr ~]$ sudo which node
/bin/node

MongoDB'yi yükleyin

MongoDB ücretsiz ve açık kaynaklı bir NoSQL veritabanı sunucusudur. Verilerini düzenlemek için tablolar kullanan geleneksel veritabanlarının aksine, MongoDB belge yönelimlidir ve şemaları olmayan JSON benzeri belgeleri kullanır. Wekan, verilerini saklamak için MongoDB'yi kullanır.

Wekan sadece ile uyumludur MongoDB version 3.2. MongoDB varsayılan YUMdepoda mevcut olmadığından yeni bir depo dosyası oluşturmanız gerekir.

sudo nano /etc/yum.repos.d/mongodb-org-3.2.repo

Dosyayı aşağıdaki içerikle doldurun.

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

MongoDB'yi yükleyin.

sudo yum install -y mongodb-org

MongoDB sunucusunu başlatın ve otomatik olarak başlamasını sağlayın.

sudo systemctl start mongod
sudo systemctl enable mongod

MongoDB örneğinin güvenliğini sağlama

Varsayılan olarak, bir MongoDB sunucusunda etkin kimlik doğrulaması yoktur. Sunucunun terminaline erişimi olan tüm kullanıcılar MongoDB kurulumunda tam ayrıcalıklara sahip olacaktır. Veritabanı sunucusunu güvenceye almak ve ayrıcalıksız bir kullanıcının erişimini kısıtlamak için sunucuda kimlik doğrulaması ayarlamamız gerekir.

MongoDB, MongoDB'de mongosorgu çalıştırmak için kullanılan bir kabuk sağlar . mongoYazarak kabuğa geçin .

mongo

Kök ayrıcalıklarına sahip yeni bir MongoDB kullanıcısı oluşturun. İstediğiniz herhangi bir kullanıcı adını kullanabilirsiniz. Lütfen şifreyi değiştirdiğinizden emin olun .

db.createUser(
  {
    user: "admin",
    pwd: "StrongAdminPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)

Aşağıdaki çıktıyı görmelisiniz.

[user@vultr ~]$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.

...

2017-09-29T20:42:29.042+0000 I CONTROL  [initandlisten]
> db.createUser(
...   {
...     user: "admin",
...     pwd: "StrongAdminPassword",
...     roles: [ { role: "root", db: "admin" } ]
...   }
... )
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

" Ctrl+C" Tuşuna basarak MongoDB komut arayüzünden Linux terminaline çıkın .

MongoDB yapılandırma dosyasını düzenleyin.

sudo nano /etc/mongod.conf

Dosyanın sonuna aşağıdaki satırı ekleyin.

security:
 authorization: enabled

Yapılandırma değişikliğinin etkili olabilmesi için MongoDB'yi yeniden başlatın.

sudo systemctl restart mongod

Artık güvenlik etkinleştirildi, mongokomutu kullanarak tekrar mongo kabuğuna geçerek çalışıp çalışmadığını test edebilirsiniz . Bu kez, show dbsveritabanlarının listesini göstermek gibi bir sorgu çalıştırırsanız, yetkilendirmenin başarısız olduğunu bildiren bir ileti görürsünüz. sudoOturum açmayı yeni oluşturduğunuz yeni kullanıcı olarak test ettikten sonra kullanıcıya tekrar çıkın .

administratorYeni oluşturduğunuz kullanıcı olarak giriş yapın .

mongo -u admin -p

Başarılı bir giriş için kullanıcının şifresini girin. WekanWekan verilerini depolamak için kullanılacak veritabanı için yeni bir kullanıcı oluşturun .

use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "StrongPassword",
      roles: ["readWrite"]
    }
 ) 

Simgesini StrongPasswordgüçlü bir parola ile değiştirdiğinizden emin olun . Aşağıdaki çıktıyı göreceksiniz.

[user@vultr ~]$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test

...

2017-09-29T20:52:32.450+0000 I CONTROL  [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
...     {
...       user: "wekan",
...       pwd: "StrongPassword",
...       roles: ["readWrite"]
...     }
...  )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }

Wekan'ı yükle

Yeni sürümler çok sık olduğu için Github'daki Wekan sürümüne en son bağlantı olup olmadığını kontrol edin . Yükleyici paketine bağlantıyı değiştirerek Wekan'ın en son sürümünü Github'dan indirin.

cd ~
wget https://github.com/wekan/wekan/releases/download/v0.41/wekan-0.41.tar.gz

İndirilen arşivi adlı yeni bir dizine çıkartın wekan.

mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan

Bzip2Node.js bağımlılıklarını ayıklamak için gereken yükleme .

sudo yum -y install bzip2

Node.js bağımlılıklarını yükleyin.

cd wekan/bundle/programs/server && npm install

Wekan sunucusu, ortam değişkenlerinden yapılan yapılandırmaları okur. Yapılandırmaları ortam değişkenleri olarak ayarlamak için aşağıdaki komutları çalıştırın.

export MONGO_URL='mongodb://wekan:StrongPassword@127.0.0.1:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:pass@mail.example.com:25/'
export MAIL_FROM='wekan@example.com'
export PORT=4000

wekanOluşturduğunuz kullanıcı için MongoDB şifresini değiştirdiğinizden emin olun . Ayrıca, posta URL'sini SMTP sunucusu ayarlarınıza göre güncelleyin. Posta sunucunuz hazır değilse, bu yapılandırmayı daha sonra istediğiniz zaman değiştirebilirsiniz. Güvenlik duvarı 4000üzerinden bağlantı noktasına izin vermek için güvenlik duvarını açın.

sudo firewall-cmd --zone=public --add-port=4000/tcp --permanent
sudo firewall-cmd --reload

Uygulamayı hemen başlatmak için.

cd ~/wekan/bundle
node main.js

Artık uygulamaya giderek erişebilirsiniz http://wekan.example.com:4000. Wekan kanban panosunda oturum açmak için arayüz göreceksiniz.

Üretim kullanımı için, uygulamaya standart HTTPbağlantı noktasında hizmet verecek bir ters proxy systemdve uygulama işlemini yönetmek için bir hizmet ayarlamanız önerilir . Bu derste, Nginx web sunucusunu Let's Encrypt ücretsiz SSL ile güvenlik altına alınan bir proxy olarak kullanacağız.

Nginx Ters Proxy'yi Kurma

Nginx web sunucusunu ve Let's Encrypt CA'nın istemci uygulaması olan Certbot'u yükleyin.

sudo yum -y install certbot nginx

SSL sertifikalarını istemeden önce, bağlantı noktasına 80ve 443güvenlik duvarı üzerinden izin vermeniz gerekir . Certbot sertifika vermeden önce etki alanı yetkilisini kontrol eder.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Artık Wekan'ı standart bir HTTPSbağlantı noktasında çalıştırdığımız için 4000, güvenlik duvarından bağlantı noktasına izin vermemize gerek yok . Bağlantı noktasını kaldırmak için güvenlik duvarını ayarlayın 4000.

sudo firewall-cmd --zone=public --remove-port=4000/tcp --permanent
sudo firewall-cmd --reload

Not: Let's Encrypt CA'dan sertifika almak için kullandığınız etki alanı adı sunucuya yönlendirilmelidir. İstemci, sertifikaları vermeden önce etki alanı yetkilisini doğrular .

SSL sertifikaları oluşturun.

sudo certbot certonly --standalone -d wekan.example.com

Oluşturulan sertifikaların /etc/letsencrypt/live/wekan.example.com/dizinde depolanması muhtemeldir . SSL sertifikası olarak fullchain.pemve özel anahtar olarak depolanacaktır privkey.pem.

Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cronjob kullanarak sertifikaların otomatik olarak yenilenmesi önerilir. Cron, periyodik görevleri yürütmek için kullanılan bir sistem hizmetidir.

Cron iş dosyasını açın.

sudo crontab -e

Dosyanın sonuna aşağıdaki satırı ekleyin.

30 5 * * * /usr/bin/certbot renew --quiet

Yukarıdaki cron işi her gün 05: 30'da çalışacaktır. Sertifikaların süresinin dolması gerekiyorsa, sertifikalar otomatik olarak yenilenir.

Yeni bir sanal ana bilgisayar oluşturun.

sudo nano /etc/nginx/conf.d/wekan.example.com.conf

Dosyayı aşağıdakilerle doldurun.

upstream wekan {
        server 127.0.0.1:4000;
}
server {
        listen  80;
        listen [::]:80;
        server_name  wekan.example.com;

        location / {
                if ($ssl_protocol = "") {
                        rewrite     ^   https://$server_name$request_uri? permanent;
                }
        }
}

server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name wekan.example.com;

        add_header Strict-Transport-Security "max-age=15768000";

        ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;

        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:10m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;

        ssl_stapling on;
        ssl_stapling_verify on;

        error_page 497  https://$host:$server_port$request_uri;
        location / {
            proxy_pass http://wekan;
            proxy_http_version 1.1;
            proxy_set_header Host $host:$server_port;
            proxy_set_header Referer $http_referer;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header X-Nginx-Proxy true;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

            proxy_redirect off;

            proxy_send_timeout 86400;
            proxy_read_timeout 86400;
        }
}

wekan.example.comYukarıdaki yapılandırmada gerçek alan adınızla değiştirin .

Değişikliklerin etkili olabilmesi için Nginx'i yeniden başlatın.

sudo systemctl restart nginx

Nginx'in önyükleme zamanında otomatik olarak başlamasını etkinleştirin.

sudo systemctl enable nginx

Systemd Hizmetini Ayarlama

İşlem için yeni bir kullanıcı oluşturun.

sudo adduser wekan -s /usr/sbin/nologin -d /opt/wekan

Şimdi tüm dosyaları /opt/wekandizine taşıyın .

sudo mv ~/wekan/* /opt/wekan/

Yeni oluşturulan kullanıcıya dosyaların sahipliğini sağlayın.

sudo chown -R wekan:wekan /opt/wekan

Wekan hiçbir yapılandırma dosyasından veri almaz. Bunun yerine, ortam değişkenlerinden erişir. Ortam değişkenlerini saklamak için yeni bir dosya oluşturacağız. Ortam değişkenlerini içeren dosya Systemdhizmetten geçirilir .

Ortam değişkenlerini saklamak için yeni bir dosya oluşturun.

 sudo nano /opt/wekan/config.env

Dosyayı aşağıdaki içerikle doldurun.

MONGO_URL='mongodb://wekan:StrongPassword@127.0.0.1:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:pass@mail.example.com:25/'
MAIL_FROM='wekan@example.com'
PORT=4000
HTTP_FORWARDED_COUNT=1

Yerine emin olun usernameve password.

wekanKullanıcının sahipliğini sağlayın .

sudo chown -R wekan:wekan /opt/wekan/config.env

Wekan systemd hizmeti için yeni bir hizmet dosyası oluşturun.

sudo nano /etc/systemd/system/wekan.service

Dosyayı aşağıdakilerle doldurun.

[Unit]
Description=Wekan Server
After=syslog.target
After=network.target

[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan

[Install]
WantedBy=multi-user.target

Dosyayı kaydedin ve editörden çıkın. Artık Wekan'ı kolayca başlatabilirsiniz.

sudo systemctl start wekan

Wekan'ın önyükleme zamanında otomatik olarak başlamasını sağlamak için.

sudo systemctl enable wekan

Wekan servisinin durumunu kontrol etmek.

sudo systemctl status wekan

Paketleme

Artık Wekan örneğine adresinden erişebilirsiniz https://wekan.example.com. Yeni bir hesap oluşturarak başlayın. Hesabı oluşturduktan sonra, yeni oluşturulan kullanıcıya yönetici erişimini etkinleştirebilirsiniz. Yönetici kullanıcı olarak MongoDB kabuğuna giriş yapın.

mongo -u wekan -p --authenticationDatabase "wekan"

Şimdi wekanveritabanını seçin ve kullanıcıyı yönetici kullanıcıya tanıtmak için nesneyi güncelleyin.

use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})

Lütfen admin_useroluşturduğunuz kullanıcının gerçek kullanıcı adıyla değiştirdiğinizden emin olun . Yönetici arayüzünden, kendi kendine kaydı devre dışı bırakabilir ve SMTP ayarlarını güncelleyebilirsiniz.

Tebrikler, Vekanr CentOS örneğinize Wekan Kanban kartını başarıyla yüklediniz.

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.