Cài đặt LAMP stack trên Fedora 35 | 36 | 37 | 38- Install LAMP stack on Fedora 35 | 36 | 37 | 38
Trong bài đăng trên blog này, chúng ta sẽ xem cách install và định cấu hình LAMP Stack trên Fedora 38/37/36/35/34/33. LAMP Stack là tập hợp các công cụ nguồn mở được sử dụng để lưu trữ các ứng dụng web. Từ viết tắt của LAMP stack bao gồm:
- L - Hệ thống máy chủ Linux
- A - Máy chủ HTTP Apache
- M - Cơ sở dữ liệu MySQL/MariaDB
- P - Ngôn ngữ lập trình PHP
Để LAMP stack hoạt động, bạn cần cài đặt và định cấu hình từng thành phần một. Các bước để cài đặt và định cấu hình LAMP Stack trên Fedora phải đơn giản.
Bước 1: Cài đặt Fedora Linux
Bản phát hành gần đây của Fedora tính đến thời điểm viết bài này là Fedora 38. Mình có hướng dẫn cài đặt cho máy chủ Vật lý, Máy ảo và cho việc triển khai Vagrant Box:
- Cài đặt Fedora 38 - Hướng dẫn chi tiết từng bước (đang bổ sung)
Bước 2: Cài đặt các gói cơ bản / thiết lập SELinux
Cài đặt các gói cơ bản như vim, Curl, wget, telnet
sudo dnf -y update
sudo dnf -y install vim bash-completion curl wget telnet
Nếu đây là lần đầu bạn nghe về SELinux, tôi khuyên bạn nên đặt SELinux vào chế độ "Permissive" hoặc hoàn toàn tắt nó. Để kiểm tra trạng thái SELinux, hãy chạy lệnh:
$ sudo sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31
Chế độ mặc định đang được thực thi (enforcing). Để đặt nó ở chế độ Permissive, hãy thực hiện:
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Để vô hiệu hóa hoàn toàn:
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
Xác nhận trạng thái đã được cấu hình vĩnh viễn:
$ cat /etc/selinux/config | grep SELINUX=
# SELINUX= can take one of these three values:
SELINUX=permissive
Bước 3: Cài đặt máy chủ Apache httpd
Khi bạn đã cài đặt và cập nhật hệ điều hành Fedora, hãy tiến hành cài đặt máy chủ Apache httpd.
sudo dnf -y install httpd
Định cấu hình cài đặt cơ bản httpd
Chỉnh sửa tệp cấu hình /etc/httpd/conf/httpd.conf
và đặt:
ServerAdmin admin@example.com
ServerName example.com
ServerTokens Prod
Bạn có thể tùy ý đặt Keepalive
KeepAlive On
Kích hoạt và bắt đầu dịch vụ httpd
sudo systemctl start httpd
sudo systemctl enable httpd
Nếu bạn có tường lửa đang chạy, hãy cho phép dịch vụ http
và https
.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Bước 4: Install PHP & Extensions
Cài đặt PHP và cấu hình httpd để hỗ trợ thực thi các tập lệnh PHP.
Đừng quên cài đặt các tiện ích mở rộng phổ biến:
sudo dnf -y install php php-cli php-php-gettext php-mbstring php-mcrypt php-mysqlnd php-pear php-curl php-gd php-xml php-bcmath php-zip
Xác nhận phiên bản PHP đã cài đặt của bạn:
$ php -v
PHP 8.1.14 (cli) (built: Jan 4 2023 06:45:14) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.14, Copyright (c) Zend Technologies
with Zend OPcache v8.1.14, Copyright (c), by Zend Technologies
Bạn có thể xem các tiện ích mở rộng đã tải bằng cách chuyển tùy chọn -m
tới phpcommand
:
$ php -m
Đặt múi giờ PHP trên tệp /etc/php.ini
date.timezone = Africa/Nairobi
Bước 5: Cài đặt cơ sở dữ liệu MySQL/MariaDB
Để cài đặt MySQL trên Fedora, hãy sử dụng hướng dẫn của chúng tôi:
Các kho lưu trữ gốc của Fedora có sẵn MariaDB, bạn có thể cài đặt nó bằng lệnh dnf
.
sudo dnf install mariadb-server
Sau khi cài đặt, thiết lập bộ ký tự
sudo vim /etc/my.cnf.d/mariadb-server.cnf
Đặt bộ ký tự của bạn trong phần [mysqld
]
[mysqld]
character-set-server=utf8
Sau đó khởi động dịch vụ mariadb
và kích hoạt nó để khởi động khi khởi động
sudo systemctl start mariadb
sudo systemctl enable mariadb
Thực hiện các cài đặt ban đầu của MariaDB như thiết lập mật khẩu root, vô hiệu hóa đăng nhập root từ xa, v.v.:
$ sudo mysql_secure_installation
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):
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] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
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!
Trả lời các câu hỏi như dưới đây:
- Enter current password for root (enter for none): <Enter>
- Đặt mật khẩu gốc? [Có/không] có
- Xóa người dùng ẩn danh? [Có/không] có
- Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó? [Có/không] có
- Tải lại bảng đặc quyền ngay bây giờ? [Có/không] có
Đăng nhập thử nghiệm:
$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.3.10-MariaDB MariaDB Server
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)]> select version();
+-----------------+
| version() |
+-----------------+
| 10.3.10-MariaDB |
+-----------------+
1 row in set (0.001 sec)
Tạo và xóa cơ sở dữ liệu thử nghiệm:
MariaDB [(none)]> CREATE DATABASE test_db;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost' IDENTIFIED BY "StrongPassword";
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
Để loại bỏ cơ sở dữ liệu và người dùng, sử dụng:
MariaDB [(none)]> DROP DATABASE test_db;
Query OK, 0 rows affected (0.003 sec)
MariaDB [(none)]> DROP USER 'test_user'@'localhost';
Query OK, 0 rows affected (0.001 sec)
Mình xác nhận máy chủ Cơ sở dữ liệu đang hoạt động tốt. Để cho phép kết nối từ xa, hãy cho phép cổng 3306
trên tường lửa:
sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload
Bạn cũng có thể giới hạn quyền truy cập từ các mạng đáng tin cậy.
sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \
service name="mysql" source address="10.1.1.0/24" accept'
Bước 6: Kiểm tra cài đặt Lamp Stack của bạn
Như một bài kiểm tra cho việc cài đặt Lamp Stack trên hệ thống Fedora Server / Desktop, hãy tạo một trang kiểm tra PHP.
sudo vim /var/www/html/phpinfo.php
Thêm:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
Tải lại dịch vụ httpd
và mở trang trên trình duyệt của bạn.
sudo systemctl restart httpd
Mở trang thông tin PHP đã thêm http://[serverIP]/phpinfo.php
Trong bài viết này, chúng ta đã hướng dẫn install LAMP stack trên Fedora một cách đơn giản và nhanh chóng. Với Apache, MySQL và PHP đã được cài đặt, bạn đã sẵn sàng để phát triển và triển khai các ứng dụng web trên hệ thống Fedora của mình. Chúc bạn thành công trong việc sử dụng LAMP stack trên Fedora!