顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

2017年3月7日 星期二

建置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