Octopress 部落格

一個靜態網站的部落格框架

Subversion 在 FreeBSD 上的設定

安裝 Apache

1. cd /usr/ports/www/apache22
2. make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_SSL_MODULES=yes WITH_BERKELEYDB=db42 install clean
3. # SVN 會使用到 bdb4, 所以 apache 在此要一起裝起來

安裝 Subversion

1. cd /usr/ports/devel/subversion
2. make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN -DWITH_APACHE2_APR install clean
3. 讓 svn 支援 apache22 的 DAV_MODULES

設定 SVN 基本環境目錄

1. mkdir -p /home/www/svn/repository/PROJECT_NAME # 路徑自行決定後再更改即可.
2. mkdir -p /home/www/etc # 來放 svn 所需要的設定檔
3. svnadmin create /home/www/svn/repository/PROJECT_NAME # svn 初始化
4. chown -R www:www /home/www/svn/repository/PROJECT_NAME
5. chown -R www:www /home/www/etc

設定 Apache2

LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so


# AllowOverride None
# Order deny,allow
# Deny from all
AllowOverride All
Order allow,deny
Allow from All


設定 virtual host and SVN


DocumentRoot /home/www/svn/repository
ServerName VIRTUAL_HOSTNAME
ErrorLog /var/log/httpd/svn.VIRTUAL_HOSTNAME-error_log
CustomLog /var/log/httpd/svn.VIRTUAL_HOSTNAME-access_log combined

DAV svn
# 注意, 這邊要用 SVNParentPath(不能放在 config 的後面…不然會一直出現error……………)
SVNParentPath /home/www/svn/repository
# Satisfy Any
AuthType Basic
AuthName “Svn repository”
AuthUserFile /home/www/etc/svn-auth-file
AuthzSVNAccessFile /home/www/etc/svn-access-file
Require valid-user


建立帳號

1. htpasswd -c /home/www/etc/svn-auth-file USER1 # 建立存取帳號
2. htpasswd /home/www/etc/svn-auth-file USER2 # 第二個以後的帳號記得不要 -c

建立 SVN 權限控制檔案

* vim /home/www/etc/svn-access-file

[/]
* =

[PROJECT_NAME:/]
USER1 = rw
USER2 = r

設定開機自動啟動 Apache

apache22_enable=”YES”

應該就好了……

http://example.com/svn/PROJECT_NAME/ =====> 我就是卡在這裡很久

就可以看到svn 了………….

以上幾乎都是抄…Tsung 大的..
只做了少部份修改……………….

出處:
http://blog.jiayun.org/1_jiayun/archive/119_e_wink_oeoe_subversion__tortoisesvn_i.html
http://plog.longwin.com.tw/my_note-unix/2007/07/18/freebsd_build_svn_2007

參考:
http://blog.jiayun.org/1_jiayun/archive/119_e_wink_oeoe_subversion__tortoisesvn_i.html
http://liangkuo.blogspot.com/2007/03/svn-subversion-tortoisesvn.html
http://plog.longwin.com.tw/programming/2007/11/02/svn_add_all_new_file_script_2007
http://i18n-zh.googlecode.com/svn/www/svnbook-1.4/svn.serverconfig.httpd.html
http://blog.miniasp.com/category/Subversion.aspx
http://huan-lin.blogspot.com/2009/04/introduction-to-version-control-system.html
http://www.juee.com.tw/bartender/svn-present/svn-share-forder.htm
http://plog.longwin.com.tw/my_note-programming/2007/07/10/svn_tutorial_2007/page/3

方便的好工具:SCREEN(可讓程式在背景執行)

方便好工具:screen
介紹:
  ssh到本機後,運用該軟體可以中途離開,但保持程式繼續執行,爾後登入可以繼續回到離開程式。
特色:
  遠端登入安裝,可以不必等待安裝完畢才離開連線,可運用screen讓連線中斷,等下次連線在查看安裝進度。
安裝:
# cd /usr/ports/misc/screen
# make install clean
指令:
//進入screen程式
# screen
//以下^A表示同按”Ctrl + A”鍵
# ^A c //Create,開出新的 window
# ^A n //Next,切換到下個 window
# ^A p //Previous,前一個 window
# ^A ^A //在兩個 window 間切換
# ^A w //Windows,列出已開啟的 windows 有那些
# ^A 0…9 //切換到第 0..9 個 window
# ^A t //Time,顯示目前的時間,與系統的 load
# ^A K //kill window,強制關掉目前的 window
# ^A ? //Help,顯示簡單說明
# ^A d //detach,將目前的 screen session (可能含有多個 windows) 丟到背景執行
當按了 ^A d 把 screen session detach 掉後,會回到還沒進 screen 時的狀態,此時在 screen session ?每個 window 內跑的 process (無論是前景/背景)都在繼續執行,即使 logout 也不影響。
# screen -ls //顯示所有的 screen sessions
# screen -r [keyword] //挑個 screen session 回來 (撿回來)

