GitLab รองรับการทำงานเป็นทีมได้ โดยเราสามารถเพิ่มผู้ใช้ กำหนดสิทธิืการใช้งาน และกำหนดสมาชิกให้แต่ละโครงการได้ ครั้งนี้เราจะมาดูวิธีการจัดการผู้ใช้ใน GitLab พร้อมทั้งปรับแต่งและกำหนดสิทธิกัน การสร้างผู้ใช้สำหรับใช้งาน ให้เรากดที่ไอคอนฟันเฟืองที่มุมด้านขวาบน (ถ้าเอาเมาส์ไปวางบนไอคอนจะเรียกชื่อว่า Admin area)

จากนั้นให้เรากด New User และจะเห็นฟอร์มสำหรับกรอกข้อมูล user


Continue reading

GitHub มีบริการ Issue ให้ใช้งานเพื่อนำเสนอฟีเจอร์ใหม่เข้าไป​เพื่อเพิ่มเรื่องต่างๆ ในโปรเจค รายงานปัญหาของโปรเจค แก้ไขปัญหาโดยการส่งเฉพาะส่วนที่แก้ไขเข้าไปหรือเรียกว่า Pull Requestในครั้งนี้เราจะมาดูว่าจะสร้างและใช้งาน Issue ขั้นตอนแรกให้เรา Sign in GitHub account ของเราซะก่อน จากนั้นไปที่โปรเจคของเรา โดยในตัวอย่างจะใช้ชื่อว่า panko จากนั้นไปที่ Issue ที่ด้านขวามือ


Continue reading

ในการปิดเครื่องหรือ Restart เครื่อง Proxmox ซึ่งเป็น Hardware node นั้น เมื่อเปิดเครื่องขึ้นมา เราสามารถกำหนดให้เครื่อง Container/VM เริ่มการทำงาน(Startup) แบบอัตโนมัติได้เลย โดยมีวิธีการทำดังนี้ อันดับแรกให้เลือกเครื่อง Container/VM ที่ต้องการ จากนั้นไปที่แท็บ Options ดังรูป

1

จากนั้นให้สังเกตุตรง “Start at boot” ให้เราดับเบิ้ลคลิกเข้าไป จะมีหน้าต่างขึ้นมา


Continue reading

Ghost เป็นระบบ Blog ใช้ Node.js ทำให้มีขนาดเล็กและคล่องตัวในการติดตั้งเพียงใช้ Node.js และ npm เท่านั้น หากต้องการติดตั้ง Ghost เพื่อทำเป็น Blog หลายๆ ตัวในเครื่องเซิร์ฟเวอร์เดียว เราจะต้องใช้บริการ reverse proxy จาก Nginx เข้ามาช่วยเพื่อ redirect traffic จากโดเมนไปยัง Ghost ที่ทำงานอยู่บน port ต่างๆ ที่เรากำหนด เช่น

  • www.fffee.org –> Ghost ทำงาน port 2768
  • andrew.fffee.org –> Ghost ทำงาน port 2769

มาลงมือติดตั้งกันเลย เริ่มจากเครื่องมือที่ต้องใช้กันก่อน

apt-get install unzip curl nginx nodejs npm


Continue reading

Gist เป็นหนึ่งในบริการของ GitHub ที่นิยมนำมาใช้ในการวางโค้ดตัวอย่าง แบ่งปันโค้ดที่มีจำนวนไฟล์ไม่เยอะเรามาดูกันซิว่ามันใช้งานยังไง ให้เข้าไปที่ https://gist.github.com เมื่อเข้าไปได้จะเห็นช่องให้ใส่คำอธิบาย, ชื่อไฟล์และช่องให้วาง Code ที่เราต้องการจะแบ่งปันลงไปดังรูป

หากต้องการไฟล์ให้เรากด Add file เพื่อเพิ่มไฟล์เข้าไปใหม่ เมื่อเราใส่เข้าไปจนพอใจแล้วจะมีปุ่มให้กดอยู่สองปุ่มคือ

  • Create secret gist สำหรับแบ่งปันให้เฉพาะคนที่ได้รับ link จากเราไปเท่านั้น
  • Create public gist สำหรับแบ่งปันให้ใครก็ได้ที่มาเห็นของเรา


Continue reading

lsyncd เป็นเครื่องมือช่วยในการ sync ข้อมูลผ่าน rsync โดยไม่ต้องสั่ง rsync ทุกครั้งที่มีข้อมูลเปลี่ยนแปลง lsyncd จะทำงานเป็น deamon คอยดูการเปลี่ยนแปลงของไฟล์ในไดเรคทอรี source และสั่ง sync ไปยังไดเรคทอรีปลายทาง หรือเครื่องปลายทางได้ ยกตัวอย่าง เช่น sync ข้อมูลเครื่องที่ 1 ไปยังเครื่องที่ 2 แบบอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลง เป็นต้น

