2012年4月26日 星期四

ERP 八大循環

 YAHOO 知識家

一般所謂ERP系統的八大循環是由 "公開發行公司建立內部控制制度處理準則"  第七條而來。
公開發行公司之內部控制制度應涵蓋所有營運活動,並應依企業所屬產業
特性以交易循環類型區分,訂定對下列循環之控制作業:
一、銷售及收款循環:包括訂單處理、授信管理、運送貨品或提供勞務、
    開立銷貨發票、開出帳單、記錄收入及應收帳款、銷貨折讓及銷貨退
    回、執行與記錄現金收入等之政策及程序。
二、採購及付款循環:包括請購、進貨或採購原料、物料、資產和勞務、
    處理採購單、經收貨品、檢驗品質、填寫驗收報告書或處理退貨、記
    錄供應商負債、核准付款、進貨折讓、執行與記錄現金付款等之政策
    及程序。
三、生產循環:包括擬訂生產計畫、開立用料清單、儲存材料、領料、投
    入生產、計算存貨生產成本、計算銷貨成本等之政策及程序。
四、薪工循環:包括僱用、請假、加班、辭退、訓練、退休、決定薪資率
    、計時、計算薪津總額、計算薪資稅及各項代扣款、設置薪資紀錄、
    支付薪資、考勤及考核等之政策及程序。
五、融資循環:包括借款、保證、承兌、租賃、發行公司債及其他有價證
    券等資金融通事項之授權、執行與記錄等之政策及程序。
六、固定資產循環:包括固定資產之取得、處分、維護、保管與記錄等之
    政策及程序。
七、投資循環:包括有價證券、不動產、衍生性商品及其他投資之決策、
    買賣、保管與記錄等之政策及程序。
八、研發循環:包括對基礎研究、產品設計、技術研發、產品試作與測試
    、研發記錄及文件保管等之政策及程序。
公開發行公司得視企業所屬產業特性,依實際營運活動自行調整必要之控
制作業。
 因為ERP為公司使用電腦化資訊系統作為內部控制工具之一,其涵蓋所有營業活動,ERP系統的八大循環亦即指上述八項

 =================
待補

2012年4月24日 星期二

利用newsyslog製作log循環備份

newsyslog 是安裝 freebsd 後就會有的套件,其主要功用是配合crontab排程,將log製作備份。

參考:
http://www.weithenn.org/cgi-bin/wiki.pl?newsyslog.conf
http://contest.ks.edu.tw/syshtml/freebsd-newsyslog.html

補充:
 
     ※要是我們要新加入的一些非預設的,程式(例如www)所產生的紀錄檔怎麼辦?
         /var/log/httpd-access.log         640    5    *    @T00     Z /var/run/httpd.pid 30
         /var/log/httpd-error.log          640    5    *    @T00     Z /var/run/httpd.pid 30
 
         第一欄是紀錄檔的位置, 第二欄是紀錄檔的權限 (mode),5 表示在硬碟
         內保留過去六次處理的紀錄(log.0.gz~ log.5.gz), 比六次還舊的紀錄
         就把他砍了。* 表示不管紀錄檔的大小。 @T00 表示每天零點零分的時候
         處理這個檔案,Z 表示把處理過的檔案壓縮起來, 節省空間。
         
   
     ※為什麼後面要加上/var/run/httpd.pid 30?
         因為 newsyslog 在系統 default 的 contable (/etc/crontab) 裡被預先
         設定為每一個小時啟動一次,然而在 newsyslog.conf 裡設定讓 apache log
         自動 rotate,不過發現 newsyslog 後接下來的 apache log 都不會寫入了,
         只留下一行 newsyslog[66253]: logfile turned over
         這個問題出在當 newsyslog rotate log之後,沒有送個 SIGHUP 給 apache,
         導致 apache的log 寫到不知道什麼地方去,所以要在 newsyslog.conf 裡面
         有關 httpd-access.log 及 httpd-error.log 的部份後面加上要 KILL -HUP
         的 pid 檔,才能正常運作。 
 
==== 20120425 ====

