Never ask how to use, just wonder how to make...

Dec 23, 2010

Cài đặt server SVN trên nền CentOS

Subversion (SVN) là một phần mềm mã nguồn mở dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển phần mềm.
Trong bài viết này tôi sẽ trình bày các bước thiết lập một máy chủ Subversion trên nền hệ điều hành CentOS. Bài hướng dẫn này bao gồm các nội dung chính:
- Cài đặt subversion và cách tạo một repository mới
- Thiết lập WebDAV để có thể sử dụng SVN qua giao thức HTTP
Bạn cần hiểu về các khái niệm của SVN trước khi cài đặt. Có thể tham khảo ở link sau: http://svnbook.red-bean.com/en/1.5/svn.basic.html

1. Cài đặt Subversion
Trên Centos, cài đặt subversion rất đơn giản, bạn chỉ cần sử dụng lệnh yum:
# yum install subversion

2. Bước tiếp theo sẽ là tạo một repository mới. Giả sử bạn đã có thư mục /services/subversion, và muốn tạo repository mới ở đây, tên là new_project. Các lệnh để thiết lập như sau:
# svnadmin create --fs-type fsfs /services/subversion/repositories/new_project

3. Cài đặt và cấu hình mod_dav_svn của Apache
WebDAV (RFC 2518) là một tập hợp các chuẩn mở rộng của giao thức HTTP, để cho phép nhiều người dùng có thể hợp tác sửa đổi và quản lý từ xa các file trên một webserver. Được viết dựa trên tập chuẩn WebDAV, module dav_svn của Apache cho phép chúng ta truy cập repository SVN của mình thông qua máy chủ web Apache.
- Cài đặt mod_dav_svn:
# yum install mod_dav_svn
- File /etc/httpd/conf.d/subversion.conf:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
< Location /repos/ >
DAV svn
SVNParentPath /services/subversion/repositories/
AuthzSVNAccessFile /services/subversion/auth/acl
SVNListParentPath on
SVNPathAuthz off
AuthType Basic
AuthName "SVN Center"
AuthUserFile /services/subversion/auth/account
Require valid-user
</Location >
Các tham số quan trọng của file subversion.conf:
Tham số Location quy định URL SVN của bạn (VD: http://example.com/repos/new_project).
Tham số SVNParentPath khai báo đường dẫn tới thư mục chứa các repository.
Tham số AuthUserFile khai báo đường dẫn tới file chứa các tài khoản người dùng SVN.
Giá trị của tham số AuthzSVNAccessFile là đường dẫn đầy đủ của file cấu hình ACL, có chức năng phân quyền cho người dùng.
- Tạo thư mục auth:
# mkdir /services/subversion/auth
- Tạo file tài khoản:
# touch /services/subversion/auth/account
- Tạo file access control list:
# touch services/subversion/auth/acl
- Restart Apache:
# service httpd restart

4. Để có thể sử dụng repository new_project ta đã tạo ở bước 2, cần thiết lập permission cho phép Apache sử dụng thư mục repository (giả sử Apache đang được chạy bởi user apache):
# chown -R apache:apache /services/subversion/repositories/new_project
# chmod -R g+w /services/subversion/repositories/new_project
# chmod g+s /services/subversion/repositories/new_project/db

5. Tạo một tài khoản SVN mới bằng lệnh (hệ thống sẽ yêu cầu bạn khai báo mật khẩu cho tài khoản này):
# htpasswd -m /services/subversion/auth/account svn_user

6. Cấp quyền truy cập cho tài khoản svn_user bằng cách khai báo repository và tài khoản vào file acl như sau:
[new_project:/]
svn_user = rw

Như vậy, tài khoản svn_user sẽ có quyền đọc và ghi đối với repository new_project. Bạn có thể check out repository của mình thông qua URL http://example.com/repos/new_project với tài khoản trên.
Nếu bạn muốn tạo thêm một repository mới, hãy thực hiện lại các bước 2, 4, 5, 6.

Để tìm hiểu thêm về cách cài đặt và cấu hình Subversion, bạn hãy đọc chương 5 của ebook: http://svnbook.red-bean.com/en/1.5/svn-book.html


Dec 4, 2010

Google sắp mở Chrome Web Store


Đang code thì nhận được email từ team Chrome/Chromium. Như vậy là Google sắp tung ra chiêu mới: Web Store, để chọn đường cho việc kinh doanh apps trên Chrome OS sau này. Các bạn tập tành viết app dần đi, sắp bán được rồi đấy ^^.


Upcoming Launch of the Chrome Web Store

Hello!

Thank you for developing for Google Chrome. These last few months, our team has been hard at work, preparing for the Chrome Web Storelaunch later this year. Extensions and themes for Google Chrome will be part of this new store. With this email we wanted to inform you of some upcoming developments and changes in the extensions gallery and how you can best prepare the items you have listed in the gallery for the upcoming launch.

  1. We have updated our guidelines for extension and theme creative assets: We recommend you to produce all the creative materials described in our docs. These are currently available only to apps developers but the same guidelines will apply to all items listed in the store once we launch. So, if you get these prepared now, you are going to be ready when the store launches. For those of you with complex extensions, we also highly recommend investing some time in preparing videos and slideshows, describing how your extensions work.

  1. Double-check our branding policies: If you are using Google trademarks and brand names to describe your items, please take a moment to re-read our branding policies to help you avoid common mistakes.

  1. Verify your listed items using Google’s Webmaster Tools: This new feature allows you to associate your website with the items you have posted in the store. This will make users more comfortable trying them out. Access this feature at the developer dashboard.

  1. Set up your Google Checkout merchant account and associate it with your developer account: If you are located in the US and want to sell apps and eventually extensions or themes through the store, you’ll need to register for a Google Checkout merchant account. You can find more information on this new help article.

  1. Make your extensions more discoverable: We will be launching a robust system of extensions categories in the gallery. You now have the option to classify your extension in up to three of these categories through the developer dashboard. This will help your extension be discovered by users who will be browsing the pages for each category.

Thank you again for making Google Chrome a better browser.

The Google Chrome Extensions team

Jun 2, 2010

Bảo vệ mắt tốt hơn với Redshift

Bạn là người làm việc với máy tính? Bạn sử dụng máy nhiều hơn 10 giờ mỗi ngày? Và mỗi tối bạn có hơn 5 tiếng dùng máy? Mắt bạn luôn ở trong trạng thái mệt mỏi hoặc buồn ngủ do ánh sáng từ màn hình máy tính. Hãy thử sử dụng phần mềm Redshift. Redshift sẽ tinh chỉnh nhiệt độ màu của màn hình cho phù hợp với ánh sáng xung quanh bạn, dựa vào toạ độ địa lý của bạn.

Vào ban đêm, nhiệt độ màu sẽ được chỉnh cho phù hợp với nhiệt độ màu của đèn trong phòng (khoảng 3700K đối với bóng dây tóc). Ban ngày, nhiệt độ màu sẽ tương ứng với nhiệt độ màu của ánh sáng tự nhiên, khoảng 5500K - 6500K (mặc định là 5500K). Ánh sáng sẽ có nhiệt độ cao hơn vào những ngày nhiều mây. Khi nhiệt độ màu màn hình phù hợp với nhiệt độ màu của ngoại cảnh, mắt bạn sẽ không còn cảm giác mệt mỏi do làm việc lâu bên máy tính nữa.

Để cài đặt Redshift cho Ubuntu Lucid và Karmic, bạn có thể thêm repository và cài như sau:
  • sudo add-apt-repository ppa:jonls/redshift-ppa
  • sudo apt-get update && sudo apt-get install redshift
Sau khi cài đặt thành công, bạn vào website http://www.getlatlon.com/ để lấy vĩ độ và kinh độ chính xác nơi bạn ở. Ví dụ, toạ độ ở Yên Phụ, Hà Nội là khoảng (21.1, 105.9). Sau đó, bạn mở một cửa sổ Terminal và chạy lệnh sau để redshift hoạt động:
  • gtk-redshift -l 21.1:105:9
Để chương trình có thể chạy lúc khởi động, bạn thêm lệnh trên vào danh mục các ứng dụng chạy start-up (System > Preferences > Start-up Application).

Bạn có thể sử dụng tham số -t để thay đổi nhiệt độ màu mặc định của redshift. Ví dụ:
  • gtk-redshift -l 21.1:105:9 -t 6700:4700
Trong đó 6700 là nhiệt độ màu ban ngày, 4700 là nhiệt độ màu ban đêm. Mình thấy để nhiệt độ là 6700:4700 sẽ vừa với mắt hơn ^^ (mặc định là 5500:3700).

Bạn cũng có thể tạm thời tắt redshift để xem ảnh hoặc phim với màu sắc thực bằng cách kích chuột vào biểu tượng của redshift trên khay hệ thống.


Chúc các bạn sức khoẻ để thành công ^^.

May 30, 2010

May 23, 2010

Sunday clip: Linux Sets You Free



Bài hát vui nhộn được sáng tác và thể hiện bởi Scott Dastrup.

May 14, 2010

Những phần mềm nào sẽ được cài mặc định cho Ubuntu Netbook Edition 10.10?



Bản kế hoạch các phần mềm mặc định cho Ubuntu Netbook Edition 10.10 (UNE 10.10) vừa được đưa lên Launchpad ngày hôm nay. Tất nhiên danh sách này vẫn đang trong quá trình thảo luận, và có thể có những thay đổi nếu cần ^^.

Đầu tiên là trình duyệt web. Trình duyệt mặc định cho UNE 10.10 sẽ là Chromium, phần mềm nguồn mở do Google hậu thuẫn. Bản kế hoạch viết rằng Chromium sẽ là trình duyệt mặc định cho đến bản Alpha3, nếu như nó phù hợp với kích thước của đĩa LiveCD. Chromium cũng còn một số vấn đề khác cần xem xét. Các vấn đề này chủ yếu liên quan đến sự tương thích về phần mềm (in ấn, ffmepg, openjdk,...) cũng như giao diện (menu, buttons). Nếu Chromium không được chọn, trình duyệt mặc định sẽ là Midori.


Shotwell nhiều khả năng sẽ được chọn làm trình quản lý ảnh. Shotwell tương đối nhẹ, và tương thích khá tốt với các dịch vụ. Đây là trình quản lý ảnh duy nhất trên Gnome hiện có thể tương tác với cả Picasa, Flick và Facebook.


Bộ công cụ văn phòng OpenOffice sẽ được thay thế bởi ba phần mềm tương ứng là Abiword, GnumericGlide. Cũng như Ubuntu 10.04, Zoho sẽ vẫn được cung cấp kèm theo, tuy nhiên nhược điểm của dịch vụ này là không phục vụ chỉnh sửa ngoại tuyến!



Về chương trình multimedia, khả năng Banshee được chọn vẫn cao nhất. Trình chơi nhạc của Moblin (hornsey) đã bị bỏ rơi. XBMC tuy tốt nhưng lại không sử dung gstreamer. Vấn đề của Banshee chỉ là liệu nó có phù hợp với đĩa LiveCD (lại vấn đề dung lượng ^.-).

Cuối cùng, nhóm phát triển vẫn đang thảo luận về việc trình khách email nào sẽ được cài mặc định. Có vẻ như họ sẽ tuỳ biến lại Evolution cho phù hợp với netbook. Đã có một bản tuỳ biến của Evolution là Evolution Express, nhưng hình như có nhiều người không thích nó.

Về phần mình, mình vẫn khoái nghe nhạc bằng Rthymbox, Symphony cho tác vụ văn phòng và webmail + 1 tool notify cho thư điện tử :">.

May 9, 2010

Cần làm gì sau khi cài Ubuntu: Chạy script này ngay


Script được viết bởi Andrew[at]webupd8.org, Mục đích của script này là đơn giản hoá việc cấu hình mọi thứ của Lucid ngay sau khi cài đặt. Việc cấu hình bao gồm tự động mount các ổ NTFS lúc khởi động, thêm các kho (repository) bổ sung như Medibuntu hay GetDeb, xoá các gói không cần thiết, cài đặt các phần mềm quan trọng (VLC, Chrome, Dropbox,...) cho đến những tinh chỉnh nhỏ như chuyển windows button về bên trái theo kiểu Karmic, tắt âm thanh đăng nhập hoặc đổi ngày đầu tuần thành Thứ 2 thay vì chủ Nhật,...

Nhờ script, chúng ta có thể tiến hành nhanh chóng và đơn giản những công việc mà ta có thể phải tốn hàng chục câu lệnh.

Phiên bản mới nhất 0.4.9.1 đã hỗ trợ tiếng Việt. Các bạn có thể tải về từ địa chỉ:
http://launchpad.net/ubuntustart/0.4.x/0.4.9/+download/ubuntu-10.04-start-0.4.9.1.tar.gz

Một vài screenshot: