Cài Đặt LAMP trên Ubuntu 18.04

LAMP hay LAMP Stack là một nhóm gồm 3 phần mềm khác nhau Apache, MySQL và PHP sử dụng trên hệ điều hành Linux. Thuật ngữ LAMP được hình thành từ việc kết hợp các chữ cái đầu tiên của các từ Linux, Apache, MySQL và PHP.

Bài viết này sẽ hướn dẫn bạn cách cài đặt LAMP trên Ubuntu 18.04 LTS, đây cũng là phiên bản mới nhất của Ubuntu và được hỗ trợ dài hạn (LTS ở đây là viết tắt của Long Term Support tức là hỗ trợ dài hạn).

Lưu ý: Để có thể làm theo hướng dẫn trong bài học thì bạn cần nắm rõ cách sử dụng chương trình cửa sổ dòng lệnh terminal trên Ubuntu.

Cài Đặt Apache

Chạy câu lệnh sau để cài đặt Apache:

$ sudo apt-get -y install apache2

Câu lệnh trên sẽ cài đặt Apache phiên bản mới nhất dành cho Ubuntu, vào thời điểm này là Apache 2.4.

Sau khi cài đặt bạn cần khởi động Apache web server:

$ sudo service apache2 start

Sử dụng trình duyệt và truy cập vào địa chỉ https://localhost. Trình duyệt sẽ hiển thị kết quả như sau:

Hiên thị của trang web mặc định trong Apache

Trang này chính là nội dung của tập tin /var/www/html/index.html. Thư mục /var/www/html được gọi là thư mục gốc của Apache.

Nếu bạn đang kết nối với server sử dụng SSH thì có thể để sử dụng câu lệnh curl kiểm tra lại:

$ curl -v localhost

Kết quả hiển thị của câu lệnh trên:

