July 2009

Smush.it - Tối ưu ảnh online

Đối với những người phát triển Website, tốc độ hiển thị của trang web là một yêu cầu rất quan trọng và có nhiều yếu tố khác ràng buộc với yêu cầu đó, như là đường truyền mạng, máy chủ, cách lập trình cho trang web. Nhưng có một việc mà một người thiết kế phải quan tâm đó là tối ưu những hình ảnh trên trang web để có được những bức hình chất lượng vừa lòng mà dung lượng lại chấp nhận được. Photoshop là một công cụ đa năng và hữu ích cho công việc đó. Đôi lúc người thiết kế cũng phải phân vân xem nên dùng định dạng ảnh nào cho phù hợp: jpg, gif or png. Mỗi loại đều có đặc điểm và thế mạnh riêng, nếu lựa chọn đúng sẽ làm giảm dung lượng ảnh đáng kể mà chất lượng lại không thay đổi nhiều lắm.

Bên cạnh Photoshop còn có rất nhiều công cụ khác để chúng ta tối ưu ảnh như các chương trình pngcrush, jpegtran. Ngoài ra chúng ta có thể tối ưu online bằng công cụ Smush tại trang http://smush.it. Tại trang này chúng ta có thể:

  • Upload nhiều file lên để tối ưu
  • Cung cấp danh sách url các ảnh để tối ưu
  • Lấy một Extension cho Firefox
  • Tối ưu các ảnh mà không làm giảm chất lượng đối với file gốc
  • Thống kê

Blog's topic:

Cài đặt Redmine trên Centos 5.3

Hôm nay mới chính thức được setup Redmine trên hệ điều hành Centos. Cách đây một thời gian mình cũng đã cài thành công Redmine trên Dreamhost, hôm nay có được một máy chủ VPS nên phải tự lực cấu hình.

Cài Ruby on Rails

yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql

Tiếp theo là download và cài ruby gems

wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz
tar xvf rubygems-1.3.4.tgz
cd rubygems-1.3.4
ruby setup.rb

Cài rails

gem install rails --include-dependencies

Cài đặt Phusion Passenger

gem install passenger

Cần cài thêm một số công cụ cho Apache

yum -y install httpd-devel apr-devel

Tiếp theo từ dòng lệnh chạy

passenger-install-apache2-module

Sau khi module Apache 2 cài đặt thành công, chúng ta mở file cấu hình Apache thêm đoạn giống như dưới đây vào cuối file đó

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.2
PassengerRuby /usr/local/bin/ruby

Khởi động lại Apache bằng lệnh

service httpd restart

Sau khi Apache khởi động xong thì để triển khai các ứng dụng Ruby on Rails trên Web thì chúng ta trỏ DocumentRoot vào thư mục public của các RoR project.

Để hoàn tất việc cài redmine, ví dụ tôi muốn cái Redmine lên subdomain http://a.xyz.com. Đầu tiên tôi tạo một thư mục projects trên server rồi download phiên bản mới nhất của Redmine về và giải nén vào thư mục projects đó. Sau đó tạo một subdomain http://a.xyz.com có DocumentRoot trở vào thư mục public trong projects. Như vậy khi chúng ta vào trang http://a.xyz.com thì module Passenger sẽ được kích hoạt để chạy ứng dụng RoR.

Các bước cấu hình Redmine thì làm giống như trên trang hướng dẫn cài đặt.

PS:

Các lỗi thường gặp:

/usr/local/apache/include/apr_file_info.h:200: error: 'apr_ino_t' does not name a type ..."

Lỗi này xuất hiện là do cài 2 thư viện apr trên server. Một cái cài mặc định và một cái cài Cpanel. Để khắc phục ta tạo một symbolic link như hướng dẫn dưới đây.

#ln -s /usr/local/apache/include/ /usr/include/apr-1