瀏覽標籤:

Ubuntu

[Linux] 在 Ubuntu 上安裝 Jenkins CI Server 來 Bulid NetCore 2.0

近期都在研究 NetCore 但如果要上 Linux 的話就變成每次都要下指令重建專案 ,剛好有看到 Jenkins 支援 NetCore 且可以省去我在 SSH 上自己下指令的動作,於是乎就跑去研究了一下這塊,這邊留個筆記方便日後查閱。

Jenkins 安裝

  1. 下載套件清單 (否則搜尋不到)
  2. 安裝 Jenkins
  3. 接著輸入 http://localhost:8080 並在 /var/lib/jenkins/secrets/initialAdminPassword 找到的你管理員密碼
  4. 這邊可以選擇要安裝社群建議的套件還是自訂套件,因為我是第一次安裝所以先選擇左邊

  5. 安裝完後會要求你設定管理員帳號密碼,設定完後就安裝完畢囉 !!

  6. 接著從左邊選單點選 管理 Jenkins -> 設定全域安全性
  7. 確認 Allow anonymous read access 是沒有打勾的,否則大家都可以亂搞囉
       

[.NET Core] 將 NET Core 部署至 Ubuntu Server 16.04

最近裝了個Linux Server想來玩玩看NET Core並佈署到上面,結果發現好多眉眉角角,網路上的文件似乎有點舊讓我一直撞牆撞不停,經過了幾個小時的煎熬最後終於成功了,這裡筆記一下方便下次使用…

首先按照 官網 提供的步驟進行安裝如下:

  1. 加入apt-get來源
  2. 開始安裝
  3. 建立一個空資料夾
  4. 初始化MVC專案

    Templates清單:
  5. 檢查套件是否遺失並安裝
  6. 安裝Apache反向代理(Reverse-Proxy)
  7. 設定000-default.conf
  8. 重新啟動Apach並啟動.NET Core專案
  9. 完成 !!
    2017-03-14-00_24_31-home-page-hellowebapp

 

 

  • 2017/05/24 開啟啟動&背景執行
    新增:/etc/systemd/system/kestrel-hellomvc.service

    指令:

     

來源:

  1. https://www.microsoft.com/net/core#linuxubuntu
  2. How To Use Apache HTTP Server As Reverse-Proxy Using mod_proxy Extension
  3. Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
  4. Publish to a Linux Production Environment
  5. Using Apache web server as a reverse proxy
       

CentOS 7.X Lamp環境安裝 (Linux+Apache+MariaDB+PHP)

看到網路上的人都推說,Linux Server使用CentOS架設比較適合,從預設開啟防火牆就知道了,我就來試試看CentOS與目前本站使用的Ubuntu Server差在哪。

安裝CentOS與更新套件清單

  1. CentOS官方網站下載最新版CentOS-7-x86_64-DVD-1511.iso,安裝過程就省略了,本人是使用最小安裝,所以只有指令介面,反正要當Server使用,如果安裝GUI的話反而浪費資源對吧?
  2. Ubuntu與CentOS安裝套件的方式有點不太一樣,Ubuntu是使用apt-get這個指令來安裝,但CentOS是使用yum來安裝套件,這點需要注意一下。首先先更新一下列表吧,使用管理員權限的帳號輸入

    -y 是忽略詢問是否同意直接更新

安裝Apache網頁伺服器

  1. 安裝前記得先使用上面的指令更新套件清單唷,不然可能會有奇怪的問題。
  2. 輸入指令
  3. 安裝完畢後接著就要啟用服務拉,輸入指令

安裝MariaDB(MySQL)資料庫伺服器

  1. 在CentOS 7.X中MySQL是被替換成MariaDB的,所以就借此也來體驗看看MariaDB的資料庫囉。
    輸入指令

    這樣就安裝成功囉!
    01
  2. 來啟動服務吧

    01

設定MariaDB伺服器

  1. 安裝完畢後,就來設定一些資料庫的基本設定吧!
    輸入指令

    這裡因為是第一次安裝,所以直接按Enter繼續即可。
    01
  2. 是否要設定root的密碼,輸入y開始設定
    01
  3. 重複輸入兩次相同的密碼
    01
  4. 是否要刪除匿名帳號,輸入y同意刪除,不然日後會有很多安全性問題
    01
  5. 是否要開放root管理員透過外網登入,這邊請輸入y限制管理員只能從本地連線較為安全
    01
  6. 是否刪除test資料庫輸入y
    01
  7. 是否重新載入權限表輸入y
    01
  8. 設定完成!
    01

安裝PHP+phpMyAdmin管理資料庫

  1. 安裝php與連接資料庫套件

    01
  2. 安裝yum第三方EPEL套件庫

    清除快取

    更新套件庫
  3. 安裝phpMyAdmin

    01
  4. 重新啟動網頁伺服器

設定防火牆

  1. 永久允許網頁伺服器通過防火牆
  2. 若需要https服務則輸入

    查詢防火牆規則

    --permanent為永久規則
  3. 重新啟動防火牆

設定phpMyAdmin

  1. 預設除了本地是不允許訪問phpMyAdmin,但因為我們現在要設定所以需要修改一下預設值,使用WinSCP連線到主機上面打開
  2. 找到

    Require ip ::1下方新增自己的IP
  3. 重啟網頁伺服器
  4. 這樣就可以正常登入囉!
    01

 

開機自動啟動服務

每次開機都要手動啟用服務,這樣實在太麻煩了,輸入以下指令可以在每次開機後自動啟用服務

 

參考:

  1. [Centos7] 新的防火牆firewalld
  2. Installing LAMP (Linux, Apache, MariaDB, PHP/PhpMyAdmin) in RHEL/CentOS 7.0
       

MySQL 修改 timeout 時間以改善效能

環境:Ubuntu Server 15.10 x64

剛剛在後台發現一堆連線數以sleep狀態卡在那,
感覺就怪怪的,如果沒有使用的話為什麼不會timeout呢?
查了一下才發現,

0
原來mysql預設的數字是八小時…
這也太久了吧,不會造成連線數都卡死嗎??
於是乎開始修改找資料嘗試修改,
不知道為何,我的lamp套件與別人的安裝路徑都不一樣,
最後我是在

裡面加上下面這幾行,儲存重開mysql服務後解決

 

參考1:http://note.tc.edu.tw/421.html

參考2:http://dba.stackexchange.com/questions/1558/how-long-is-too-long-for-mysql-connections-to-sleep

       

Ubuntu Lamp MySQL 解開外連限制

在MySQL的安全性預設是禁止外連的,但因為我有一隻程式的資料庫放在這台主機上,所以必須開放服務給程式連線。

  1. 路徑
  2. 搜尋
  3. 修改
  4. 重新開啟MySQL

 

參考:http://askubuntu.com/questions/272077/port-3306-appears-to-be-closed-on-my-ubuntu-server

       

Apache 使用 Let’s Encrypt 的 SSL 免費憑證

SSL憑證服務,用於建立瀏覽器和網站伺服器之間的安全通道,提供伺服器身分鑑別及資料傳輸加密。 透過SSL機制建立一個安全通道,保護網路使用者所傳輸的個人資料(如信用卡號、帳號、密碼等)在傳輸過程中不被駭客截取或竄改,保護網站用戶個人資料,強化網路使用者對於網路交易信心。

  1. 下載官方自動安裝憑證程式
  2. 進入剛剛下載的資料夾
  3. 將網域輸入(如有多網址則輸入多次,批量會出錯)
  4. 程式會幫你自動加載SSL資料進conf,所以無需做任何設定

 

若無則手動加入: