分類: 技術
docker 安裝 restyaboard (一種看板軟體)
**安裝前必須先安裝postgres (因為restyaboard是docker安裝, 因此postgres也建議用docker安裝)
也必須先行建立資料庫 restyaboard , 存取的使用者,與密碼 ,
docker run --rm -d -e POSTGRES_DB='restyaboard' \ -e POSTGRES_HOST='postgres' \ --link <docker postgres名稱>:postgres \ -e POSTGRES_PASSWORD='admin' \ -e POSTGRES_USER='admin' \ -p 8080:80 \ --name restyaboard restyaplatform/restyaboard:dev
完成後, 可以http登入8080 ,
輸入預設帳號admin , 密碼restya
docker安裝postgres
安裝很簡單, 預設的管理者帳號是 postgres , 密碼就是底下所設定的密碼
docker volume create postgres-data
docker run --name postgres -v postgres-data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=<密碼> -d postgres
如何登入
docker exec -it postgres bash
登入後輸入 su – postgres
變身成 postgres之後,
再下psql 就可以進入postgres世界了
但是指令就很不習慣,只能列出一些剛剛用到的,以後想到再補上
$ sudo -u postgres psql -- List all databases via \l (or \list), or \l+ for more details
postgres=# \l Name | ... -----------+----------- postgres | ... template0 | ... template1 | ... postgres=# CREATE DATABASE mytest; $ sudo -u postgres createuser --login --pwprompt testuser Enter password for new role: xxxx # Create a new database called testdb, owned by testuser. $ sudo -u postgres createdb --owner=testuser testdb
FreeNAS 出現degraded 錯誤(smartd not running)
11.2 有時會發現 smartd 失效, 因此造成系統誤認是硬碟有問題
所以需要重開smartd是看看, ssh 登入系統後, 先執行
ps -ax|grep smartd
查看是否執行中,
以下指令可重啟smartd
service smartd onerestart
docker安裝gitlab
很方便, 也很簡單
1. docker volume create gitlab-config
2. docker volume create gitlab-logs
3. docker volume create gitlab-data
4.
docker run -d --hostname <主機名稱> -p<外部對應http>:80 -p
<外部對應https> :443 --name gitlab --restart always --volume gitlab-config:/etc/gitlab --volume gitlab-logs:/var/log/gitlab --volume gitlab-data:/var/opt/gitlab gitlab/gitlab-ce:latest
5. 設定檔案在 gitlab-config/gitlab.rb
若不需要http ,可加上external_url "https://主機名稱" ,
若不需要 leetsencrypt , 請加上 letsencrypt['enable'] = false
2019/10/07 後記
後來gitlab一直更新, 想說docker pull gitlab/gitlab-ce:latest
以前天真的以為這樣就好了, docker上面的gitlab就會自動變成最新版,
沒想到以前的latest跟現在的latest是不同的
所以我就很瀟灑的砍掉目前docker上正在跑的gitlab ,反正設定檔案都在volume
砍掉之後, 重新執行以上的第四步驟
發現起不來, 於是找了很久找到 log 裡面一個 reconfigure 的目錄, 看了一下目錄裡面最新的檔案,才發現gitlab的自動升級功能有提醒版本過舊, 但是我不知道舊的版本是啥.
最後終於找到以前gitlab的image id (可以使用docker images 指令找) , 再去docker上找出一樣的images id 就能知道版本了, 於是再慢慢升級, 因為 gitlab 無法跳躍式升級, 需要一版接一版, 最後就成功升級到最新版了
MSSQL的日期(Date)欄位如何加上指定的小時數
公司某天刷臉機器因停電造成時間錯誤, IT人員未即時更新(因為週六), 導致少數加班人員吃飯刷卡紀錄錯誤,少了11小時, 因此必須加回去原本的資料庫 , 可使用 dateadd(hour, 預加或減的小時數字, 欄位名稱) 的方式處理.
update dbo.KQZ_Card set CardTime= dateadd(hour,11,KQZ_card.CardTime) where DevID=9 and year(CardTime)=2019 and Month(CardTime)=4 and day(CardTime)=27;
傳統硬碟升級成SSD(含系統移轉)初體驗
朋友的電腦只有一顆1T傳統硬碟,有C,D槽.
因此我請他買一顆SSD硬碟預備當C槽, 沒想到居然遇到clonezilla失敗的狀況, 無法partition to partition.
最後祭出 EaseUS Todo Backup這套軟體, 使用系統克隆的方式將硬碟克隆到SSD去,
可是也失敗, 因為硬碟太大, 最後取巧將原系統的D槽磁碟機代號刪除, 讓 EaseUS 誤以為只有C槽, 就能順利進行系統克隆了, 記得勾選優化固態硬碟哦
鼎新tiptop用戶端程式注意事項GDC
公司使用鼎新tiptop 5.1版 , 用戶端用的登入程式是 VTCP
與tiptop連線的用戶端程式是 Genero Desktop Client (GDC)程式
關於GDC
目前已經更新到2.5.39版
tiptop伺服器上有些注意事項如下:
- 環境變數 $FGLIMAGEPATH , 程式顯示出來的圖存放地, 像偶公司就把測試區的logo改掉, 方便與正式區的logo區分
- $FGLSERVER , 指定用戶端程式GDC接聽哪個port , 預設是 6400 , 若同時要跑正式區與測試區, 有可能要改兩個port , 只要於server端修改 export FGLSERVER=$FGLSERVER:1 , 就代表使用6401 , 若export FGLSERVER=$FGLSERVER:2 就代表6402
關於VTCP
登入tiptop所使用VTCP, 會帶出GDC , 因此參數可調整, 以下6401代表帶出GDC時候, 指定接聽6401
GDC\BIN\GDC.EXE -M -A 0 -D -p 6401
linux oracle 11g tns設定檔
CentOS 7 安裝postfix郵件伺服器簡易步驟
本文章設定的郵件伺服器, 並不包含郵件過濾功能 , 帳號綁定windows網域 , 連線使用TLS加密連線
紅色的部份需要注意, 此外若出現 kafeiou.pw 請記得取代掉
#郵件過濾功能(mail gateway),請參考此文章
#2011年曾經寫過類似文章當時是CentOS6,應該大同小異
1. 修改 /etc/postfix/main.cf ,
############################################################### myhostname = mail.kafeiou.pw mydestination=/etc/postfix/local-host-names inet_interfaces = all # Enable IPv4, and IPv6 if supported inet_protocols = all mynetworks = 127.0.0.0/8,192.168.1.0/24 queue_directory = /var/spool/postfix mail_owner = postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix unknown_local_recipient_reject_code = 550 home_mailbox = Maildir/ sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man ############################################################### smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, smtpd_client_restrictions = permit_sasl_authenticated, smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain ############################################################### message_size_limit = 150600000 mailbox_size_limit = 250600000 virtual_mailbox_limit = 250600000 disable_vrfy_command = yes strict_rfc821_envelopes = yes bounce_queue_lifetime = 1d ############################################################### smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_local_domain = ############################################################### smtpd_helo_required = yes smtpd_delay_reject = yes smtpd_helo_restrictions = permit_mynetworks, permit ############################################################## virtual_mailbox_domains = /etc/postfix/domains virtual_mailbox_base = /home/vmail virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cf # 1001 is id of user "vmail" created in linux virtual_uid_maps = static:1001 virtual_gid_maps = static:1001 virtual_alias_maps = hash:/etc/aliases,ldap:/etc/postfix/ldap-aliases.cf ############################################################## recipient_bcc_maps = hash:/etc/postfix/recipient_bcc sender_bcc_maps = hash:/etc/postfix/sender_bcc #inet_protocols = ipv4 smtpd_tls_security_level = may smtpd_tls_key_file = /etc/letsencrypt/live/mail.kafeiou.pw/privkey.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mail.kafeiou.pw/fullchain.pem # smtpd_tls_CAfile = /etc/pki/tls/root.crt smtpd_tls_loglevel = 1 smtpd_tls_session_cache_timeout = 3600s smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_cache tls_random_source = dev:/dev/urandom tls_random_exchange_name = /var/lib/postfix/prng_exch # 強制使用TLS smtpd_tls_auth_only = yes smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes # # Disable SSLv2, SSLv3 # smtpd_tls_protocols = !SSLv2 !SSLv3 smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3 smtp_tls_protocols = !SSLv2 !SSLv3 smtp_tls_mandatory_protocols = !SSLv2 !SSLv3 lmtp_tls_protocols = !SSLv2 !SSLv3 lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3 dovecot_destination_recipient_limit = 1 #performance smtpd_error_sleep_time = 0 default_process_limit = 150 qmgr_message_active_limit = 40000 qmgr_message_recipient_limit = 40000 default_destination_concurrency_limit=100 default_destination_recipient_limit=100 default_process_limit=200 smtp_mx_session_limit=100 smtpd_client_connection_count_limit=100 smtp_destination_concurrency_limit=100 maximal_backoff_time = 1000s minimal_backoff_time = 300s
2. 修改 /etc/postfix/local-host-names , 加上主機名稱
mail.kafeiou.pw
3. 修改 /etc/postfix/domains , 加上網域
kafeiou.pw
4.新增使用者 vmail , 並紀錄該使用者id , 並更新到 main.cf 裡面的id(可參考步驟1)
groupadd vmail -g 1001; useradd vmail -u 1001 -g 1001
5. 綁定網域帳號
裡面的 mail=%s 代表郵件紀錄在網域的mail欄位
vi /etc/postfix/ldap-users.cf
server_host = <主機ip> search_base = ou=taipei,dc=kafeiou,dc=pw version = 3 query_filter = (&(objectclass=*)(mail=%s)) result_attribute = samaccountname #Account from DC result_format = %s/Maildir/ bind = yes bind_dn = cn=ldap,cn=Users,dc=kafeiou,dc=pw bind_pw = <cn=ldap的密碼>
6. 綁定aliases, 網域設定群組
vi /etc/postfix/ldap-aliases.cf
server_host = <主機ip> search_base = ou=aliases,dc=kafeiou,dc=pw #scope = sub query_filter = (memberOf:1.2.840.113556.1.4.1941:=CN=%s,ou=aliases,dc=kafeiou,dc=pw) result_attribute = mail result_format = %s version = 3 bind = yes bind_dn = cn=ldap,cn=Users,dc=kafeiou,dc=pw bind_pw = <cn=ldap的密碼>
7. 取得letsencrypt, 更新步驟1相關的證書
按此連結到本站能找到資源 , 記得輸入guest/guest
8. 設定收發備份
/etc/postfix/recipient_bcc 與 /etc/postfix/sender_bcc
william收發信都會備份到, public , 記得改完套用 postmap /etc/postfix/recipient_bcc 與 /etc/postfix/sender_bcc
william@kafeiou.pw public@kafeiou.pw
9. 設定submission(TLS加密,使用587 port)
vi /etc/postfix/master.cf
submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
10, 修改 /etc/sysconfig/saslauthd
# Directory in which to place saslauthd's listening socket, pid file, and so # on. This directory must already exist. SOCKETDIR=/run/saslauthd # Mechanism to use when checking passwords. Run "saslauthd -v" to get a list # of which mechanism your installation was compiled with the ablity to use. #MECH=pam MECH=ldap # Additional flags to pass to saslauthd on the command line. See saslauthd(8) # for the list of accepted flags. FLAGS="-O /etc/postfix/saslauthd.conf -c -r"
11. 修改 /etc/postfix/saslauthd.conf
ldap_servers: ldap://<網域伺服器IP>:389/ ldap_search_base: ou=taipei,dc=kafeiou,dc=pw ldap_auth_method: bind ldap_version: 3 ldap_bind_dn: cn=ldap,cn=Users,dc=kafeiou,dc=pw ldap_bind_pw: <cn=ldap的密碼> ldap_filter: (sAMAccountName=%u) #ldap_filter: (mail=%u)
以上應該就能夠讓smtp 綁定網域, 以及擁有TLS(port 587)功能