2017年3月7日 星期二

安裝node.js

node.js是一個可運行Javascript的應用程式, 詳細介紹可以直接到node.js官方網站查看, 使用上通常不會直接使用node.js安裝至系統內, 因為node.js進版的速度很快, 可能不同專案會使用到不同的版本, 因此通常會使用nvm或是nvm-windows進行node.js的管理. 另外安裝node.js時, 也會附加安裝npm, npm是一個JavaScript模組套件管理應用程式並且提供很多第三方套件使用. 本篇是說明如何將node.js安裝至作業系統內.

作業系統為Windows
  • 步驟
    • node.js官方網站下載一個版本並且直接安裝
    • 至下載最新版本的nvm-windows並且直接安裝
    • 至命令提示字元下即可使用
  • 問題
    • 如果系統內沒有先行安裝一個node.js的版本, 命令提示字元下無法取得nvm及node.js的執行路徑, 導致無法使用.
作業系統為Unix-based
  • 步驟
    • 開啟終端機
    • nvm下載執行的script檔案, 執行命令如下
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
    • 重新啟動終端機即可使用
  • 問題
    • 安裝後root帳戶並不能執行nvm及node.js, 因為系統只是針對登入的使用者進行nvm及node.js的路徑配置, 可以透過如下指令配置, 使root帳戶可以執行.
$ n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
基本指令範例
# 查詢nvm版本
$ nvm --version
# 查詢線上目前的所有版本(Unix-based only)
$ nvm ls-remote
# 查詢本機已經安裝的所有版本
$ nvm ls
# 安裝版號為v6.9.5
$ nvm install v6.9.5
# 安裝版號為v7.7.1
$ nvm install v7.7.1
# 切換至v7.7.1
$ nvm use v7.7.1
# 設定預設版本為v7.7.1(Unix-based only)
$ nvm alias default v7.7.1
 Reference

建置git server

版本控制器是專案開發內很重要的工具, 早期多數人使用SVN, 目前最多數人使用的是git. 而git線上也有許多的空間提供使用github, gitlab等, 每家提供的限制不同, 其實要自行建置一個可以使用git的server也不會太難. 本篇說明如何自行建置一個git server.

設定Server端(使用Ubuntu的方式)
  • 前置作業
須要啟動SSH服務, 如果沒有設定請參考啟動SSH服務
  • 安裝相關套件
$ sudo apt-get update
$ sudo apt-get install git-core -y
# 如果不需要gitflowr架構可以不需要安裝
$ sudo apt-get install git-flow -y
# 安裝完成後查看git版本
$ sudo git --version
  • 設定git預設帳戶
$ sudo git config --global user.email "xxx@xxx.xxx"
$ sudo git config --global user.user "xxxxx"
# 查看設定的指令
$ sudo git config --list
  • 建立git專案
  • P.S. 使用NFS(synology NAS)作為存放路徑之設定

    1. 控制台->檔案服務->(打勾)啟動NFS服務
    2. 控制台->共用資料夾->右鍵點選需要開放NFS之資料夾->NFS權限->(打勾)允許使用者存取以掛載的子資料夾
# 建立git用資料夾
$ sudo mkdir /var/git
# 建立git專案資料夾並進入資料夾內
$ sudo mkdir /var/git/projname && cd /var/git/projname
# 以下兩種擇一
# 1.建立共用儲存庫
$ sudo git --bare init
# 2.初始化為git-flow
$ sudo git flow init -d

  •  設定群組及使用者帳戶權限

# 新增Ubuntu使用者(只須設定一次)
$ sudo adduser username
# 新增Ubuntu群組(只須設定一次)
$ sudo groupadd git
# 設定使用者群組
$ sudo usermod -a -G git username

# 變更檔或目錄的所屬群組(路徑內新增專案就需要重新執行)
$ sudo chgrp -R git /var/git
# 修改GIT專案資料夾之存取權限(路徑內新增專案就需要重新執行)
$ sudo chmod g+rwx -R /var/git

設定Server端(使用NAS的方式)
  1. 使用管理權限使用者(admin)登入NAS主機網頁介面
  2. 控制台 > 終端機 & SNMP > 啟動SSH
  3. 套件中心 > 安裝git server套件
  4. 設定git server套件之使用者
  5. 控制台 > 共用資料夾 > 新增共用資料夾(ex. git) > 設定須使用git的使用者
  6. 使用管理權限使用者(admin)登入NAS SSH服務, 執行如下指令
