เนื่องจากในเมืองไทยไม่ค่อยมีโฮสต์ที่รองรับ Node.js ดังนั้นวันนี้ผมจะมาสอนวิธีการติดตั้งแอปที่เขียนด้วย Node.js ด้วยโปรแกรม Ajenti บนโฮสต์ของตัวเองกันครับกันครับ

##ติดตั้ง Ajenti ก่อนอื่นเลยเราต้องมี VPS(Virtual Private Server) กันก่อน ซึ่งผมเลือกใช้งาน VPS ของ Digital Ocean

หลังจากสร้าง VPS เรียบร้อยให้เราต่อเข้า VPS ด้วย SSH ครับ แล้วติดตั้ง Ajenti โดยใช้คำสั่ง (สำหรับ Ubuntu เท่านั้น)

wget -O- https://raw.github.com/Eugeny/ajenti/master/scripts/install-ubuntu.sh | sudo sh

เสร็จแล้วลองเข้าไปที่ https://ไอพีเซิฟ:8000 แล้วต้องพบหน้า login แบบนี้ ชื่อผู้ใช้ คือ root รหัสผ่านคือ admin

ทำการติดตั้ง plugin ajenti V ด้วยคำสั่ง

apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm ajenti-v-nodejs php5-mysql nodejs npm

ทำการ symlink node.js ด้วยคำสั่ง

ln -s "$(which nodejs)" /usr/bin/node

จากทำการ restart ระบบ ajenti ด้วยคำสั่ง

service ajenti restart

หากทุกอย่างถูกต้องเมื่อ login เข้าหน้าเว็บ ajenti จะพบกับ แท็บ websites ด้านซ้าย

##ติดตั้ง PHPmyadmin ต่อไปทำการติดตั้ง phpmyadmin

ให้กดที่แถบ Websites ให้ตั้งค่าเว็บแบบนี้

หลังจากนั้นให้ใช้คำสั่ง

cd /srv

แล้ว download phpmyadmin จากคำสั่ง

wget http://ncu.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.4.0/phpMyAdmin-4.4.0-all-languages.zip

แล้ว download ตัว unzip จากคำสั่ง

apt-get install unzip

คลาย zip ด้วยคำสั่ง

unzip phpMyAdmin-4.4.0-all-languages.zip

เปลี่ยนชื่อโฟลเดอร์ด้วยคำสั่ง

mv phpMyAdmin-4.4.0-all-languages phpmyadmin

จากนั้นทำการเข้าไปในโฟลเดอร์ phpmyadmin ด้วยคำสั่ง

cd phpmyadmin

เปลี่ยนชื่อไฟล์ config.sample.inc.php เป็น config.inc.php

mv config.sample.inc.php config.inc.php

แก้ไฟล์ config.inc.php ด้วยคำสั่ง

nano config.inc.php

จากนั้นแก้บรรทัด $cfg[‘blowfish_secret’] = ‘ โดยให้เติมรหัสผ่านสำหรับการ auth cookie ขึ้นมาใหม่เอง เช่น $cfg[‘blowfish_secret’] = ‘123456’ และหากคุณใช้ SSL (เช่นผมใช้ของ cloudflare) ให้ใส่บรรทัดนี้เพิ่มไปด้วย $cfg[‘ForceSSL’] = true; จากนั้น กด Ctrl+X แล้วกด Y เพื่อบันทึก แล้วกดแถบ content แล้วกด create ตัว PHP FastCGI

เมื่อได้ตามภาพแล้วกด Apply Change

ไปที่ แท็บ domain ให้เพิ่ม โดเมนที่ จะแสดง phpmyadmin แล้วกด apply change

จากนั้นไปที่บริการ DNS ของท่านแล้วชี้ A record มาที่โดเมนของ vps

ถ้าเข้าได้แสดงว่าการติดตั้งเรียบร้อย

##ติดตั้งแอป Node.js กดแถบ website แล้ว เพิ่ม เว็บใหม่ตามนี้ (สมมติว่าชือ news ครับ)

กดแถบ content ให้ create Node.js ครับ

ตั้งค่าตามนี้โดย Script HTTP port คือ port ที่ทำการ listen ไว้ใน Node.JS Script name คือชื่อไฟล์ Node.js ที่วางไว้บริเวณโฟลเดอร์ของเว็บ (/srv/news/)

นี่คือ script ใน server.js นะครับ

var app = require('express')();
var server_port = 3000;
var server_ip_address = '127.0.0.1';

app.get("*",function(req,res){
  res.status(200).send("Hello world with Node.js");
});

app.listen(server_port, server_ip_address, function(){
  console.log("Listening on " + server_ip_address + ", server_port " + server_port);
});

จากนั้นตั้งค่า ในแถบ domain

ทำการตั้ง DNS ให้ชี้มาที่ VPS

กดปุ่ม restart website ที่แถบ websites จะมีคำว่า Node.js service ขึ้นมา

ลองเข้าไปที่ Url ของเว็บไซต์ดูครับ ซึ่งในที่ผมทำนี้คือ https://news.pureapp.in.th

เท่านี้คุณก็จะสามารถลง node.js บน vps ของคุณเองได้แล้ว

02 เมษายน 2558

คลังบทความ