Pages

Showing posts with label LAMP. Show all posts
Showing posts with label LAMP. Show all posts

Friday, September 16, 2011

Cách cấu hình thư mục ảo (Virtual Directory - như trên IIS) trong XAMPP

Có hai vấn đề mà tôi thấy cần phải viết bài này:
  1. Với những ai đã quen dùng Windows chắc cũng sẽ thao tác dễ dàng với IIS thì việc cấu hình một thư mục ảo (Virtual Directory - VD) thật sự đơn giản và chưa đầy 30 giây. Tuy nhiên, nếu bạn muốn chạy các ứng dụng viết trên nền PHP hoặc những nền tảng khác (thường thì chạy ổn định trên các máy chủ web lấy Apache làm nhân như Tomcat, XAMPP, JBoss...) trong môi trường Windows thì tôi nghĩ là nên cài thêm XAMPP hoặc Apache. Có rất nhiều bài viết trên mạng bàn luận lý do của điều này. Ở bài viết này, tôi không đi chi tiết vào vấn đề đó.
  2. Rõ ràng, nếu chúng ta tập trung các ứng dụng web vào cùng một thư mục cho dễ dàng quản lý là điều mà nhiều người muốn. Ngay cả IIS, tôi cũng rất ít đặt các websites vào thư mục Inetpub vì sợ rằng tính năng hay tò mò của mình mà đôi khi làm hỏng cả Windows thì việc cứu lấy các website cũng vất vả. Với XAMPP, các bạn lập trình web quá quen với thư mục htdocs chứa tất cả các ứng dụng web. Được một cái hay là XAMPP cho phép bạn cài đặt trên thư mục gốc của ổ đĩa khác với ổ hệ thống (C:). Khi đó, chúng ta cũng không quá lo lắng trong trường hợp Windows bị đột tử. Tuy nhiên, trong trường hợp mà bạn phát triển các project mà resources muốn đặt trong cùng một thư mục với specification và resources khác thì bài viết này lại có ý nghĩa hơn (vì cách quản lý thông thường là ít ai để những tài liệu phân tích trong thư mục web cả).
Phần tiếp theo tôi hướng dẫn cách cấu hình một VD trong XAMPP khi chạy trong hệ điều hành Windows.

Giả sử tôi có một thư mục D:\WebApps chứa hầu hết các ứng dụng web, và có một web site tên thư muc là: jQuery. Giả sử XAMPP được cài trên ổ D:, tức đường dẫn là: D:\xampp. Thông thường, nếu jQuery nằm trong thư mục D:\xampp\htdocs\jQuery thì khi gõ vào trình duyệt: http://localhost/jQuery, nó sẽ vào thẳng web site. Nhưng ở đây, nếu bạn chưa cấu hình VD cho jQuery mà chạy url trên thì chắc chắn lỗi. Do đó, chúng ta chỉ cần làm một thao tác nhỏ sau:

Chỉ cần copy và paste vài thẻ XML trên vào file: D:\xampp\apache\conf\extra\httpd-xampp.conf, nhớ đặt vào giữa thẻ IfModule.

Tái bút:
Nếu chạy XAMPP trên Ubuntu thì việt tạo một VD không cần thiết. Bạn có thể đặt thư mục của web site ở bất cứ đâu (ngoài htdocs) vẫn chấp nhận. Chỉ thêm một lệnh tạo một static link là xong:

Giả sử thư mục web: it4bus có đường dẫn đầy đủ như sau: /media/Data/WebApps/it4bus. Vào thư mục htdocs, gõ lệnh: ln -s /media/Data/WebApps/it4bus. Nếu có yêu cầu sudo thì bạn nhớ kèm nó vào nhé.

Trên Windows Vista/7 có lệnh mklink để tạo một symbolic link nhưng nó không cho phép thao tác chỉnh sửa trên thư mục đó như một web site thông thường.

Saturday, October 3, 2009

Installing PHP5, MySQL and Apache on Ubuntu

Để lập trình web sử dụng PHP và MySQL trên Ubuntu, chúng ta nên sử dụng XAMPP. Xem trên trang này, chúng ta sẽ biết cách cài đặt. Khá đơn giản vì chúng ta chỉ cần cài gói XAMPP dành cho Linux nên việc cấu hình còn lại chỉ là sử dụng xampp như thế nào cho đúng.

Tuy nhiên, ngoài những bước kiểm tra như trong các trang cài đặt, chúng ta cần kiểm tra thêm một vài thứ như sau:

Rõ ràng, nếu chúng ta đã cài đặt XAMPP thì không cần thiết phải cài đặt riêng từng gói như PHP, MySQL hay Apache... Vì thế, từ bất kỳ vị trí nào ngoài /opt/lampp/bin, chúng ta gõ mysql -u root -p (sau đó yêu cầu password) thì có nghĩa là trên máy bạn đã có mysql.

Có vấn đề tôi gặp phải là:

  1. Tôi cài và dùng MySQL Query Browser và MySQL Administrator, mỗi khi khởi đội một trong hai chương trình này đều yêu cầu cung cấp Username và Password.
  2. Cấu hình phpmyadmin: mỗi lần đăng nhập hay hỏi mật khẩu. Lỗi cũng giống như trường hợp 3.
  3. Chạy mysql từ console, không cho root đăng nhập. Lỗi: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Các tình huống lỗi hay gặp:
Lỗi 01:
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)’
Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!


Xem cách giải quyết tình huống 1
Lỗi 02:
honey@honey:~$ mysqladmin create test
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘honey’@'localhost’ (using password: NO)’






Xem cách giải quyết tình huống 2,3






Giải quyết tình huống 1:
Hay báo lỗi là không khởi động được file mysqld.sock. Thế thì:
- Tạo thư mục mysqld: sudo mkdir /var/run/mysqld
- Chuyển đến thư mục trên: cd /var/run/mysqld
- Tạo một shortcut: sudo ln -s /opt/lampp/var/mysql/mysql.sock mysqld.sock

Giải quyết tình huống 2:
Cứ theo hướng dẫn và chỉnh sửa như sau:
This is What I did, assuming mysql server is already running 
and setup ok. 









edited the file /etc/my.cnf 
at the [mysqld] section
added this line: 
skip-grant-tables 
and restarted the server .... 
That worked great!!!
Giải quyết tình huống 3:
Nếu đã giải quyết tình huống 2 xong thì 3 ok. Hướng dẫn đầy đủ nhất xem trên trang này.
+================================================================+
SAU ĐÂY LÀ CÁC LỆNH ĐẦU TIÊN DÙNG TRÊN MYSQL
1. Tạo database:
a. Dùng: mysqladmin create Tên_CSDL
b. Đăng nhập vào mysql: mysql -u root (hoặc user khác có quyền tạo database) -p --> enter, sau đó nhập mật khẩu.
mysql>create database tasks;
Query OK, 1 row affected (0.00 sec)
2. Sửa mật khẩu user: xem trang này đầy đủ hơn.
===================================================================
Tham khảo:

Shared via AddThis