* Rebuilt URL to: http://localhost/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.53.1
> Accept: */*
> 
< HTTP/1.1 302 Found
< Date: Sat, 09 Jun 2018 14:22:08 GMT
...

Cài Đặt MySQL

Chạy câu lệnh sau đây để cài đặt MySQL server và MySQL Client trên Ubuntu:

$ sudo apt-get -y install mysql-server mysql-client

MySQL server dùng để lưu trữ dữ liệu sử dụng các cơ sở dữ liệu khác nhau còn MySQL client là chương trình cứa sổ dòng lệnh cho phép chúng ta tương tác với MySQL server để thực hiện các tác vụ như lấy, chỉnh sửa hoặc xoá dữ liệu... Trên cửa sổ dòng lệnh, chương trình MySQL client được chạy sử dụng câu lệnh mysql.

Kiểm tra kết nối tới MySQL server sử dụng MySQL client:

$ sudo mysql -u root

Lưu ý: Với phiên bản MySQL 5.7 trở về sau thì khi chạy câu lệnh mysql (hay MySQL client) thì bạn cần sử dụng sudo.

Câu lệnh trên sẽ tạo một kết nối tới MySQL server để đăng nhập với tên người dùng là root và mật khẩu rỗng (mât khẩu mặc định của người dùng root sau khi cài đặt MySQL server). Kết thúc câu lệnh MySQL client sẽ tạo một nối với server và bạn sẽ thấy cửa sổ dòng lệnh hiển thị kết quả sau:

Your MySQL connection id is 192508
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Để thoát khỏi kết nối bạn chạy câu lệnh sau:

> exit

Hoặc dùng tổ hợp phím <kbd>contrl</kbd> + <kbd>C</kbd>.

Bảo Mật MySQL Server

Tiếp theo chúng ta sẽ chạy câu lệnh mysql_secure_installation để tăng bảo mật máy chủ MySQL server:

$ sudo mysql_secure_installation

Lưu ý: Bạn có thể chạy lại câu lệnh mysql_secure_installation nếu muốn thay đổi lại giá trị đã chọn ở một bước nào đó trong các bước dưới đây.

Ở bước đầu tiên bạn sẽ được yêu cầu nhập mật khẩu cho người dùng root:

Securing the MySQL server deployment.
Enter password for user root:

Bấm <kbd>Enter</kbd> để tiếp tục vì người dùng root hiện tại không có mật khẩu.

Tiếp theo máy tính sẽ hỏi bạn có muốn tạo mật khẩu mới cho người dùng root:

Press y|Y for Yes, any other key for No:
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) 

Nếu bạn muốn thay đổi mật khẩu cho nười dùng root gõ phím <kbd>y</kbd> hoặc <kbd>y</kbd> và gõ <kbd>Enter</kbd>. Ngược lại gõ bất kỳ phím nào khác với hai phím trên và gõ <kbd>Enter</kbd> nếu bạn không muốn tạo mật khẩu cho người dùng này. Trường hợp tạo mật khẩu mới, bạn hãy chọn một mật khẩu dễ nhớ và tốt nhất bạn nên lưu trữ mật khẩu này vì nếu quên nó bạn sẽ cần thực hiện một số bước để reset lại mật khẩu.

ở bước tiếp theo bạn sẽ được hỏi có muốn xoá người dùng ẩn danh hay không:

Remove anonymous users? (Press y|Y for Yes, any other key for No) :

Bạn nhập <kbd>y</kbd> và gõ <kbd>Enter</kbd> để xoá người dùng ẩn danh.

Sau đó bạn sẽ được hỏi có muốn vô hiệu hoá việc login remote (đăng nhập tới MySQL server từ một máy tính khác) hay không:

Disallow root login remotely?

Bạn nhập <kbd>y</kbd> và gõ <kbd>Enter</kbd> để vô hiệu quá.

Sau đó bạn tiếp tục được hỏi có muốn xóa cơ sở dữ liệu dùng với mục đích kiểm thử hay không:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

Bạn nhập <kbd>y</kbd> để xoá.

Ở bước cuối cùng bạn sẽ được hỏi có muốn tải lại các quyền trên table của cơ sở dữ liệu hay không:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : 

Nhập <kbd>y</kbd> và gõ <kbd>Enter</kbd>.

Cài Đặt PHP 7

Chạy câu lệnh sau đây để cài dặt phiên bản mới nhất của PHP trên Ubuntu 18.04 là PHP 7.2:

$ sudo apt-get -y install php7.2

Cài đặt thư viện libapache2-mod-php7.2 để tích hợp PHP với Apache:

$ sudo apt-get -y install libapache2-mod-php7.2

Khởi động lại Apache web server:

$ sudo service apache2 restart

Kiểm Tra Hoạt Động Của PHP với Apache

Chạy câu lệnh sau đây để tạo một tập tin PHP trong thư mục gốc của Apache:

$ sudo echo "<?php phpinfo();?>" > /var/www/html/phpinfo.php

Đồi người dùng và nhóm người dùng cho tập tin mới tạo để Apache có quyền đọc nội dung tập tin:

$ chown www-data:www-data /var/www/html/phpinfo.php

Bây giờ nếu bạn truy cập vào địa chỉ http://localhost/phpinfo.php để kiểm tra bạn sẽ thấy trình duyệt hiển thị thông tin cấu hình của phiên bản PHP mới được cài đặt nhờ sử dụng hàm phpinfo() như sau:

Thông tin cấu hình PHP

Tích Hợp PHP và MySQL

Để tích hợp PHP và MYSQL bạn chạy câu lệnh sau:

$ sudo apt-get -y install php7.2-mysql

Cài Đặt Một Số Mô-Đun PHP Phổ Biến

Chạy câu lệnh dưới đây để cài đặt một số mô-đun (module) PHP phổ biến thường được dùng khi phát triển ứng dụng web với PHP:

$ sudo apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

Kết Luận

Trong bài học này chúng ta đã cùng nhau tìm hiểu cách cài đặt LAMP stack trên Ubuntu 18.04. Nếu bạn thấy hữu ích đừng quên chia sẻ trên Google cộng hoặc share trên Facebook với bạn bè nhé. Chúc bạn thành công!

lamp PHP Apache MySQL Ubuntu Linux Terminal
Bình Luận (3)

Kiểm Tra Hoạt Động Của PHP với Apache

Chạy câu lệnh sau đây để tạo một tập tin PHP trong thư mục gốc của Apache: Khi đến bước này, máy báo lỗi là permission denied. Tức là bị sao vậy admin? Cảm ơn

Trả lời 4 tháng trước
Bình Luận (1)
Thành Công  Thành Công đã bình luận 3 tháng trước

Bạn tham khảo cách fix lỗi này ở bài viết này nhé.

MÌnh sử dụng lệnh này để tạo file php info

$ sudo echo "<?php phpinfo();?>" > /var/www/html/phpinfo.php

sau khi truy cập http://localhost/phpinfo.php Thì nó trả về thế này là sao ad

Not Found The requested URL /phpinfo.php was not found on this server.

Trả lời 3 tuần trước
Bình Luận (1)
Học Phạm  Học Phạm đã bình luận 2 ngày trước

bạn thử $ sudo su rồi paste lại dòng lệnh trên thử xem

Thêm Bình Luận: