Cài đặt Lamp Webserver trên Amazon Linux

Cài đặt Lamp Webserver trên Amazon Linux

Chào các bạn !

Mình xin được viết hướng dẫn cài đặt Lamp Webserver trên Amazon Linux . Có 2 cách để build 1 Lamp Webserver .

+ Cách 1 : Cài đặt thủ công từng bước .

+ Cách 2 : Sử dụng Cloud Formation để tự động quá trình build bằng 1 vài click . Nhưng trong bài này mình sẽ hướng dẫn các bạn theo cách 1 . Cài đặt thủ công Lamp Webserver với Database nằm cùng trên EC2 Instance  . Ở các bài sau mình sẽ hướng dẫn các bạn cài đặt database trên RDS nhằm mục đích giảm tải cho EC2 Instance cũng như việc ta phải maintain database .

Cài đặt các Package

1. Đăng nhập vào EC2 Instance.

Để đăng nhập vào Instances các bạn có thể xem hướng dẫn tại đây .

2. Ta nên cập nhật tất cả các software package trước khi cài đặt .

[ec2-user ~]$ sudo yum update -y

NOTE : Option -y sẽ cài đặt các update mà không hỏi lại bạn để xác nhận .

3. Bây giờ ta sẽ bắt đầu cài đặt Apache webserver , MySQL và PHP

[ec2-user ~]$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd

4. Start apache web server

[ec2-user ~]$ sudo service httpd start
Starting httpd:                                            [  OK  ]

5. Sử dụng câu lệnh chkconfig để apache webser tự start mỗi khi server khởi động

[ec2-user ~]$ sudo chkconfig httpd on

Tip : Câu lệnh chkconfig không cung cấp bất kỳ thông tin nào khi bật service thành công . Để kiểm tra lại ta dùng câu lệnh sau .

[ec2-user ~]$ chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Mode 2 , 3 , 4 , 5 on là đã chạy ok .

6. Add thêm HTTP  Inbound rule cho security group để Instance có thể allow http traffic . Cách add các bạn có thể xem ở đây .

Cài đặt Lamp Webserver trên Amazon Linux

7 . Để test webserver . Ta mở trình duyệt sau đó điền địa chỉ DNS public hoặc IP public của Instance . Ta thể tìm thấy chúng trong Amazon EC2 console phần Description sẽ có đầy đủ thông tin chi tiết . publicdns

Nếu hiện test page như hình dưới là server đã chạy thành công. Cài đặt Lamp Webserver trên Amazon Linux

Note : Test page sẽ xuất hiện khi không có content nào nằm trong document root /var/www/html . Khi bạn add content vào trong document root , content của bạn sẽ xuất hiện thay vì test page . Apache httpd serves files được giữ trong thư mục được gọi là Apache document root /var/www/html . Với quyền sở hữu mặc định là root .

[ec2-user ~]$ ls -l /var/www
total 16
drwxr-xr-x 2 root root 4096 Jul 12 01:00 cgi-bin
drwxr-xr-x 3 root root 4096 Aug  7 00:02 error
drwxr-xr-x 2 root root 4096 Jan  6  2012 html
drwxr-xr-x 3 root root 4096 Aug  7 00:02 icons

Để cho phép ec2-user có khả năng thao tác trên document root bạn cần phải chỉnh sửa ownership và permission của thư mục . Trong bài hướng dẫn này mình sẽ thực hiện add group www vào instance . Sau đó gán ownership và permission cho group để các user trong group www sẽ có thể add , delete , modify các file của web server .

Để gán permission

1 . Add www group vào instance .

[ec2-user ~]$ sudo groupadd www

2. Add user vào group ( ở đây mình add ec2-user )

[ec2-user ~]$ sudo usermod -a -G www ec2-user

3. Log out sau đó log in lại để verify membership của www group . a. Log out .

[ec2-user ~]$ exit

b. Log in lại sau đó dùng lệnh để kiểm tra .

[ec2-user ~]$ groups
ec2-user wheel www

4. Change group owner ship của /var/www

[ec2-user ~]$ sudo chown -R root:www /var/www

5. Change permission của /var/www và các thư mục con chứa trong nó .

[ec2-user ~]$ sudo chmod 2775 /var/www
[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;

6. Change permission

[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;

Và bây giờ thì ec2-user và bất kỳ user nào nằm trong group www sẽ có quyền add , delete , edit files trong Apache document root .

Để test LAMP webserver 

Nếu server đã chạy và được set permission chuẩn xác , thì account ec2-user có khả năng tạo được content trong document root và ta có thể truy cập nội dung từ internet . Để thực hiện test ta làm vài bước đơn giản như sau .

  1. Tạo 1 file PHP với nội dung như sau trong Apache Document Root
[ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

TIP : Nếu bạn nhận thông báo ” Permission denied ” khi chạy câu lệnh . Bạn hãy thử log out sau đó log in lại .

      2. Mở web browser rồi nhập URL như sau :

http://my.public.dns.amazonaws.com/phpinfo.php

Bạn sẽ thấy ngay information page .

Cài đặt Lamp Webserver trên Amazon Linux

3. Sau đó ta nên delete phpinfo.php file . Vì lý do bảo mật ta nên xóa nó đi ngay sau khi test nhằm tránh để lộ thông tin.

[ec2-user ~]$ rm /var/www/html/phpinfo.php

Vậy là mình đã thực hiện xong việc cài đặt Apache web server và thực hiện các bước kiểm tra . Ở bài tiếp theo mình sẽ hướng dẫn các bạn thực hiện cài đặt MySQLphpMyAdmin .

Xem tiếp bài trong series

Bài kế tiếp : Cài đặt MySQL và phpMyAdmin trên Amazon Linux

Bài Trước :   Hướng dẫn kết nối tới EC2 Instance sử dụng keypair

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *