HocThuatSo.comHọc Thuật Số
Gửi thư
Vận hành tạp chí trên OJS

Nâng cấp OJS không mất bài: sao lưu, thử trên bản sao rồi mới làm

Nâng cấp OJS hỏng giữa chừng có thể làm trang tạp chí chết nhiều ngày. Quy trình an toàn: sao lưu đủ ba phần, dựng bản sao thử, kiểm plugin và giao diện, chuẩn bị đường quay lui, rồi kiểm lại DOI và đường dẫn.

Nâng cấp OJS không mất bài: sao lưu, thử trên bản sao rồi mới làm

Nâng cấp OJS an toàn theo năm bước: sao lưu đủ cơ sở dữ liệu, thư mục tệp và tệp cấu hình; dựng một bản sao để thử nâng cấp trước; kiểm plugin và giao diện tương thích; chuẩn bị sẵn đường quay lui; nâng cấp thật rồi kiểm DOI, đường dẫn và thư gửi đi.

Nhiều tạp chí trì hoãn nâng cấp vì sợ hỏng, rồi khi bản cũ hết được vá bảo mật thì buộc phải nhảy một lúc qua nhiều phiên bản, rủi ro còn lớn hơn. Nâng cấp không đáng sợ nếu làm trên bản sao trước. Bài này đi theo thứ tự thực tế mà một người kỹ thuật và một người biên tập cùng làm.

Sao lưu những gì?

Một bản cài OJS gồm ba phần độc lập. Thiếu một phần là không phục hồi được nguyên trạng.

PhầnỞ đâuCách sao lưuThiếu thì mất gì
Cơ sở dữ liệuMySQL, MariaDB hoặc PostgreSQLXuất toàn bộ bằng công cụ của hệ quản trị CSDL, ví dụ mysqldumpMọi bài, người dùng, cấu hình, lịch sử biên tập
Thư mục tệp files_dirNgoài thư mục web, khai trong config.inc.phpNén hoặc chép nguyên thư mụcBản thảo, tệp phản biện, tệp toàn văn
Thư mục mã nguồn và publicThư mục webChép nguyên thư mụcẢnh bìa, biểu trưng, plugin, giao diện đã sửa
Tệp config.inc.phpGốc thư mục mã nguồnChép riêng một bảnKết nối CSDL, đường dẫn, cấu hình thư

Sao lưu xong phải kiểm: mở tệp xuất CSDL xem có đủ dung lượng hợp lý, giải nén thử thư mục tệp. Bản sao lưu chưa từng thử phục hồi chỉ là hy vọng.

Dựng bản sao để thử

Tách hẳn khỏi trang thật

Bản sao chạy trên một máy khác hoặc một thư mục và cơ sở dữ liệu khác trên cùng máy, với tên miền thử riêng. Phục hồi bản sao lưu vừa tạo vào đó, sửa config.inc.php của bản sao trỏ tới CSDL thử, thư mục tệp thử và đường dẫn thử.

Tắt thư gửi đi ở bản sao

Đây là bước hay quên và gây hậu quả khó chịu: bản sao có đủ địa chỉ thư thật của tác giả, phản biện. Nếu tác vụ định kỳ chạy, thư nhắc sẽ đổ về người thật. Tắt gửi thư trong cấu hình bản sao hoặc trỏ về một máy chủ thư thử, và không cài lệnh chạy định kỳ cho bản sao.

Tắt gửi DOI

Vô hiệu tài khoản Crossref trong bản sao, hoặc chuyển sang chế độ thử. Bản sao gửi siêu dữ liệu với đường dẫn tên miền thử lên Crossref thật sẽ làm hỏng DOI của trang chính.

Thử nâng cấp trên bản sao

Trình tự dưới đây theo hướng dẫn nâng cấp của PKP. Đọc tệp hướng dẫn nâng cấp đi kèm bản phát hành, vì từng phiên bản có thể có bước riêng.

  1. Đọc ghi chú phát hành của bản đích và các bản ở giữa, đánh dấu những thay đổi lớn và yêu cầu hệ thống mới như phiên bản PHP.
  2. Tải bản OJS mới, giải nén vào thư mục mới, chép config.inc.php cũ sang và so với tệp cấu hình mẫu của bản mới để thêm các mục mới.
  3. Chép thư mục public và các plugin bên thứ ba còn cần sang bản mới, sau khi đã kiểm chúng có bản tương thích.
  4. Chạy php tools/upgrade.php check để xem bản hiện tại và bản đích.
  5. Chạy php tools/upgrade.php upgrade từ dòng lệnh, không dùng trình duyệt với CSDL lớn vì dễ bị ngắt giữa chừng. Lưu toàn bộ thông báo ra một tệp nhật ký.
  6. Đăng nhập bản sao, đi qua bảng kiểm ở mục sau.

Ghi thời gian chạy lệnh nâng cấp trên bản sao. Đó là ước lượng tốt cho thời gian trang thật phải tạm dừng.

Bảng kiểm sau khi nâng cấp

Dùng cùng bảng này cho cả bản sao và trang thật. Người biên tập nên cùng kiểm, vì họ biết trang “bình thường” trông thế nào.

Hạng mụcCách kiểmDấu hiệu có vấn đề
Trang chủ và trang bàiMở trang chủ, số mới nhất, vài bài cũLỗi trắng trang, mất ảnh bìa, giao diện vỡ
Đường dẫn bàiMở đường dẫn cũ đã lưu từ trướcTrả về 404 hoặc chuyển về trang chủ
DOIKiểm DOI hiển thị trên trang bài, trạng thái DOI trong trang quản lýDOI mất khỏi trang, trạng thái bị đặt lại
Tệp toàn vănTải vài tệp PDF ở các số cũTệp không tải được
Quy trình biên tậpMở một bài đang phản biệnThiếu vòng phản biện, mất tệp
PluginXem danh sách plugin, bật tắt từng cáiPlugin báo lỗi hoặc biến mất
Thư gửi điTrên trang thật: gửi một thư thửThư không tới

Đường quay lui

Chuẩn bị trước

Giữ nguyên thư mục mã nguồn cũ, không ghi đè. Bản sao lưu CSDL và thư mục tệp được tạo ngay trước khi nâng cấp thật, sau khi đã đặt trang ở chế độ ngừng nhận bài. Ghi rõ các lệnh phục hồi, ai chạy, mất bao lâu.

Khi nào quay lui

Đặt tiêu chí từ trước: lệnh nâng cấp báo lỗi không xử lý được trong khoảng thời gian cho phép, hoặc bảng kiểm có hạng mục nghiêm trọng như mất tệp toàn văn, đường dẫn bài hỏng hàng loạt. Gặp tiêu chí là quay lui, không cố sửa trên trang thật.

Quay lui thế nào

Trỏ máy chủ web về thư mục mã nguồn cũ, phục hồi CSDL từ bản sao lưu ngay trước nâng cấp, phục hồi thư mục tệp nếu đã bị thay đổi. Sau đó kiểm lại bằng bảng kiểm. Mọi thay đổi trên trang trong lúc nâng cấp sẽ mất, nên phải dừng nhận bài trong thời gian này.

Lịch một đợt nâng cấp mẫu

Lịch dưới đây là khung thời gian gợi ý cho một tạp chí vừa và nhỏ. Điều quan trọng là thứ tự, không phải số ngày cụ thể.

Thời điểmViệcNgười làm
Hai đến ba tuần trướcĐọc ghi chú phát hành, liệt kê plugin, dựng bản sao, thử nâng cấpKỹ thuật
Một đến hai tuần trướcBiên tập viên kiểm bản sao theo bảng kiểm, ghi lỗiBiên tập và kỹ thuật
Một tuần trướcĐăng thông báo tạm dừng trên trang, báo phản biện đang có bàiThư ký toà soạn
Ngày nâng cấpDừng nhận bài, sao lưu, nâng cấp, kiểm, mở lạiKỹ thuật
Tuần sau đóTheo dõi thư gửi đi, báo cáo DOI, phản hồi của tác giảThư ký và kỹ thuật

Chọn ngày nâng cấp xa các mốc xuất bản số mới và xa các đợt hạn nộp bài của chuyên san. Thời điểm ít người nộp bài nhất thường là lúc phù hợp, và người kỹ thuật cần có mặt trọn ngày hôm đó lẫn ngày hôm sau.

Sau khi mở lại, giữ bản sao lưu ngay trước nâng cấp thêm một thời gian, đừng xoá ngay. Có những lỗi chỉ lộ ra sau vài ngày, khi một biên tập viên mở đúng loại bài hiếm gặp hoặc khi tác vụ định kỳ chạy lần đầu trên bản mới.

Lỗi hay gặp

Bỏ qua bản sao, nâng cấp thẳng trang thật. Gặp lỗi giữa chừng thì trang chết trong lúc cả toà soạn chờ.

Giữ plugin cũ không tương thích. Một plugin giao diện lỗi có thể làm trắng toàn trang. Tắt plugin bên thứ ba trước khi nâng cấp, bật lại từng cái sau.

Quên thay đổi về đường dẫn. Một số lần nâng cấp thay đổi cách tạo đường dẫn. Nếu đường dẫn bài đổi, phải cập nhật DOI ngay theo cách đã làm khi chuyển nền tảng.

Bản sao gửi thư cho người thật. Tác giả nhận thư nhắc lạ, toà soạn mất uy tín. Luôn tắt thư ở bản sao.

Không báo trước cho tác giả và phản biện. Người đang nộp bài gặp lỗi mà không biết vì sao. Đăng thông báo trên trang trước vài ngày.

Câu hỏi thường gặp

Có thể nhảy thẳng từ bản OJS rất cũ lên bản mới nhất không?

Tuỳ cặp phiên bản. Một số bước nhảy cần đi qua bản trung gian. Đọc hướng dẫn nâng cấp của bản đích để biết đường đi được hỗ trợ, và thử trên bản sao trước.

Nâng cấp OJS mất bao lâu?

Phụ thuộc kích thước CSDL và số tệp. Thời gian chạy lệnh nâng cấp trên bản sao là ước lượng tốt nhất cho trang thật. Cộng thêm thời gian sao lưu và kiểm tra.

Có nên nâng cấp qua trình duyệt không?

Với CSDL lớn, nên chạy tools/upgrade.php từ dòng lệnh. Trình duyệt có thể bị ngắt kết nối khi chờ lâu, để lại CSDL ở trạng thái dở dang.

Sau nâng cấp, DOI có cần gửi lại không?

Nếu đường dẫn bài không đổi thì không cần. Nếu đổi, cập nhật đường dẫn cho các DOI ngay, và giữ chuyển hướng từ đường dẫn cũ sang đường dẫn mới.

Giao diện đã sửa riêng có bị mất khi nâng cấp không?

Có thể. Giao diện sửa trực tiếp trong mã nguồn sẽ bị bản mới ghi đè. Nên làm giao diện con dưới dạng plugin riêng và kiểm tương thích trên bản sao.

Bao lâu nên nâng cấp một lần?

Áp bản vá bảo mật trong cùng dòng phiên bản càng sớm càng tốt. Chuyển dòng phiên bản khi dòng đang dùng sắp hết hỗ trợ, theo lịch PKP công bố.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

🧭
Bạn đang ở chặng nào của đường học vị?
Nhập chỗ bạn đang đứng và đích bạn nhắm — công cụ trả về số năm, chi phí và việc phải làm từng chặng.
Xem lộ trình của tôi →
Miễn phí, không cần tài khoản. Xem tất cả công cụ

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
[email protected]