June 19, 2015

Tự động cài đặt Nginx - MariaDB - Php-Fpm - Exim

Không phải bất cứ ai cũng quen thuộc với linux và giao diện dòng lệnh, do đó không ít bạn sau khi sở hữu VPS hoặc Dedicated Server lại không biết phải bắt đầu từ đâu. Nhằm giúp các bạn có một khởi đầu thuận lợi, tôi đã viết ra một đoạn script đơn giản giúp giảm thiểu những rắc rối khi xây dựng mới một webserver.

Script này chỉ áp dụng cho những bạn muốn xây dựng webserver chạy các ứng dụng yêu cầu có php và mysql, ví dụ mã nguồn các loại blog, forum, cms... đang thịnh hành hiện nay như wordpress, xenforo, vbulletin, mybb, joomla...

Script cũng chỉ giới hạn dành cho server trống chưa có giữ liệu gì quan trọng trên đó. Lưu ý rằng khi chạy script này nó sẽ xóa hầu hết những phần mềm nó có chứa hoặc những phần mềm xung đột với những phần mềm đó, do đó rất có khả năng bạn sẽ mât hết dữ liệu nếu chạy script trên server đang chạy website

Script này được tôi viết ra không chỉ muốn giúp các bạn có thể dễ dàng cài đặt webserver, mà còn tối ưu hóa rất nhiều nhằm giúp các bạn có được hiệu quả sử dụng tốt nhất. Để làm được điều này, tôi đã thực hiện những bước sau :

1./ Thay Apache bằng Nginx
Cả Apache lẫn Nginx đều là webserver, trên mạng có rất nhiều bài viết so sánh về tốc độ, hiệu suất và tính ổn định của hai loại webserver thông dụng nhất này, do đó tôi không lặp lại nữa. Nếu bạn nào chưa biết có thể google để tìm hiểu thêm. Tôi có thể khẳng định với các bạn rằng Nginx ít tiêu tốn tài nguyên và nhanh hơn rất nhiều so với apache. Nhiều đến mức độ nào thì mời các bạn kiểm chứng sau khi sử dụng

2./ Thay MySQL bằng MariaDB
Cũng tương tự như trên, cả MySQL lẫn MariaDB đều là hệ thống cơ sở dữ liệu phổ biến hiện nay. Cũng có rất nhiều bài so sánh hiệu suất của 2 loại này trên mạng, các bạn có thể google để biết thêm. Tôi chọn MariaDB, nếu VPS của các bạn có trên 512mb ram thì tôi cũng khuyên chọn MariaDB. Các bạn yên tâm là MariaDB tương thích hoàn toàn với các ứng dụng yêu cầu có mysql

3./ Sử dụng PHP-FPM
Cũng là lý do về hiệu suất, và trên mạng cũng có rất nhiều bài so sánh về php-fpm với mod_php và fastcgi. Tôi chọn php-fpm không chỉ do nó ít tiêu tốn tài nguyên và nhanh hơn, mà còn do nó kết hợp tuyệt vời với nginx tạo nên bộ đôi hoàn hảo

4./ Thay Sendmail bằng Exim
Exim nhỏ gọn nhưng mạnh mẽ, chức năng đầy đủ như sendmail, nó cũng có thể hoàn toàn thay thế cho sendmail

Script sẽ cài đặt những phiên bản stable mới nhất của các phần mềm kể trên. Ngoài việc lựa chọn phần mềm để cài đặt thì script cũng làm luôn công việc cấu hình và tinh chỉnh. Bạn chỉ việc làm theo hướng dẫn khi chạy script trên dòng lệnh, chủ yếu là cung cấp một số thông tin cơ bản như tên miền chính, port quản lý, mật khẩu root mariadb...

Yêu cầu để script có thể hoạt động tóm gọn như sau :
a./ Một server chưa sử dụng ( Nếu đang dùng mà muốn cài lại bằng script này thì tốt nhất cứ cài lại hệ điều hành cho server luôn cho sạch )
b./ Hệ điều hành Centos 6 ( khuyên dùng 64bit ) trở lên đã cài sẵn wget ( chưa có thì "yum install wget" )
c./ Ít nhất 512MB Ram
d./ Khả năng đọc hiểu tiếng anh chấp nhận được (có mấy chỗ tôi để mặc định tiếng anh mà không dịch lại, do đó bạn ít nhất cũng phải hiểu nó đang yêu cầu làm gì để mà làm theo)


Khi VPS / Server của các bạn đã đáp ứng đủ những yêu cầu trên, bạn chỉ việc login vào VPS thông qua SSH để làm việc với môi trường dòng lệnh trên vps. Các bạn có thể sử dụng Putty nếu dùng windows và dùng termial cài sẵn ssh client nếu dùng linux. Sau đó chạy duy nhất 1 câu lệnh sau :

wget https://mega.co.nz/#!y5IA2L7I!uM0eWM4EQyX74Y6vryYMlbhdbvUHVQkg9StqLoPk7_I && chmod +x wp-build && ./wp-build 

Đợi nó chạy 1 lát và bạn sẽ thấy bảng thông báo như sau
Tự cài NGINX cho WordPress
Các bạn nhập tên miền chính cho máy chủ vào và ấn Enter.
Tiếp tục, nhập port PhpMyAdmin mà bạn muốn thiết lập. Bạn có thể nhập port bất kỳ (miễn là không bị trùng với bất kỳ port nào khác, ví dụ như port 80, port 3306 của mariadb, port 22 của SSH…)  nhưng phải nhớ vì muốn đăng nhập vào PhpMyAdmin bạn phải vào theo đường dẫn domain-chinh:port
Sau khi enter xong bạn sẽ cần chờ một lát để nó tự cài đặt và cấu hình cho bạn luôn. Làm ly cafe cho nó ấm nào.  :cafe: Đừng quên theo dõi màn hình xem nó đang làm cái quái gì.
Bỗng nhiên bạn sẽ thấy môt dòng thông báo như sau
Tự cài đặt NGINX cho WordPress
Thế thì cứ Enter thôi còn đợi gì nữa. Sau khi Enter thì nó sẽ yêu cầu bạn thiết lập mật khẩu root MariaDB (trong đó ghi là mysql nhưng bạn cứ biết nó là MariaDB nhé).
Sau khi Enter và nhập mật khẩu root cho cơ sở dữ liệu thì bạn sẽ thấy nó hỏi chọn Y hoặc N để bảo mật cho MySQL. Gõ Y rồi Enter.
Và thế là xong, sau khi cài đặt xong bạn sẽ thấy thông báo chào mừng thế này, nhớ đọc kỹ nhé.
tu-cai-nginx-cho-wordpress-3
Ok rồi đó, bây giờ bạn thử truy cập vào domain (nếu đã trỏ IP về domain) hoặc IP của VPS, bạn sẽ thấy lỗi 403. Lý do là chưa có tập tin nào upload lên đó. Ngay bây giờ bạn có thể tiến hành tạo database trong PhpMyAdmin và cài đặt WordPress thông qua lệnh wget được rồi đó.  

Bật menu các chức năng của module

Để sử dụng hết được tính năng của phiên bản mới này, sau khi cài đặt xong, các bạn đánh lệnh
1
servertut-menu

Bật tính năng Auto Backup

Để sử dụng tính năng tự động sao lưu, bạn phải chạy lệnh sau 1 lần duy nhất
1
servertut-config
Khi chạy, script sẽ hỏi bạn một số thông tin cơ bản, bạn cứ trả lời nó và enter như bình thường, sau đó nó sẽ tự tạo ra một lệnh có tên là stbackupdb . Khi bạn cần sao lưu gấp, chỉ cần chạy lệnh
1
stbackupdb

Cách thêm domain vào VPS

Muốn thêm domain vào VPS thì chỉ cần bạn chạy lệnh sau
1
servertut-menu
Sau đó bạn nhập số 1 và nhấn Enter, bây giờ chỉ cần làm theo hướng dẫn là được.
Bạn chỉ cần trỏ domain về IP của VPS là có thể chạy được. Nhớ restart lại nginx khi thêm domain vào với lệnh
1
service nginx restart

0 comments:

Post a Comment