QuanTriMang - Hiện tại, Cherokee là 1 trong số những Web Server hoạt động nhẹ, tính linh hoạt cao và dễ cấu hình, thiết lập. Ngoài ra, còn hỗ trợ nhiều nền tảng công nghệ tiên tiến hiện nay như FastCGI, SCGI, PHP, CGI, mã hóa kết nối giao thức TLS và SSL, virtual host, các cơ chế mã hóa, cân bằng tải tài nguyên, dữ liệu của hệ thống, file log của Apache... Trong bài viết sau, chúng tôi sẽ trình bày những bước cơ bản để cài đặt Cherokee trên hệ điều hành Fedora 14 server với PHP5 hỗ trợ (qua FastCGI) và MySQL.
Trong bài thử nghiệm này chúng tôi sử dụng hostname server1.example.com với địa chỉ IP 192.168.0.100. Tùy từng hệ thống khác nhau, các bạn cần điều chỉnh lại những thông số này sao cho phù hợp.
Cài đặt MySQL 5:
Trước tiên, sử dụng lệnh sau để cài đặt MySQL 5:
yum install mysql mysql-server
Tạo đường dẫn khởi động cho MySQL (qua đó MySQL tự động kích hoạt cùng hệ thống) và khởi động MySQL server:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
Sau đó sử dụng lệnh:
mysql_secure_installation
Để khởi tạo mật khẩu cho tài khoản root (nếu không thì ai cũng có thể truy cập cơ sở dữ liệu MySQL):
[root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <-- nhấn ENTER
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] <-- nhấn ENTER
New password: <-- mật khẩu root SQL
Re-enter new password: <-- mật khẩu root SQL
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <-- nhấn ENTER
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <-- nhấn ENTER
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <-- nhấn ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <-- nhấn ENTER
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
[root@server1 ~]#
Cài đặt Cherokee:
Hiện tại, Cherokee đã có sẵn trong các gói cài đặt của Fedora, do vậy chỉ cần sử lệnh:
yum install cherokee
Tạo đường dẫn khởi động cho Cherokee, và kích hoạt luôn dịch vụ này:
chkconfig --levels 235 cherokee on
/etc/init.d/cherokee start
Sau đó, mở trình duyệt và gõ địa chỉ http://192.168.0.100, các bạn sẽ nhìn thấy trang khởi động như hình bên dưới:
Cơ chế điều khiển của Cherokee được thực hiện qua trình duyệt, chúng ta có thể bắt đầu như sau:
cherokee-admin -b
Ở chế độ mặc định, cherokee-admin được gán với địa chỉ 127.0.0.1 (localhost), cũng có nghĩa là bạn chỉ có thể kết nối từ 1 hệ thống duy nhất. Với tham số -b đi kèm, bạn có thể chỉ định rõ ràng địa chỉ hệ thống mạng cụ thể cần kết nối đến. Kết quả trả về từ hệ thống sẽ có dạng như sau:
[root@server1 ~]# cherokee-admin -b
Login:
User: admin
One-time Password: gunCkIxdT8nQ6JqW
Web Interface:
URL: http://localhost:9090/
[10/11/2010 14:50:26.964] (error) rrd_tools.c:120 - Could not find the rrdtool binary.
Cherokee Web Server 1.0.4 (Jun 28 2010): Listening on port ALL:9090, TLS
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread
Các bạn cần đăng nhập bằng tài khoản tại địa chỉ sau http://192.168.0.100:9090/:
Giao diện chính của bảng điều khiển như sau:
Nếu muốn ngừng hoạt động cherokee-admin, nhấn Ctrl + C.
Cài đặt PHP5:
Chúng ta có thể làm PHP5 hoạt động trong Cherokee qua FastCGI, do đó cần cài thêm gói php-cli hỗ trợ:
yum install php-cli
Cấu hình PHP5:
Trước tiên, chúng ta cần chỉnh lại file /etc/php.ini và bỏ chú thích tại dòng cgi.fix_pathinfo=1 như sau:
vi /etc/php.ini
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
Sau đó khởi động lại Cherokee:
/etc/init.d/cherokee restart
Kích hoạt PHP5 trong Cherokee:
Ở chế độ mặc định, PHP không được kích hoạt trong Cherokee. Để khắc phục điều này, chúng ta cần truy cập vào cơ chế điều khiển chính của Cherokee:
cherokee-admin -b
đăng nhập qua địa chỉ http://192.168.0.100:9090/ như trên. Sau đó, chọn mục vServers, chọn tiếp vhost default và chuyển tới thẻ Behavior, nhấn nút Rule Management:
Trong cửa sổ bên tay trái, bạn sẽ nhìn thấy tất cả các quy luật hiện tại của hệ thống:
Click chuột vào biểu tượng dấu cộng bên cạnh Behaviour để thêm quy luật mới, 1 cửa sổ popup mới hiển thị, các bạn chọn Languages tại cột bên trái, chọn tiếp PHP và nhấn Add:
Tiếp theo, nhấn Create trong cửa sổ Configuration Assistant:
Tại đây, các bạn sẽ thấy quy luật mới dành cho PHP tại cột bên trái, với trạng thái NON FINAL. Người sử dụng có thể thay đổi các thiết lập mặc định của PHP nếu muốn, bên cạnh đó mục cấu hình của FastCGI nằm trong thẻ Handler:
Để hoàn tất quá trình này, click chuột vào ô có ghi NON FINAL:
Hệ thống sẽ chuyển thành FINAL:
Tại góc trên bên phải màn hình, các bạn nhấn nút Save để lưu lại sự thay đổi:
Và nhấn tiếp Graceful restart tại cửa sổ tiếp theo:
Giờ đây, PHP sẽ được liệt kê tại thẻ Behavior (có dấu check trong cột Final):
Sau đó, nhấn CTRL + C trên dòng lệnh để ngừng các hoạt động điều khiển.
Kiểm tra PHP 5:
Thư mục tài liệu root mặc định của website được lưu trữ tại /var/www/cherokee. Tiếp theo, chúng ta sẽ tạo ra 1 file PHP nhỏ (info.php) ngay tại thư mục đó và gọi ra bằng trình duyệt. File này sẽ hiển thị nhiều thông tin chi tiết về quá trình cài đặt PHP:
vi /var/www/cherokee/info.php
<?php
phpinfo();
?>
Và tiếp tục gọi file đó ra bằng trình duyệt (http://192.168.0.100/info.php):
Như các bạn có thể thấy, PHP5 đã hoạt động, và thông qua FastCGI, được chỉ ra tại dòng Server API. Nếu tiếp tục kéo chuột xuống phía dưới, bạn sẽ thấy tất cả các module đã được kích hoạt trong PHP5, và MySQL không được liệt kê tại đây, nghĩa là MySQL chưa được hỗ trợ đầy đủ trong PHP5.
Để khắc phục vấn đề trên, chúng ta có thể cài đặt thêm gói hỗ trợ php-mysql bằng cách tìm kiếm qua các module PHP5 như sau:
yum search php
Lựa chọn 1 thành phần và tiến hành cài đặt:
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
Sau đó khởi động lại toàn bộ hệ thống Cherokee:
/etc/init.d/cherokee restart
Tải lại file http://192.168.0.100/info.php trong trình duyệt, và kiểm tra lại các module trong danh sách:
Khi đã hoàn tất những bước trên mà không gặp nhiều vấn đề phát sinh, nghĩa là chúng ta đã kết thúc quá trình cài đặt hệ thống web server Cherokee với PHP và MySQL trên nền tảng Fedora 14. Chúc các bạn thành công!