關於網路那些事...

Marketing, SEO, Web trends, Programming tutorial, Web design, and Life event...

CentOS 遠程建立 Docker & Docker-compose

添加 yum

yum install epel-release –y
yum clean all
yum list

移除舊版,安裝新版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

確認移除

docker info

安裝必要的 repository

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用 stable repository

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

啟用 edge (可自行決定是否啟用)

sudo yum-config-manager --enable docker-ce-edge

(若不想啟用 edge,也可以直接關閉):

sudo yum-config-manager --disable docker-ce-edge

安裝新版本

sudo yum install docker-ce

檢查安裝結果

docker info

啟動/關閉

sudo systemctl start docker     #運行Docker守護進程
sudo systemctl stop docker      #停止Docker守護進程
sudo systemctl restart docker   #重啟Docker守護進程

安裝 Docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加權限

Continue Reading

Laravel Telescope

Laravel Telescope

Laravel Telescope 是一個全面監控的 debug 助理,是由 Laravel 開發團隊所推出的一項功能,支援 Laravel 5.7.7 以上的版本。

其中包括以下的項目都包含在 watcher :

Continue Reading

SSO (Single Sign On) 單點登入及跨域驗證方式

跨域驗證本身存在著許多風險,其中最知名的中間人攻擊Man-in-the-middle attack (MitM attacks),透過劫持 wifi 傳輸過程中所訪問的router ,解析其中的憑證,就能來偽裝用戶進行登入。

若採用 SSL及可防止網路請求被攔截,

針對單一單入即可在不同 Domain 做跨域驗證的做法,最知名的就是 Single sign on (sso)

Continue Reading

如何將主 DNS子網域point到另一個網域子資料夾

設定主網域指向 B 網域

在主網域的 DNS A-record ( 如果用 IPv6 則設定 AAAA-record ) 指向到另一個網域的IP

注意,DNS 只能指向 IP ,無法指向該IP的子資料夾

另一個網域的主伺服器設定請求轉導

當主 DNS point 到另一個子網域後,另一個子網域本身應該要 point 到一台主機

則需要在這一台主機進行設定 Virtual hosting

來對於子網域的 redirect/equate 指向子資料夾的部分,

例如,由 subdoname.A.com 請求過來時,會透過這個方式: ${DocumentRoot of B.com}/folder ,會提供 folder 內容

https://vlemon.com/blog/google-cloud-platform/how-to-create-sub-domain-in-google-cloud-compute-engine/

Continue Reading

MAC 無法使用 git 狀況排解:xcrun: error: invalid active developer path...missing xcrun at:

在Mac 更新 cli 後發生 git 無法適用的情況

錯誤訊息:

git ixcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

解決方式:

輸入下方指令,安裝完成即可解決

xcode-select --install

Continue Reading

l5-repository Presenter 上手2

Presenter

前面提到,在 l5-repository 有兩種方式可以實作 Presenter

第一種,可以直接建立 Transformrer 並且設定他來操作 Presenter class 第二種,可以直接在 model 實作 Transform 的 interface,並且 use 預設的 Presenter ModelFractarPresenter,也能達到同樣的效果

開始使用 Presenter 之前,必須 Requires Fractal

Continue Reading

l5-repository 上手

安裝

composer require prettus/l5-repository

設定 ServiceProvider

如果是 >= laravel5.5 ,ServiceProvider 會自動設定好

其他版本

要在 config/app.php 增加

'providers' => [
    ...
    Prettus\Repository\Providers\RepositoryServiceProvider::class,
],

發布設定

設定完成多出一個設定檔: /config/repository.php

php artisan vendor:publish --provider "Prettus\Repository\Providers\RepositoryServiceProvider"

Continue Reading

DNS Resource Record (RR)

DNS Server

負責處理 DNS 相關服務

Zone File

每一個域名都會有相對應的檔案,稱為區域檔案(Zone File),每一個 Zone File 都可以各自設定類型(Resource Record, RR),底下則介紹一些 RR 及相關用法

SOA - Start Of Authority

在 zone file 一開始會進行 SOA 定義,

在 SOA 描述 name server, version … 等,並且指定要授權的主機及管理者信箱

