Rất nhiều người biết dùng GitHub, nhưng khi khách hàng yêu cầu bàn giao source code thì nén file trên GitHub và gửi cho khách. Thực tế, cPanel cung cấp chức năng SSH Access mà nếu hosting của khách hàng có hỗ trợ, ta có thể gửi file lên thông qua SSH và tạo kết nối với GitHub.
Nếu bạn sử dụng hosting DirectAdmin, tham khảo hướng dẫn cập nhật Git của DirectAdmin trực quan hơn.
Điều kiện bắt buộc
Hosting phải có chức năng SSH Access và Terminal (hoặc biết port SSH để connect bằng Terminal trên máy như Git Bash). Bạn có thể gõ trong ô tìm kiếm để ra kết quả, nếu không có thì liên hệ với bên cung cấp Hosting. Theo mình được biết thì hosting WordPress của HOSTVN có hỗ trợ chức năng này do mình từng cài dịch vụ cho 1 số khách.
Bạn phải có key SSH đã được thêm vào tài khoản GitHub (trùng key hoặc thêm key mới). Bước này bạn tham khảo cách thêm key SSH GitHub ở đây.
Bước tiếp theo:
Đăng ký key SSH trong cPanel hosting
Bạn vào menu SSH Access | Manage Access | Generate a New Key và ra giao diện như trong hình. Đừng thay đổi gì cả, nhập mật khẩu bất kỳ (vì đây là key giả mình tạo thôi, sau ta vẫn dùng key SSH trên máy của mình).
Tiếp đến, bạn cần “Authorized” (cấp phép) cho key này. Click vào menu “Manage” bên cạnh key vừa thêm và cấp quyền cho nó.
Cách ghi đè key SSH trong cPanel
Sau khi cấp quyền, thực tế ta cần override (ghi đè) lên bằng key của máy tính của bạn, điều này đảm bảo:
- Các tool chạy bash script sẽ không cần password như bước tạo key ở trên nữa, phù hợp triển khai CI/CD sau này.
Cách bạn ghi đè key như sau:
Bước 1: Truy cập File Manager trong cPanel, tìm folder /home/username/.ssh.
Nếu không thấy folder này thì bạn cần bật chức năng ẩn folder/hidden file lên bằng menu Settings | Show Hidden Files (dotfiles) từ góc trên bên phải màn hình
Bước 2: Bạn gỡ bỏ 2 file id_rsa, id_rsa.pub trong folder .ssh, sau đó up lên file trong máy tính của bạn (thường nó nằm trong folder C:\Users\<username>\.ssh nếu là máy tính Windows).
Bước 3: Bạn chọn 2 file vừa mới up lên, set CHMOD là 600 nhé.
Bước 4: Bạn mở file authorized_keys lên, replace key cũ bằng key content của id_rsa.pub và save file lại.
Như vậy, bạn đã ghi đè xong. Nếu có file known_hosts thì bạn có thể xóa luôn file ấy đi cũng được.
Kiểm tra kết nối tới GitHub
Giờ ta sẽ thử kết nối với GitHub bằng cách chạy lệnh git clone một lần xem sao. Bạn truy cập chức năng Terminal và thực hiện tải xuống WordPress xem sao:
cd public_html git clone [email protected]:WordPress/WordPress.git wordpress
Nếu kết nối báo thành công, thì bạn sẽ nhìn thấy folder wordpress hiện ra trong File Manager.
Vậy là bạn đã hoàn thành việc đồng bộ giữa GitHub và cPanel hosting. Đây là bước đầu tiên để giúp bạn quản lý source code sử dụng Git toàn diện thay vì chỉ dành cho phần phát triển.
Code Tốt cũng áp dụng quy trình tương tự cho hầu hết các khách hàng và đảm bảo việc chỉnh sửa code có quy trình chặt chẽ.
Giám đốc tại Công ty CP CODE TỐT. Quản lý ngôn ngữ bản địa tiếng Việt tại WordPress. Là tác giả chính tại codetot.net, Khôi muốn ghi lại một sốvấn đề kỹ thuật trong quá trình phát triển các dự án website với khách hàng.