利用rsync本地端複製到本地端目錄
rsync -avhW --no-compress --progress /src/ /dst/
2022/9/15
—
後來發現需要加上 –delete 才能真正完成同步(也就是來源目錄或檔案刪除, 備份端也跟著同步刪除)
rsync -avhW --delete --no-compress --progress /src/ /dst/
rsync -avhW --no-compress --progress /src/ /dst/
2022/9/15
—
後來發現需要加上 –delete 才能真正完成同步(也就是來源目錄或檔案刪除, 備份端也跟著同步刪除)
rsync -avhW --delete --no-compress --progress /src/ /dst/
安裝軟體時,有時候遇到該軟體只支援一組 ssl 證書, 若有多個主機證書要使用, 就必須進行一個證書,兼多主機簽證的作法.
./certbot-auto certonly --standalone --preferred-challenges http -d <host one> -d <host two> -d <host three>
完成後可以使用 ./certbot-auto certificates 查看結果
jitsi 大名鼎鼎, 我們公司用了10年的openfire內部即時通訊(xmpp server), 用戶端就是用jitsi(我都簡稱神燈巨人).
多年前發現 jitsi 有meet套件可以套用在openfire裡面, 使用結果好爛幾乎不能用, 用ubuntu安裝,也一直很不穩定, 改版很頻繁.
隨著新冠病毒出現, 節神 丟出開源視訊這個議題,我才想起應該是時候,要再測試看看了, 試用結果還不錯,可以讓公司的人使用.
**經過多次測試, 建議使用 “虛擬機加單個對外ip網卡” (非docker,無nat) 才能真正穩定 – 2020/05/06
https://github.com/jitsi/docker-jitsi-meet # 先想好要用哪個主機名稱, 先把letsencrypt搞定 certbot-auto certonly --standalone --preferred-challenges http -d <full host name> 1. # root # 下載最新的版本, 複製預設的設定檔案 git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet cp env.example .env 1.1 安全性增加了 ./gen-passwords.sh 2.修改 .env , 視自己docker狀況調整以下參數 CONFIG=~/.jitsi-meet-cfg # Exposed HTTP port HTTP_PORT=8000 # Exposed HTTPS port HTTPS_PORT=8443 # System time zone # 這我調整taipei TZ=Asia/Taipei # Public URL for the web service # 這我是沒調整,因為我是用httpd reverse proxy #PUBLIC_URL=https://<full host name> ENABLE_LETSENCRYPT=1 # 告訴 jitsi 說我的letsencrypt是什麼 LETSENCRYPT_DOMAIN=<full host name> 3.依照.env的 CONFIG 參數, 建立相關目錄 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb} 4.視情況修改 docker-compose.yml volumes: - ${CONFIG}/web:/config - /etc/letsencrypt:/etc/letsencrypt - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts 5.上線兼啟動(這部份讓人產生錯覺,很快網頁可以連線,但實際上要5分鐘才正常,畢竟用了4個container) docker-compose up -d 6.修改解析度(這我沒怎麼測試,預設是720,為了頻寬著想,所以改480) # ~/.jitsi-meet-cfg 這個目錄依剛開始安裝的.env設定而不同 cd ~/.jitsi-meet-cfg/web vi config.js ## constraints: { video: { aspectRatio: 16 / 9, height: { ideal: 480, max: 480, min: 240 } } },
Optional
1. 啟用認證 # 修改 .env 啟用登入認證(我使用最基本的內部認證, ldap怎麼都不成功...XD) # Enable authentication ENABLE_AUTH=1 # Enable guest access ENABLE_GUESTS=0 # Select authentication type: internal, jwt or ldap AUTH_TYPE=internal 1.1 啟用內部認證後,如何新增使用者 # 進入container docker exec -it docker-jitsi-meet_prosody_1 bash # 建立使用者,後面那串meet.jitsi不需要修改哦 prosodyctl --config /config/prosody.cfg.lua register <使用者名稱> meet.jitsi
2. 增加google日曆功能
1 先想好使用哪個google 帳號讓大家能自由存取,可個人帳號也可使用g suite帳號 建議該帳號的calendar只用來預約會議室使用 2 登入進入 https://console.cloud.google.com/apis/dashboard 新增project,進入Credentials新增 OAuth 2.0 client IDs , 新增後會給你一個client id,記下來 xxxx.apps.googleusercontent.com 3 進入 AAuth consent screen , 設定該 auth 的使用範圍 4 修改 vi ~/.jitsi-meet-cfg/web/config.js 啟用google calendar , 加上先前的client id, enableCalendarIntegration: true, googleApiApplicationClientID:”xxx.apps.googleusercontent.com”, 5.重啟 cd ~/docker-jitsi-meet/ ; docker-compose restart 6 登入jitsi meet 進行相關授權, 若出現未經允許存取calendar,就不管了,允許吧. https://github.com/jitsi/jitsi-meet/blob/master/doc/integrations.md
iredmail 是一個很強大的軟件,看文件開發者應該是大陸人,很牛!
我12年前就開始用這個軟件, 而且現在還在用!
雖說免費版不支持微軟的AD, 但很多小公司本來就沒有這些配置, 所以沒差.
目前這系統現在已經很穩定很成熟, 非常很適合小公司使用, 大推薦,
而且最近我才發現一位應該是俄羅斯人有持續提供docker安裝方式. https://hub.docker.com/r/lejmr/iredmail , 又更方便了.
以下是我安裝的心得, 有空會持續更新
1. 用volume的方式與docker建立對應, 方便以後備份升級 2. 與官網建議的不同,我移除灰名單模組,這東西又愛又恨,愛的是擋廣告很猛,恨的是要對方重發信,常常被使用者罵收信很慢. 3. 安裝後, 輸入 https://ip:8443/iredadmin 就可以用postmaster@<網域> 登入, 接下來就可以新增網域,或是使用者. 4. 輸入https://ip:8443/mail , 或是 https://ip:8443/sogo 使用者登入@<網域> 就可以收發信了 5. 使用管理者也可以收信, 最初系統自行發送的三封信很重要, 例如要dns設定DKIM之類的 6. 我有將/etc/letsencrypt 對應到iRedMal,打算用來取代自簽的證書
docker volume create iredmail_mysql docker volume create iredmail_vmail docker volume create iredmail_clamav docker volume create iredmail_log docker volume create iredmail_postfix_conf docker volume create iredmail_amavisd_conf docker run -p 8443:443 -p 110:110 -p 25:25 -p 587:587 -p 143:143 -p 993:993 -p 995:995 \ -h <主機名稱(含網域),hostname.domain> \ -d --restart always \ -e "MYSQL_ROOT_PASSWORD=password" \ -e "SOGO_WORKERS=1" \ -e "TZ=Asia/Taipei" \ -e "POSTMASTER_PASSWORD={PLAIN}password" \ -e "IREDAPD_PLUGINS=['reject_null_sender', 'reject_sender_login_mismatch', 'throttle', 'amavisd_wblist', 'sql_alias_access_policy']" \ -v iredmail_mysql:/var/lib/mysql \ -v iredmail_vmail:/var/vmail \ -v iredmail_clamav:/var/lib/clamav \ -v iredmail_log:/var/log \ -v iredmail_postfix_conf:/etc/postfix \ -v iredmail_amavisd_conf:/etc/amavisd \ -v /etc/letsencrypt:/etc/letsencrypt \ -v /etc/letsencrypt/live/<主機網域>/privkey.pem:/etc/ssl/private/iRedMail.key \ -v /etc/letsencrypt/live/<主機網域>/fullchain.pem:/etc/pki/tls/certs/iRedMail.crt \ --name=iredmail lejmr/iredmail:mysql-latest
經過試用一個月, 有一個目前無法解決的問題,就是重開docker時,dovecot或mysql會殘留舊的pid,造成dovecot與mysql啟動失敗的狀況, 此時只能手動刪除 /var/run/dovecot/master.pd or /var/lib/mysql/mysql.sock 等檔案, 然後再切換目錄到/services 找出重啟的shell scripts ,才能解決問題
好消息是官方也著手進行iredmail docker官方版 https://hub.docker.com/r/iredmail/mariadb 目前還是beta狀態,不適合正式上戰場,但我很期待 - 2020/05/06
安裝CentOS時候, 會選擇圖形介面方式安裝,安裝完畢, 理所當開機就是圖形模式,
當設定都就緒之後, 開機就可以改成文字命令模式開機
# 取得目前開機模式 systemctl get-default # 設定模式 ## 命令模式 systemctl set-default multi-user.target ## 圖形模式 systemctl set-default graphical.target
sudo vi /etc/ssh/sshd_config # 加上以下設定 PermitRootLogin yes # 重啟sshd sudo systemctl restart sshd.service
參考 http://www.linux-kvm.org/page/Networking#Public_Bridge
必須要這樣設定,才能讓 ravada vdi 或是 kvm 新增網卡時候, 不走nat模式, 走bridge模式
手動新增(每次開機都需要再執行一次)
# 請注意 要準備 eth1 為ubuntu第二網卡,請不要用原本的eth0 ip link add br0 type bridge ; ifconfig br0 up ip link set eth1 master br0
開機自動啟動
# 若是 lxc 使用ubuntu 18.04 請記得確定有安裝netplan apt install ifupdown #修改 /etc/network/interfaces auto br0 iface br0 inet dhcp bridge_ports eth1 bridge_stp off bridge_maxwait 0 bridge_fd 0
1. 匯出xml設定檔案,假設vm名稱為 win10_1909
mkdir win10_1909 virsh dumpxml win10_1909 > win10_1909/win10_1909.xml
2.找出所有qcow2並且複製到vm_name這個目錄
cp /var/lib/libvirt/images/win10_1909*.qcow2 win10_1909/
3.壓縮整個目錄
tar jcvfp win10_1909.bz2 win10_1909
1.解開bz2
tar vfxz win10_1909.bz2
2.匯入設定檔案
virsh define --file win10_1909/win10_1909.xml
3.複製qcow2檔案
cp win10_1909/*.qcow2 /var/lib/libvirt/images
1. 查看系統是否載入nbd模組, 若沒有就載入
#查看 lsmod |grep nbd #載入 modprobe nbd max_part=16
2. 掛載
qemu-nbd -c /dev/nbd0 xxxx.qcow2
3.fdisk查看/dev/nbd0
fdisk /dev/nbd0