نحوه نصب Wekan (منبع آزاد Kanban) در اوبونتو 16.04

Wekan یک تخته kanban است که با چهارچوب Meteor JavaScript ساخته شده است. این یک جایگزین منبع باز و خود میزبان Trello به حساب می آید ، تقریباً ویژگی های مشابهی را ارائه می دهد. این اجازه می دهد تا شما را به ایجاد لیست های مدیریت بر اساس کارت "به انجام". Wekan برای افزایش بهره وری هنگام کار در یک محیط مشترک بسیار مفید است. Wekan دارای یک رابط وب کاملاً پاسخگو است و به طور فعال در بسیاری از زبان ها ترجمه می شود.

پیش نیازها

برای این آموزش ، ما به wekan.example.comعنوان نام دامنه که به سمت نمونه Vultr اشاره شده است ، استفاده خواهیم کرد. لطفاً حتماً تمام وقایع نام دامنه را با نمونه واقعی جایگزین کنید.

سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی اوبونتو 16.04 به روز کنید . پس از به روزرسانی سیستم ، نصب وابستگی ها را انجام دهید.

Node.js را نصب کنید

Wekan فقط پشتیبانی می کند Node.js LTS version 4.8. برای نصب Node.js از مدیر نسخه گره استفاده خواهیم کرد. نصب nvmبا اجرای اسکریپت نصب.

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

برای شروع فوراً استفاده nvm، این کار را انجام دهید.

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

اگر nvmبا موفقیت نصب شده باشد ، باید بتوانید نسخه آن را بررسی کنید.

user@vultr:~$ nvm --version
0.33.4

Node.js. را نصب کنید

nvm install v4.8

نسخه پیش فرض Node.js. را تنظیم کنید.

nvm use node

اگر Node.js با موفقیت نصب شده است ، پس باید نسخه آن را بررسی کنید.

node -v

این خروجی را مشاهده خواهید کرد.

user@vultr:~$ node -v
v4.8.4

NVM Node.js را فقط برای کاربر فعلی نصب می کند. برای دسترسی به Node.js در سطح جهان ، این کار را اجرا کنید.

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

Node.js اکنون به عنوان موجود است /usr/bin/node.

user@vultr:~$ sudo which node
/usr/bin/node

MongoDB را نصب کنید

MongoDB یک سرور پایگاه داده رایگان و منبع باز NoSQL است. برخلاف بانکهای اطلاعاتی سنتی که از جداول برای سازماندهی داده های خود استفاده می کنند ، MongoDB به صورت اسناد محور است و از اسناد مشابه JSON بدون طرح استفاده می کند. Wekan از MongoDB برای ذخیره اطلاعات خود استفاده می کند.

Wekan فقط با آن سازگار است MongoDB version 3.2. یک فایل مخزن جدید ایجاد کنید.

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

کلید عمومی GPG MongoDB را وارد کنید و لیست بسته ها را به روز کنید.

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

MongoDB را نصب کنید.

sudo apt install -y mongodb-org

MongoDB را شروع کنید و آن را فعال کنید تا به صورت خودکار شروع شود.

sudo systemctl start mongod
sudo systemctl enable mongod

امنیت نمونه MongoDB

به طور پیش فرض ، هیچ احراز هویتی در سرور MongoDB فعال نیست. هر کاربری که به ترمینال سرور دسترسی داشته باشد ، در نصب MongoDB امتیازات کاملی خواهد داشت. برای ایمن سازی سرور دیتابیس و محدود کردن دسترسی یک کاربر غیر شخصی ، باید احراز هویت را روی سرور تنظیم کنیم.

MongoDB mongoپوسته ای را فراهم می کند که برای اجرای نمایش داده ها در MongoDB استفاده می شود. به mongoپوسته تغییر دهید.

mongo

یک کاربر جدید MongoDB با امتیازات اصلی ایجاد کنید. می توانید از هر نام کاربری مورد نظر خود استفاده کنید. لطفاً حتماً رمز را جایگزین کنید .

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

شما باید خروجی زیر را ببینید.

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" از رابط فرمان MongoDB به ترمینال لینوکس خارج شوید .

پرونده پیکربندی MongoDB را ویرایش کنید.

sudo nano /etc/mongod.conf

در انتهای پرونده خط زیر را اضافه کنید.

security:
 authorization: enabled

MongoDB را مجدداً راه اندازی کنید تا تغییرات پیکربندی بتواند عملی شود.

sudo systemctl restart mongod

اکنون که امنیت فعال شده است ، می توانید با جابجایی دوباره در پوسته mongo با استفاده از mongoدستور ، آزمایش کنید. این بار ، اگر پرس و جوئی را اجرا کنید ، مانند show dbsنشان دادن لیست پایگاه داده ها ، می توانید یک مجوز پیام داده شده را گزارش کنید. خروج به sudoکاربر دوباره بعد از تست ورود به سیستم به عنوان کاربر جدید شما فقط ایجاد شده است.

به عنوان administratorکاربری که تازه ایجاد کرده اید وارد شوید.

mongo -u admin -p

رمز ورود کاربر را برای ورود موفقیت آمیز تهیه کنید. کاربر جدیدی برای wekanدیتابیس ایجاد کنید که برای ذخیره داده های Wekan استفاده می شود.

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

مطمئن شوید که آن را StrongPasswordبا یک رمزعبور قوی جایگزین کنید . خروجی زیر را مشاهده خواهید کرد.

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 را نصب کنید

آخرین نسخه انتشار Wekan در Github را بررسی کنید زیرا نسخه های جدید بسیار مکرر هستند. آخرین نسخه Wekan را از Github جایگزین لینک بسته نصب کنید.

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

بایگانی بارگیری شده را در یک فهرست جدید به نام استخراج کنید wekan.

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

وابستگی های Node.js را نصب کنید.

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

سرور Wekan پیکربندی های متغیرهای محیط را می خواند. دستورات زیر را اجرا کنید تا پیکربندی ها به عنوان متغیرهای محیط تنظیم شوند.

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

حتماً کلمه عبور MongoDB را برای wekanکاربری که ایجاد کرده اید جایگزین کنید. همچنین ، نشانی اینترنتی نامه را مطابق با تنظیمات سرور SMTP خود به روز کنید. اگر سرور ایمیل آماده نیستید ، همیشه می توانید بعداً این پیکربندی را تغییر دهید.

برای شروع فوری برنامه.

cd ~/wekan/bundle
node main.js

اکنون می توانید با رفتن به برنامه به برنامه دسترسی پیدا کنید http://wekan.example.com:4000. رابط کاربری را برای ورود به صفحه Wekan kanban مشاهده خواهید کرد.

برای استفاده در تولید ، توصیه می شود یک پروکسی معکوس برای خدمت به برنامه در HTTPپورت استاندارد و یک systemdسرویس برای مدیریت فرایند برنامه تنظیم کنید. در این آموزش ، ما از سرور وب Nginx به عنوان یک پروکسی معکوس استفاده خواهیم کرد ، که با SSL رمزگذاری می شود.

تنظیم پروکسی معکوس Nginx

Certbot PPAمخزن را به سیستم اضافه کنید.

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

Nginx و Certbot را که برنامه مشتری برای Let Encrypt CA است نصب کنید.

sudo apt -y install certbot nginx

توجه: نام دامنه ای که شما برای به دست آوردن گواهینامه ها از Let Let Encrypt CA استفاده می کنید باید به سمت سرور هدایت شود. مشتری قبل از صدور گواهینامه ، اعتبار دامنه را تأیید می کند .

صدور گواهینامه SSL را ایجاد کنید.

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

گواهینامه های تولید شده احتمالاً در /etc/letsencrypt/live/wekan.example.com/دایرکتوری ذخیره می شوند . گواهینامه SSL به عنوان ذخیره می شود fullchain.pem، و کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem.

بیایید مجوزهای رمزگذاری در مدت 90 روز منقضی شوند ، بنابراین توصیه می شود با استفاده از Cronjob تجدید خودکار گواهینامه ها را تنظیم کنید. Cron یک سرویس سیستم است که برای انجام کارهای دوره ای استفاده می شود.

پرونده کار cron را باز کنید.

sudo crontab -e

در انتهای پرونده خط زیر را اضافه کنید.

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

کار cron فوق هر روز در 5:30 دقیقه صبح انجام می شود. اگر گواهینامه ها برای انقضا موقت باشند ، آنها به طور خودکار آنها را تمدید می کنند.

یک میزبان مجازی جدید ایجاد کنید.

sudo nano /etc/nginx/sites-available/wekan.example.com.conf

پرونده را با موارد زیر جمع کنید.

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.comنام اصلی دامنه خود را در پیکربندی فوق جایگزین کنید.

سایت تازه اضافه شده را فعال کنید.

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

Nginx را مجدداً راه اندازی کنید تا تغییرات مؤثر واقع شوند.

sudo systemctl restart nginx

Nginx را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl enable nginx

سرویس Systemd راه اندازی شود

برای اجرای فرایند ، یک کاربر جدید ایجاد کنید.

sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan

اکنون همه پرونده ها را به /opt/wekanفهرست راهنما منتقل کنید.

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

مالکیت پرونده ها را به کاربر تازه ایجاد شده ارائه دهید.

sudo chown -R wekan:wekan /opt/wekan

Wekan داده ای را از هیچ پرونده پیکربندی دریافت نمی کند. در عوض ، از متغیرهای محیط به آن دسترسی پیدا می کند. ما یک فایل جدید برای ذخیره متغیرهای محیط ایجاد خواهیم کرد. پرونده حاوی متغیرهای محیط از طریق Systemdسرویس ارسال می شود.

یک فایل جدید برای ذخیره متغیرهای محیط ایجاد کنید.

 sudo nano /opt/wekan/config.env

پرونده را با محتوای زیر پر کنید.

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

لطفا مطمئن شوید که جایگزین usernameو password.

wekanبا اجرای برنامه مالکیت را در اختیار کاربر قرار دهید.

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

یک سرویس سرویس جدید برای سرویس Wekan systemd ایجاد کنید.

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

پرونده را با موارد زیر جمع کنید.

[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

پرونده را ذخیره کرده و از ویرایشگر خارج شوید. اکنون می توانید به راحتی Wekan را شروع کنید.

sudo systemctl start wekan

برای فعال کردن Wekan به طور خودکار در زمان بوت شدن.

sudo systemctl enable wekan

برای بررسی وضعیت سرویس Wekan.

sudo systemctl status wekan

بسته بندی کردن

اکنون می توانید به عنوان مثال Wekan دسترسی پیدا کنید https://wekan.example.com. با ایجاد یک حساب کاربری جدید شروع کنید. پس از ایجاد حساب کاربری ، می توانید دسترسی اداری به کاربر تازه ایجاد شده را فعال کنید. به عنوان کاربر اداری وارد پوسته MongoDB شوید.

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

اکنون wekanپایگاه داده را انتخاب کرده و برای ارتقاء کاربر به کاربر سرپرست ، شی را به روز کنید.

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

لطفاً مطمئن شوید که admin_userنام کاربری واقعی کاربر را ایجاد کرده اید. از رابط سرپرست ، می توانید خود ثبت نام را غیرفعال کنید و تنظیمات SMTP را به روز کنید.

تبریک می گویم ، تخته Wekan Kanban را با موفقیت در نمونه Vultr اوبونتو نصب کرده اید.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد