Friday, June 10, 2016

Tạo hosting miễn phí với OpenShift Online

Bạn đang có ý định xây dựng cho mình một website cá nhân nhưng kinh phí để thuê và duy trì hosting thì quá đắt. Bạn đang tập làm web và muốn có 1 không gian để thử nghiệm. Hãy làm theo từng bước hướng dẫn sau để tự tạo cho mình một hosting miễn phí với dịch vụ OpenShift Online by Redhat. Và bạn có thể tùy thích cài đặt những dịch vụ, mã nguồn mà bạn biết sử dụng lên như: WordPress, Drupal, Python, PHP, MySQL…. Trong bài viết này mình sẽ hướng dẫn tạo hosting cài đặt mã nguồn WordPress đi kèm với dịch vụ cloudflare.


Openshift by RedHat

OpenShift Online là gì?


OpenShift Online thực chất không phải là một hosting thông thường mà ta vẫn thường hay nhắc mà đó chính là một ứng dụng tạo ra một nền tảng hosting công cộng ứng dụng công nghệ máy chủ điện toán đám mây để người dùng có thể sử dụng, tạo ra một hosting cho riêng mình và có thể tùy chỉnh các phần mềm được cài đặt lên trên nó. Nó có thể hỗ trợ Java, Python, Perl, Ruby và tất nhiên là có PHP và nó mới bổ sung PhpMyAdmin vào, nghĩa là bạn có thể chạy bất cứ mã nguồn PHP & MySQL nào trong đó có WordPress.

Nghe thì có vẻ phức tạp nhưng thực chất mọi thao tác trong OpenShift đã được đơn giản hóa đi rất nhiều bằng việc bạn có thể tự tạo ra ứng dụng riêng được hỗ trợ từ các package, các package này nghĩa là các gói phần mềm tùy theo từng mục đích sử dụng và nó cũng đã tối ưu để sử dụng, trong đó có package dành cho WordPress.
Nguồn: google.com


Ưu điểm:


  • Tạo tối đa 3 Website

  • Mỗi website dung lượng 1GB, băng thông không giới hạn

  • Có thể Add domain riêng nhưng với dạng: www.tendomain.xxx

Nhược điểm:


  • Nếu 1 ngày không có người truy cập, website sẽ vào trạng thái idle (mất vài giây để khởi động lại).

  • Nếu lượng traffic quá lớn có thể bị delete mà không cần báo trước (nghe nói chứ chưa gặp trường hợp này)

  • Truy cập từ Việt Nam đôi lúc rất chậm.

Thích hợp:


  • Tạo website test code.

  • Website có lượng traffic không quá lớn.

  • Tạm thời khi chưa có tiền mua Host xịn.

  • Đầy đủ công cụ và thích làm gì là tùy bạn khám phá.

Không thích hợp:


Những ai chưa có kiến thức về các thành phần cũng như cách thức hoạt động của một website.


A. ĐĂNG KÝ TÀI KHOẢN OPENSHIFT


Việc đăng ký cũng rất đơn giản, trước tiên bạn truy cập vào: https://www.openshift.com/app/account/new Sau đó bạn chỉ cần nhập email, mật khẩu, mã captcha và bấm Submittạo tài khoản openshift


Tiếp theo bạn vào Email đăng ký lúc nãy và bấm vào link mà Openshift gửi qua mail để kích hoạt tài khoản hoàn toàn.


B. TẠO APPLICATION CHO TÀI KHOẢN OPENSHIFT


Sau khi đăng nhập bạn bấm Create your first application now để tạo ứng dụng đầu tiên. tạo application cho tài khoản openshift

Mục đích chúng ta tạo website với mã nguồn WordPress nên có thể chọn WordPress 4 (cài đặt tự động) hoặc PHP 5.4 để tự cài đặt. tạo application trên openshift


Lưu ý 1: Nếu bạn cài WordPress 4 thì sẽ bị lỗi 1 số Plugin, theme và bạn không thể điều chỉnh domain về http://www.domain.xxx mà chỉ sử dụng dạng subdomain http://subdomain.domain.xxx


Lưu ý 2: Với OpenShift Free sẽ có 2 lựa chọn để bạn tạo website

1. No Scaling: Tạo 3 website riêng lẻ với mỗi Gear riêng (1 Gear = 1GB lưu trữ, 1 DB, 1 lượng traffic nhất định)


2. Scale with web traffic: Tạo 1 – 2 website (nên chọn 1) với Gear chia sẽ (Tự động điều chỉnh dung lượng, traffic cho website khi cần)


Với phương án 1 bạn có thể cài tự động các ứng dụng: WordPress 4, MySQL, Phpmyadmin từ OpenShift. Nhưng với Phương án 2 thì bạn bắt buộc phải cài Phpmyadmin thủ công.


Vì chúng ta cần 1 website với 1 dung lượng lớn hơn, traffic có thể tăng đột biến nên chọn phương án 2.

Để cài đặt 1 website chạy với WordPress hoàn chỉnh bạn cần cài đặt: PHP 5.4, mySQL. Trước tiên chọn cài đặt ứng dụng PHP 5.4

Tiếp theo đặt tên domain theo dạng tênDatabase-têndomain.rhcloud.com đặt tên website

Kéo xuống dưới chọn PA2: Scale with web traffic, chọn tiếp No Preference sau đó nhấn Create Application scale with traffic

Sau khi tạo xong nhấn vào Not now, continue hosting06

Lưu ý: Sau khi thao tác cài đặt xong thì bạn phải chờ 1 thời gian để hệ thống setup (khoảng vài giờ đồng hồ) và bạn mới có thể truy cập được. Nếu bấm vào link application vừa tạo mà hiện Page not found thì đừng lo lắng quá nhé.

Việc tiếp theo là cài MySQL và Phpmyadmin. Như đã nói ở trên bạn chỉ có thể cài MySQL từ Openshift còn Phpmyadmin sẽ cài thủ công sau đó.

Bạn nhấn vào Add MySQL 5.5 để bắt đầu cài đặt


cài đặt mySQL

Nhấn Add Cartridge để bắt đầu. cài đặt mysql

Sau khi cài xong sẽ có thông tin đăng nhập với User/pass đăng nhập mySQL và tên Database. Bạn có thể lưu lại lúc cần. thông tin database


C. CÀI ĐẶT FTP CLIENT, PHPMYADMIN:


Để cài đặt Phpmyadmin thì bắt buộc bạn phải sử dụng trình FTP để upload mã nguồn lên server.


Công cụ cần có:


WinSCP: https://winscp.net/eng/download.php#download2
Putty Key Generator: http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
Putty Cmd: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe


Download và chép file Putty.exe vào đường dẫn tương ứng:


C:\Program Files\PuTTY (windows 32bit)

C:\Program Files (x86)\PuTTY (Windows 64bit)


phpMyAdmin-4.4.15.2-english (chỉ tương thích với PHP 5.4, MySQL 5.5): https://files.phpmyadmin.net/phpMyAdmin/4.4.15.2/phpMyAdmin-4.4.15.2-english.zip


Trước tiên chạy Putty GEN.exe để lấy key ssh. Bạn bấm Generate để bắt đầu puttygen

Rê chuột liên tục vào vùng trống để quá trình tạo key nhanh hơn. puttygen 2

Copy đoạn Key lại sau đó nhấn Save Private key privatekey

Vào Setting của Openshift dán Key vừa tạo vào. Bấm Save. privatekey

Mở WinSCP lên cửa sổ đăng nhập hiện ra chọn New Site ftp clientChọn:


    • File Protocol: SFTP

    • Port: 22

    • Hostname: gõ lại domain do Openshift cung cấp.

    • Username chính là dãy số này:

username openshift

Bấm Advanced

Bấm Authentication và mở file Key vừa lưu lúc nãy add private key

Bấm OK > Save và bắt đầu Login.

Thư mục gốc của website sẽ ở địa chỉ này: /var/lib/openshift/[YourID]/app-root/runtime/repo

Với yourID vừa copy ở trên. thư mục gốc website

Upload file phpMyAdmin-4.4.15.2-english.zip lên, đổi tên sao cho dễ thao tác (ví dụ: php.zip)

Vào Commands > Open in PuTTY open in putty

Gõ vào dòng lệnh:


CD /var/lib/openshift/56a5d7327628e1cd0c000029/app-root/runtime/repo


Với địa chỉ thư mục gốc website của bạn ftp05

Sau đó gõ tiếp lệnh để unzip file phpmyadmin hoặc file mã nguồn wordpress (chỉ áp dụng với file nén dạng *.zip nhé)


Unzip php.zip


unzip command

Sau khi unzip xong bạn có thể đổi tên tùy thích ftp07

Mở thư mục Phpmyadmin lên kéo xuống dưới tìm file config.sample.inc.php đổi tên thành config.inc.php, mở file lên ở chế độ Edit config.php

Vào đường dẫn: /var/lib/openshift/[yourID]/.env/mysql/ ftp09

Mở file OPENSHIFT_MYSQL_DB_URL ftp10

Sẽ có nội dung sau:


mysql://adminsYSn9dT:Tsm9eezpfLrJ@56a5d83a7628e193770000fc-tremocoivo.rhcloud.com:50541/


Mở qua file Config.inc.php thêm 2 đoạn này vào sau dòng 27: $i++;


$i++;
$cfg['Servers'][$i]['port'] = '50541'; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = getenv('OPENSHIFT_MYSQL_DB_SOCKET'); // Path to the socket - leave blank for default socket

Sửa dòng sau:


$cfg['Servers'][$i]['host'] = '56a5d83a7628e193770000fc-tremocoivo.rhcloud.com';

Với Port, Host copy như trong hình, lấy được từ file OPENSHIFT_MYSQL_DB_URL ftp11

Kéo xuống dưới thêm nội dung vào 2 dòng này:


$cfg['UploadDir'] = getenv('OPENSHIFT_TMP_DIR');
$cfg['SaveDir'] = getenv('OPENSHIFT_TMP_DIR');

Bấm Save để lưu lại lên Host.

Vào thử đường dẫn xem thế nào. Nếu hiện ra trang đăng nhập thì nhập User/pass của mySQL vào. phpmyadmin01

Nếu cấu hình chính xác sẽ đăng nhập thành công và vào giao diện quản trị của phpmyadmin


phpmyadmin02


Đến đây đã thiết lập xong Phpmyadmin, tuy nhiên để tránh người khác truy cập và để bảo vệ tốt hơn cho database bạn cần bảo mật thư mục phpmyadmin bằng cách Tạo mật khẩu thư mục và CHMOD.

Chúng ta cần CHMOD về 600 cho các file config.inc.php.htaccess

Click chuột phải vào file cần thay đổi permissions > chọn Properties sau đó sửa mục Octal về 0600 phpmyadmin05

Để tạo mật khẩu bảo vệ thư mục bạn cần cấu hình file .htaccess và thêm file .htpasswd

Để tạo file đó bạn cần vào trang sau:
http://tools.dynamicdrive.com/password/ phpmyadmin03

Tại mục Enter Usernames bạn điền tên User để đăng nhập

Tại mục Enter Corresponding Passwords bạn nhập mật khẩu (chỉ chấp nhận chữ và số)

Bạn có thể nhập nhiều user/pass bằng cách mỗi user/pass nằm trên 1 dòng.

Tại mục số 2 bạn dán đường dẫn đến thư mục chứa file .htpasswd (đường dẫn tuyệt đối copy từ WinSCP)

Sau đó nhấn Submit sẽ được chuyển đến trang kết quả.

Trong WinSCP vào thư mục phpmyadmin tạo 2 file có tên .htaccess và .htpasswd

Copy lần lượt 2 tham số vào các file tương ứng mà trang web đưa ra.

Để tăng cường bảo mật file .htaccess bạn copy như đoạn dưới


RewriteEngine On
RewriteRule ^(setup/|libraries/|nx.php) - [F,L,NC]
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/lib/openshift/56a5d7327628e1cd0c000029/app-root/runtime/repo/xxx/.htpasswd
AuthGroupFile /dev/null
require valid-user

Nếu chính xác thì thư mục phpmyadmin sẽ hiện popup yêu cầu nhập mật khẩu. Bạn thử nhập user/pass để kiểm tra. phpmyadmin04

Vậy là xong phần cấu hình hosting. Bây giờ bạn chỉ upload source wordpress lên và cài đặt và các bạn lưu ý thông tin database chính là thông tin từ file OPENSHIFT_MYSQL_DB_URL ở trên.


mysql://adminsYSn9dT:Tsm9eezpfLrJ@56a5d83a7628e193770000fc-tremocoivo.rhcloud.com:50541/


Bạn điền như sau:
User: adminsYSn9dT
Pass: Tsm9eezpfLrJ
Database name: thuthuat
Server: 56a5d83a7628e193770000fc-tremocoivo.rhcloud.com:50541


D. ADD DOMAIN RIÊNG:


Với domain mặc định của OpenShift có vẻ không chuyên nghiệp lắm và việc add domain riêng cho OpenShift cũng có chút khó khăn so với các hosting chuyên nghiệp khác. Với việc chỉ chấp nhận đường dẫn domain dạng www.têndomain.xxx hoặc subdomain.têndomain.xxx mà không hỗ trợ nake domain dạng têndomain.com.

Bạn cần đến dịch vụ của bên thứ 3 đó là Cloudflare.com (search gg để biết thêm thông tin)

Đây là 1 dịch vụ DNS trung gian với nhiều ưu điểm nhanh, mạnh, bảo mật. Và quan trọng là giải quyết được vấn để trỏ domain của OpenShift. Có nghĩa là khi người dùng gõ tên website của bạn kiểu têndomain.xxx sẽ tự động chuyển về www.têndomain.xxx

Trước tiên bạn đăng nhập vào https://www.cloudflare.com sau đó vào DNS và thêm 2 Records như sau  dns10

Sau đó bạn qua tab Page Rules và tạo 1 rule theo hình add new rule cloudflare

Vậy là xong cấu hình DNS, còn 1 bước cuối cùng là thêm Domain vào OpenShift.

Vào OpenShift ngay tại domain hiện tại nhấn Change change domain openshift

Và bạn add lần lượt domain của bạn với www và không có www change domain cloudflare

Vậy là xong, bây giờ bạn có thể tận hưởng thành quả của mình rồi nhé.


Mình có tạo sẵn 1 hosting với đầy đủ thông số, private key để demo, các bạn có thể lấy thông tin và đăng nhập để test nhé. Nếu có thắc mắc có thể trao đổi với mình qua fanpage https://www.facebook.com/blogkongnghe hoặc để lại comment bên dưới.








 


 



Nguồn: Tạo hosting miễn phí với OpenShift Online
Chia sẽ bài viết:

Related Posts:

0 comments:

Post a Comment

LIKE US