為什麼httpd.pid的sig_num 要設定為30? 不能設定其他值嗎?


 
hwakeye  在下面有作解釋
===== 
 
 
flags   This optional field is made up of one or more characters that
             specify any special processing to be done for the log files
             matched by this line.  The following are valid flags:

             B       indicates that the log file is a binary file, or has some
                     special format.  Usually newsyslog(8) inserts an ASCII
                     message into a log file during rotation.  This message is
                     used to indicate when, and sometimes why the log file was
                     rotated.  If B is specified, then that informational mes-
                     sage will not be inserted into the log file.

             C       indicates that the log file should be created if it does
                     not already exist, and if the -C option was also speci-
                     fied on the command line.

             D       indicates that newsyslog(8) should set the UF_NODUMP flag
                     when creating a new version of this log file.  This
                     option would affect how the dump(8) command treats the
                     log file when making a file system backup.

             G       indicates that the specified logfile_name is a shell pat-
                     tern, and that newsyslog(8) should archive all filenames
                     matching that pattern using the other options on this
                     line.  See glob(3) for details on syntax and matching
                     rules.

             J       indicates that newsyslog(8) should attempt to save disk
                     space by compressing the rotated log file using bzip2(1).

             N       indicates that there is no process which needs to be sig-
                     naled when this log file is rotated.

             U       indicates that the file specified by path_to_pid_file
                     will contain the ID for a process group instead of a
                     process.  This option also requires that the first line
                     in that file be a negative value to distinguish it from a
                     process ID.

             Z       indicates that newsyslog(8) should attempt to save disk
                     space by compressing the rotated log file using gzip(1).

             -       a minus sign will not cause any special processing, but
                     it can be used as a placeholder to create a flags field
                     when you need to specify any of the following fields.

架設LogAnalyzer 網頁日誌分析工具

,這幾天因為看了網管人雜誌在介紹「LogAnalyzer 網頁日誌分析工具」,上網搜尋了一下發現該篇文章作者 Weithenn ,已將文章同步放置在網站上:
http://www.weithenn.org/cgi-bin/wiki.pl?LogAnalyzer_網頁日誌分析工具_(上)
http://www.weithenn.org/cgi-bin/wiki.pl?LogAnalyzer_網頁日誌分析工具_(下)

由於尚未熟悉freebsd的apache,藉由此次機會順便跑一次 apache+php的安裝

這邊要注意的是:
apache的位置可能與教學不同 ,例如本次架設是freebsd 8.1 + Apache 2.2.15。
apache的一些路徑如下:
  • /usr/local/etc/apache22                   // apache安裝位置
  • /usr/local/etc/rc.d/apache22           // start、stop…
  • /usr/local/www/apache22/data       // 網站預設根目錄
其他則與教學相同

=====
20120425 補充:
log必須確認可以讓 LogAnalyzer 讀取,例如:檔案權限為 644


2012年4月16日 星期一

FreeBSD上的DNS設定

花了將近一週的時間在研讀DNS相關的設定,花的時間稍微有點久了點....
設定上的眉角真的要特別去注意,順便把自己遇到的問題和解法做個紀錄。

設定的參考,主要來自幾個地方
  1. FreeBSD官方手冊
  2. Steven's Linux Note - Articles  bind - DNS 設定
  3. 網路名稱系統-李宗憲
  4. study-area 
  5. DNS server安全防護
主要編輯文件:
  • /etc/namedb/named.conf
  • /etc/namedb/working/正解資訊

安全性附加設定 ”rndc”(remote name daemon control)
  • /etc/namedb/rndc.conf
環境配置:
  • IP:192.168.1.20
  • 本機名稱:dns
  • 網域:hy.fall.idv.tw
  • 上層DNS:dns.fall.idv.tw

詳細設定:
  • /etc/namedb/named.conf
1.設定 listen

找到 
 listen-on       { 127.0.0.1; };
這代表啟動DNS服務時,會監聽的對外IP位址,由於預設只有監聽 127.0.0.1,故啟動後並不會對外服務,必須再新增IP才行,將設定值調整為
listen-on       { 127.0.0.1; 192.168.1.20; };
===題外話===

由於設定時一直忽略這個地方,直到下netstat -an發現只有監聽本機 (如下)
 tcp4       0      0 127.0.0.1.53           *.*                    LISTEN
 這時才驚覺一定是有什麼地方沒有調整(debug時卡最久的地方... config檔果然要看仔細阿!!)

=========

2.設定正解zone

在檔案最下方新增
 // 20120412
zone "hy.fall.idv.tw" {
        type master;
        file "dns.hy.fall.idv.tw.fwd";
};
上面所代表的是,我們將fall.idv.tw網域所管理的資訊,放在dns.hy.fall.idv.tw.fwd這個檔案內。
檔案位置有2種表示方式,「相對位置」、「絕對位置」
「絕對位置」的部份就是直接指出檔案位置,例如:/etc/namedb/working/dns.hy.fall.idv.tw.fwd
「相對位置」必須要參考named.conf最上方的 options 設定,directory 即代表預設的資料夾位置。

  • /etc/namedb/working/dns.fall.idv.tw.fwd
/etc/namedb/working內新增 dns.hy.fall.idv.tw.fwd ,內容如下:

 $TTL 86400
@ IN SOA dns.fall.idv.tw. root.dns.hy.fall.idv.tw. (
        2012041601      ;Serial
        172800          ;Refresh
        900             ;Retry
        3600000         ;Expire
        3600    )       ;Minimum
