CentOS 更新特定版本APP

上一則文章提到docker必須升級到20.10.6版,但是我刷了yum update發現原本20.10.3要直上 24.x.x版,有點怕怕的,因此希望能更新到20.10.6就好了,爬文之後解答如下:

sudo yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING>  docker-ce-cli-<VERSION_STRING>
#一般來說docker-ce與docker-ce-cli版本要一致比較好

gitea(吉茶)需要更新docker版本20.10.6或以上

前陣子我協助機構部門導入git LFS大檔案版本控管,當時希望push資料時,觸發webhooks,執行我寫好的程式進行分析。

我使用gitea內建測試功能,能很順利觸發webhooks,進而執行程式。

可是實作時卻觸發不了,經檢查logs與爬文後,發現docker版本必須大於等於 20.10.6 有作用,我更新到20.10.6之後測試,還是一樣沒用,只好先擺著,希望主機重開後,能有改善,但無論如何,吉茶說要更新我就照作了。

Gitea無法觸發webhook

我在Gitea上面設定達成某個條件,觸發webhook執行

但是出現以下錯誤

 ...webhook can only call allowed HTTP servers (check your webhook.ALLOWED_HOST_LIST setting)

需要允許webhook執行遠端的http程式

#修改app.ini
[root@firewall crontab]# docker exec -it gitea bash
14c18c2bd6c0:/# vi data/gitea/conf/app.ini
#加上
[webhook]
ALLOWED_HOST_LIST = 192.168.1.0/24

修改完成重開gitea就能使用了

bare是啥碗糕? git clone vs gi clone –bare

我們從github拉乾貨下來的時候,一般只有兩種方式,一種是直接下載zip檔案,另一種是克隆;這兩種方式差在克隆可以全部版都(甚至連分支branch)都有,而下載只有最新版的檔案,不含其他版本。

這裡介紹第三種方式,克隆指令加上–bare

git clone --bare <git http url>

會出現原始版本紀錄,但不會出現檔案.

 

未加–bare

我因為系統設計需要寫程式,只需抓出專案標籤名稱以及該標籤所屬的所有檔案名稱,但不需要使用實際檔案;考慮jgit函式庫還是需要克隆下來才能做事情,但我又不需要把真的檔案都拉下來,因此選擇–bare的方式拉貨,就能達到我的目標了。

Eclipse 搭配java 11出現ResolutionException

好久沒寫java程式了,最近要寫「機構3D圖git版控」之後整合程式,編譯沒問題,在eclipse執行時居然出現這個錯誤

Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules xxx and yyy export package zzz to module kkk.web

原來是有些jar檔案,並不是使用module方式,但是設定卻在module裡面,只要將該jar檔案從「Modulepath」移到「Classpath」就好了。

小公司應用軟體系統-戰略與戰術

對於一個小公司來說,當然非常想用各式各樣的應用軟體系統,可是公司沒人懂IT,對於所謂的上雲端更是丈二金剛摸不著頭腦,搞不清楚,若找來軟體公司,公司說了一大堆,一開口說預算多少,老闆也跟著張大口嚇得不要不要的。

所以我常建議軟體公司,必須提供小企業能負擔的解決方案,至少要能解決小公司「辦公室能用到的軟體系統」,如nextcloud這樣的雲端檔案系統,同樣也必須做到虛擬伺服器(proxmox ve) + 虛擬主機(容器服務);一個應用系統必須虛擬化、容器化,千萬不要安裝在一台實體主機(除非是故意的,這樣才能賺錢,反正客戶都不懂)。

前幾天看到YT閱部客談到《跨能致勝:顛覆一萬小時打造天才的迷思,最適用於AI世代的成功法》這本書,提到「戰略與戰術」,我相當認同其中的見解:單一專業的部分交給AI,綜觀全局的部分就交給人類。

https://www.youtube.com/watch?v=-j8MSMqDfs0

軟體公司能提供給小公司的戰略重點就是「備份」,而且要麻瓜都懂的備份方式,我先前就遇到一家小公司透過朋友輾轉向我求救,他們IT突然跑了,沒有交接,他做好的系統是運行3年多的實體機,看起來搖搖欲墜,後端NAS也無人知曉如何登入。