# 建立git專案資料夾
$ mkdir /volume1/git/projname && cd /volume1/projname
# 以下兩種擇一
# 1.建立共用儲存庫
$ sudo git --bare init
# 2.初始化為git-flow
$ sudo git flow init -d

設定Client端 (Windows + SourceTree)
  • 安裝SourceTree
  • 開啟SourceTree > Clone/New > 設定來源 > 設定存放位置 > 確認完成 
# 來源路徑如下
$ ssh://username@xxx.xxx.xxx.xxx/var/git/projname
# 來源為NAS路徑如下
$ ssh://username@xxx.xxx.xxx.xxx/volume1/git/projname

啟動NFS服務

工作上有一台沒人用的NAS(Synology 1512+)就拿來當作Ubuntu主機的硬碟空間使用。本篇說明如何設定Ubuntu主機的NFS服務使用NAS的空間。
  • NAS端(Synology 1512+)
    1. 使用管理權限使用者(admin)登入NAS主機網頁介面
    2. 控制台 > 檔案服務 > NFS服務 > 打勾
    3. 控制台 > 共用資料夾 > 新增/編輯共用資料夾(ex. workspace)
    4. 權限 > 管理權限使用者(admin) >  可讀寫
    5.  NFS 權限 >  設定"主機名稱或IP位址*"
    6.  NFS 權限 > 設定"Squash" > "將所有使用者調整為admin"
    7. 確定
  •  Ubuntu主機
    • 安裝所需要套件
$ sudo apt-get update
$ sudo apt-get install nfs-common -y
    • 手動擴充NFS
# add "nas" folder
$ sudo mkdir /nas
# mount NFS to "nas"
$ sudo mount xxx.xxx.xxx.xxx:/volume1/workspace /nas
# check mount of success
$ df -h
    • 開機自動擴充NFS
$ sudo vim /etc/fstab
# add to end of file
xxx.xxx.xxx.xxx:/volume1/workspace    /nas    nfs defaults 1 1
 Reference

2017年3月6日 星期一

啟動SSH服務

安裝完Ubuntu後並沒辦法遠端管理到Ubuntu主機上,因此需要安裝/啟動SSH, 讓主機可以進行遠端操作。
  • 安裝流程
$ sudo apt-get update
# 安裝openssh-server
$ sudo apt-get install openssh-server -y
# 啟動ssh服務
$ sudo service ssh status
# 設定ssh相關內容
$ sudo vim /etc/ssh/sshd_config
$ sudo service ssh restart
  •  Windows下使用MobaXterm X server連線SSH
    1. 下載MobaXterm X Server並且安裝
    2. 進入應用程式
Session -> SSH -> Remote Host*(輸入IP) -> Advanced SSH settings -> Remote environment 
# 設定兩種連線方式
# 1. 文字介面
Interactive shell
# 2. GUI介面 (xfce4)
$ sudo apt-get install xfce4 -y
xface4 desktop
----------------------------------------------------------------------------------
2017.08.04 (Update)

# 禁止使用root登入
$ sudo vim /etc/ssh/sshd_config
# 將"PermitRootLogin prohibit-password"修改為"PermitRootLogin no"
# 設定使用sudo之使用者
# 設定使用sudo群組之使用者
$ sudo usermod -a -G sudo username
# 查詢sudo群組是否有新增使用者
$ sudo getent group sudo
# 限制使用sudo
$ sudo vim /etc/pam.d/su
# 取消註解"auth required pam_wheel.so"

# 刪除群組使用者"
$ sudo deluser username sudo


Reference

安裝Ubuntu 16.04

製作USB開機程式
  • 前置事項
  •  製作流程
    1. 開啟unetbootin
    2. 選擇方式"映像檔"
    3. 選擇映像檔->尋找硬碟內的Ubuntu ISO檔
    4. 選擇要安裝的磁碟機
    5. 按下確認
    6. 安裝完成即可使用
 實機安裝Ubuntu 16.04
  1. 開機USB插入實體主機
  2. 開啟實體主機
  3. 進入BIOS
  4. 選擇USB BOOT優先啟動
  5. 按下F10存檔離開
  6. 開始進入安裝
  7. 依照如何安裝Ubuntu Server 16.04來架設伺服器?之步驟進行安裝
  8. 安裝完畢後重開機並且進入系統
  9. 更新系統
  10. $ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  11. 安裝基本使用的套件
  12. # 編輯器
    $ sudo apt-get install vim -y
----------------------------------------------------------------------------------
2017.08.04 (Update)

# 設定root密碼
$ sudo passwd root

Reference