Tạo Website với Openshift

Tạo Website với Openshift

Bài đầu tiên của blog này sẽ nói về chính những dịch vụ mà nó đang chạy trên đó.

Chú ý: Nội dung bài này chỉ thích hợp với những người đã có 1 chút kiến thức về các thành phần cũng như cách thức hoạt động của 1 website. Website tồn tại trên mạng cũng giống như 1 ngôi nhà, nó cũng cần có 1 mảnh đất để xây dựng (Hosting), một số nhà (Domain) để gắn cho ngôi nhà của bạn.

Trước hết, nói về tên miền thì các bạn có thể bỏ 1 khoản phí nho nhỏ để tậu cho riêng mình 1 cái tên miền dạng .com, .net, .biz….  Hoặc có thể sử dụng các dịch vụ cung cấp tên miền miễn phí như dot.tk.

Sau khi đã có tấm bảng số nhà rồi, bước tiếp theo là xây dựng ngôi nhà để gắn cái bảng số đó lên. Ở đây, tôi chọn nhà cung cấp dịch vụ Hosting là OpenShift. OpenShift thực chất không phải là một hosting thông thường, mà đó là một ứng dụng cho phép tạo ra 1 nền tảng Hosting công cộng, và chúng ta có thể tùy chỉnh phần mềm cài cho nó. Bạn có thể cài đặt một số ứng dụng tùy chọn như Python, PHP, Perl, Python, MySQL, PostgreSQL….. Mỗi ứng dụng này được hỗ trợ từ các package, các pakage này cũng như các gói phần mềm riêng lẻ trên Windows, bạn cần phần mềm nào thì bạn có thể cài phần mềm đó.

Lưu ý
Đến thời điểm sau tháng 102017, OpenShift đã kết thúc chương trình hỗ trợ free hosting như thế này. Cách này không còn hiệu quả nữa.

Các tool cần chuẩn bị:

OK. Let’s start!

Đăng ký 1 tài khoản OpenShift

Vào trang chủ OpenShift tại https://www.openshift.com và nhấn Sign Up:

Register new Openshift account

Sau khi đăng ký xong, OpenShift sẽ gửi 1 email yêu cầu xác nhận vào địa chỉ email. Sau khi xác nhận qua đường link mà Openshift đã gửi qua email, vậy là chúng ta đã xong bước 1.

Tạo Application cho tài khoản OpenShift

Nhấn vào Creat your first application now

Creat new application

Cài đặt Server

Cài đặt các dịch vụ cần thiết để cho 1 website có thể chạy được. Ở đây chúng ta dùng mã nguồn PHP nên sẽ cài gói ứng dụng PHP cho Host của mình. Hiện tại chúng ta có 2 lựa chọn: PHP 5.3 và PHP 5.4. Chọn cái nào cũng được nhưng tại thời điểm hiện tại (khi bài viết này được viết) thì phiên bản PHP 5.4 chưa hỗ trợ mcrypt, vì thế nếu bạn dùng ứng dụng nào yêu cầu có mcrypt thì nên chọn phiên bản PHP 5.3.

PHP Installing

Trong mục Public Url ta điền vào tên của Application. Trong mục Scalling có 2 lựa chọn: No Scalling và Scale with web traffic. Tôi chọn Scale with web traffic để có thể tận dụng được tối đa tài nguyên hệ thống (hơi tham tí)

Choose option

Nhấn Creat Application để bắt đầu cài đặt. Sau khi cài đặt xong, bạn vô đường link có dạng như Public Url ban đầu đã tạo ra, nếu như dưới đây là đã cài đặt PHP thành công.

PHP installed successfull

Quay lại trang chủ Application, nhấn vào Application của chúng ta mới tạo khi nãy, phía dưới có các tùy chọn cài đặt các hệ cơ sở dữ liệu:

Choose database manager

Ở đây tôi chọn MySQL.

MySQL installing

Chờ 1 lúc để hệ thống cài đặt, sau khi cài đặt MySQL xong sẽ như sau:

MySQL installed successfull

Bạn cần nhớ những thông tin về tài khoản, mật khẩu để sau chúng ta có thể kết nối vào cơ sở dữ liệu. Chú ý đây là thông tin cơ sở dữ liệu của bạn nên đừng có để ai biết.  Vậy là xong công việc tạo “móng” cho ngôi nhà của chúng ta.

Kết nối FTP đến để upload dữ liệu

OpenShift cho phép chúng ta sử dụng kết nối FTP được mã hóa qua SSH có tên SFTP. Đầu tiên, chúng ta sẽ cập nhật Private Key (Key này dùng để chứng thực cũng như mã hóa đường truyền của bạn) Để tạo ra Private Key thì chúng ta sử dụng chương trình có tên PUTTYGEN.EXE có trong bộ tool Putty lúc trước ta đã tải về. Chạy chương trình PUTTYGEN.EXE, nhấn vô nút Generate để bắt đầu quá trình tạo Key, bạn cần di chuyển chuột chạy vòng vòng trong cửa sổ chương trình để đẩy nhanh tiến độ tạo Key.

puttygen generate private key

Key tạo ra dạng như sau:

Private key

Để nguyên cửa sổ PUTTYGEN.EXE vừa xong, chúng ta quay lại giao diện Application của mình trên Openshift.

add private key

Bấm vào add an SSH public key to your account, sau đó copy nội dung Private Key  từ cửa sổ PUTTYGEN.EXE  và dán vào khung nhập dữ liệu trong Application của bạn. Sau đó nhấn Creat. Tiếp theo là lưu lại Private Key bằng cách nhấn vào Save Private Key trong cửa sổ PUTTYGEN.EXE, bạn lưu file *.ppk này ở đâu đó tùy bạn miễn sao chỉ có bạn biết thôi. OK, bây giờ mở WinSCP mà bạn download lúc trước về. Điền như dưới hình:

login infomation

Chúng ta sẽ không sử dụng password, mà sử dụng chính Private Key ban nãy tạo ra để đăng nhập. Nhấn vào Advanced… và trỏ đường dẫn tại mục Authentication đến file private key ban nãy tạo ra.

add private key

Nhấn OK để hoàn tất. Nhấn Login để đăng nhập vào Host của bạn.

root directory

Sau khi đăng nhập xong, bên cửa sổ bên phải của bạn chính là thư mục trên Host, bạn vào theo đường dẫn /app-root/repo/php. Đây chính là thư mục gốc (giống thư mục www hay htdocs), các bạn sẽ upload mã nguồn website của bạn lên đây. Xong phần xây nhà, giờ là đi gắn biển cho ngôi nhà. Các bạn đã có domain của riêng mình rồi thì đi tiếp, ai chưa có thì vui lòng đi đăng ký 1 cái nhé. Openshift có cơ chế redirect, không cần Nameserver, vì thế cần xác định chính xác địa chỉ IP của máy chủ (cái này mỗi lần bạn tạo 1 Application sẽ có địa chỉ khác nhau) Để tìm địa chỉ không khó, tôi sẽ ping đến địa chỉ mặc định của App (trong trường hợp này là server-thanhblog.rhcloud.com)

Ping to get IP

Đã có địa chỉ của server. Tôi sẽ dùng địa chỉ này để add vào A Record trong mục quản lý tên miền tại dịch vụ tên miền của tôi.

Add IP to domain

Quan trọng là 2 mục @ và www. Giờ là công việc add domain đã trỏ IP vào Application trên Openshift. Đăng nhập vào Openshift, chọn Application:

add alias

Điền domain của bạn vào ô Domain name, Nhấn Save. Xong! Chờ 1 vài phút để hệ thống cập nhật tên miền của bạn.