Cấu hình máy chủ web Ubuntu với phpMyAdmin (LAMP Stack)

Ubuntu Server là một trong những hệ điều hành nguồn mở phổ biến nhất có thể được sử dụng trong sản xuất mà không gặp rắc rối nào. Trong bài viết trước của tôi, tôi đã thảo luận về cách cài đặt Ubuntu Server với phân vùng LVM . Tôi cũng đã thảo luận về cách gán địa chỉ IP tĩnh trên giao diện Ubuntu Server bằng công cụ quản lý mạng Netplan. Máy chủ web Ubuntu là một dịch vụ phổ biến vì các nhà phát triển web thường sử dụng Ubuntu Server cho dự án phát triển của họ. Bên cạnh dự án phát triển, máy chủ web Ubuntu cũng có thể được sử dụng trong sản xuất mà không gặp rắc rối nào.

Máy chủ web Ubuntu chủ yếu dựa trên apache2, PHP và MariaDB hoặc MySQL. Nó thường được gọi là Ngăn xếp LAMP (Linux, Apache2, MySQL hoặc MariaDB và PHP). Máy chủ web Ubuntu theo mặc định sử dụng phpMyAdmin để duy trì Cơ sở dữ liệu bằng đồ họa.

Thật dễ dàng để cài đặt máy chủ web trong Ubuntu Server vì Ubuntu Server cung cấp gói phpMyAdmin cài đặt Apache2 và phiên bản PHP mới nhất làm phần phụ thuộc của nó. Nhưng phpMyAdmin không cài được Database Server. Vì vậy, chúng tôi phải cài đặt Máy chủ cơ sở dữ liệu (MariaDB hoặc MySQL) trước khi cài đặt máy chủ web với gói phpMyAdmin.

MariaDB là một trong những máy chủ cơ sở dữ liệu nguồn mở phổ biến nhất. Vì vậy, chúng tôi sẽ cài đặt và định cấu hình Máy chủ MariaDB trong bài viết này.

Cài đặt và cấu hình MariaDB trong Ubuntu Server 20.04

Gói MariaDB có sẵn trong kho lưu trữ Ubuntu. Vì vậy, chúng ta có thể dễ dàng cài đặt MariaDB Server trong Ubuntu Server. Nhưng trước khi cài đặt bất kỳ gói nào, chúng ta phải luôn cập nhật hệ thống. Vì vậy, hãy chạy các lệnh sau để cập nhật Máy chủ Ubuntu của bạn.

sayeed@ubuntu:~$ sudo apt update
sayeed@ubuntu:~$ sudo apt upgrade

Các lệnh trên sẽ làm cho hệ thống của bạn được cập nhật. Nếu bạn không muốn cập nhật hệ thống của mình, hãy bỏ qua các lệnh trên và đưa ra lệnh sau để cài đặt gói MariaDB.

sayeed@ubuntu:~$ sudo apt install mariadb-server -y

Lệnh trên sẽ cài đặt máy chủ cơ sở dữ liệu MariaDB và sau khi quá trình cài đặt hoàn tất, dịch vụ MariaDB sẽ tự động bắt đầu. Để xác minh rằng máy chủ cơ sở dữ liệu đang chạy, hãy nhập lệnh sau.

sayeed@ubuntu:~$ sudo systemctl status mariadb

Lệnh sẽ cho biết rằng dịch vụ MariaDB đang hoạt động và đang chạy nhưng nếu bạn thấy rằng MariaDB không chạy, hãy đưa ra lệnh sau để khởi động Máy chủ MariaDB.

sayeed@ubuntu:~$ sudo systemctl start mariadb

Nếu máy chủ của bạn được khởi động lại trong mọi trường hợp, dịch vụ MariaDB sẽ không được nêu tự động. Vì vậy, hãy chạy lệnh sau để tự động khởi động dịch vụ MariaDB nếu xảy ra bất kỳ sự khởi động lại hệ thống nào.

sayeed@ubuntu:~$ sudo systemctl enable mariadb

Để cài đặt MariaDB mới, bước tiếp theo là chạy tập lệnh bảo mật đi kèm. Tập lệnh này thay đổi một số tùy chọn mặc định kém an toàn hơn cho những thứ như đăng nhập gốc từ xa và người dùng mẫu. Chạy tập lệnh bảo mật sau để cài đặt MariaDB an toàn.

sayeed@ubuntu:~$ sudo mysql_secure_installation

Tập lệnh trên sẽ đưa bạn qua một loạt lời nhắc nơi bạn có thể thực hiện một số thay đổi đối với các tùy chọn bảo mật của bản cài đặt MariaDB của mình. Dấu nhắc đầu tiên sẽ yêu cầu bạn nhập mật khẩu gốc của cơ sở dữ liệu hiện tại . Vì bạn chưa thiết lập nên hãy nhấn ENTER để biểu thị “không có”.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):

Dấu nhắc tiếp theo hỏi bạn có muốn thiết lập mật khẩu gốc cơ sở dữ liệu hay không . Trên Ubuntu, tài khoản gốc cho MariaDB được liên kết chặt chẽ với bảo trì hệ thống tự động, vì vậy chúng ta không nên thay đổi các phương thức xác thực đã định cấu hình cho tài khoản đó. Làm như vậy sẽ giúp bản cập nhật gói có thể phá vỡ hệ thống cơ sở dữ liệu bằng cách xóa quyền truy cập vào tài khoản quản trị. Nhập n rồi nhấn ENTER.

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] n

Từ đó, bạn có thể nhấn và sau đó ENTERđể chấp nhận các giá trị mặc định cho tất cả các câu hỏi tiếp theo. Thao tác này sẽ xóa một số người dùng ẩn danh và cơ sở dữ liệu thử nghiệm, vô hiệu hóa đăng nhập gốc từ xa và tải các quy tắc mới này để MariaDB thực hiện ngay những thay đổi bạn đã thực hiện.

… skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.

Remove anonymous users? [Y/n] Y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.

Remove test database and access to it? [Y/n] Y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

Reload privilege tables now? [Y/n] Y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB installation should now be secure.

Thanks for using MariaDB!

Cùng với đó, bạn đã hoàn thành cấu hình bảo mật ban đầu của MariaDB. Bước tiếp theo là bước tùy chọn, tuy nhiên bạn nên làm theo nếu muốn xác thực với máy chủ MariaDB của mình bằng mật khẩu.

Trên các hệ thống Ubuntu (chạy máy chủ cơ sở dữ liệu MariaDB 10.3.29), người dùng gốc MariaDB được đặt để xác thực bằng unix_socket plugin theo mặc định thay vì bằng mật khẩu. Điều này cho phép một số tính bảo mật và khả năng sử dụng cao hơn trong nhiều trường hợp, nhưng nó cũng có thể làm phức tạp mọi thứ khi bạn cần cho phép quyền quản trị chương trình bên ngoài (chẳng hạn như phpMyAdmin).

Vì máy chủ sử dụng tài khoản gốc cho các tác vụ như xoay vòng nhật ký, khởi động và dừng máy chủ, nên tốt nhất là không thay đổi chi tiết xác thực của tài khoản gốc . Thay đổi thông tin đăng nhập trong /etc/mysql/debian.cnf tệp cấu hình có thể hoạt động ban đầu, nhưng các bản cập nhật gói có khả năng ghi đè lên những thay đổi đó. Thay vì sửa đổi tài khoản gốc , những người bảo trì gói khuyên bạn nên tạo một tài khoản quản trị riêng để truy cập dựa trên mật khẩu.

Vì vậy, chúng tôi sẽ tạo một tài khoản mới có tên là quản trị viên với các khả năng giống như tài khoản gốc , nhưng được định cấu hình để xác thực mật khẩu. Mở lời nhắc MariaDB từ thiết bị đầu cuối của bạn, chạy lệnh sau.

sayeed@ubuntu:~$ sudo mariadb

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.3.29-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]>

Bây giờ hãy tạo một người dùng mới với quyền root và quyền truy cập dựa trên mật khẩu bằng lệnh cơ sở dữ liệu. Đảm bảo thay đổi tên người dùng và mật khẩu để phù hợp với sở thích của bạn.

MariaDB [(none)]> create user admin;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> GRANT ALL ON *.* TO ‘admin’@’localhost’ IDENTIFIED BY ‘Passkey@900’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.001 sec)

Xóa các đặc quyền để đảm bảo rằng chúng được lưu và có sẵn trong phiên hiện tại.

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)

Thoát khỏi vỏ MariaDB, phát lệnh thoát.

MariaDB [(none)]> exit

Bye

Bây giờ hãy đăng nhập bằng tên người dùng và mật khẩu mới và kiểm tra các đặc quyền của người dùng.

