顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - apage

頁: [1] 2
1
好久好久沒上來這了,

最近用 C# 寫了個工具把工作用到的 command 包成 Windows form 來使用
因為沒有C#基礎,所以花了四個月終於把一部分的工作包完了。

想選C#是因為,大家都用 Windows, 用微軟自己的開發語言,來寫 Windows form 應該挺合適。
拉 UI 也蠻方便的…

無意中也發現了把東西包成UI後,教育成本變得很低,覺得這其實也是一個不壞的方向。


不過接下來如果要再弄得更方便,就不禁需要想遠一點…

因為我的工作環境除了在 Windows 環境下有一部份工作之外,
也會有 SSH 執行遠端命令的情況. 那麼問題來了,

我應該一路到底就用 C# 開發一個在 Windows 下能執行 SSH 命令的東西
還是應該轉成網頁,例如用 php 來控制?

php 的壞處是需要搭一個 web....所有東西需要拉到web主機上面跑。
好處是只要能上網在哪都能做,因為是網頁,所以改成手機APP也很容易.

C# 的好處是一個 exe 在 Windows  本機做,
在Windows上面已經有很多現成的小工具如 plink.exe, 只要呼叫就好了
另外很多東西也是一台電腦上處理就可以,平常也不用一直開著服務。
壞處就是只能在Windows上面用,改成手機APP也比較難。

研究程式只是個人興趣,小弟不在乎轉換成本,
只以哪個對工作最有利來評估,先謝謝各位指教了。







3
雜七雜八 / 職業感慨
« 於: 2010-12-26 02:02 »
看了醫龍這部漫畫,心中真的有所感觸…
當發現自己的才能凌駕於其他人時,自己會怎麼做呢?
有人會選擇一直依賴自己的才能生活,
也有人去發展自己的理想,也有人搞起政治權謀..
最後,也有人乾脆隱居起來,什麼都不理會...專心過著自己的生活.
真正想把才能傳授於其他人的人,
恨不得自己能被取代的人...真少啊!!

4

我想思考這個問題是因為,老闆不想花這筆錢
因為他覺得

1. 公司上網風氣很自由,大家應該自我約束,不應該隨便亂點來路不明的東西
2. MIS 應該積極發揮功能去排除電腦問題及教育User. 而不是動腦筋採購各種工具

我的觀點是

1. 公司User程度還算可以,只是有些人沒有呼叫MIS,而是使用很流行的360木馬修復,結果系統被修掛了.
在這種狀況之下,如果那個人的工作很重要,就是一個風險
(我自己處理過兩個,那兩個人都還算守規矩的,這種狀況下他們很無辜)
2. 若有中央控管的防毒軟體,除了可以正確的處理1.之外,還可以主動出擊,
提前注意病毒的狀況,定時排程,算是積極的處理這類事件.

綜合老闆的想法
我思考了一下,我認為

1. 目前MIS的確有適度的教育User,但火侯似乎略嫌不足.所以偶爾還是會有人不知道將系統弄掛.
2. 公司目前 140人左右, MIS 1位 (我不算的話) 在有適度的教育下,應可跟我老闆說的相同,
大家有好的素養,約束自己不亂點. 而詢問過MIS,他也說目前還算輕鬆.

所以結論

1. 目前可以不買
2. 在人數超過一定範圍(也許是150以上)
可能在MIS教育User及處理常態事項沒有比較好的效率時
才可能會有進一步行動
如:企業級的防毒軟體. 或請第二位MIS (其實我是比較想買工具,因為比人省,而且還有其他系統部的人可以兼著做)


以上論點...有沒有人可以給我一點建議
是否有其他盲點存在呢?

5
雜七雜八 / squid 看youtube 的怪問題
« 於: 2010-06-23 23:36 »
上次重灌電腦之後發現 youtube看影片會中斷

經過查詢之後跟電腦無關
是我架在家裡的squid 有問題

清了cache之後狀況依舊

我的squid 是用一台QNAP 的 NAS架的
squid 版本是 2.6 stable23

但是另一台用CentOS 架設的squid 就沒問題
兩邊都是我親手設定,設定值都一樣,版本也是一樣的.

請問有人有這方面的經驗嗎?

