Amazon Web Service hay AWS là dịch dịch vụ điện toán đám mây hàng đầu trên thế giới được cung cấp bởi công ty Amazon. Trong đó Amazon EC2 hay Elastic Compute Cloud là một trong các gói dịch vụ được sử dụng phổ biến nhất trong các gói dịch vụ có trong Amazon Web Service. Amazon EC2 cung cấp một kiến trúc cơ sở hạ tầng để chúng ta có thể dễ dàng sử dụng và quản lý các máy chủ của họ. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách cài đặt LAMP Stack trên một máy chủ Amazon EC2 sử dụng phiên bản hệ điều hành Linux của Redhat.
Cài Đặt Apache, MySQL và PHP
Sau khi kết nối vào server Amazon EC2 chúng ta cần cập nhật các gói package cho máy chủ. Trên cửa sổ Shell bạn chạy câu lệnh sau:
$ sudo yum update -y
Tuỳ chọn -y (viết tắt của Yes) ở trên sẽ được Bash sử dụng để biết rằng chúng ta sẽ xác nhận việc chúng ta muốn các gói package được cập nhật mà không cần phải hỏi lại. Nếu bạn không để tuỳ chọn trên, sau khi kiểm tra và đưa ra danh sách các gói package cần phải cập nhật, Bash sẽ hỏi lại bạn xem bạn có muốn cập nhật hay không.
Sau khi kết thúc việc cập nhật các gói package, chúng ta dùng câu lệnh sau để cài đặt cả 3 gói Apache Webserver, MySQL Database Server và PHP:
$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd
Cấu Hình Apache
ở trên sau khi cài đặt xong Apache Webserver thì bước tiếp theo chúng ta cần phải khởi động Apache Webserver:
$ sudo service httpd start
Sử dụng câu lệnh chkconfig để cấu hình Apache tự khởi động mỗi khi máy chủ khởi động:
sudo chkconfig httpd on
Kiểm tra xem Apache đã có trong danh sách các chương trình được mở vào thời điểm máy chủ khởi động hay chưa:
$ chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Kết quả trên cho thấy Apache sẽ được khởi động khi hệ thống ở trạng thái level 2, 3, 4 và 5. Và điều này đúng với những gì chúng ta cần.
Để kiểm tra xem Apache đã hoạt động hay chưa bạn có thể mở trình duyệt và gõ vào địa chỉ Public DNS của máy chủ Amazon EC2 bạn đang dùng. Bạn có thể tìm địa chỉ Public DNS này ở trang quản lý Console Management của Amazon Webservice.
Kiểm Tra PHP
Để kiểm tra xem phiên bản PHP nào đang được sử dụng bạn chạy câu lệnh sau:
$ php --v
Bạn sẽ thấy cửa sổ hiện ra kết quả tương tự như sau:
PHP 5.6.17 (cli) (built: Jan 16 2016 00:21:00)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
Bảo Mật MySQL
Bản cài đặt MySQL có một số tính năng thuận tiên giúp chúng ta có thể kiểm tra và chạy thử nó sau khi cài đặt. Tuy nhiên điều này chỉ thích hợp với môi trường testing và developement. Trên môi trường production, chúng ta cần bảo mật MySQL Database và vô hiệu hoá các tính năng trên. Để làm điều này chúng ta cần tới chương trìnhmysql_secure_installation. Tuy nhiên trước tiên chúng ta cần phải khởi động MySQL database. Trên cửa sổ dòng lệnh shell chạy câu lệnh sau:
$ sudo service mysqld start
Bạn sẽ thấy cửa sổ shell sẽ hiển thị thông báo như sau:
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
...
Starting mysqld: [ OK ]
Dòng cuối cùng nói với chúng ta rằng MySQL Database đã được khởi động thành công. Bây giờ chúng ta sẽ chạy chương trình mysql_secure_installation:
$ sudo mysql_secure_installation
Trên cửa sổ shell bạn sẽ được yêu cầu bạn nhập khẩu cho user là root được tạo sẵn trên cơ sở dữ liệu MySQL.root là user có quyền đặc biệt truy cập và quản lý (bao gồm tạo, sửa và xoá) mọi cơ sở dữ liệu được lữu trữ trên MySQL. Sau khi cài đặt thì root không có mật khẩu vì vậy bạn chỉ cần bấm Enter.
Các bước tiếp theo bạn cần làm như sau:
-
Nhập vào Y khi được hỏi có muốn đặt mật khẩu cho root user hay không. Sau đó nhập mật khẩu mới.
-
Nhập Y khi được hỏi có muốn xoá người dùng ẩn danh (người dùng này có thể truy cập MySQL mà không cần có mật khẩu) hay không.
-
Nhập Y để vô hiệu quá việc đăng nhập từ xa (remote login hay đăng nhập mà không cần ở trên server)
-
Nhập Y để xoá test database (cơ sở dữ liệu dùng cho mục đích testing)
-
Nhập Y để tải lại các cài đặt trên
Kết thúc bước trên bạn đã hoàn tất việc bảo mật cơ sở dữ liệu. Nếu trên server này bạn không có ý định sử dụng MySQL thì bạn có thể dừng chương trình này bằng câu lệnh:
$ sudo service mysqld stop
Trường hợp sau khi dừng MySQL mà bạn lại cần phải sử dụng tới nó thì để khởi động lại bạn có thể dùng câu lệnh sau:
$ sudo chkconfig mysqld on
Tới đây bạn đã hoàn tất việc cài đặt LAMP Stack trên Amazon EC2!