Tag Archive synology

git: private repository โดยใช้ synology server

เดี่ยวนี้ถ้าต้องการจะใช้ git repository ก็แค่สมัครสมาชิกเว็บอย่าง github แค่กรอกข้อมูลใน Join GitHub ไม่นานก็ได้พื้นที่สำหรับ backup ข้อมูลได้แล้ว ติดแค่ว่าถ้าเป็น project ภายในหรือเป็นเรื่องเกี่ยวกับธุรกิจการจะเปิดให้คนอื่นใครก็ได้เข้ามาดู source code คงจะไม่ดีแน่ ทำให้ต้องจ่ายค่าบริการเพื่ิอสร้างเป็น private repository หรืออีกทางเลือกคือ สร้าง git server ไว้ใช้เอง

ผมมีตัว nas ของ synology อยู่แล้วเลยใช้มันเป็นที่สำรองข้อมูลซะเลย จะได้ไม่ต้องสร้าง linux มาทำเป็น server อีกตัว

  1. login เข้า synology Control Panel โดยใช้ user ที่มีสิทธิ administrator
  2. ลง git package โดยวิธี Install or Buy Packages
  3. set user permission ให้ใช้ group git ได้โดยวิธี Manage Groups
  4. เปิดให้ใช้ ssh ได้โดยวิธีตาม Terminal
  5. SSH login synology nas ได้โดยวิธี How to login to DSM with root permission via SSH/Telnet
  6. สร้าง folder ไว้เก็บข้อมูล git ทั้งหมดและเซ็ทสิทธิไว้
    # Create the directory
    mkdir /volume1/git

    # folder owner and permission
    chown -R admin:administrators git
    chmod -R 772 git

  7. เตรียมการสำเร็จแล้ว เราสามารถสร้าง repository ขึ้นมาใหม่ได้โดย
    cd /volume1/git
    git init --bare --shared [my-project].git

    โดยแทนที่

    [my-project]

    โดยชื่อ git project

    ในขั้นตอนนี้ folder [my-project].git จะถูกสร้างขึ้นมาใหม่ใน /volume1/git/ และจะเห็นข้อความประมาณ Initialized empty shared Git repository in /volume1/git/snippets.git/ ก็เป็นอันเสร็จกับทางฝั่ง git server แล้ว

  8. จากนั้นก็ clone git ในเครื่อง client (ฝั่ง local) ได้โดยใช้คำสั่ง
    git clone ssh://[git-user]@[syn-ip-addr]/volume1/git/[my-project].gitโดย
    [git-user]
    user ที่เซ็ตไว้
    [syn-ip-addr]
    ip ของตัว nas synology
    [my-project]
    path และชือ repository

    เช่น
    git clone ssh://ph[email protected]/volume1/git/chromeExtensions/pittBookmarks.git

อาจจะดูยุ่งยากแต่ repository ต่อไปแค่ทำ 2 ขั้นตอนสุดท้าย ก็สามารถทำงานอย่างเป็นส่วนตัวได้แล้ว

ดูบิตทอเร้นที่กำลังโหลดใน synology

ตัว nas ของ synology จะมี package ไว้สำหรับดาวน์โหลดชื่อ Download Station แต่ข้อเสียของมันคือในตอนที่ download อยู่จะไม่สามารถดูได้ว่า torrent ที่โหลดอยู่นะ มันน่าจะโหลดต่อ หรือเป็นแค่งานกากๆ ที่สมควรที่จะลบทิ้งไม่ต้องโหลดให้เปลืองเรโต

การที่ทำให้ดูงานที่ยังไม่เสร็จนี้ต้องใช้พลังภายในมากหน่อยแต่ไม่ยากเกินความพยามครับ

  1. สร้าง user ใหม่ ไปที่ Control Panel > User > เลือก Create สร้าง user ใหม่โดย User group ให้ติ๊ก administrators ด้วยและ Permissions ให้เลือก Read/Write ทั้งหมดไปเลย
  2. ด้านบนขวามือคลิก Advance Mode > Terminal & SNMP > ติ๊ก Enable SSH service > Apply
  3. สร้างโพล์เดอร์ใหม่ โดยใช้ File Station เลือก Create > Create New Share Folder > กรอก Name ผมใช้ชื่อ bit แล้วกด ok
  4. ทดลองโดยไปที่ เมนูขอเครื่องเรา คลิก run พิมพ์ //ip ของ synology/ แล้วเอ็นเทอร์ เช่น ip คือ 192.168.1.69 ก็พิมพ์ //192.168.1.69/ ถ้ามีกล่องใหม่เปิดขึ้นมา ก็กรอก username กับ pass ที่ใช้ login synology
  5. สร้างโฟล์เดอร์ใหม่เช่น 2 downloads
  6. โหลด PuTTY มาจาก http://www.putty.org แล้ว dubble click เปิดโปรแกรมขึ้นมาเลย ช่อง Host Name (or IP address) ใส่ ip ของ Synology ลงไป ถ้าไมรู้ก็เลขที่อยู่ด้านบนหน้าจัดการของ Synology ที่เป็น 192.168.1.69:8090/webman/index.cgi แต่ใส่แค่ 192.168.1.69 เข้าไปก็พอ กด open มันจะกลายเป็นหน้าตาดำๆ ไม่น่าคบ ไม่ต้องกลัว
    • มันจะถาม Login as :
    • พิมพ์ user ที่สร้างใหม่ กดเอ็นเทอร์
    • มันจะถามกลับ
    • [email protected]’s password:
    • ใส่ password ตัวเดียวกับที่ user ที่สร้างใหม่
    • รอให้มันตอบซักครู่ พอนิ่งเห็น ชื่อเครื่องของเรา ประมาณ Synology> นิ่งๆ แล้วก็พิมพ์
      sudo -i
      mount --bind /volume1/@download "/volume1/bit/2 downloads"
      

      (ตัวเล็กตัวใหญ่ต้องตรงกัน) แล้วเอ็นเตอร์ ถ้ามันกลับมาถาม Synology> ให้ปิด putty ไปได้เลย

  7. อย่าลืมดู Permission ของทุก folder ที่ใช้ว่า DownloadStation มีสิทธิอ่านเขียน อยู่มั๋ย