hy.fall.idv.tw. IN NS dns.
dns.hy.fall.idv.tw. IN A 192.168.1.20

===引用官方手冊 ===
 開頭的 @ 代表網域名稱 twbsd.org,IN 表示為 internet 的資料型態。SOA 後面接的是 twbsd.org,表示這台 twbsd.org 機器是 twbsd.org 網域中的主要名稱伺服器。而 root.twbsd.org 表示管理者的Email 是 root@twbsd.org。
讓我們先看到第一行 $TTL 的部份,$TTL 代表這設定的資料要存多久,其後所接的值是以秒數計算。我們這裡的設定是 172800,表示二天。
正解檔中的內容中除了第一行外,每一行的格式為 [name] [ttl] [class] [type] [data]。以下是每個欄位的說明:
  • name:可以是網域名稱或是主機名稱,如果不寫的話表示與上一個設定相同。
  • ttl:是資料要存活的時間 (time to live),也就是 cache server 將保留在它的 cache 中的時間。如果不寫的話表示和 SOA 中的設定相同。
  • class:指定網路的類型,這個欄位應該都是使用 IN 代表 internet。
  • type:設定該筆資料的型態,例如:MX, A, CNAME, PTR, NS 等。
  • data:就是實際設定資料的部份。
 ============

====補充說明====
  1.   在我這邊的範例,代表 hy.fall.idv.tw. (注意最後的「 .」),因此也可以寫成 「 hy.fall.idv.tw. IN SOA dns.fall.idv.tw. root.dns.hy.fall.idv.tw.
  2.  SOA 後面必須接「上層DNS」,再接上dns.hy.fall.idv.tw主機的管理者emailroot.dns.hy.fall.idv.tw.
============

 基本上,這樣的設定就夠了,反解的部份由於上層會幫我們設定好,因此不用特別再去設定。

啟動DNS服務:
/etc/rc.d/named start
檢查log訊息:
tail -n 30 /var/log/messages

 這邊舉出幾個我碰到的問題:

======

 Apr 12 17:45:47 dns named[2563]: dns.hy.fall.idv.tw.fwd:9: ignoring out-of-zone data (hy.fall.idv.tw)

代表 dns.hy.fall.idv.tw.fwd named.confzone沒設定正確,例如:

 named.conf:
 zone "dns.zongyan-lab.fall.idv.tw" ( .....略
應該為:
 zone "zongyan-lab.fall.idv.tw" ( .....略

======

 Apr 12 17:45:47 dns named[2563]: zone dns.hy.fall.idv.tw/IN: has 0 SOA records
Apr 12 17:45:47 dns named[2563]: zone dns.hy.fall.idv.tw/IN: has no NS records

代表 SOA 設定錯誤,必須指到上層的DNS

======


設定 ”rndc”(remote name daemon control):

  • 產生key檔
cd /usr/sbin/
./rndc-confgen -a
  • 確認是否有建立key
more /etc/namedb/rndc.key

 ./rndc-confgen > /etc/namedb/rndc.conf

  • rndc.key的內容,取代rndc.conf最上面的
 key "rndc-key" {
        algorithm hmac-md5;
        secret "XXXXXXXXXXXXX";
};

  • named.conf 加上

include "/etc/namedb/rndc.key";

controls {
        inet 202.3.168.37 port 953 allow { 127.0.0.1; 202.3.168.37; } keys { rnd
c-key; };
        };
  • 重新啟動 nsmed




2012年4月12日 星期四

如何重新設定freebsd之環境設定

在安裝完成freebsd之後,如果想要再一次進入設定頁面去調整網卡設定、鍵盤配置、時區、…等資料,請直接下
sysinstall

2012年4月11日 星期三

最近在研讀DNS設定

由於工作內容的關係,不像以往輕鬆,以前要做任何的設定只要請負責的同事幫個忙即可,
現在身份轉換了,很多東西都要自己來,而大部分的管理設定都略懂一二,唯獨DNS的部份仍是白紙一張,
這份工作因為必須常常調整DNS,因此在DNS的架設、管理必須要熟悉才行!
目前還在慢慢的啃網路上的資料,等瞭解後再來補足這篇。

調整putty的設定,讓home、end key正常

由於之前以putty或pietty時,總會因為home和end按鍵沒辦法正常使用而感到些許困擾,
另外,像是鍵盤右方的數字鍵也不正常。
雖然不是大問題,但是使用上總會卡卡的,因此找了一下解決方式,
解決方法意外的簡單,不用特別去改freebsd內的設定檔,只要修改putty內的
 connection>data>terminal-type string,將預設的 xterm 改為 linux 即可。

如果之前已經有紀錄登錄資訊於putty內,別忘了先load再做設定。