跳到主要內容

文章

樹莓派Raspberry Pi關閉休眠、螢幕長亮

 記錄一下同事找到的作法,以備日後有需要時可以參考。 # cd /etc/lightdm # vi lightdm.conf 找到xserver-command並將註解拿掉,其值改為如下: xserver-command=X -s 0 -dpms 其中 -s # 設置螢幕保護不啟用 dpms 關閉電源節能管理 重開樹莓派即可。 還有另一種方式就是安裝 xscreensaver 套件 # sudo apt-get install xscreensaver 在X window的畫面左上點擊樹莓派icon > 偏好設定 > 螢幕保護程式 將 Mode 改為 Disable Screen Saver

EBS更換guest帳號密碼(11i)

 為了安全性,所以更改了一些EBS帳號的預設密碼,但是遇到guest帳號密碼卻無法更改 原本以為只是一個Guest帳號,於是把它停用,結果造成EBS無法登入,這下可糗了。 這表示guest帳號並不是單純的帳號,所以到網路上搜尋一下。 找到的一份文件提到System Administrator -> System profile中也有guest password的參數,當然也是無法修改 而且Oracle的這篇文件上有提到不能停用guest帳號: Do not disable the GUEST user account. Do not disable the SYSADMIN user account until you have created other accounts with similar privilege. 所以只好再找一下文件,看看是否有其他的方式可以更改,最後找到的步驟如下,先記錄下來,以備之後使用。 「注意密碼必須要大寫」 1、在Unix上以AP帳號登入,如applmgr 2、修改AutoConfig的context file的value,變數名稱是「s_guest_pass」 路徑:<INST_TOP>/appl/admin/<CONTEXT_NAME>.xml 3、重跑AP上的AutoConfig 4、檢查密碼是已更新,執行下列SQL,回傳值應該要是「Y」 SQL> select fnd_web_sec.validate_login(‘GUEST’,”) from dual; 5、以sysadmin登入EBS,選擇「CRM HTML Administration」 responsibility,並依下列路徑點選 Setup -> Settings -> System -> Properties -> Self Service User 6、Self Service User網頁開啟,再點選Properties -> Advanced -> JTF,並檢查參數guest_password的密碼是否正確 7、重啟AP

反向代理伺服器

  前篇 提到記錄自己用ubuntu 18.04 來安裝nginx與certbot,主要目的在架設一個反向代理伺服器。 這篇記錄一下自己對反向代理的理解,以免日後又忘了。 我有三台API的服務,分別是s1.test.com、s2.test.com、s3.test.com,其中s1、s2是Docker Container,因此IP是一樣的,利用不同的Port來區分。 以前遇到這樣的架構時,我會設定防火牆的規則,可是也產生了一些問題。 1、防火牆必須開放Port 1234、5555 2、外部網站需要使用https,則每個API服務都要各別設定SSL憑證 3、前端應用可能基於安全原則,只允許呼叫https(Port 443)的服務 因此,利用nginx建置了反向代理伺服器,並設定了三個proxy rule: 1、如下圖當前端呼叫https://s1.test.com時,反向代理伺服器就會轉送要求給10.10.10.1:1234 2、我只需要在反向代理啟用SSL,後端可以不必額外的設定 3、防火牆只需要開通Port 443即可 4、外部只與反向代理伺服器連接,不與後端連線,增加一層安全性

Raspberry pi OS取得Oracle DB的資料

 因為要做監控Oracle DB狀況的一個小型專案,想用樹莓派來當做Server,以節省建置成本。 一開始在我的電腦上測試,是以python+cx_oracle+Oracle Client來設計,使用上並沒有問題。 把程式轉到Raspberry pi時發現Oracle Clinet並沒有ARM CPU版本,也就是說無法由python直接讀取Oracle DB 最後是用paramiko,以SSH連線至DB Server,由DB Server執行Script來取得資料並回傳給Raspberry pi上的python 首先在Raspberry pi OS 安裝python模組paramiko # pip3 install paramiko 接著程式分為兩個部份,第一個是Raspberry pi OS的python程式 import paramiko port =22 username = test password = 123456 IP = 192.168.1.10 oraonCom = "./test.sh" #DB Server上欲執行的Script檔,此檔放在家目錄底下 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(IP,port,username, password) stdin, stdout, stderr = ssh.exec_command(oraonlineCom) oradata = stdout.readlines() print( str(oradata[0].strip('\n')) ) stdout.close() stdin.close() stderr.close() ssh.close()   第二個是DB Server的Script程式,主要是利用sqlplus來執行SQL並傳回資料。 因為sqlplus會有一些檔頭等我們不需要的資訊,所以必需用一些參數來避掉。 #!/bin/bash sqlplus -s USERNAME/PASSWORD << EOF SET SERVEROUTPUT ON SET FEEDBACK OFF

ubuntu 18.04 安裝nginx與certbot

 記錄自己安裝及設定的過程,原本想以Docker來安裝,結果certbot一直無法成功安裝,會出現PID 0的錯誤。 雖然在Docker上已經加上--privileged 的參數,依然無法解決,只好放棄使用Docker Container來安裝。 我目前共有兩個API Service:coding1.test.com(10.0.10.7):3333、coding2.test.com(10.0.10.7):5555 先在DNS上設定好coding1.test.com、coding2.test.com 安裝的順序是先安裝nginx,再把nginx的設定完成並啟用,再安裝certbot 啟用certbot時會自動修改nginx的設定檔,這樣就不必手動修改。 1、更新一下apt $ sudo apt update 2、安裝nginx $ sudo apt-get install nginx 3、安裝完後,應該會自動啟動nginx,我是用netstat看port 80是否被佔用 $ sudo netstat -tulpn | grep :80 tcp 0  0 0.0.0.0:80  0.0.0.0:*   LISTEN  4648/nginx: master  或是利用下列指令: $ ps -ef |grep nginx ... nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ... nginx: worker process ... nginx: worker process 另外也可以啟用ngx_http_stub_status_module來監控loding/status,參考文件: http://nginx.org/en/docs/http/ngx_http_stub_status_module.html 4、nginx的start/stop/restart sudo systemctl start nginx  sudo systemctl stop nginx  sudo systemctl restart nginx 5、修改nginx config 查看/etc/nginx/nginx.conf內容: 有一行include /etc/nginx/conf.d/*.c

Win10 網路共用修改IP:192.168.137.1

 如果有設定網路共用,則會重設IP為192.168.137.1,記錄一下更改此預設值的方法。 開啟「regedit」,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters 修改ScopeAddress、ScopeAddressBackup的值,如下圖即可完成

B電腦使用A電腦上網

 目前的況狀是這樣,A電腦可以上外網,有兩張網卡。 但是網路孔只有一個,被A電腦使用,在沒有Hub的情形下,B電腦沒有辦法上網 另外就是我必須讓A電腦與B電腦網路對接,以便程式測試。 因為A電腦還有多一個網卡,所以直接與B電腦相接。 A電腦是Win10作業系統,在網路連線中可以看見有兩個乙太網路,其中乙太網路是可以上網的;乙太網路2是接到B電腦 於乙太網路按滑鼠右鍵選點「內容」-> 「共用」,將「允許其他網路使用者透過這台電腦…」的選項勾選起來。 並且在「家用網路連線」的下拉選單中選擇「乙太網路2」,按下確定之後,會有一個警告視窗告訴我們乙太網路2會被重設為192.168.137.1 完成之後,乙太網路2的IP會改為192.168.137.1,所以B電腦也會取得或設定為192.168.137.x,這樣B電腦就可以上網了。