Hướng dẫn Fix lỗi Plesk sau khi upgrade không start được Apache “AH00526: Syntax error”

Nguyễn Thành Luân 3 phút đọc

Trong quá trìn vận hành dịch vụ Cloud Server, sau khi nâng cấp Plesk bỗng nhiên Apache không còn start được nữa, và chúng ta nhận được mã lỗi như sau:

# service apache2 start
* Starting web server apache2 *
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 51 of /etc/apache2/plesk.conf.d/vhosts/example.com.conf: SSLCertificateFile: file ‘/opt/psa/var/certificates/cert-file-corrupted‘ does not exist or is empty
Action ‘configtest’ failed.

Dấu hiệu lỗi:

– Khi tiến hành kiểm tra thì nhận thấy file certificates bị lỗi, thiếu hoặc dung lượng chỉ bằng “0”. (ở đây Mắt Bão đặt tên file chứng chỉ bị lỗi là cert-file-corrupted để tránh nhầm lẫn).

  • Đối với RHEL-based OS:

# ls -l /usr/local/psa/var/certificates/cert-file-corrupted
-rw-r–r– 1 root root 0 June 29 12:26 /opt/psa/var/certificates/cert-file-corrupted

  • Đối với Debian-based OS:

# ls -l /opt/psa/var/certificates/cert-file-corrupted
-rw-r–r– 1 root root 0 June 29 12:26 /opt/psa/var/certificates/cert-file-corrupted

– Khi tiến hành cấu hình Plesk bị lỗi như sau:

# /usr/local/psa/admin/bin/httpdmng –reconfigure-domain example.com

ERR [panel] Apache config (14972022740.47990300) generation failed: Template_Exception: Syntax error on line 51 of /etc/httpd/conf/plesk.conf.d/ip_default/example.conf: SSLCACertificateFile: file ‘/usr/local/psa/var/certificates/cert-xxx’ does not exist or is empty

Nguyên nhân: Chứng chỉ được báo cáo trong thông báo lỗi bị thiếu hoặc bị hỏng.
 
Hướng xử lý và khắc phục:
Bước 1: Truy cập SSH vào server.
Bước 2: Liệt kê tất cả SSL đang tồn tại trong thư mục /usr/local/psa/var/certificates/:
 
  • Đối với RHEL-based distributions:
# ls -l /usr/local/psa/var/certificates/
-rw-r–r– 1 root root 5157 June 29 12:36 cert-file-existing
 
  • Đối với Debian-based distributions:

# ls -l /opt/psa/var/certificates/
-rw-r–r– 1 root root 5157 June 29 12:36 cert-file-existing

Bước 3: Chọn bất kỳ tệp chứng chỉ nào từ danh sách ở trên và tạo bản sao chứng chỉ bị thiếu hoặc hỏng:
 
  • Đối với RHEL-based distributions:
# cp -rf /usr/local/opt/psa/var/certificates/cert-file-existing /usr/local/opt/psa/var/certificates/cert-file-corrupted
 
  • Đối với Debian-based distributions:

# cp /opt/psa/var/certificates/cert-file-existing /usr/local/opt/psa/var/certificates/cert-file-corrupted

Bước 4: Kiểm tra cấu hình Apache bằng lệnh dưới đây. Nếu cú pháp là OK, hãy chuyển sang bước 5. Nếu còn thiếu một chứng chỉ nào khác được báo cáo, hãy thực hiện lại bước 3 cho chứng chỉ này.
 
  • Đối với RHEL-based distributions:
# httpd -t
 
  • Đối với Debian-based distributions:

# apache2 -t

Bước 5: Sau đó start lại Apache.
 
  • Đối với RHEL-based distributions:
# service httpd start
 
  • Đối với Debian-based distributions:

# service apache2 start

Bước 6: Rebuild lại cấu hình Apache cho toàn bộ domain:

# /usr/local/psa/admin/bin/httpdmng –reconfigure-all

Chúc mọi người thực hiện thành công.!!!