我接手後,先確認他們只需要mail server 與 對會員收費網站(wordpress),我花了很多功夫,終於移植到一台單一主機(ssd*1 for os、hdd*3 for zfs),pve 8.0 +RockyLinux 9.2 +podman container。

系統移植成功後,還要考慮麻瓜備份問題,戰略戰術一併考慮,我額外安裝一個容器:nextcloud雲端檔案系統,透過此雲端檔案系統能連到外部空間的特異能力(external storage support),直接俗又有力的掛載宿主(pve)主機已準備好的備份目錄,最後只要讓麻瓜安裝nextcloud 用戶端app,就能同步備份目錄到麻瓜其他檔案空間,達到離線備份的效果,離線異地備份就再也跟IT沒關(頂多半年協助做個還原演練即可),我也能全身而退。

iredmail 1.6.3 設定白名單

幫朋友安裝開源好用的mail server 「iredmail」,若需要加白名單,有兩個方法:

  1. 購買專業版
  2. 下指令
    https://docs.iredmail.org/amavisd.wblist.html
# python wblist_admin.py --list --whitelist
# python wblist_admin.py --list --blacklist
# python wblist_admin.py --add --whitelist 202.96.134.133 john@example.com @test.com @.abc.com
# python wblist_admin.py --add --blacklist 202.96.134.133 john@example.com @test.com @.abc.co

先找出 wblist_admin 在哪個地方,然後加上白名單即可

nginx 反向代理wordpress容器,出現failed (111: Connection refused) while connecting to upstream

系統大概長這樣,一個RockyLinux 9.2 主機安裝 iRedMail 1.6.3版(容器還在Beta版),iRedMail安裝滿簡單的,很快就搞定;但因為太霸氣應改主機的nginx設定,並且深度修改,若這主機只當mail server倒是沒問題,但可惜因為種種原因需要再安裝一個wordperss容器,這就麻煩了,我得了解如何讓nginx使用反向代理方式(proxy),才能連到wordpress,nginx反向代理設定似乎很簡單,也成功了,可惜log卻一直跳出錯誤:

connect() failed (111: Connection refused) while connecting to upstream

我祭出google大神,試了很多建議與解法卻失敗了,就在第9999次嘗試之後,突然意識到甚麼,將設定改了一下,只是簡單的將原本連到容器的方式 http://127.0.0.1:8080 改成該具名稱連線 http://www.test.com:8080 (該wordpress容器對外連結為https://www.test.com),錯誤訊息居然就停止了,真是神奇。

proxy_pass http://127.0.0.1:8080;
改成以下具名設定
proxy_pass http://www.test.com:8080;

算一算農曆七月快到了,就當作是靈異事件好了。

安裝pve zfs 如何讓zfs能夠上傳iso檔案以及備份vm

我上一篇文章 「很神奇的電腦公司,能配合安裝esxi、proxmox ve(pve) 」最後終於做好三顆硬碟zfs系統,也依照「 PVE 6 zfs 檢查硬碟狀況並且發通知 」設定好自動檢查程序,但此時我發現這台新主機並沒有地方可以放 ISO檔案以及備份存放區。(OS碟例外)

我希望此ZFS還能當作ISO檔案上載以及備份存放區,改如何做呢?

1、執行zpool list查看初始zfs名稱

root@host:~# zpool list
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
RAIDZ  5.45T  1.59M  5.45T        -         -     0%     0%  1.00x    ONLINE  -
root@host:~#

2、在初始ZFS目錄底下,建立子zfs

#先前執行zpool list得到zfs名稱為RAIDZ,此時我們在RAIDZ底下再新增名為 ISO 子zfs,
#但此時還不能使用。(需以Directory方式掛載)
zfs create RAIDZ/ISO

3、回到pve web網址,在Datacenter新增Directory,並且將ISO子zfs掛載起來

  --

設定完畢,系統將會掛載起來。

大功告成,此時不只能放image與container,還多個RAIDZ-ISO能放ISO檔案與備份檔案惹。

1 ... 3 4 5 6 7 ... 58