sayeed@ubuntu:~$ mariadb -uadmin -pPasskey@900

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 57
Server version: 10.3.29-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.001 sec)

Máy chủ cơ sở dữ liệu MariaDB đã sẵn sàng. Vì vậy, bây giờ chúng ta có thể tiếp tục cài đặt và định cấu hình máy chủ web bằng cách cài đặt gói phpMyAdmin.

Cài đặt phpMyAdmin trên Ubuntu Server

phpMyAdmin được sử dụng để duy trì máy chủ cơ sở dữ liệu MariaDB bằng đồ họa. gói phpMyAdmin yêu cầu máy chủ web và ngôn ngữ lập trình máy chủ. Vì vậy, nó cài đặt apache2 và phiên bản PHP mới nhất làm phần phụ thuộc của nó.

Ubuntu Server cung cấp cài đặt gói phpMyAdmin từ kho lưu trữ của nó. Vì vậy, hãy chạy lệnh sau để cài đặt gói phpMyAdmin.

sayeed@ubuntu:~$ sudo apt install phpmyadmin -y

Trong khi cài đặt gói phpMyAdmin, nó sẽ yêu cầu chọn máy chủ web (dù là apache2 hay lighttpd) sẽ được cài đặt. Chọn apache2 (nhấn phím cách) và chọn OK (bằng cách nhấn phím Tab) rồi nhấn phím ENTER.

Bây giờ nó sẽ hỏi chúng ta có muốn cài đặt cơ sở dữ liệu cho phpMyAdmin hay không. Vì chúng tôi đã cài đặt máy chủ cơ sở dữ liệu MariaDB, chọn Không (nhấn mũi tên phải) và nhấn phím ENTER.

gói phpMyAdmin với máy chủ web apache2 và PHP mới nhất sẽ được cài đặt trong giây lát. Bạn có thể xác minh cài đặt apache2 bằng cách xem trạng thái apache2 bằng lệnh sau.

sayeed@ubuntu:~$ systemctl status apache2

Nếu mọi thứ đều ổn, bạn sẽ thấy rằng máy chủ web apache đang hoạt động và đang chạy. Bạn cũng có thể xác minh cài đặt PHP bằng lệnh sau.

sayeed@ubuntu:~$ php -v

PHP 7.4.3 (cli) (built: Jul 5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Máy chủ web với phpMyAdmin hiện đã sẵn sàng. Mở bất kỳ trình duyệt web nào và gõ http://ip_address/phpmyadmin . Nó sẽ hiển thị trang Đăng nhập phMyAdmin như hình bên dưới.

Đặt tên người dùng và mật khẩu mà bạn đã cung cấp cho máy chủ cơ sở dữ liệu MariaDB và nhấp vào nút Bắt đầu. Bây giờ bạn sẽ tìm thấy GUI phpMyAdmin để quản lý Máy chủ MariaDB bằng đồ họa. Bạn có thể đặt lại mật khẩu nếu cần, tạo người dùng, tạo/hủy cơ sở dữ liệu và bảng, v.v.

Gốc tài liệu mặc định của máy chủ web apache2 là /var/www/html. Vì vậy, hãy giữ bất kỳ tệp chỉ mục (.html hoặc .php) nào ở đó và duyệt Địa chỉ IP của Máy chủ Ubuntu (http://server_ip_address) từ bất kỳ trình duyệt nào. Bạn sẽ thấy nội dung của tệp này sẽ được hiển thị ngay bây giờ.

Nếu bạn không muốn viết bất kỳ tệp chỉ mục nào ngay bây giờ, chỉ cần nhập IP Máy chủ Ubuntu của bạn vào trình duyệt. Sau đó, một tệp nội dung apache2 mặc định sẽ xuất hiện, chứng tỏ Ubuntu Web Server đã sẵn sàng cho dự án sản xuất hoặc phát triển của bạn.

Cách cài đặt máy chủ web với phpMyAdmin trong Ubuntu Server đã được thảo luận trong bài viết này. Tôi hy vọng, bây giờ bạn sẽ có thể cài đặt máy chủ web Ubuntu mà không gặp rắc rối nào. Tuy nhiên, nếu bạn gặp phải bất kỳ sự nhầm lẫn nào, vui lòng thảo luận trong nhận xét hoặc liên hệ với tôi từ trang Liên hệ .