Đưa Website NukeViet từ localhost lên hosting

06:24, 28/10/2010

XHTTOnline đã giới thiệu nhiều bài viết về cài đặt và thiết kế Website bằng NukeViet  trên localhost. Việc đưa Website lên hosting đang được nhiều bạn quan tâm, đặc biệt là các bạn đang làm quen với lĩnh vực tạo web bằng mã nguồn mở.

Để đưa website lên Internet, bạn cần chuẩn bị một hosting, tên miền và thực hiện theo các bước sau đây.

I. Các bước chuẩn bị

            Bước 1: Đăng kí hosting và tên miền

            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. Bài viết này sử dụng hai dịch vụ Byethostcz.cc.

            Sau khi đăng kí Byethost, bạn cần ghi nhớ các thông tin quản lý hosting, trong đó quan trọng nhất là các thông số: FTP user name, FTP password, FTP host nameMySQL host.

Trong hộp thoại VistaPanel, bạn nhập vào Username Password của FTP server, bấm Login. Đầu tiên, bạn cần tạo một cơ sở dữ liệu tại mục Data Managenment, bấm vào liên kết MySQL Databases, nhập vài kí tự vào ô Create a new database (ví dụ là số 24, Database Name sẽ có dạng b7_6016462_24), bấm Create Database. Bạn cần nhớ tên cơ sở dữ liệu này để sử dụng trong việc kết nối mã nguồn với cơ sở dữ liệu. Tại mục Domains, bạn bấm vào liên kết Addon Domains rồi nhập tên miền đã đăng kí ở dịch vụ cz.cc (ví dụ: webthunghiem.cz.cc), bấm Add Domain. Ngoài ra, bạn còn có thể tạo ra nhiều tên miền con (dịch vụ Byethost hỗ trợ miễn phí) bằng tính năng Sub-domains. Bây giờ, bạn cần đăng nhập vào tên miền đã đăng kí để cài đặt Name Server, bằng cách nhập vào hai ô Name Server 1 Name Server 2 lần lượt các giá trị ns1.byet.orgns2.byet.org, bấm Cài đặt. Việc còn lại là bạn phải chờ một khoảng thời gian để thay đổi có hiệu lực (thông thường khoảng 2 giờ đồng hồ nhưng đôi khi mất đến 48 giờ).

            Để đăng kí sử dụng dịch vụ tên miền miễn phí Cz.cc, bạn truy cập vào trang www.cz.cc rồi nhập tên miền muốn tạo vào ô, ví dụ www.webthunghiem.cz.cc, nhấn Check Availability để kiểm tra tên miền có tồn tại không?

Nếu tên miền chưa ai đăng kí thì mục Available sẽ được đánh dấu màu xanh. Khi đó, sẽ có hai hình thức đăng kí ở mục Domain Option, bạn bấm vào nút xổ xuống chọn Register 2 year, nhấn Add to cart, rồi tiếp tục nhấn Checkout ở khung Shopping Cart.


Tiếp theo, bạn điền đầy đủ các thông tin mà dịch vụ yêu cầu để đăng kí tài khoản mới: Username (tên đăng nhập), Password (mật khẩu), Repeat Password (nhập lại mật khẩu), Fullname (họ và tên), Street/Number, City, Post Code (có thể nhập tùy ý), Country (được chọn sẵn là Việt Nam), Email (địa chỉ thư điện tử), nhập mã hiển thị ở Security Code vào ô Verify Code, xong nhấn Create Account.

Khi đăng kí xong, bạn nhận được thông báo việc cài đặt tên miền đã hoàn tất, nhấn vào liên kết My Domain phía trên và nhấn nút Manage để chuyển đến trang quản lý tên miền.

Để trỏ từ tên miền đã đăng kí đến hosting Byethost, bạn nhấn vào mục Name Server rồi nhập vào địa chỉ máy chủ vào hai ô tương ứng Nameserver 1Nameserver 2, nhấn nút Update. Ngoài ra, bạn có thể nhấn Add more Nameserver để thêm vào ba địa chỉ còn lại.

Bước 2: Xuất bản cơ sở dữ liệu

Đầu tiên, bạn đăng nhập vào phpMyAdmin của localhost bằng trình duyệt Internet Explorer (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, ví dụ home. Một danh sách gồm nhiều bảng cơ sở dữ liệu hiện ra, kéo thanh trượt bên phải xuống đến cuối trang rồi bấm vào chữ Check All.


Khi xong, trở về đầu trang rồi bấm nút Export rồi kiểm tra trong khung View dump (schema) of database mục SQL đã được đánh dấu chọn hay chưa, các mục còn lại giữ mặc định.

Riêng đối với khung Save as type, bạn đặt tên cho tập tin cơ sở dữ liệu vào ô File name template, rồi đánh dấu chọn vào ô zipped ở mục Compression, bấm nút Go. 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.

Bước 3: Xóa bộ nhớ đệm

            Thư mục Cache trong thư mục gốc www là nơi lưu trữ những thông tin tạm thời trên localhost, dùng để nạp nhanh giao diện web của NukeViet, đặc biệt là tập tin .htaccess sẽ ngăn cản tiến trình tải lên máy chủ. Để xóa hết những tập tin trong thư mục này, chúng ta vào đường dẫn nukeviet/cache trong thư mục AppServ. Lưu ý, nếu không xóa hết tập tin trong thư mục Cache thì không thể tải gói mã nguồn lên hosting.

    Bước 4: Tải toàn bộ mã nguồn lên hosting

Khởi động phần mềm 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 (nhập vào số 21), 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.

            Bước 5: CHMOD 777 một số thư mục

            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, sess, logs, logs/data_logs, log/dump_backup, logs/error_logs, logs/error_logs/error256, logs/error_logs/old, logs/error_logs/tmp, logs/ip_logs, logs/ref_logs, logs/voting_logs, cache, uploads, tmp, .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 FileZilla FTP Client, chọn File permissions. Trong hộp thoại Change file attributes, bạn đánh dấu kiểm vào các ô cần chọn hoặc có thể nhập ngay số 777 vào ô Numeric value.

Bước 6: Nhập khẩu cơ sở dữ liệu

            Ở phần tạo cơ sở dữ liệu của bước 1, chúng ta đã được cung cấp các thông số quan trọng để quản lý cơ sở dữ liệu và tạo được cơ sở dữ liệu rỗng. Bây giờ, bạn cần đưa cơ sở dữ liệu đã sao lưu trên localhost vào cơ sở dữ liệu rỗng này. Sau khi truy cập vào trang quản trị hosting (panel.byethost.com), bấm vào liên kết phpMyAdmin ở mục Database Managenment, bấm Connect now ở tên cơ sở dữ liệu rỗng.

Trong trang phpMyAdmin hiện ra, bấm nút Import, rồi duyệt đến tập tin trên máy bằng nút Browse ở khung File to import, bấm Go.

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.

II. Kết nối mã nguồn với 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) và config_global.php (thư mục data). 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, home bằng thông số Database name, root bằng thông số MySQL Username, 123 bằng thông số MySQL Password.

            +Đối với tập tin config_global.php, tìm đến dòng lệnh:

            $global_config['my_domains'] = "localhost";

thay thế localhost bằng tên miền, ví dụ: tonghop24.com.

            Đến đây, Website đã vận hành được bình thường trên Internet.

BÙI THANH LIÊM