Ubuntu 16.04 Üzerine 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.

Ubuntu 16.04 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"

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 artık kullanılabilir /usr/bin/node.

user@vultr:~$ sudo which node
/usr/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. Yeni bir havuz dosyası oluşturun.

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

MongoDB genel GPG anahtarını alın ve paket listesini güncelleyin.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update

MongoDB'yi yükleyin.

sudo apt install -y mongodb-org

MongoDB'yi 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 . Kabuğa geçin mongo.

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-30T18:11:40.274+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"]
    }
 ) 

Yerine StrongPasswordgüçlü bir parola koyduğunuzdan 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-30T18:13:26.007+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.44/wekan-0.44.tar.gz

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

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

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:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
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. Hazır bir e-posta sunucunuz yoksa, bu yapılandırmayı daha sonra istediğiniz zaman değiştirebilirsiniz.

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

Certbot PPAHavuzu sisteme ekleyin .

sudo add-apt-repository ppa:certbot/certbot
sudo apt update

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

sudo apt -y install certbot nginx

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/sites-available/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 .

Yeni eklenen siteyi etkinleştirin.

sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf

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 Kur

İşlemin çalışması için yeni bir kullanıcı oluşturun.

sudo adduser wekan --shell /usr/sbin/nologin --home /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:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1

Yerine emin olun usernameve password.

Kullanarak wekankullanıcıya 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=/usr/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 Ubuntu örneğinize Wekan Kanban panosunu başarıyla yüklediniz.



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