Nội dung
Roundcube là gì?
Roundcube là một dịch vụ webmail miễn phí với các tính năng và tiện ích cơ bản (gửi/nhận/chữ ký..vv) đủ để đáp ứng nhu cầu của phần lớn người dùng hiện nay. Với sự phát triển mạnh mẽ của Roundcube ngày nay thì hầu hết dịch vụ này đã được tin dùng và tích hợp sẵn trên các control panel phổ biến nhất như cPanel, DirectAdmin, Plesk..vv. Với Roundcube bạn có thể tạo nhanh cho mình một địa chỉ mail với đuôi theo địa chỉ website, cá nhân, tổ chức hay doanh nghiệp cực kỳ đơn giản và hoàn toàn miễn phí.
Ở bài viết này mình chỉ nói một chút về Roundcube để các bạn hiểu sơ bộ về nó, còn vấn đề chính là mình sẽ hướng dẫn bạn cách xử lý một lỗi về Roundcube mà mình mới gặp gần đây nhất. Vào một ngày đẹp trời, như mọi khi mình truy cập vào webmail của Roundcube trên DirectAdmin để gửi/nhận mail và nhận được cảnh báo như hình bên dưới. Lỗi này như thế nào và cách xử lý ra sao?
Trước tiên bạn cần xác định được tài khoản mình đang sử dụng là tài khoản gì? Nếu bạn đang sử dụng DirectAdmin với quyền reseller, user con thì bạn hãy nhanh chóng liên hệ với đơn vị quản trị Server này để được hỗ trợ kiểm tra xử lý , vì thao tác xử lý lỗi này cần phải SSH vào Server và thực hiện ở user root (là user có quyền cao nhất trên Server).
Tuy nhiên, nếu bạn chính là người quản trị cũng như nắm giữ thông tin root Server, thì bạn có thể chủ động xử lý theo các bước bên dưới.
Các bước thực hiện
Bước 1: SSH vào VPS
Đầu tiên các bạn cần SSH vào VPS của mình với quyền root, nếu chưa biết cách SSH các bạn có thể xem qua Hướng dẫn bên dưới để thực hiện.
Bước 2: Kiểm tra log Roundcube
Để kiểm tra log Roundcube, các bạn cần kiểm tra tại đường dẫn sau:
tail /var/www/html/roundcube/logs/errror.log
Chú thích lệnh:
- Đọc file log và in ra 10 dòng cuối của log
Trường hợp của mình Log lỗi trả về như sau, với log này thì hệ thống báo rằng Database Roundcube đã bị lỗi.
[08-Oct-2020 12:18:56 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) in /var/www/html/roundcubemail-1.4.8/program/lib/Roundcube/rcube_db.php on line 175 (GET /roundcube/) [08-Oct-2020 12:18:56 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) (GET /roundcube/) [08-Oct-2020 12:19:13 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) in /var/www/html/roundcubemail-1.4.8/program/lib/Roundcube/rcube_db.php on line 175 (GET /roundcube/) [08-Oct-2020 12:19:13 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) (GET /roundcube/) [08-Oct-2020 12:21:03 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) in /var/www/html/roundcubemail-1.4.8/program/lib/Roundcube/rcube_db.php on line 175 (GET /roundcube/) [08-Oct-2020 12:21:03 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) (GET /roundcube/) [08-Oct-2020 12:31:28 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) in /var/www/html/roundcubemail-1.4.8/program/lib/Roundcube/rcube_db.php on line 175 (GET /roundcube/) [08-Oct-2020 12:31:28 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) (GET /roundcube/) [08-Oct-2020 12:41:42 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) in /var/www/html/roundcubemail-1.4.8/program/lib/Roundcube/rcube_db.php on line 175 (GET /roundcube/) [08-Oct-2020 12:41:42 +0100]: DB Error: SQLSTATE[HY000] [1045] Access denied for user 'da_roundcube'@'localhost' (using password: YES) (GET /roundcube/)
Với trường hợp này, bạn nên thực hiện cài đặt lại webmail Roundcube để xử lý lỗi.
Bước 3: Cài đặt lại Roundcube
Để cài đặt lại Roundcube các bạn thực hiện lần lượt các lệnh sau:
cat /usr/local/directadmin/conf/mysql.conf mysql -u da_admin -p DROP DATABASE da_roundcube; quit cd /usr/local/directadmin/custombuild ./build roundcube
Chú thích lệnh:
- Mở và hiển thị nội dung file mysql.conf (lúc này màn hình sẽ hiển thị user/pass của user admin Mysql trên Directadmin)
- Đăng nhập vào admin Mysql ( đăng nhập theo thông tin được hiển thị ở lệnh 1)
- Xoá Database da_roundcube và thoát
- Di chuyển đến thư mục custombuild
- Chạy lệnh rebuild lại roundcube
Toàn bộ quá trình thực hiện lệnh và rebuild sẽ như sau:
[root@sv public_html]# cat /usr/local/directadmin/conf/mysql.conf user=da_admin passwd=IOfBYSiv6n [root@sv public_html]# mysql -u da_admin -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 252981 Server version: 10.2.32-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> DROP DATABASE da_roundcube; Query OK, 14 rows affected (0.04 sec) MariaDB [(none)]> quit Bye [root@sv public_html]# cd /usr/local/directadmin/custombuild [root@sv custombuild]# ./build roundcube Inserting data to mysql and creating database/user for roundcube... Found MySQL version 10.2 Creating User: CREATE USER 'da_roundcube'@'localhost' IDENTIFIED BY 'PPoQQSvIMrCKDO'; Granting access: GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,LOCK TABLES,INDEX,REFERENCES ON da_roundcube.* TO 'da_roundcube'@'localhost'; Setting password: SET PASSWORD FOR 'da_roundcube'@'localhost' = PASSWORD('PPoQQSvIMrCKDO'); Database created, da_roundcube password is PPoQQSvIMrCKDO Editing roundcube configuration... Roundcube 1.4.8 has been installed successfully. WARNING: Changed defaults (These config options have new default values): - 'skin' - 'smtp_port' - 'smtp_user' - 'smtp_pass' - 'jquery_ui_skin_map' Executing database schema update. NOTICE: Update dependencies by running `php composer.phar update --no-dev` done. This instance of Roundcube is up-to-date. Have fun! Reloading php-fpm56. Reloading service php-fpm56: done
Như vậy là quá trình rebuild đã hoàn tất rồi nhé.
Bước 4. Kiểm tra lại webmail Roundcube
Như hình thì Webmai Roundcube sau khi được rebuild lại đã có thể truy cập được. bây giờ bạn sử dụng tài khoản email để đăng nhập và kiểm tra lại hoạt động nhé.
Tổng kết
Như vậy ở bài viết này AZDIGI đã hướng dẫn bạn cách xử lý lỗi liên quan đến kết nối Database Roundcube một cách chi tiết và đơn giản nhất. Tuy việc thực hiện đơn giản nhưng bạn nên cẩn trọng và thực hiện chính xác các lệnh như hướng dẫn để tránh xảy ra lỗi không đáng có. Nếu thấy bài viết hữu ích, bạn có thể chia sẻ rộng rãi đến mọi người để cùng thực hiện nhé.