更多說明請參考原作者發文:
http://www.freebsd.org.hk/html/bsd/9/3/3.html

本篇參考: http://mybsdnote.blogspot.com/2006/04/screen.html

PHP: Curl POST a File

I’m trying to post a
word doc file to a remote server using cURL. I’ve tried posting ot to a local folder (code attached) but I don’t get the file at the recieved page. All the FILES data is there but what use is a local path to a remote server?

Array
(
[file] => Array
(
[name] => php1431.tmp
[type] => application/octet-stream
[tmp_name] => C:\WINDOWS\TEMP\php1432.tmp
[error] => 0
[size] => 26112
)

)

”@$fullfilepath”
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL, $upload_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($ch);
curl_close($ch);

//echo $response;
}

?>


<form enctype=”multipart/form-data” action=”<?=$_SERVER[‘SCRIPT_NAME’]?>” method=”POST”>
<input type=”hidden” name=”MAX_FILE_SIZE” value=”100000” />
Choose a file to upload: <input name=”userfile” type=”file” /><br />
<input type=”submit” value=”Upload File” />
</form>

MinGW安裝方式

MinGW安裝方式:
1. 先至 MingGW 下載 MinGW-5.1.4.exe
2. 安裝時除了core 必安裝外, 最好在安裝c++套件
3. 設定 windows 的 path , 加上 C:\MinGW\bin
4. 在 C:\MinGW\ 下, 產生 win_hello.c 檔案
內容如下:
#include
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox (NULL, “Hello”, “Hello Demo”, MB_OK);
return (0);
}

5. 執行 cmd, 在console 下執行 :
C:\MinGW>g++ -o win_hello win_hello.c -mwindows

6. 完成後, 如果沒有任何錯誤, 就會產生一個簡單的exe程式了~~ 祝順利~~

C/C++ MinGW 中,如何 Compilier *.rc 和 *.c

ps: *.rc is resource file
1. 先用 *.rc 產生 *.o 檔案.
2. 在 Complilier C/C++時,將 *.o 加入編譯中.

Ex:

windres resources.rc resources.o
gcc -o main.exe main.c resources.o

參考網站:這裡

ViewVC SVN Web介面安裝 (for FreeBSD)

1. cd /usr/ports/devel/viewvc
2. make install clean
3. 設定 /usr/local/viewvc/viewvc.conf

註解: #cvs_roots = cvs: /home/cvsroot

註解: #svn_roots = svn: /home/svnrepos

更新: root_parents = /data/sites/svn/repository : svn

註解: #default_root = cvs

更新: address = Bill

#修改: languages = zh-tw

#註解: #rcs_dir =

#註解: #cvsnt =
Technorati 的標籤:ViewVC,SVN,FreeBSD

#更新: svn = /usr/local/bin

#更新: diff = /usr/bin/diff
3. 修改 /etc/rc.conf

加入: viewvc_enable=”YES”
4. 修改 /usr/local/etc/apache22/extra/httpd-vhosts.conf

加入:


ServerAdmin xxxxx@gmail.com
DocumentRoot /usr/local/viewvc/bin/cgi
ServerName viewvc.xxxx.net
Alias /viewvc “/usr/local/viewvc/bin/cgi/”

Options NONE +ExecCGI
DirectoryIndex /viewvc/viewvc.cgi
Order allow,deny
Allow from all


5. 重新啟動Apache
6. 安裝 python2.6

cd /usr/ports/lang/python26

make install clean
7. 安裝 mod_python3

cd /usr/ports/www/mod_python3

make install clean
8. 修改 httpd.conf

cd /usr/local/etc/apache22

ee httpd.conf

加入: LoadModule python_module libexec/apache22/mod_python.so

AddHandler python-program .py

移除#號: AddHandler cgi-script .cgi
9. 重新啟動 Apache 即完成!

安裝測試機上的 SVN

1. 安裝 APR

cd /usr/ports/devel/apr
make instll clean

2. 安裝 SVN

cd /usr/ports/devel/subversion
make install clean


3. 在測試機上, 用 svn checkout http://svn.xxx.xxx/svn/project_name 將程式 checkout 進來

4. 當程式更新完後, 在該專案內執行 svn up ,就可以將程式更新到測試機 !


PS:
Question: 出現 svn: Can’t convert string from ‘UTF-8’ to native encoding

Answer:
1. setenv LC_CTYPE zh_TW.UTF-8
2. locale