เริ่มจากสร้าง ssh key ที่เครื่องหลัก

ssh-keygen

จากนั้นสั่ง ssh-copy-id คัดลอก ssh key ไปยังเครื่องปลายทาง

ssh-copy-id remote_mirror_ip_address

สร้าง source ไดเรคทอรีเก็บไฟล์ที่ต้องการ sync

mkdir /source


Continue reading

rsync หรือ remote sync เป็นเครื่องมือ sync ไฟล์หรือไดเรคทอรี สามารถกำหนด algorithm ที่ใช้ในการ sync ข้อมูลได้ ทำให้ง่ายในการจัดการ และง่ายในการกำหนดข้อมูลที่ต้องการ sync ได้ rsync เหมาะสำหรับการคัดลอกไฟล์ข้าม server หรือใช้ backup ข้อมูลก็ได้ มาทดลองใช้ rsync กัน

สร้างไดเรคทอรี 2 ไดเรคทอรีดังนี้

mkdir source

mkdir target

จากนั้นสร้างไฟล์ลงในไดเรคทอรี source ดังนี้

touch source/file{1..100}


Continue reading

Diaspora คือ แพลตฟอร์ม Social Network แบบโอเพ่นซอร์ส สามารถอ่านข้อมูลเพิ่มเติมได้ที่ https://joindiaspora.com ก่อนทำการติดตั้ง Diaspora ต้องติดตั้ง Apache และ MySQL ก่อน
ติดตั้ง Apache ด้วยคำสั่ง

sudo apt-get install apache2

ติดตั้ง MySQL ด้วยคำสั่ง

sudo apt-get install mysql-server mysql-client

กำหนดรหัสผ่านและยืนยันรหัสผ่าน MySQL


Continue reading

Magento เป็นตัวบริหารจัดการเง็บไซต์ประเภท e-commerce ที่เป็นที่นิยมใช้กันอีกตัวหนึ่ง สามารถอ่านเพิ่มเติมได้ที่ www.magentocommerce.com ก่อนทำการติดตั้ง Magento นั้นต้องทำการติดตั้ง LAMP ก่อนดังนี้
ติดตั้ง Apache ด้วยคำสั่ง

sudo apt-get install apache2

ติดตั้ง MySQL ด้วยคำสั่ง

sudo apt-get install mysql-server mysql-client

กำหนดรหัสผ่านและยืนยันรหัสผ่าน MySQL


Continue reading

บางครั้งเราอาจต้องมีการปิดเครื่อง Proxmox ซึ่งเป็นเครื่อง Host อาจจะเกิดจากการอัปเดท Kernel หรือมีการเพิ่มฮาร์ดแร์ หรือด้วยสาเหตุอื่นใดก็ตาม ซึ่งก่อนที่เราจะปิดเครื่อง Proxmox นั้น เราต้องปิดเครื่อง Openvz container หรือ KVM ทุกเครื่องให้หมดก่อน โดยตัว Proxmox เองจะทำตรงนี้ให้อัตโนมัติ สำหรับการเปิดเครื่องเราก็สามารถระบุได้ว่าต้องการให้ Container/VM เครื่องไหนเริ่มการทำงานบ้างเมื่อ Hardware node ทำงาน ดูได้จากบทความเรื่อง ตั้งค่า Container/VM ให้เริ่มทำงานแบบอัตโนมัติหลังจากเปิดเครื่อง Proxmox กัน ซึ่งเราเองอาจจะต้องการให้เรียงลำดับในการเริ่มการทำงานของเครื่อง Container/VM แต่ละเครื่อง เช่น เราอาจจะให้เครื่อง Database เริ่มการทำงานก่อน แล้วจึงค่อยเริ่มการทำงานของเครื่อง Web App เป็นต้น

ทีนี้ก็มาดูวิธีการกันบ้าง เรามาดูในส่วน KVM กันก่อน KVM เองนั้นเราสามารถจัดลำดับให้ VM เครื่องไหนเริ่มทำงานก่อน และเครื่อง hardware node ต้องรอนานแค่ไหนจึงเริ่ม Start/Shutdown เครื่องถัดไป เราสามารถเซตค่าต่าง ๆ ผ่าน Web UI ได้โดย เลือกเครื่อง VM ที่ต้องการ จากนั้นไปที่แท็บ Options เลือก Start/Shutdown order


Continue reading