Làm thế nào để triển khai một giải pháp thương mại điện tử? Bạn chọn giải pháp nguồn mở hay phát triển ngay từ đầu từ con số không. Nội dung bài này hướng dẫn cho các bạn cách triển khai một giải pháp thương mại điện tử, sử dụng giải pháp mở OpenCart.
Table of Contents
Giới thiệu
Như chúng ta đều biết, tốt nghiệp ngành Hệ thống thông tin quản lí (HTTTQL), bạn có thể xin vào vị trí của một nhà quản trị hệ thống web, cơ sở dữ liệu v.v… Hơn nữa, nếu theo dõi các mục giới thiệu việc làm, am hiểu về máy chủ web, có kĩ năng xây dựng website, hiểu về công nghệ ảo hóa luôn cần đối với nghề quản lí hệ thống web cũng như thương mại điện tử [1].
Nội dung bài viết này nhằm giới thiệu các bước để chúng ta cài đặt một hệ thống máy chủ ứng dụng. Phần hướng dẫn minh họa bằng việc cài đặt một hệ/web site thương mại điện tử. Mục đích là giúp các bạn làm quen các thao tác cài đặt một web site, cách thức vận hành một web site bán hàng qua mạng, và những công việc của một người quản trị bán hàng qua mạng.
Sau phần giới thiệu, bài viết nêu các khái niệm liên quan, giới thiệu các công cụ. Sau đó, chúng ta sẽ đi vào các bước cài đặt cụ thể.
Các khái niệm liên quan
Máy chủ ứng dụng là gì? (Application Server)
Khi nói đến máy chủ là muốn nói đến những máy tính có khả năng gởi lại những yêu cầu từ các máy khác. Ví dụ: khi bạn truy cập một trang web, máy tính chứa trang web đó sẽ phải gởi trả nội dung chúng ta đang cần và hiển thị ra trình duyệt. Máy tính đó được gọi là máy chủ. Với bài viết này, máy chủ ứng dụng chạy hệ điều hành windows 7, có cài đặt phần mềm XAMPP, được coi như là một web server.
Apache, XAMPP, Nginx hay IIS chạy trên máy tính nào thì máy đó gọi là máy chủ ứng dụng.
Công nghệ ảo hóa (Virtualization Technology)
Theo hãng VMWare (http://www.vmware.com/virtualization/), công nghệ ảo hóa tăng hiệu quả làm việc trên những trung tâm dữ liệu qua việc sử dụng những máy chủ x86 chạy nhiều hệ điều hành và ứng dụng cùng một lúc. Trong bài thực hành, bạn giả lập một máy Windows 7 trên chính chiếc máy tính bạn đang sử dụng. Khi đó, cùng lúc bạn đang chạy hai hệ điều hành: 1 hệ điều hành trên máy tính vật lý và 1 trên máy tính ảo. Bạn khai thác máy ảo như một chiếc máy tính thông thường.
Thương mại điện tử (e-commerce)
Trong khuôn khổ nội dung bài viết này, thương mại điện tử được hiểu đơn giản là sự mua bán hàng qua mạng. Chọn lựa sản phẩm cần mua trên một website và thanh toán bằng các phương tiện thanh toán trực tuyến (nếu có) là chức năng cơ bản của một website thương mại điện tử.
Công cụ sử dụng
Trong môi trường học tập của sinh viên, do điều kiện kinh tế chúng ta không có máy tính thật để cài đặt như một chủ. Các doanh nghiệp thực tế cũng đã sử dụng công nghệ ảo hóa vào việc triển khai hệ tầng mạng cho toàn bộ công ty vì những điểm mạnh của công nghệ này (http://cio.gov.vn/cong-nghe-ao-hoa-cac-kieu-ao-hoa-co-ban-244-55-vi-VN.aspx). Do đó, chúng ta sẽ sử dụng những phần mềm giả lập máy ảo như VMWare hay Oracle VirtualBox, để có thể tạo ra bất kì máy tính ảo tùy thuộc vào tài nguyên (dung lượng RAM, ổ cứng và tốc độ CPU) của máy tính thật đang dùng.
- VMWare Workstation: là sản phẩm giả lập máy ảo của hãng VMWare, dùng để quản lí các máy tính ảo.
- WMWare Player: là phần mềm của hãng WMWare dùng để chạy các máy tính ảo. Khi dùng phần mềm này để chạy một cấu hình máy tính được tạo ra trong VMWare Workstation, có nghĩa là bạn đã dựng nên một chiếc máy tính.
- Oracle VirtualBox: là phần mềm giả lập máy ảo của hãng Oracle.
- IIS: là một tính năng mở rộng của hệ điều hành Windows. Chức năng của IIS là để quản lí các ứng dụng trên một máy tính. Một chiếc máy tính (thường có chức năng làm máy chủ) cài đặt IIS sẽ trở thành máy WebServer.
- Apache: tương tự như IIS, nhưng Apache thường được cài đặt trên hệ điều hành Linux (Ubuntu, Fedora, Mint…)
- Nginx: là một web server, chạy được trên Windows.
- XAMPP: là một phần mềm mã nguồn mở, dùng để tạo lập Web Server, được sử dụng khá rộng rãi trong cộng đồng lập trình web.
Các bước tiến hành
1. Tạo một máy chủ
Dùng VMWare Workstation hoặc Oracle VM VirtualBox tạo một máy tính cấu hình tối thiểu để chạy một hệ điều hành Windows 7. Cấu hình tiểu thiểu cho máy Windows 7 như sau (xem thêm [2])
- 1 gigahertz (GHz) or faster 32-bit (x86) or 64-bit (x64) processor.
- 1 gigabyte (GB) RAM (32-bit) or 2 GB RAM (64-bit)
- 16 GB available hard disk space (32-bit) or 20 GB (64-bit)
- DirectX 9 graphics device with WDDM 1.0 or higher driver.
Mở Terminal (tức Command Line) hoặc hộp thoại Network Connection Details để xem địa chỉ IP của máy tính này:
Để dễ theo dõi bài thực hành, chúng ta giả sử máy tính Windows 7 vừa cài đặt là máy A, có địa chỉ IP là 10.102.22.48. Máy thật gọi tên là máy B với địa chỉ IP là 10.102.22.11.
2. Kiểm tra tính kết nối
Làm thế nào để đảm bảo hai máy: thật (host) và ảo (virtual box) có thể thấy được với nhau?
Để máy tính thật và máy tính ảo giao tiếp với nhau, trong bài thực hành, kiểu card mạng dành cho máy ảo là Bridge. Khi đó, địa chỉ của máy thật (máy B) và máy ảo (máy A) thuộc cùng lớp mạng.
Dùng Terminal để kiểm tra sự kết nối của hai máy tính.
Ví dụ này giả lập một máy tính ảo Windows 7 (máy tính A) với địa chỉ IP được cấp phát 10.102.22.48, trong khi đó máy tính B có địa chỉ 10.102.22.11. Rõ ràng, chúng kết nối (thông) được với nhau qua việc trả về các gói tin khi sử dụng lệnh ping. Việc còn lại là cài đặt một Web Server lên máy tính 10.102.22.48
3. Cài đặt một Web Server
Sử dụng một trong những ứng dụng WebServer giới thiệu ở trên cài đặt vào máy tính vừa tạo ra trong bước 1.
Trong bài thực hành này, chúng ta dùng XAMPP để mình họa. Sau khi tải phiên bản mới nhất của XAMPP tại địa chỉ https://www.apachefriends.org/index.html, tiến hành cài đặt tương tự như các phần mềm thông thường khác. Ngầm định, XAMPP sẽ cài đặt trên ổ C: với thư mục xampp (C:\xampp). Dĩ nhiên, bạn có thể thay đổi vị trí cài đặt nếu bạn muốn.
Khởi động XAMPP
Tìm trong All Programs thư mục XAMPP và khởi động XAMPP Control Panel. Sau đó, nhấn vào nút Start để khởi động hai dịch vụ Apache và MySQL để sẵn sàng làm việc với ứng dụng Web. Các bước như hình sau:
4. Kiểm tra hoạt động Web Server
Sau khi cài xong một Web Server, bạn có thể làm việc với máy tính này qua các…
Mở trình duyệt trên máy A, gõ địa chỉ http://localhost/, nếu cài đặt XAMPP thành công, bạn sẽ thấy màn hình như sau:
Trên máy B, mở trình duyệt và gõ vào địa chỉ http://IPAddress_của_máy_A/, trong ví dụ này thì http://10.102.22.48. Một trang web như Hình 3 xuất hiện.
5. Cài đặt một website thương mại điện tử
Hiện tại, có nhiều website thương mại điện tử nguồn mở như Magento, Opencart, v.v… Trong ví dụ này, chúng ta chọn Opencart platform. Tải opencart tại địa chỉ http://www.opencart.com/index.php?route=download/download
Sau khi tải xong, giải nén toàn bộ thư mục upload vào thư mục htdocs của thư mục C:\xampp. Đổi tên upload thành một tên nào đó bạn thích, ví dụ: storeopencart. Sau đó, mở trình duyệt và gõ địa chỉhttp://localhost/storeopencart/ (máy A) hoặc http://10.102.22.11/storeopencart (máy B), màn hình sau đây xuất hiện:
Bước 1: Những điều lệ về bản quyền
Về nguyên tắc, bạn cần phải đọc phần GNU GENERAL PUBLIC LICENSE để hiểu những quy định bản quyền trước khi nhấn Continue.
Bước 2: Kiểm tra máy chủ trước khi cài đặt
Thông thường tại bước 2, những đặc điểm cài đặt nào hợp lệ được đánh dấu check (bật xanh) tại cột Status. Nếu cài đặt opencart trên Windows, bạn thường warning hai đặc điểm được đánh dấu đỏ (Missing) như sau:
Tại mục 4. Please make sure you have set the correct permissions of the files list below, hai tập tin config.php được đánh dấu là missing, bởi vì bạn chưa đổi tên 2 file config-dist.php thànhconfig.php. Do đó, sau khi đổi tên hai file (trong thư mục gốc và thư mục admin), cột Status được đổi sang màu xanh (Writable).
Bước 3: Cung cấp các thông tin về cơ sở dữ liệu và thông tin quản trị
Tại bước này, chúng ta cung cấp tên của tài khoản truy cập đến cơ sở dữ liệu. Bạn cần đưa thông tin địa chỉ IP của Web Server vào trường Hostname. Trong ví dụ này, hostname là 10.102.22.48. Thông thường, username là root và password thì tùy thuộc vào lúc chúng ta cài đặt MySQL. Database là tên của cơ sở dữ liệu, và nó phải được tạo sẵn trước bước này (Sau khi cài đặt thành công XAMPP, truy cập http://localhost/phpmyadmin/ để quản lí cơ sở dữ liệu MySQL nằm trên Web Server. Lúc đó, bạn tạo một cơ sở dữ liệu có tên tùy thích, ví dụ: storeopencart).
Tại bước này, những thông tin mã người dùng và về mật khẩu và địa chỉ thư điện tử cho người dùng này cần được cung cấp.
Lưu ý: Ở bước này, nếu cài đặt opencart trên Windows, thường xảy ra lỗi “Host ‘xxxxxxx’ is not allowed to connect to this MySQL server”. Để giải quyết bạn có thể sẽ phải chạy các lệnh sau từ Terminal:
mysql -u root –p USE mysql; SELECT user,host FROM user; GRANT ALL PRIVILEGES ON *.* TO root@my_ip IDENTIFIED BY ‘root_password‘ WITH GRANT OPTION;
Trong đó, “my_ip” là địa chỉ IP của Web Server và “root_password” là mật khẩu của người dùng root;
Bước 4: Sẵn sàng bắt đầu bán hàng
Nếu đến bước 4 thì xem như chúng ta đã cài đặt thành công một website thương mại điện tử trên nền opencart. Giao diện cho người dùng (mua hàng) trên máy tính B (máy tính từ xa, truy cập vào Web Server) thông thường như sau:
Và bên dưới là giao diện trên trang chủ dành cho nhà quản trị (quản lí hệ thống : xem đơn hàng, khách hàng, lịch sử giao dịch…) trên máy tính B (máy tính từ xa, truy cập vào Web Server).
Một số case studies với opencart
- Tạo tài khoản khách hàng.
- Đăng kí mua mặt hàng nào đó với tài khoản vừa tạo.
- Mở một trình duyệt khác (hoặc logout tài khoản vừa tạo) và login với tài khoản admin.
- Xem danh đơn hàng của khách hàng vừa đặt (xem ở bước 2).
- Xem những giao dịch của khách hàng này.
- …
Thực tế còn có nhiều tình huống khác có thể xảy ra khi chúng ta làm việc với một website thương mại điện tử thật sự. Tuy nhiên, trong khuôn khổ bài viết này, chúng ta không đề cập nhiều đến những nghiệp vụ. Chúng ta sẽ thảo luận thêm về các nghiệp vụ trong một bài viết khác.
Thảo luận
Thực hiện cài đặt thành công một hệ thống mạng máy chủ cùng với ứng dụng thương mại điện tử, bạn có thể hiểu được khái niệm mạng máy tính, máy chủ, giao tiếp giữa các máy tính, ứng dụng bán hàng qua mạng. Khi đó, với một người có kiến thức về phân tích nghiệp vụ, bạn sẽ có thể đề nghị thêm/xóa một số tính năng của hệ thống, phân tích dữ liệu bán hàng qua việc theo dõi các giao dịch, nắm bắt các luồng thông tin di chuyển, hiểu chức năng của các bộ phận.
Một tính năng nữa chúng ta cũng cần quan tâm: làm thế nào để đồng bộ hóa dữ liệu (web sites, databases) đối với những bạn có nhu cầu lập trình web. Bài thực hành này cũng là một gợi ý thích hợp.
Bài hướng dẫn này minh họa việc tạo lập máy chủ ứng dụng chạy hệ điều hành Windows 7. Thực tế, Windows 7 không phải là một hệ điều hành máy chủ. Nghĩa là, trong trường hợp có nhiều kết nối đến máy chủ, nó sẽ không có khả năng gởi trả lời hết các yêu cầu. Do đó, tình trạng nghẽn hay sập máy chủ có thể xảy ra. Do đó, các bạn có thể mở rộng bài thực hành bằng cách dùng hệ điều hành nguồn mở Ubuntu (Linux) để cài đặt và chạy XAMPP. Trong quá trình cài đặt, nếu các bạn gặp khó khăn, vui lòng trao đổi với tác giả bài viết qua email: nguyenvungoctung@gmail.com.
Tham khảo
[1] http://www.vietnamworks.com/web-server+jobs-s0-en
[2] https://windows.microsoft.com/en-us/windows7/products/system-requirements