อธิบายคือสั่งให้โฟลเดอร์ที่เก็บงานที่ยังดาวน์โหลดไม่เสร็จที่เก็บไว้ที่ /volume1/@download จะถูก mount คือทำให้ folder /volume1/bit/2 downloads แสดงไฟล์ข้างในเหมือน /volume1/@download ทุกอย่าง ถ้าใช้ชื่ออื่นก็เปลี่ยนไปตามชื่อที่ตั้ง

ตอนนี้เมือเรียก //ip ของ synology/bit/2 downloads จะเห็นไฟล์ที่กำลังโหลดอยู่ บางไฟล์เปิดไม่ได้ไม่ต้องตกใจเพราะมันยังโหลดไม่เสร็จ แต่อย่างน้อยก็ดูได้ว่างานที่จะได้ไปต่อมั๋ย

ดู mount ทั้งหมดโดยใช้คำสั่ง

sudo -i
mount

ถ้าต้องการเอาความเชื่อมโยงนี้แแกก็ใช้คำสั่ง

sudo -i
umount "/volume1/bit/2 downloads"

ปล่อบบิตกับ synology

ตัว Synology จะมี package ชื่อ “Download Station” ไว้ให้ใช้ สามารถโหลดไฟล์ต่างๆได้ดีพอสมควร แต่ปัญหาคือ มันปล่อยบิต upload อะไรให้เราไม่ได้เลย (สมชื่อดาวน์โหลดจริงๆ) แล้วเราจะเอาเรโช (จริงมันคือ ratio ตะหาก) มาจากไหน ปกติเน็ตบ้านปล่อยได้น้อยอยู่แล้วกลายเป็นไม่ได้เลย เพราะฉนั้นเราต้องเปลี่ยนให้มันสตรองค์

  1. ทำให้ติดตั้ง package ได้จากเจ้าอื่นได้นอกจากของ Synology ก่อน login เข้าไปที่หน้าจัดการของเราก่อน แล้วไปที่ Package Center กด Settings กด Package Sources กด Add ใส่ค่าต่อไปนี้ตามข้าพเจ้า
    • Name : SynoCommunity
    • Location : http://packages.synocommunity.com

    กด ok ปิด Setting ไปเลย

  2. ติดตั้ง ruTorrent โดยไปที่ Package Center ด้านข้างเลือนลงมาจะเห็น Community คลิก ด้านขวาเลื่อนหา ruTorrent กด Install ติดตั้งไปตามปกติ จนช่วงหนึ่งมันจะให้เราเปิด Web Service ไม่ต้องตกใจไปที่ Control Panel คลิก Web Services ติ๊ก Enable Web Station แล้วปิดไปได้เลย ลงต่อซักครู่ การลงก็เสร็จสิ้น ไปกด ลิงค์ ซ้ายมือ จะบอก URL ไปหน้าของ ruTorrent แต่มี error ไม่ต้องตกใจครับ
  3. แก้ง่ายมาก กลับไปที่หน้าก่อนเรากดลิงค์ ใต้ logo เลือกจาก Action เป็น Stop ก่อน
  4. เปิด SSH โดยไปที่ Control Panel คลิก Terminal & SNMP (ถ้าไม่เห็น มุมขวาบนกดเป็น Advance Mode ก่อน) ใน Terminal ติ๊ก Enable SSH service แล้วปิดได้
  5. โหลด PuTTY มาจาก http://www.putty.org แล้ว dubble click เปิดโปรแกรมขึ้นมาเลย ช่อง Host Name (or IP address) ใส่ ip ของ Synology ลงไป ถ้าไมรู้ก็เลขที่อยู่ด้านบนหน้าจัดการของ Synology ที่เป็น 192.168.1.69:8090/webman/index.cgi แต่ใส่แค่ 192.168.1.69 เข้าไปก็พอ กด open มันจะกลายเป็นหน้าตาดำๆ ไม่น่าคบ ไม่ต้องกลัว
    • มันจะถาม Login as :
    • พิมพ์ admin กดเอ็นเทอร์
    • มันจะถามกลับ
    • [email protected]’s password:
    • ใส่ password ตัวเดียวกับที่เราเข้าในส่วนการจัดการ
    • รอให้มันตอบซักครู่ พอนิ่งเห็น ช��่อเครื��องของเร�� ประมาณ Synology> นิ่งๆ แล้วก็พิมพ์
      chmod -R 755 /volume1/web
      chmod -R 777 /volume1/โฟลเดอร์ที่ไว้โหลด
      

      (ตัวเล็กตัวใหญ่ต้องตรงกัน) แล้วเอ็นเตอร์ ถ้ามันกลับมาถาม Synology> ให้ปิด putty ไปได้เลย

    • กลับไปที่ package Center เปลี่ยน ruTorrent เป็น Active ก็จะใช้ทุกอย่างได้แล้วมีความสุขในโลกแห่งการแบ่งปันได้แล้วครับ

ดูเพิ่มเติม