Thứ Bảy, 10 tháng 9, 2011

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 (hoặc chuyển từ host này sang host khác) 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ụ Byethost và cz.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 name và MySQL host.

imageTrong hộp thoại VistaPanel, bạn nhập vào Username và 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 và 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ấnCheck Availability để kiểm tra tên miền có tồn tại không?

image 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.

image

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.

image Để 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 1và Nameserver 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.

image 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.

image

Chú ý: Nếu website của bạn ở host khác thì làm tương tự.

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.

imageRiê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.

imageBướ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

image

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.

image 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.

image 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.

image

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 của bạn, ví dụ: tonghop24.com

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

image

Theo BÙI THANH LIÊM (xahoithongtin.com.vn)

P/S: Nếu chỉ thực hiện các bước trên thì khi bạn vào ACP cấu hình bất kỳ thành phần nào của web thì nó lại tự động chuyển về tên miền cũ. Lúc đó các bạn phải phải sửa file config_global.php như đã thực hiện ở trên thì web mới chạy trên tên miền mới.Để khắc phục được lỗi này, các bạn sử dụng 1 trong 2 cách dưới đây.

Cách 1: Mở file CSDL đã xuất ở bước II bằng trình duyệt văn bản dạng text (ví dụ: Notepad, Notepad ++ , v.v …) tìm đến dòng:

('sys', 'global', 'my_domains', 'tên miền cũ của site'),

          và sửa tên miền cũ của site thành tên miền mới của site, sau đó import CSDL (theo mình cách này không nên dùng, vì có thể gây lỗi CSDL)

Cách 2: Đăng nhập phpmyadmin, mở CSDL của bạn, click trường nv3_config (số 1), cho hiện 100 dòng (số 2) để tìm my_domains cho dễ, click Edit để sửa my_domains, sau đó thay domain cũ thành domain mới của bạn. (các bạn quan sát các hình dưới đây)

NukeVietNukeViet2(Cách này tuyệt đối không ảnh hường gì đến CSDL)

Chúc các bạn thành công

Lê Văn ChuyênTHPT Hiệp Hòa 1

0 nhận xét:

Đăng nhận xét

- Hãy dùng tiếng Việt có dấu để mọi người dễ đọc hơn!
- Các bạn hãy Mã hóa Code trước khi chèn vào nhận xét
- Chèn link bằng thẻ: <a href="URL liên kết" rel="nofollow">Tên link</a>
- Tạo chữ <b>đậm</b> và <i>Ngiêng</i>
- Hướng dẫn gõ công thức Toán trên blog bằng MathType
Thank you