6
 :-[

查很久, HP的Server 在第一次啟動 JAVA 服務的速度正常
但是關閉JAVA服務再啟動JAVA就超級慢,慢了四五倍..
但是reboot 之後又恢復正常!

慢的時候五分鐘可以拉長到半小時...

Dell 牌卻沒有問題...

有人有類似經驗嗎?

7
Windows 討論版 / AD重新命名工具無法執行
« 於: 2010-04-05 02:42 »
因為公司的網域名字需要修改
所以找到了這個工具
http://technet.microsoft.com/zh-tw/windowsserver/bb405948.aspx
不過公司用的是Windows 2003 64 R2

執行後出現 this version 1.4 is for a different hardware platform

還有救嗎?

莫非要用另一台電腦裝Windows 2003 32its 版本同樣升級為域控制再做才行?

8
雜七雜八 / 網路問題,有這麼難懂?
« 於: 2010-04-04 01:17 »
在業界也已經六七年,不知道是我常接觸還是怎麼的,
感覺一些人對網路問題非常難以理解.
就連有些非常資深、本科畢業的 Programmer 也對網路問題非常生疏.

我是做MIS過來的,現在電腦不上網根本就不能工作.
我也覺得現在的程式連遊戲都已經網路化,也有越來越多的程式需要『上線』取資料,
對網路問題漸漸熟練的工程師也應該變多才對?

但是現在跟客戶的一些系統工程師接觸,他們也都是維護大型網路架構的人,
卻對網路問題也是非常生疏....基本的static route,NAT,SNAT...dns等
是怎樣,設備太強了都不用擔心?而且還是先進的日、歐...

大部分的時間都在溝通這些問題上,還要透過翻譯...有時也覺得無力了...

9
Windows 討論版 / 2003 建立網域問題
« 於: 2010-03-02 09:33 »
公司之前的網域有問題,到了一定電腦數量會消失幾台...
所以重新建立了一個網域.
本來是使用 aaaa.corp 來用,因為在大陸想說雞婆就自己改多 .cn
變成 aaaa.corp.cn
結果建立完畢之後, corp.cn 在外確實有這筆紀錄

 :-\

目前是增加一筆 corp.cn 紀錄在ad那台server 的dns 中,
但是裡面會自動多了 aaaa 這筆子網域紀錄
點進去又能設定 aaaa.corp.cn 的紀錄...
以下為示意圖:
aaaa.corp.cn
corp.cn
|____aaaa

這樣子會讓AD混淆嗎?
該如何補救?

10
雜七雜八 / [職場] 被開除的不是我
« 於: 2010-02-15 01:08 »

前陣子,小弟的主管被開除了。

在我去探望他時,
我感受到一種心情,是怨念.
我是不是應該跟他一起離開?

但我從來都沒有過這種想法.
因為我滿腦子都是對專業的鑽研與理想...
對自己建立的東西也沒有絲毫想要丟棄的念頭.

各位會怎麼想呢?還能怎麼做呢?

11
BSD 討論版 / [求助] FreeBSD 版本與 Ldap
« 於: 2009-05-10 12:13 »
最近計畫把一些服務移動至一台全新的機器上,
包含 Ldap Server,由於上一台是使用 FreeBSD 6.3
所以這台一開始就選擇了 FreeBSD 當作 OS,
計畫安裝 ldap server,apache-2.0.63,php5,mysql51,subversion

問題來了,新裝的 Ldap Server 與 nss_ldap 似乎一直有問題,
x64 ldap23-server --> 啟動失敗,連錯誤訊息都不出現
x64 ldap24-server --> 成功運作,但 nss_ldap 一設定好 (用 id 可辨識帳號),
利用 sshd 登入就會直接斷線(pam.d/sshd 有正確設定)

本來想說應該是 x64 版本的問題,但我還是不死心換了 6.4 x64 版本,
問題一模一樣。

再換到 i386 版本
這次使用 ldap23-server 可以正確啟動了,pam.d/sshd 設定正確也能登入了,
但是 apache 2.0.63 卻不能運作了...一直吐 httpd busy 無法啟動的錯誤....
於是我再把 ldap 相關模組又重裝一次,還是失敗,
於是我換了 ldap24-server 這次 ldap 正常了,apache 也正常了,
但又回到 nss_ldap 問題上,sshd 完全無法登入...
結果重頭到尾繞了一大圈,問題根本就一模一樣,
在 ldap, nss_ldap, apache 這三個問題兜圈子...

這究竟是怎麼回事呢?有人有碰過嗎?

12
寫了第一隻幫助我解決問題而且可用來取代我工作的 shell scripts.
不外乎就是把我用的指令與工作,統統作成 function
再一一把過程能 loop 的就 loop, 最後用 $1 $2 來決定要做甚麼...

最後成功的工作並且穩定的用了三個多月.

原本想稱著這股氣勢,直接利用 python 改寫一次,
沒想到碰到了麻煩...

因為我要做的事幾乎是 Linux 系統都有支援的(最差也是光碟就有),
例如 rsync, svn client, unzip 等等

利用開發語言雖然可以使用 sys函數去呼叫系統,
但卻沒有使用 shell scripts 設計來得直覺,反而更麻煩...
若不想使用 sys 相關的函數,還要去找第三方 lib, 例如 rsync的lib,ssh,svn...etc.

同樣的情形,C++,C#, perl 等都是
perl or python 還要直接裝在 Linux 系統上,一堆外掛肥大死了...
離『解決問題』的初衷似乎越來越遠....

於是乎,我放棄了...還是得乖乖寫 shell scripts...
各位前輩有碰到跟我一樣的問題嗎?
最後你們如何踏上使用開發語言管理系統的道路?

13
各位好
最近我在實做 kickstart 自動安裝 CentOS 5.1 的光碟
初步算是成功了,
但是 %post 的部份
我有使用chkconfig 一些 services 狀態卻一直無法生效,
另外,
我明明沒有安裝 X-Window,
照理說安裝後在ssh console 畫面執行 setup命令,
並不會出現 X-Window 的設定選項,
但是用自動安裝之後卻有;
我仔細的檢查安裝元件發現我並沒有安裝,
但是我卻有ignore X的選項,是這邊的原因嗎?
以下是我的 ks.cfg
代碼: [選擇]
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use CDROM installation media
cdrom
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$2SaUlSgE$IN.CNYNDkAocb8AuTcQ.o.
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone  Asia/Shanghai
# Install OS instead of upgrade
install
# Disk partitioning information
part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
part swap --bytes-per-inode=4096 --fstype="swap" --size=4096

%packages
@base
@development-libs
@core
@development-tools
@admin-tools
@system-tools
@legacy-software-development
@legacy-software-support
@web-server
@mysql
@editors
@text-internet
mysql-devel
nmap-frontend
audit
mrtg
net-snmp-utils
sysstat
lynx
kexec-tools
device-mapper-multipath
imake
-sysreport
-webalizer
-php-ldap
-php

%post --nochroot
chkconfig autofs off
chkconfig bluetooth off
chkconfig cups off
chkconfig httpd on
chkconfig ip6tables off
chkconfig iptables off
chkconfig nfslock off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig sendmail off
chkconfig snmpd off
chkconfig snmptrapd off
chkconfig xfs off

14
雜七雜八 / 我想討論一下 cluster
« 於: 2008-06-16 01:15 »
我從以前就很嚮往建設一個 cluster 環境
不管是平行運算還是服務集群,似乎是很難有機會實做
剛好這次聽到 Google Developer DAY 2008 中提到的
使用 BigTable + GFS + Google App Engine
跟我夢想中的 cluster  幾乎是一模一樣的

但是 這些全部都是 Google 自己的  solutions
想請問各位
不知道除了 Google 之外
現在是不是幾乎都沒有公司有條件可以實現像 Google App Engine 這種架構的 cluster ?
如果真的有條件,為何沒看到幾個公司在用
如果沒條件,那門檻到底為何?

15
LDAP 討論區 / LDAP + TLS Replication + Sudoers
« 於: 2008-05-10 17:10 »
我使用 FreeBSD 6.2 來架設 TLS LDAP
並且只聽 636 port
目前在本機上可以成功辨識自己的Ldap帳號

沒有加 TLS 之前, replication slave 與 sudo 也可以正確的運作
但是加了 TLS 之後所有依賴 pam 模組的服務都無法使用了
也就是ssh, sudo 都無法運作

repliction 則是會讓 slupd 當掉...

根據網路上的資料
可以有兩種方式一種是 port 389 + Enable TLS 傳輸
另一種方式是 ssl on 也就是 port 636 直接傳輸
請問這裡有人成功實做出來 TLS LDAP Replication?

16
雜七雜八 / [思考] 有人負責就好
« 於: 2007-09-02 01:21 »
再過 3 天,我來台北工作就滿兩年了...
這兩年發生好多事,
也在這裡學到不少,看到不少...
我綜合我的心得,體會出:

只要有人肯負責,
其實技術就並非那麼重要了...

因為客戶或是老闆,想聽到的只是有人說
『沒問題,包在我身上!』而且能100%達成最好。
他們不在乎是誰要完成,
他們只在乎責任是誰扛...東西弄不弄得出,
問題能不能解決,時間花的久不久...
厲不厲害倒是其次了....

我其實利用這點趁機學了不少,
不少第一次面對的挑戰...就這麼被我混過去...
只是不知道未來還有多少考驗?
當然要對自己投機取巧的腦袋有點把握才敢這麼玩...
唉,只是,敢死隊也不知道能當多久,
不知道腦袋什麼時後會進入更年期...
算了,只要餓不死不就好了嗎...
想這麼多幹麼 :lol:

17
query cache 是 4.1 也有的功能,
不過我用 5.0 使用同樣的設定

query_cache_size = 32M
query_cache_type = 1

卻只有下面的結果
代碼: [選擇]
mysql> show status like 'Qca%';
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 1        |
| Qcache_free_memory      | 33536416 |
| Qcache_hits             | 0        |
| Qcache_inserts          | 0        |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 7138749  |
| Qcache_queries_in_cache | 0        |
| Qcache_total_blocks     | 1        |
+-------------------------+----------+
8 rows in set (0.00 sec)


反之,使用 4.1 (這台主機是測試環境)
代碼: [選擇]

mysql> show status like 'Qca%';
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 1        |
| Qcache_free_memory      | 33463056 |
| Qcache_hits             | 14       |
| Qcache_inserts          | 9        |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 147      |
| Qcache_queries_in_cache | 9        |
| Qcache_total_blocks     | 24       |
+-------------------------+----------+
8 rows in set (0.00 sec)


正常來講假如我不斷reload 網頁的話,
hits 應該會增加,但是只有 4.1 的會如此,
5.0 穩穩的動都不動.... :cry:

請問各位是否有碰過這種情形?

18
雜七雜八 / [尋書] Perl 食譜(上)
« 於: 2007-08-30 00:47 »
突然對 perl 很有興趣,
買了 O'Reilly perl 食譜 (下)
以為過陣子再去書店就可以買到 (上)
沒想到上網站查詢,卻已絕版!

不知道這邊有人想脫手的嗎?

19
安裝 Ruby on Rails on CentOS 4

目前方法雖然都找的到,但是本人做起來覺得稍欠詳細,
好不容易拼拼湊湊終於湊到了應該是ok的步驟,
因此重新整理了一下,給大家參考。

參考網頁:
http://rubyworks.rubyforge.org/installation/centos.html

http://wiki.rubyonrails.org/rails

安裝之前,有想使用 fcgi 者,請先參考以下安裝 fcgi 軟體,才可順利安裝
gem fcgi 與 mod_fcgi
代碼: [選擇]


wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
(根據版本可能檔名會變)
gunzip fcgi-2.4.0.tar.gz
tar -xvf fcgi-2.4.0.tar
cd fcgi-2.4.0
./configure
make
make install


安裝 mod_fastcgi
代碼: [選擇]

wget http://fastcgi.coremail.cn/mod_fcgid.tar.gz
(根據版本可能檔名會變)
tar -zxvf  mod_fcgid.tar.gz

切換至目錄下,編輯 Makefile 檔案

vi Makefile 確認以下內容 (不正確就將原來註解,並加上以下)

代碼: [選擇]

top_dir = /usr/lib/httpd
INCLUDES=-I /usr/include/httpd -I /usr/include/apr-0

然後直接 make; make install.
就會產生 mod_fcgid.so 在 /usr/lib/httpd/modules 裡面了。

之後請於 httpd.conf 內加入
代碼: [選擇]

LoadModule fcgid_module /usr/lib/httpd/modules/mod_fcgid.so
<IfModule mod_fcgid.c>
    SocketPath /tmp/fcgid_sock/
# 請注意這邊 fcgid_sock 目錄owner 必須是 apache
    AddHandler fcgid-script .fcgi
</IfModule>

重新啟動 apache 即可運作。

1.安裝 Ruby
代碼: [選擇]

cd /etc/yum.repos.d/
wget http://dev.centos.org/centos/4/CentOS-Testing.repo
yum --enablerepo=c4-testing install ruby ruby-docs ri ruby-libs ruby-mode ruby-tcltk irb rdoc ruby-devel

PS:若出現 Error: Missing Dependency: ruby = 1.8.1-7.EL4.8 is needed by package irb
請先執行 yum install irb 即可。
2.安裝 Ruby Gems
代碼: [選擇]

wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar -xzf rubygems-0.9.0.tgz
cd rubygems-0.9.0
ruby setup.rb


3.使用 Gems 安裝 Ruby 模組
代碼: [選擇]

gem install rails --include-dependencies
gem install fcgi
(fcgi 不使用者可跳過此步驟)
gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

4.修改 lib 尋找路徑 #不使用 fastcgi 者可跳過
vi /etc/ld.so.conf 加入 /usr/local/lib 並存檔
之後 shell 底下輸入 ldconfig 即可。

5.確認 apache 等套件是否安裝
yum install httpd-devel httpd apr apr-devel apr-util-devel emacs-common mysql-devel

6.確認 apache 以下模組有載入
代碼: [選擇]

LoadModule cgi_module modules/mod_cgi.so
LoadModule rewrite_module modules/mod_rewrite.so


7.開 virtual host
CentOS 的 httpd confing 已經有經過整理了,
因此只需要在 /etc/conf.d/ 底下增加需要的 conf 即可。

vi /etc/conf.d/hosts.conf

代碼: [選擇]
<VirtualHost *:80>
SetEnv RAILS_ENV development
ServerName ruby.yourdomain.com
DocumentRoot /data/RuByDev/public
ErrorLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/ruby-error_%Y%m%d.log"
CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/ruby-access_%Y%m%d.log" combined
<Directory /data/RuByDev/public>
Options +ExecCGI +FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


8.使用 rails 開啟專案
先隨便選一個地方,shell 內隨便輸入
rails /data/RuByDev #使用上述 virtual host 的設定
即可產生專案。

然後確定此目錄一定要有 apache 可以存取的權限,
我直接輸入:
chown apache.apache RubyDev

接著切換至 /data/RuByDev/public 下:
vi .htaccess
檢查內容,確認 Rewrite 引擎 on
並打開此行
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
欲使用 fastcgi 者可修正為 (不使用者可跳過)
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

.htaccess 的設定是立刻生效的,因此不用重新啟動 apache.

9.啟動 Rails on Apache

此時應該可以使用 Rails 了,
寫一個 ruby 程式吧!
請先切換目錄到 /data/RuByDev 下
專案已經產生過了,現在要再產生控制器:
a. 產生控制器
ruby script/generate controller mytest
b. 定義 action
代碼: [選擇]

vi app/controllers/my_test_controller.rb
class MytestController < ApplicationController
def index
end
end

c. 編輯程式
vi app/views/mytest/index.rhtml
內容可參考 Ruby 語言,在此我隨便打一個:<%= 2+3 %>

d.瀏覽http://ruby.mydomain.com/mytest/index
看到寫著 5 的網頁即成功!

20
雜七雜八 / [why] MIS 超人?徵超人?
« 於: 2007-05-27 00:37 »
不論別人怎麼吐槽,
徵超人的要求還是一直出現...
要會DB又會C  :o
到底這行業是多麼的莫測高深...?

21
因應客戶專案,需要一位約聘人員,管理約六台 Linux 主機。
(目前是我在顧)

條件:

1.對 Linux 有著燃燒搬的興趣而且有意以它吃飯者。(這個最重要)
2.會基本 Linux 操作, vi, tarball, rpm, crontab, apache config...etc.
3.會使用 Linux 架設 LAMP 平台的網站.
4.會主動學習新事物,主動使用 Google 找答案.

工作很單純,顧網站而已,
原則上是培訓給客戶用的,算是客戶那邊的人,
這網站是他們的寶..日後會有線上交易。

所以做的好說不定會有機會更上一層樓..@@

PS: AP 平台是 resin, 所以一切都要自己K原文...

而且以後說不定還會接觸到更多一般人不知道的領域...
或是你自覺需要更加強的領域,身為 IT 人員這點自覺應該要有吧,
自己要有一付應付未知的學習方法喔!

約聘一進來應該是給我帶,我本身不會把 STFM 掛在嘴邊,
該教的我都會教,有興趣學習者我必傾囊相授...
如果最後能變得比我厲害那當然更好 :roll:


工作地點:台北市松山區附近

薪資:老闆才能決定..我會盡量幫你談。

有意者可寄到我hotmail, chaokenyuan@hotmail.com

22
雜七雜八 / [詢問] 請問MIS選購品牌PC or NB
« 於: 2007-05-23 20:27 »
...老闆每次都虎爛我不加人
好啊現在電腦終於不夠了,目前有一個問題就是
需要隨機配 WindowsXP作業系統,
但是現在幾乎筆電每家都隨機出 Vista 了...
問過Dell 的PC 好像還有XP的,該怎麼辦?

23
apache 整合 tomcat, resin, weblogic 筆記

前言:

因為公司需要不同的 Java AP 開發環境,
客戶也需要連線測試,久而久之專案一多,
測試的機器也多起來,對外IP就不夠用了,
事實上12M/1M 的專線只有三個IP,當然需要節省,
又,各個測試環境上面的檔案一多起來,管理也變得麻煩了,
一下子連這台一下子連那台,搞到自己都快分不清楚了,
故靈機一動想到了用一台 apache 綁定其他主機的方法,
一來可以整合 IP 連線,二來配合 NFS 也可以更有效率的管理檔案。

所有主機環境皆為 CentOS 4.4 跟 RedHat Enterprise 幾乎一樣的 Linux
apache 為 CentOS 內定 2.0.x 版本
tomcat: 5.5.12
resin: 3.1.0
weblogic: 8.1.5 經反覆實驗,安裝在 Cent OS 4.3 才能 work.

構想如下,apache 一定在 NAT Server 後方,
因此若整合成功,只需一個對外 IP 即可滿足所有連線需求。
引用

apache+NFS Server--> tomcat + NFS Client
   |
   --> resin + NFS Client
   |
   --> weblogic + NFS Client
   |
   --> ..etc + NFS Client


首先設定一下 apache 的主機
我設定為 192.168.0.9 並規劃一磁碟空間 /data 作為 NFS 分享的區塊。
編輯 /etc/export 內容為:
代碼: [選擇]
/data   192.168.0.0/24(sync,no_root_squash,rw)

接著規劃一下 dns 其他主機的名字以指向 192.168.0.9
將 Zone mydomain.com 添加以下
代碼: [選擇]

apache          IN      A       192.168.0.9
resin           IN      CNAME   apache
tomcat          IN      CNAME   apache
weblogic        IN      CNAME   apache
ftp        IN      CNAME   apache


接著設定 192.168.0.9 上面的 Vitural Hosts
由於以後可能會綁定很多主機,
因此我預計把變更到的設定都放在 /data/apache_conf/ 下面,
故我編輯 /etc/http/conf/httpd.conf
在最後一行加入:
代碼: [選擇]
include /data/apache_conf/*.conf
用這種方式以後管理才不會霧隡隡.
以下是我使用的 vitural hosts 設定 ourtest.conf
代碼: [選擇]

NameVirtualHost *:80

<VirtualHost *:80>
        DocumentRoot /data/products/mydomain.com/apache
        #apache website, to test php or html
        ServerName apache.mydomain.com
        ErrorLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/apache-error_%Y%m%d.log"
        CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/apache-access_%Y%m%d.log" combined
</VirtualHost>

<VirtualHost *:80>
    include /data/apache_conf/resin_jsp/resin_jsp-master.conf
    DocumentRoot /data/products/mydomain.com/resin
        #resin website for demo, to test a demo and keep a safe version.
    ServerName resin.mydomain.com
    ErrorLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/resin-error_%Y%m%d.log"
    CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/resin-access_%Y%m%d.log" combined
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /data/tomcat_webapps/webapps
    include /data/apache_conf/tomcat_jsp/tomcat_jsp-master.conf
#tomcat website, now only for develop. \\192.168.0.50\JSPWebPages
    ServerName tomcat.mydomain.com
    ErrorLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/tomcat-error_%Y%m%d.log"
    CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/tomcat-access_%Y%m%d.log" combined
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /data/weblogic_webapps/webapps/
    include /data/apache_conf/weblogic_jsp/weblogic_jsp-master.conf
        #weblogic website, now only for develop.
    ServerName weblogic.mydomain.com
    ErrorLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/weblogic-error_%Y%m%d.log"
    CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/weblogic-access_%Y%m%d.log" combined
</VirtualHost>


各位一定注意到我有設定 cronolog,這軟體安裝也很方便,需到官網下載,
解壓縮後按照一般 tar 的安裝方式即可,安裝完畢後 apache 才能正確啟動。

另有 include 的 file 是 xxx-master.conf 檔案,
這些內容分別是這些 ap 所需要的模組,
因為只要 load 一次即可,故若要開第二個相同 ap 的站,
只需要把 LoadModule 語法拿掉存成 xxx-slave.conf
就不必忍受再次 loadmodules 的錯誤訊息,亦可搭配 cluster 來玩。

既然是不同台,設定也可能會有不同的,
我為了方便管理,也特意用 include 的方式了,以下為內容:

resin:
代碼: [選擇]

        LoadModule caucho_module /data/apache_conf/resin_modules/mod_caucho.so
        ResinConfigServer 192.168.0.40 6800
        CauchoConfigCacheDirectory /tmp
        CauchoStatus yes
        <Location "/*.jsp">
        SetHandler caucho-request
        </Location>

tomcat:
代碼: [選擇]

        LoadModule jk2_module /data/apache_conf/tomcat_modules/mod_jk2.so
        JkSet config.file "/data/apache_conf/tomcat_jsp/workers2.properties"

workers2.properties:
代碼: [選擇]

[logger]
info=Native logger
level=ERROR

[uriMap:tomcat.mydomain.com]
info=Maps the requests.
debug=0

[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=anonymous
debug=0

[workerEnv:]
info=Global server options
timing=0
debug=0

[lb:lb]
info=Default load balancer.
debug=0

[channel.socket:192.168.0.50:8009]
info=Ajp13 forwarding over socket
debug=0
tomcatId=192.168.0.50:8009

[uri:tomcat.mydomain.com/*]
info=Tomcat HTML based administration web application.
debug=0

weblogic:
代碼: [選擇]

LoadModule weblogic_module  /data/apache_conf/weblogic_modules/mod_wl_20.so

<Location /console>
SetHandler weblogic-handler
</Location>

ConnectTimeoutSecs 30
WebLogicHost 192.168.0.8
WebLogicPort 7001
MatchExpression *.jsp


別忘了把各 modules 必要檔案 copy 至符合的路徑,
現在只要 restart nfs 與 apache 設定即可生效。

接著設定 192.168.0.8,40,50 的 NFS Client
代碼: [選擇]
chkconfig netfs on 使每次開機會去抓網路磁碟
代碼: [選擇]
chkconfig portmap on 不開此服務掛載 NFS 會很慢
然後編輯 /etc/resolv.conf 最後一行加入
代碼: [選擇]
search mydomain.com
編輯 /etc/fstab 最後一行加入
代碼: [選擇]
apache:/data    /data   nfs     rsize=8192,wsize=8192,timeo=14,intr
然後 mkdir /data
接著 service netfs restart
即可看見 /data 裡面有你的 192.168.0.9 分享資料。

接著把各 AP 的 webapps 目錄更名,
做softlink 到 /data 上面的路徑,即可整合。

接著 ftp 很簡單就不贅述...只需要通過 apache 主機即可傳送一次檔案就通用四台...
若沒有 NFS Client 的主機也用同樣的設定輕鬆整合對外連線;
目前我tomcat 那台是 Windows 2000 設定 /* 轉給它就好了。

其他安全設定,可利用 location 標籤限制 ip.
以上@@.

附錄檢討作法:

一開始也有變更為利用 vituraldocumentroot 大量虛擬網站方式建制 vitural hosts
但會與那些 ap 衝突...ex: resin會去搶 tomcat 故而作罷。
只有利用vituralhost的標籤方可完全隔離各個 ap.

24
來台北工作快兩年了,加上新竹的經驗出社會已經快五年,
遇到的客戶數不清...可是真的在玩系統的除了大型機關外,
其餘的公司幾乎沒什麼這類的人,
雖然說因為沒這類的人導致系統的玩意都交給我,
學的很高興,可是總覺得有點不妙...雖然論壇上也有可以討論的人,
但現實總是遇不到幾個能一起討論的人,而且都東缺西缺的,

例如

懂 Programming 卻不懂 Network Service
兩個都懂的卻又不懂 Hardware 與 OS.

敝人除了 Programming 之外都略有涉獵,
不過我也看得懂一點 code 簡單的 php 或是 shell script都寫過,

這兩年下來,感覺我的同類好像越來越少了....
也意味著我找到交接人的機率越來越低...
對於我自己的定位也好像越來越模糊...

這樣下去該怎麼辦才好?

25
現在....有一個這樣的網站

apachex1 + resin x3 + dbx2

apache 使用 vituraldocumentroot + rewrite 實做多網站設定+NFS Server
resinx3 使用 cluster 與 apache 整合+NFS Client
db 使用 mysql master+slave 抄寫

網頁檔案都放在 apache那台上 ,
而resin x3 的webapps 以softlink 指向 NFS 網路磁碟,
因此傳檔都連上 apache 那一台機器只要傳一次。

這樣作是否有需要注意的問題?
又,站上有經驗的大大,
如果碰到這類的 cluster 會建議以什麼樣的方式去改良它?

還有一個問題,就是 NFS 與 ftp, apache 的關係...
當檔案存放空間不夠,這些服務又無法運作於NFS上面的時候,
不知道以往的解決辦法是...?

小弟有在另一個地方問過,答案是關閉 sendfile支援,
但不work.........Orz

26
為了這個問題快瘋掉了...

我在客戶提供的 File Server(配置LVM) 設定 NFS Server分享磁碟
NFS Client 是 WebServer,
內部 cp 傳檔都OK

但是網頁程式卻無法順利執行 (例如要上傳檔案,影片會失敗)
不只這樣,還發現 NFS Client 若提供 vsftpd 時,
ftp Client 端要只傳檔案到系統上的 NFS 磁碟都會停住....
無法順利傳檔,試了許多參數都一樣
做 soft link 當然不行...(但只要在Local磁碟就沒問題,程式問題排除)

但是同樣的問題在 AIX Server 上面並沒有發生...(ftp 可以順利上傳至NFS Disk)
只要普通的 mount 不帶任何參數就ok。
為了解決這個問題,我搜尋很多網頁,發現HP大型Server說明網頁
也有大辣辣的說"透過NFS與FTP共用檔案與應用程式"的說明頁

這....
難道只有大型Server的OS有此能力,CentOS上有嗎?
還請有經驗的大大提供解答...Thx!!!

27
:D

昨天凌晨12點開始,Hinet不明原因速度奇慢無比...
早上到了公司馬上查看原因,怪怪 Cacti 下載統計飆到 600Kbytes
用 tcpdump 查看 NAT 主機,怪怪..
代碼: [選擇]

09:37:13.073868 IP 216.32.70.106.52902 > 我們公司的NAT IP.54674: UDP, length 1


一直出現狂洗....
對方 216.32.70.106 : 52902 一直送長度1的 UDP封包
設定ip tables 阻擋也無效!

於是我立刻更改主機設定 把"我們公司的 NAT IP" 換掉
(因為我們是固接ADSL 所以有3個IP可以換)
但換了再用 tcpdump 看依然一樣可以抓到上面那段訊息..."還是送到沒改過的目的IP"

推斷應該是小烏龜那一段被攻擊了,於是當然就報修囉!
結果機房人員先是強推一個 IPS的服務,
我說我們已經知道攻擊端了還要我們花錢去用這個東西會不會奇怪了點,
他一聽狀況不對,就找了一個資深人員來,然後該員立刻就答應先幫我檔了...
還說要半小時...娘的,我就等。

半小時(15:30)後,打電話問,據他說改完了,但我這依然無效一直收到封包,
繼續追問他們如何證明已經改了?他們說那是義務幫忙,不用證明,
而且本來就不一定會成功。我反問『請問,請問這不一定成功的根據在哪』
(因為我實在想不出來在 Router 上面檔IP怎麼會失敗...)
他說
『之前是有失敗的紀錄啦,也許他可能有修改東西,所以你們得到的資訊並不完整』
(well...我承認我不懂封包裡面講什麼,好吧,你說的也有可能。)
『但是這通訊協定封包的來源根本不可能是假的吧?』我說
『這我就不清楚了,也許還有其他資訊也不一定啊』他說。
『那如果擋了無效之後怎麼辦?』
『那我們會把擋住的IP移除』火大,第一次看到有人遇到問題處理無效會往後退的...
『我是問怎麼進一步處理?』
『可以先撥0800...(一支資安服務的電話)使用剛剛我同事提的IPS服務,或是請網路警察處理』他說。
『報警?』我....
『因為這是網際網路,是公開的地方,我們已經先幫你從機房這邊設定檔它了,再上層不能隨便幫人阻擋,因為也有可能影響別人,所以要是私人單位就可以使用IPS服務多一層保護,不然就是報案請偵九隊處理了。』他頭頭是道。
『好吧,那我先試試IPS服務好了,謝謝』

接著我就在報案,詢問IPS 周旋...兩邊都問了...=.= 封包依然唱秋...

然後 18:04 分,封包突然停止了....哇,停了耶!

......................無言分隔線

中華電信為了讓我們買 IPS 故意被攻擊嗎?繼續打去機房問,他說他們都沒動。

事後我覺得是被中華虎爛了,15:30 他真的有去操作機房 Router 嗎=.=
還是 Router 有 cache ?(這 cache 需要三小時...會不會太久)

雖沒玩過 Router,但我都知道 Linux 上面可以route flush cache
這封包攻擊蠻沒品的(雖然聽過很多,但實際發生是第一次碰到)
整起事件發生已超過12小時,就這樣 Hinet 的線路一直無法使用。

所以我被中華虎爛的機率很大 :o

下次記住了,Hinet 網路被攻擊要報警處理....

28
雜七雜八 / [問題] 有沒有嘗試過 apache +IIS?
« 於: 2007-03-12 20:21 »
請問,這只是我一個想法啦,當然也已經找過Google大神,
不過各種情況不同,不能說沒必要就永遠不去做吧...

是這樣的,apache 加上模組可以跑 asp 但效能不佳,
老實說這樣的平台也並不完美。

有沒有人想過用 apache 跑 html , IIS 跑 asp?
我使用 ProxyPass 來試驗,結果是不行...
也許可以用 rewrite 跟 mod_proxy 做到網址不變,
但那非得也連 html 都丟給 IIS 那台主機不可了,兩者要求無法分開...
我的理想是跟 apache + tomcat 一樣,可以分開兩台主機,有人試過嗎?

若能成功,必定省不少事...也可幫助 win32 與 Unix-Like 更能整合..
目前小弟已經筆記好 apache + resin + tomcat 整合方法,也成功運作中,
不過還找不到機器灌上 weblogic ...我想至少整合三種才把筆記放出...
最終目標當然是可以盡量整合所有 ap..
 (最好連 Websphere  都可以拆開..嘿嘿= =)

到時再繼續分享出來...其實方法不難,只是把apache 整合所需的 mod都掛上去,
然後各開一個 Virtual Host + NFS Disk 而已,
若真的可以將 apache 與各家 AP 整合,對開發環境來說想必是大大好事...

以上,若有業界先進知 apache + IIS 整合之方向,可否略為指導小弟?

29
找到的軟體有 apache ftp Server 與 cross ftp server
前者似乎沒有支援 UTF-8,後者則支援 UTF-8
但是有一個問題...

config 找不到 sample..以下為我找到的 config 說明,

http://incubator.apache.org/ftpserver/configuration.html

不知道是否有大大使用過這類的 ftpd,Java Base 的,
我有參考過它 default 的組態,似乎參數的另一邊只要用 "=" 就可以設定了,
不過 ldap 的設定完全不 work,
而且 config 錯誤此服務還是可以啟動,log 上也沒有 config 的錯誤訊息...
所以小弟完全不知道如何探索正確的 config 設定方法,只好來這求助...

代碼: [選擇]
config.user-manager.ldap-url LDAP URL (eg. ldap://localhost:389)
config.user-manager.ldap-admin-dn LDAP administrator (eg. cn=Directory Manager)
config.user-manager.ldap-admin-password LDAP administrator password
config.user-manager.ldap-authentication LDAP server authentication type. The default value is simple.
config.user-manager.ldap-user-base-dn LDAP server root where all users are stored (eg. ou=people,o=yoursite.com).
config.file-system-manager.class File system manager implementation class - org.apache.ftpserver.filesystem.NativeFileSystemManager
config.file-system-manager.create-home Flag to indicate whether user home directory will be created if not exists.
config.ftplets Comma separated ftplet names.
config.ftplet.name.class For each ftplet there must be one configuration parameter. This is ftplet implementation class.
config.ftplet.name.param Each ftplet can have its own configuration parameters.


以上,若以第一個設定來看,我是設定成
config.user-manager.ldap-user-base-dn=ou=Users,dc=mydc,dc=com
這樣似乎太怪了,而且不但不 work,服務又能成功啟動.. :o

不知道是否有人可以分享經驗呢?
多謝! :lol:

30
不知道有沒有人發現,只要密碼為連續的零,
皆會登入失敗!不管是最新的 phpLDAPadmin - 0.9.8.3
或是舊版 phpLDAPadmin - 0.9.4b  都一樣。
在此貼上運作成功設定當參考:

phpLDAPadmin - 0.9.4b 設定參考
代碼: [選擇]
$servers[$i]['host']='127.0.0.1';
$servers[$i]['base']='dc=example,dc=com';
$servers[$i]['port']=389;
$servers[$i]['auth_type']='session';
$servers[$i]['login_dn']='';
$servers[$i]['login_pass']='';
$servers[$i]['login_attr'] = 'uid'; #只需輸入 uid 即可登入
$servers[$i]['login_class'] = 'posixAccount';


而新版的設定改變了,以下也是 config.php 的成功運作設定
phpLDAPadmin - 0.9.8.3 設定參考
代碼: [選擇]
$i++;
#$ldapservers->SetValue($i,'server','name','LDAP Server');
#$ldapservers->SetValue($i,'server','host','127.0.0.1');
$ldapservers->SetValue($i,'server','port','389');
$ldapservers->SetValue($i,'server','base',array('dc=example,dc=com'));
$ldapservers->SetValue($i,'server','auth_type','session');
$ldapservers->SetValue($i,'login','dn','');
$ldapservers->SetValue($i,'login','pass','');
$ldapservers->SetValue($i,'server','tls',false);
$ldapservers->SetValue($i,'server','low_bandwidth',false);
$ldapservers->SetValue($i,'appearance','password_hash','md5crypt');
$ldapservers->SetValue($i,'login','attr','uid'); #同上輸入 uid 即可登入
#$ldapservers->SetValue($i,'login','string','uid');
$ldapservers->SetValue($i,'login','class','posixAccount');
$ldapservers->SetValue($i,'server','read_only',false);
$ldapservers->SetValue($i,'appearance','show_create',true);
$ldapservers->SetValue($i,'auto_number','enable',true);
$ldapservers->SetValue($i,'auto_number','mechanism','search');
$ldapservers->SetValue($i,'auto_number','search_base','');
$ldapservers->SetValue($i,'auto_number','min','1000');
$ldapservers->SetValue($i,'auto_number','dn','');
$ldapservers->SetValue($i,'auto_number','pass','');
$ldapservers->SetValue($i,'login','anon_bind',true);
$ldapservers->SetValue($i,'custom','pages_prefix','custom_');
$ldapservers->SetValue($i,'unique_attrs','dn','');
$ldapservers->SetValue($i,'unique_attrs','pass','')

頁: [1] 2