Đối với các máy chủ chạy Centos có kết nối Internet việc cài đài MongoDB hết sức đơn giản nhưng đối với các máy bị chặn Internet thì việc này không hề đơn giản tẹo nào.
Mình đã mất cả buổi sáng mới có thể cài đặt và cấu hình Mongo với Mongo PHP Drive lên máy chủ Centos. Cũng đang rảnh nên mình sẽ viết lại hướng dẫn chi tiết các bước cài đặt và cách khắc phục các lỗi trong quá trình cài đặt.
I/ Cài đặt Mongo
1. Đầu tiên bạn cần dùng một máy tính khác để download bộ cài Mongo từ địa chỉ: https://www.mongodb.org/downloads.
Ở đây mình download phiên bản mongo 3.0.13 (64bit) tại địa chỉ:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz
Đối với các máy chạy Centos 32 bit bạn cần download đúng phiên bản 32 bit mới có thể chạy được.
2. Sau khi download về bạn cần copy sang máy chủ và tiến hành giải nén để bắt đầu cài đặt.
tar -zxvf mongodb-linux-x86_64-3.2.12.tgz
3. Sau khi giải nén bạn cần tạo thư mục MongoDB vào copy Source vừa giải nén sang:
mkdir -p mongodb cp -R -n mongodb-linux-x86_64-3.2.12/ mongodb
4. Bạn cần cài đặt biến môi trường bằng cách sửa file ~/.bashrc
export PATH=<thư-mục-chưa-source-mongodb>/bin:$PATH
5. Chạy MongoDB
- Trước tiên bạn cần tạo thư mục chứa dữ liệu cho mongo. ví dụ:
mkdir -p /mongodata/db
- Vì bạn đã cài đặt biến môi trường cho MongoDB nên giờ bạn chỉ cần chạy lên sau là có thể khởi động được MongoDB
mongod --dbpath /mongodata/db
Vậy là bạn đã cài đặt và khởi chạy thành công MongoDB
II. Cài đặt Mongo-php-driver
1. Đầu tiên bạn cần download Souce của Mongo-php-Drive tại địa chỉ:
https://github.com/mongodb/mongo-php-driver-legacy
Bạn cần download đúng phiên bản tương tích với MongoDB nếu không sẽ không thể chạy được. Khi cài đặt mình cũng đã cài phiên bản không tương thích và xảy ra lỗi như sau:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mongo.so' - /usr/lib64/php/modules/mongo.so: undefined symbol: OPENSSL_sk_num in Unknown on line 0
Bảng dưới đây sẽ giúp bạn lựa chọn đúng phiên bản PHP Driver tương tích với phiên bản MongoBD bạn đang cài.
Để kiểm tra phiên bản của MongoDB trên máy bạn có thể dùng lệnh
> db.version()
Lưu ý bạn cần kiểm tra cả phiên bản PHP hiện tại xem có tương thích với Driver hay không.
2. Để cài đặt bạn cần Copy Source của Php-Mongo-Driver lên máy chủ, sau đó tiến hành giải nén
unzip mongo-php-driver-legacy-1.2.zip
Ở đây mình sử dụng MongoDB 3.2 vì vậy mình sẽ download php-mongo-drive 1.2
3. Tiến hành cài đặt
unzip mongo-php-driver-legacy-1.2.zip cd mongo-php-driver-legacy-1.2 ./configure sudo make make install
Sau khi cài đặt thành công, trình cài đặt sẽ copy file mongo.so vào thư mục extention của php
4. Cấu hình php.ini
Bạn cần mở file php.ini và thêm vào
extension=mongo.so
Vậy là bạn đã có thể chạy MongoDB với PHP thành công rồi.