2009年8月18日

【bat】背景執行與kill process

在linux上只需要在指令後面加  & 就可以在背景執行
那windows上呢?

start /D<folder> /I /MIN /NORMAL /B <EXEC> > <log file>

那要刪除背景執行的程式呢?
除了使用工作管理員以外
要在bat內完成就是要下指令瞜

taskkill /IM mytest.exe /F

這樣所以mytest.exe產生的子程序也會跟著關閉了

2009年8月13日

【Apache】WebDav 相關設定

最近發現個好玩的東西



叫webdav



怎麼好玩呢?



當一台 web server 上沒有任何其他service時



要怎麼把檔案傳上web server呢?



其實可以靠Apache 的WebDav模組!



而且在Windows上有個軟體叫NetDrive



可以把ftp、webdav的連線內容模擬成一個磁碟來操作(當然需要相對的權限)



如此方便的功能,一定要來玩玩看得啦



首先要確定Apache有無安裝wevdav module



打開httpd.conf



搜尋



LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so



這兩行的註解記得拿掉



並且加上



Include conf/extra/httpd-dav.conf



路徑是妳webdav的設定檔



接下來就是設定httpd-dav.conf了



幾個重要參數介紹一下



DAVLockDB /usr/local/apache/var/DAVLock



這個必須要放在所有設定的最上面



DAVLock這個檔案mod_dav會在地一次執行時建立



但路徑裡的資料夾必須是要存在的



Alias /webdav "C:/xampp/webdav"



這是設定webdav的資料夾



<Directory "C:/xampp/webdav">

#將DAV功能開啟

Dav On

#設定該資料夾權限

    Order allow,deny

    Allow from all

#類似title

    AuthName DAV-upload


    AuthType Basic

#該資料夾登入時所用的帳號密碼檔(可用htpasswd建立)

#使用方法:htpasswd.exe -c "C:/yourPath/user.pwd" username

    AuthUserFile "C:/xampp/security/htpasswd.webdav"

 

#設定使用權限,GET是read權限,PUT是write權限  

<LimitExcept GET PROPFIND OPTIONS PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

#哪個user適用這個權限

require valid-user

 </LimitExcept>

</Directory>



最後在加上

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully

BrowserMatch "MS FrontPage" redirect-carefully

BrowserMatch "^WebDrive" redirect-carefully

BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully

BrowserMatch "^gnome-vfs/1.0" redirect-carefully

BrowserMatch "^XML Spy" redirect-carefully

BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On



就完成一個簡單的設定了



之後重新啟動Apache



就可以使用webdav的功能摟!







ps. 補上CentOS上的設定




<IfModule mod_dav_fs.c>


        LimitXMLRequestBody 131072


#WebDAV資料夾必須更改擁有者與擁有群組為apache:apache

<Directory /home/sites/your.domain.tld/webdav>

        # Options none

        Options Indexes FollowSymLinks

        IndexOptions FancyIndexing

        AllowOverride None

        Order allow,deny

        Allow from all

</Directory>


Alias /webdav "/home/sites/your.domain.tld/webdav"


<Location /webdav>

        DAV On

        AuthType Basic

        AuthName DAV

        AuthUserFile /etc/httpd/your.webdav.users.pwd

        <LimitExcept GET HEAD OPTIONS>

                require valid-user

        </LimitExcept>

</Location>

</IfModule>

2009年8月7日

【Javascript】Random get number

參考Ext3.0 source code

function getRandomInt(min, max){
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

2009年8月5日

【PHP】撿到寶還是惡夢的開始 - 縮圖程式 TimThumb

今天在google亂晃



很高興能找到這隻縮圖程式



但在server上縮一張很大的圖片時



一直給我出現 超出記憶體使用的Warring



php.ini裡的memory_limit我都調到3G了



他還是一直出現錯誤



搞了老半天



浪費一堆時間



終於在這隻可愛的 timthumb.php 裡找到一行...



ini_set('memory_limit', "30M");



.......



當場傻眼.......



好吧,我也只能說



這隻程式非常貼心

2009年8月1日

【Ubuntu】Ubuntu 9.04 VNC 遠端畫面不刷新

今天在用xrdp時順便測試vnc發現的奇怪現象

並找到這篇:
http://sntc06.pixnet.net/blog/post/24187572

原來是用了compize 的關係

裡面提出了幾個解決方法

但是我都沒用

因為並不打算拿Ubuntu Desktop版本當server

自然也不用遠端管理啦

不過還是紀錄一下

說不定以後會遇到 ^_^

【Linux】PuTTY Connect to CentOS5.3、Ubuntu 亂碼

最主要還是因為新版Linux編碼預設都是使用UTF-8

這也剛好符合我的需求

但putty預設編碼為big5

所以會有亂碼存在

解決方法有兩種

一種是更改linux系統編碼為big5

另外一種就是更改putty連線編碼為utf-8

當然是推薦第二種摟!

以下轉貼自:
http://www.wretch.cc/blog/nidgetgod/6561431

PuTTY 官方網站:PuTTY: A Free Telnet/SSH Client


中文亂碼解決辦法:


開啟 PuTTY -->左側選單 Window-->Translation-->Received data assumed to be in which character set-->改為『UTF-8』


最後左側選單的 Session-->Saved Sessions-->輸入你喜歡的名稱,例:Ubuntu-->按 Save 儲存


如此就不需要每次連線都去修改。

【CentOS】Web Server (Apache + PHP + MySQL + phpMyAdmin)

參考文章:

http://imniha.googlecode.com/files/c.htm

http://corpocrat.com/2008/09/28/how-to-fix-phpmyadmin-403-forbidden-error/



架設server不難



難的是設定!!



安裝只需要下yum search 之後再yum install



就可以了



目前就先列出需要安裝的package



httpd.i386 : Apache HTTP 伺服器

php.i386 : PHP: 內嵌於 HTML 的程序語言。(PHP:Hypertext Preprocessor)

php-gd.i386 : 能讓 PHP 應用程式使用 gd 圖形函式庫的模組

php-mbstring.i386 : 為 PHP 應用程式提供多位元組字串處理能力的模組

php-mysql.i386 : 能讓 PHP 應用程式使用 MySQL 資料庫的模組。

mysql-server.i386 : MySQL 伺服器與相關檔案。

phpmyadmin.noarch : Web application to manage MySQL //這要安裝RPMforge才會有 可參考環境建制那篇



phpmyadmin可不使用yum安裝



可直接到網路上下載壓縮檔

在document root下解壓縮後記得將config.sample.ini.php copy 一份

並重新命名為config.ini.php

再修改

$cfg['Servers'][$i]['auth_type'] = 'http';  //預設是cookie



Apache 設定檔:

/etc/httpd/conf/httpd.conf

web service port : 80



PHP 設定檔:

/etc/php.ini



MySQL 設定檔:

/etc/my.cnf

mysql service port : 3306



ps. 要知道哪個service佔用用哪個port可查看 /etc/service



補充:



更改MySQL預設編碼:

修改/etc/my.cnf

最上面加入

[client]

default-character-set=utf8



[mysqld]標籤內加入

default-character-set=utf8

default-collation=utf8_general_ci



重新啟動即可



使用yum安裝的phpmyadmin會有 403 Forbidden的問題

修改/etc/httpd/conf.d/phpmyadmin.conf





 #Order Deny,Allow

 #Deny from all

  Allow from 127.0.0.1





即可解決


 
 設定開機啟動:
chkconfig --list 查看
chkconfig httpd on 設定啟動
chkconfig httpd off 關閉