======Hướng dẫn chuyển NukeViet 4 từ localhost lên hosting====== =====Đăng kí hosting và tên miền===== Để vận hành Website, cần chuẩn bị 1 domain((Bạn có thể tra cứu tên miền tại https://webnhanh.vn/domain/)) ((Các kiến thức về domain có thể xem thêm tại đây: https://webnhanh.vn/faq/Hoi-dap-ten-mien/)) và hosting. Domain cần trỏ về hosting và được cấu hình để sẵn sàng sử dụng. Hosting cần có dung lượng, lưu lượng và băng thông phù hợp nhu cầu sử dụng, có cấu hình phù hợp để vận hành phần mềm. Thông số máy chủ (hosting) yêu cầu để vận hành tốt nhất phần mềm: ^ Nội dung ^ Thông số yêu cầu của máy chủ ^ | Máy chủ web | Linux cài sẵn Apache hoặc Nginx hoặc Openlitespeed, Window cài IIS | | PHP | PHP 7.4 hoặc phiên bản mới nhất | | Các thư viện PHP cần có | Hỗ trợ PHP Data Objects (PDO).\\ PHP hỗ trợ opendir.\\ PHP hỗ trợ thư viện xử lý ảnh GD, PHP hỗ trợ thư viện mã hóa Openssl.\\ PHP hỗ trợ session.\\ PHP hỗ trợ uploads file.\\ Máy chủ Apache cần hỗ trợ mod mod_rewrite.\\ Máy chủ Nginx cấu hình các thông số rewite.\\ Máy chủ IIS 7.0 hoặc IIS 7.5 cần cài thêm module rewrite.\\ file_uploads, session, mbstring, curl, gd2, zlib, soap, php_zip. | | MySQL | MySQL 5.5 Hoặc MariaDB 10.6 | | Tính năng rewite | Máy chủ apache cần hỗ trợ mod_rewrite\\ Máy chỉ windows cần cài URL Rewrite 2.0 | Nếu đang trong giai đoạn thử nghiệm, tập làm website thì bạn có thể sử dụng các dịch vụ hosting miễn phí như Byethost, 000webhost, tên miền miễn phí như co.cc, cz.cc, dot.tk. =====Cấu hình domain và Dọn dẹp hệ thống.===== Để có thể thêm tên miền mới, bạn đăng nhập vào trang quản trị của website, tìm đến ''Cấu hình>Cấu hình chung'' và thêm tên miền mới vào ô nhập dữ liệu: "**Các domain chạy site, cách nhau bởi dấu phảy**". {{ :nukeviet4:setup:nv4-cau-hinh-ten-mien.png?600 |}} Ví dụ: Giá trị này đang là ''demo.nukeviet.my'', vậy thì khi thêm một tên miền mới, cần sửa thành: ''quang.web137.vinades.net,demo.nukeviet.my''. Ở đây, giá trị đã được lưu thêm với một tên miền mới là ''quang.web137.vinades.net'' Ngoài ra, bạn cũng nên dọn dẹp các file không cần thiết đưa lên site, bằng cách truy cập vào ''Công cụ web>Dọn dẹp hệ thống''. Chọn tất cả các thành phần cần dọn dẹp để hệ thống áp dụng dọn dẹp các file này. {{ :nukeviet4:setup:nv4-don-dep-he-thong.png?600 |}} =====Tải toàn bộ mã nguồn lên hosting===== {{ :nukeviet4:setup:nv4-upload-website-filezilla.jpg?600 |}} Khởi động phần mềm FTP như [[software:FileZilla FTP Client|FileZilla FTP Client]] rồi nhập các thông số đã được cung cấp từ lúc đăng kí hosting: * Host (địa chỉ của máy chủ, chẳng hạn ''ftp.byethost24.com''), * Usename (tên đăng nhập, dạng ''b24_6129815''), * Password (mật khẩu), * Port (mặc định cổng 21), Sau đó bấm **Quickconnect**. Ở khung Local site, bạn duyệt đến thư mục gốc NukeViet, bên cạnh đó cũng phải duyệt đến thư mục htdocs của tên miền (hoặc ''public_html'' ở một số hosting khác), chọn tất cả thư mục con và tập tin của NukeViet và bấm chuột phải chọn **Upload**. =====CHMOD 777 một số thư mục===== {{:nukeviet4:setup:chmod-thu-muc.jpg?190 |}} \\ [[support:hosting:chmod|Chmod]] là chữ viết tắt của từ Change mod, một lệnh đặc biệt được dùng trên máy chủ Unix và nó được sử dụng để thay đổi quyền lực của một người bất kỳ đối với tập tin và thư mục trên Website. Tức là, bạn sử dụng lệnh này để cấp quyền đọc (Read), viết (Write) và thực thi (Execute) cho người sử dụng Website. Giá trị Chmod luôn được biểu thị bằng một cụm gồm ba chữ số, đại diện cho ba nhóm sử dụng Owner (chủ sở hữu Website), Group (nhóm cộng tác), Public (tất cả mọi người). Giá trị 777 thể hiện quyền lực tuyệt đối đối với tập tin, thư mục, áp dụng cho cả ba nhóm người dùng. Ở Website động thì người dùng thường xuyên phải làm với một số tập tin và thư mục trên máy chủ, bao gồm cả thành viên, người truy cập thông thường. Do đó, với trang web được tạo bằng mã nguồn NukeViet, bạn cần thiết lập Chmod 777 cho các tập tin và thư mục sau: data (tất cả các file, thư mục con của nó) uploads(tất cả các file, thư mục con của nó) .htaccess Để thực hiện Chmod, bạn bấm chuột phải vào thư mục hay tập tin trong khung **Remote site** của [[software:FileZilla FTP Client|FileZilla FTP Client]], chọn **File permissions**. Trong hộp thoại **Change file attributes**, bạn đánh dấu tích vào các ô cần chọn hoặc có thể nhập ngay số 777 vào ô **Numeric value**. =====Xuất ra cơ sở dữ liệu===== Đầu tiên, bạn đăng nhập vào phpMyAdmin của localhost (http://localhost/phpMyAdmin). Trong trường Database ở bên trái, bạn chọn tên cơ sở dữ liệu lúc cài đặt NukeViet. Một danh sách gồm nhiều bảng cơ sở dữ liệu hiện ra. Chọn vào tab **Export**, ở mục **Export method:** bạn chọn vào **Custom - display all possible options** {{ :nukeviet4:setup:nv4-mysql-export.jpg?600 |}} Cuộn xuống bên dưới mục **Format-specific options:**, ở danh mục tuỳ chọn **Object creation options**, kích hoạt tuỳ chọn **Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER statement** Riêng đối với khung **Output:**, bạn đặt tên cho tập tin cơ sở dữ liệu vào ô **File name template**, bấm vào mũi tên xổ xuống và chọn vào ô **zipped** ở mục **Compression**, bấm nút **Export**. Theo kinh nghiệm của người viết, việc đặt tên cơ sở dữ liệu cần gắn liền với ngày tháng sao lưu để tiện phục hồi đúng thời điểm khi cần thiết. Ý nghĩa của việc làm này là xuất bản cơ sở dữ liệu trên localhost ra một tập tin và dùng nó nhập vào cơ sở dữ liệu trên hosting. {{ :nukeviet4:setup:nv4-mysql-export-save-as.jpg?600 |}} =====Nhập vào cơ sở dữ liệu===== Tạo cơ sở dữ liệu rỗng trên hosting. Truy cập vào trang phpMyAdmin của hosting, chọn tab **Import**, rồi duyệt đến tập tin trên máy bằng nút **Choose File** ở khung **File to import**, kéo xuống dưới cùng và bấm **Import**. Khi xong bấm vào nút **Structure** để kiểm tra danh sách các bảng cơ sở dữ liệu được nhập vào. {{ :nukeviet4:setup:nv4-mysql-import.jpg?600 |}} =====Sửa thông số cơ sở dữ liệu===== Để kết nối gói mã nguồn đã tải lên hosting và cơ sở dữ liệu thì bạn cần can thiệp vào những dòng lệnh của hai tập tin ''config.php'' (thư mục gốc của hosting) Bạn cần chuẩn bị các thông số để khai báo vào hai tập tin này: tên miền (không cần phải nhập http:), MySQL Hostname (tên máy chủ MySQL), MySQL Username (tên đăng nhập cơ sở dữ liệu), Database name (tên cơ sở dữ liệu) và MySQL Password (mật khẩu đăng nhập cơ sở dữ liệu). Nếu sử dụng phần mềm FileZile FTP Client thì cần phải tải hai tập tin trên về máy để chỉnh sửa bằng Notepad, rồi tải lên và ghi đè tập tin cũ. + Đối với tập tin config.php, tìm đến dòng lệnh: $db_config['dbhost'] = "localhost"; $db_config['dbport'] = ""; $db_config['dbname'] = "home"; $db_config['dbuname'] = "root"; $db_config['dbpass'] = "123"; $db_config['prefix'] = "nv3"; Thay thế ''localhost'' bằng địa chỉ MySQL Hostname (nếu máy chủ mysql khác máy chủ web), ''home'' bằng thông số Database name, ''root'' bằng thông số MySQL Username, ''123'' bằng thông số MySQL Password. Sau khi thực hiện xong các thao tác trên thì trang web đã vận hành được bình thường trên Internet.