Github 程式存取必須使用PAT(Personal Access Token)

之前寫過 用戶端github commit需要改用token密碼 才可以使用,
(或是web browser認證),

也就是說, 使用程式例如 JGIT套件, 帳號密碼,也需要使用token密碼, (ps. 我有時候久了就會忘記,真是糟糕)

Setting->Developer setting

點選Personal access tokens -> 點選 Generate new token , 產生新的token密碼

輸入相關資料, 過期時間(可選永不過期), 與該token權限

將token密碼複製,就可以使用了

eset protect企業防毒軟體-虛擬設備初體驗

公司從2010年開始就使用eset防毒軟體, 採用中央控管的方式,這對網管來說有很大的幫助,

但是最近要續約, 新版本9.x居然不支援windows 2008R2 server, 公司又沒有windows 2012R2以上的作業系統, 於是我到官網找了一下,發現有虛擬設備的安裝方式, 支援vmware,virtualbox, 與hyper-v, 只可惜沒有支援Proxmox VE.

不過沒關係, 我下載後,看到檔案是ova格式, 之前有過經驗,解開裡面是vmdk格式, 查了一下裡面的檔案, 使用的是 ide 驅動, 4 GB磁碟空間, 4 GB RAM, 2 CPU.

第一步我先將vmdk轉檔轉成qcow2格式, 作法請參考這裡

接下來到pve server新增一個vm, 然後將轉換後的qcow2檔案,直接覆蓋上去, 就可以啟動, 並且依照指示設定就完成eset安裝了,非常方便.

python起手式,建立python虛擬環境

網管人員學python, 看到虛擬環境,第六感覺得這很重要

  1. 安裝python
    https://www.python.org/downloads/
    ps. windows安裝,記得要把python程式路徑加到PATH的選項打勾
  1. 安裝virtualenv建立虛擬環境程式
windows:
  pip3 install virtualenv
linux:
  sudo pip3 install virtualenv
  or
  sudo apt install python3-virtualenv
  1. 使用virtualenv建立虛擬環境
virtualenv -p <python程式位置>  <虛擬環境名稱>
or 
sudo -p <python程式位置>  <虛擬環境名稱>

#範例
windows :
  virtualenv -p C:\Users\x\AppData\Local\Programs\Python\Python310\python.exe my-env
linux:
  sudo virtualenv -p /usr/bin/python3 my-env
  1. 進入虛擬環境

    Windows:
    .\xxx\Scripts\activate.bat

Linux:
source ./xxx/bin/activate

william@william-Inspiron-3891:~$ source ./my-env/bin/activate
(my-env) william@william-Inspiron-3891:~$ 

outlook 使用ldap通訊錄出現亂碼

對於麻瓜來說, 這個世界上收發信軟體, 就只有 m$ 的outlook , 因公司ldap通訊錄橫跨三個不同語系,三個不同網域服務器, 導致outook 2013,2016,2019 , 查看簡體,越南文, 會出現亂碼, 當然中國麻瓜看繁體,越南文也一樣會出現亂碼

後來google一下, 發現windows 10, windows 11的語言與地區, 可以點選Beta,使用UTF8提供全球語言支援, 解決問題

解決方法如圖示

重開機之後, 就不會有亂碼了

moodle 升級(docker)

去年安裝了moodle想要當作公司知識管理,沒多久就遇到資安問題,系統需要升級。
可是 moodle 網站 對於升級並沒有太多說明;反而有點誤導,似乎只要容器(container)更新到最新即可自動更新。
其實不是的
必須:
1、先在舊版容器進入維護模式,下載最新版程式,並且更新到最新更新後離開維護模式
2、停用已升級完畢舊版容器
3、改用最新的images(套用原先的volume資料)
4、刪除舊容器
以下紀錄相關作法:

  • 本文必須搭配bitnami moodle docker-compose 安裝。
    https://kafeiou.pw/2021/01/18/2961/
  • 先用管理者登入, 在網站管理->主機->網站維護模式, 改成維護模式
  • 在網站管理->一般->通知(反正就是找到通知) ,點選”檢查可用的更新”, 查看是否有新版本可供下載。
  • 一旦發現新版本,請複製官網下載網址,再docker container裡面進行下載。
docker exec -it <container name> bash
apt update
apt install wget
wget --no-check-certificate https://download.moodle.org/download.php/direct/stable401/moodle-4.1.10.zip
  • 備份舊版本程式(先備後刪)
#請注意/bitnami/moodledata 必須連到對應為volume
/bin/cp -R /bitnami/moodle /bitnami/moodledata
rm -rf /bitnami/moodle/*
  • 下載並更新最新程式
    下載最新版zip檔, 解開會有一個moodle目錄,請複製或覆蓋到 /bitnami/moodle 。
apt install unzip
unzip xxx.zip
/bin/cp -R moodle/* /bitnami/moodle
  • 將先前備份moodle.bak目錄, 裡面的config.php檔案複製(取代)到 /bitnami/moodle
  • 接下來改用瀏覽器登入,系統自動會發現有新版,且要求一系列升級工作。
  • 升級完畢,請關閉維護模式
  • 這樣升級就大功告成。因為現主時container為舊版, 可停用且刪除目前舊版容器,修改yaml檔案改用新的container版本。

    官方網站建議做法如下
Step 1: Get the updated image
$ docker pull bitnami/moodle:latest

Step 2: Stop the running container
Stop the currently running container using the command
#這部分有時候會停用失敗,請用docker stop 方式直接停用container
$ docker-compose stop moodle

Step 3: Take a snapshot of the application state
Backup your container 要備分(我之前有做了)

Step 4: Remove the currently running container
Remove the currently running container by executing the following command:
docker-compose rm -v moodle

Step 5: Run the new image (修改yml裡面moodle版本->到最新)
Update the image tag in docker-compose.yml and re-create your container with the new image

$ docker-compose up -d

升級docker images, 舊版images變成none

最近升級moodle到4.0.1版本, 發現有問題, 想用回舊版, 發現舊版的變成 moodle:<none> , 這樣一來不就不能使用舊版了, 後來發現只要知道舊版images id , 就可以改成想要的tag, 也就能繼續使用了

docker tag <images id> <images name>:x.x
docker tag 43b9473f010d bitnami/moodle:3.10

google翻譯 與 隱私權宣告

最近遇到android app若要正式上架, 得製作隱私權宣告頁面

而這隱私權又要弄很多語系怎辦, 這時候就要在宣告中加上翻譯功能了

  • 加上java script function
<script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
  }, 'google_translate_element');
}
</script>
<script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
  • 頁面插入一段div
<div id="google_translate_element"></div>
  • 若需要限定語系, 請於javascript 的 pageLanguage: ‘en’, 底下, 加上 語系限定

includedLanguages: 'zh-CN,zh-TW',
1 ... 10 11 12 13 14 ... 58