Continue Reading

gcloud SDK 安裝及建立 google repository

下載 gcp sdk

https://cloud.google.com/sdk/docs/

下載 macOS 64 位元 (x86_64)

Continue Reading

Git flow 簡記

Git flow 是一個 Git 開發分枝開發流程的建議

演化至今,各官方也陸續依照相關建議提出自家的開發流程,如 GitHub Flow、Gitlab Flow

根據 Git flow 建議,可以將分枝區分為以下幾種

Continue Reading

Git 提交訊息樣式建議

Git 官方建議的提交訊息樣式,可以讓提交訊息更加容易理解及管理

原則上,可以將訊息分成三種型態

  • 類型:標題
  • 內容
  • 註解

類別

首先,在 commit 標題之前,建議要先清楚定義類別,定義方式有以下建議:

Continue Reading

Linux 命令-小記

簡單紀錄,需要用的一些指令

取得 linux 版本

查看核心 linux 版本,如果是 CentOS ,會看到 Red Hat 相關資訊,因為 CentOS 是基於 RH

cat /proc/version

Continue Reading

Lumen 擴充 generator

Lumen 主旨在建立一個快速微服務框架

在預設的功能中,僅保留少數 laravel 原生功能項目

舉例來說,Lumen 不提供 artisan make:controller

因此,在建立 controller 時候需要手動方式生成

在 controller 裏已經有準備好 controller.php 讓你方便複製

這裡則是要介紹,如何透過擴充 lumen generator ,將 laravel 多數 command 能在 lumen 中使用

Continue Reading

GCP 建立 SSH 連線登入VM方式

進入 GCP dashboard

查看VM

右邊選單> Compute Engine

這裡面會列出 VM 執行個體

Continue Reading

Mac $PATH 環境變量設置及查詢

將 installer 變數放在 PATH 環境變數中

就能讓我們直接在 bash 直接下達 installer 的指令

這裏介紹 Mac PATH 環境變數的設置方式

Continue Reading

Laravel npm install dev 出現 cross-env 錯誤解法

在使用 Laravel 裡面的 Vue Components 時,會需要使用到編譯 vue js 的功能

例如,修改 ExampleComponent.vue 之後,要執行以下語法才會將修改編譯到 app.js

npm run dev

Laravel 在 mac 或 linux 環境下,可能會出現 cross-env 相關錯誤訊息

Continue Reading

Supervisor 介紹與使用方式

Supervisor 是由 python 所寫的一套進程管理系統,可以監控指定的程式,當程式崩潰停止執行時,將程式重啟

Supervisor 有分成 (1) server 主程式 與 (2) client process

(1) server 主程式: 是由 supervisor 執行 supervisor.conf 設定檔所啟動

(2) client process: 則由 supervisorctl 來控制 process

在運行過程,是以C/S模式來運行,也就是由 client process (supervisorctl) 將守護進程的訊息傳送給 server 主程式(supervisord),開始啟用守護進程服務。

一般操作設定 supervisor 都會建議在 root 權限下進行,

Continue Reading

Vim 常用指令

Vim 常用指令

底下列出一些常用的 Vim 指令

Continue Reading

DNS TTL 選擇時間長短 ,差別在哪

在設定 DNS 時,選完類型 (A、CNAME、MX…)、主機名稱 (@、subdomainname、service..)、指向(@、IP或網域)

接下來就會看到 TTL 包含了 1/2小時、1小時、12小時、1天、1周…

接下來會說明 TTL 是甚麼? 以及DNS TTL 選擇時間長短 ,差別在哪

TTL ( Time to Live, 存留時間) 是用來記錄 DNS 有效時間的參數值

Continue Reading

Heroku ClearDB database (MySQL) 連線方式 (sequel pro) 筆記

Heroku 的 Add on 擴充功能,提供了資料庫的項目

在 MySQL 會選擇 “ClearDB MySQL :: Database” 這個 AddOn

這項服務是免費的,但是必須要先填寫信用卡資料,才能完成啟用

啟用後,就能在 local cli 登入 heroku

接著執行

heroku config | grep CLEARDB_DATABASE_URL

或者

Continue Reading