ติดตั้ง node-red ubuntu 18.04

Mr.aegkaluk sopapun
2 min readAug 7, 2019

--

ก่อนอื่นสร้าง user $sudo adduser rednode

กำหนดสิทธิ์ $sudo visudo

rednode ALL=(ALL:ALL) ALL

จากนั้นใช้คำสั่ง sudo เพื่อล๊อกอินใช้ยูสเซอร์ rednode

su rednode

sudo apt-get install curl

sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -

sudo sudo apt-get install -y nodejs

$ sudo npm install -g — unsafe-perm node-red node-red-admin

โดยปกติแล้วการใช้ npm มาช่วยติดตั้งมันจะเก็บแพคเก็จต่างๆ ไว้ใน directory ปัจจุบัน ซึ่งอาจทำให้การเรียกใช้โปรแกรมผิดพลาดได้ ดังนั้นต้องใส่ -g เข้าไปเพื่อบอกกับทาง npm ว่าให้เก็บแพคเก็จต่างๆ ลงใน directory มาตรฐานที่สอดคล้องกับระบบปฏิบัติการ ในที่นี้มันจะเก็บแพคเก็จของ Node-RED ไว้ที่ /usr/local/bin

npm จะพยายาม compile module ซึ่งบางครั้งเป็นโมดูลที่ใช้ภาษา C or C++ JavaScrpt ซึ่งอาจเกิด pop pop ขึ้นมาได้ในระหว่างการ compile ทำให้เกิด error ดังนั้นต้องเพิ่ม — unsafe-perm เข้าไปช่วย เพื่อป้องกันปัญหาการ error ดังกล่าวขึ้น

โปรแกรม Node-RED จะใช้พอร์ต 1880 ซึ่งโดยปกติแล้ว Firewall จะไม่อนุญาติให้ใช้งาน ดังนั้นต้องตั้งค่า Firewall ให้มันปล่อยผ่านก่อน แต่ถ้าไม่ได้เปิดใช้งาน Firewall ก็สามารถข้ามขั้นตอนนี้ไปได้

sudo ufw allow 1880

ตั้งค่าให้ Node-RED ทำงานตอนบูต

$ sudo nano /etc/systemd/system/node-red.service

[Unit]
Description=Node-RED
After=syslog.target network.target[Service]
ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v
Restart=on-failure
KillSignal=SIGINT
WorkingDirectory=/home/rednode/
User=rednode
WantedBy=multi-user.target

ubuntu 18.04 config ตามด้านล่าง work

*ถ้าติดตั้ง library node-red ไม่ได้ ให้ stop service แล้วรันด้วย root $sudo node-red เพื่อติดตั้งก่อน

ExecStart=/usr/bin/node-red-pi — max-old-space-size=128 -v

$ sud systemctl enable node-red

$ sudo systemctl start node-red

$ systemctl status node-red

ตั้งค่าให้ล๊อกอินก่อนเข้าใช้งาน

$ node-red-admin hash-pw

ให้คัดลอกรหัสที่แสดงบนหน้าจอ แล้วแก้ไขไฟล์ชื่อ settings.js

rednode@NodeREDsrv:/$ nano ~/.node-red/settings.js

ให้ค้นหาคำว่า adminAuth แล้ว un-comment ออกตามรูปข้างล่าง จากนั้นให้เปลี่ยน password ใหม่ โดยเอารหัส hash ที่ได้สร้างมาจากข้างบนไปใส่แทน

adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2a$08$7U3KD3/s0Il6CMlx2nDDGuDiJW1cVk9JJSiWSCLJLzBRWgYyNMtpG",
permissions: "*"
}]
},

$ sudo systemctl restart node-red

https://medium.com/@visitwnk/%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87-node-red-%E0%B8%9A%E0%B8%99-digitalocean-%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87%E0%B8%84%E0%B9%88%E0%B8%B2%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%A5%E0%B9%8A%E0%B8%AD%E0%B8%81%E0%B8%AD%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B9%88%E0%B8%AD%E0%B8%99%E0%B9%80%E0%B8%82%E0%B9%89%E0%B8%B2%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%9A-d3812091aeee

Developer Project : IoT Phuket Lab
https://iotphuketlab.home.blog/
https://medium.com/@aegkaluk
https://www.facebook.com/iotphuket/
https://www.youtube.com/user/MrAegkaluk
https://sites.google.com/view/iot-phuket-lab-documents
https://pantip.com/profile/368674#topics

แวะเยี่ยมชมสินค้าของทางร้าน
https://www.phuket-it.com/iotphuketlab/
https://www.lazada.co.th/shop/phuket-bike-lover
https://shopee.co.th/aegkaluk

--

--

Mr.aegkaluk sopapun
Mr.aegkaluk sopapun

Written by Mr.aegkaluk sopapun

IoT Developer @ IoT Worldtech Co.,Ltd

No responses yet