Các phần mềm trong LAMP được cập nhật thường xuyên, do đó hướng dẫn của mình sẽ minh hoạ cho phiên bản mới nhất, ngoài ra có thể sẽ liệt kê thêm cho các phiên bản khác nếu cần thiết
Các bước cài đặt LAMP trên CentOS
1. Chuẩn bị
Để có thể bắt đầu cài đặt bạn cần chuẩn bị VPS đã cài sẵn CentOS mới. Nếu chưa biết cách mua VPS và cài đặt hệ điều hành server tham khảo bài viết Hướng dẫn cài đặt VPS toàn tập cho người mới bắt đầu
2. Cài đặt Apache
Đối với CentOS 8, CentOS Stream 9
Cập nhật phần mềm
dnf update
Cài đặt Apache webserver 2.4
dnf install httpd httpd-tools
Một số lệnh hay dùng:
Cho phép khởi động Apache cùng với hệ điều hành:
systemctl enable httpd
Bật Apache Server
systemctl start httpd
Kiểm tra trạng thái
systemctl status httpd
Tắt Apache Server
systemctl stop httpd
Load lại cấu hình
systemctl reload httpd
Khởi động lại Apache
systemctl restart httpd
Mở tường lửa cho dịch vụ http, https, để có thể truy cập từ bên ngoài
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Kiểm tra xem server đã được cài đặt thành công chưa bằng cách truy cập từ trình duyệt địa chỉ IP server của bạn:
http://IP_address
Đối với CentOS 7 trở xuống
Update phần mềm
yum update httpd
Cài đặt apache
yum install httpd
Các bước còn lại tương tự
Cấu hình Apache Virtual Hosts
Mặc định nếu server của bạn chỉ có một website, thì bạn chỉ cần up code lên thư mục /var/www/html, nếu bạn muốn cấu hình thư mục web cho một tên miền cụ thể, hoặc trỏ nhiều tên miền về cùng 1 server thì bạn cần phải tạo Virtual Hosts
Tạo một file cấu hình ở thư mục /etc/httpd/conf.d, đặt tên ví dụ example.com.conf (thay bằng domain của bạn)
Nội dung file /etc/httpd/conf.d/example.com.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html/
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>
Tạo thư mục cho website: public_html là thư mục gốc của website
mkdir -p /var/www/example.com/public_html
mkdir /var/www/example.com/logs
Reload apache để server nhận cấu hình mới
service httpd reload
Tương tự nếu muốn trỏ một tên miền khác về server thì các bạn tạo file cấu hình tương tự như trên
3. Cài đặt MySQL/MariaDB
MySQl là hệ quản trị cơ sở dữ liệu phổ biến, quen thuộc với hầu hết mọi người. MariaDB được phát triển nhằm thay thế MySQL, vì thế nó hoàn toàn tương thích và cho một hiệu suất cao hơn so với MySQL
Cài đặt MariaDB
dnf install mariadb-server mariadb -y
Các thao tác với MariaDB
Bật tắt
systemctl start mariadb
systemctl stop mariadb
Bật khởi động cùng hệ điều hành
systemctl enable mariadb
Cài đặt MySQL 8.0
dnf install mysql mysql-server -y
Các thao tác với MariaDB
Bật tắt
systemctl start mysqld
systemctl stop mysqld
Bật khởi động cùng hệ điều hành
systemctl enable mysqld
Thiết lập mật khẩu root cho MySQL/MariaDB
Để đảm bảo an toàn, bạn cần thiết lập mật khẩu root cho MySQL hoặc MariaDB trước khi sử dụng
Các bạn chạy lệnh sau:
mysql_secure_installation
Hệ thống sẽ hỏi mật khẩu hiện tại, các bạn nhấn enter để bỏ qua
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Sau đó bạn trả lời các câu hỏi tiếp theo (hầu hết là nhấn y để đồng ý) cho tới bước tạo mật khẩu mới
4. Cài đặt PHP
Mặc định phiên bản PHP trên CentOS 9 là 7.2
Cài đặt php
dnf install php -y
Cài đặt một số gói thư viện hay dùng
dnf install php-cli php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
Hướng dẫn cài đặt PHP 8.0
Nếu bạn muốn cài đặt phiên bản PHP mới nhất, các bạn có thể cài đặt thông qua kho ứng dụng Remi
Bật CRB
dnf config-manager --set-enabled crb
Cài đặt kho EPEL
dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
Bật Remi repository
dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
Xoá cache
dnf update --refresh -y
Gỡ các phiên bản php trước nếu có
dnf remove php* -y
Bật PHP 8.0 module
dnf module enable php:remi-8.0 -y
Cuối cùng chúng ta có thể cài đặt PHP 8
dnf install php -y
Và các thư viện bổ sung
dnf install php-cli php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
5. Cài đặt phpMyAdmin
phpMyAdmin là một phần mềm mã nguồn mở phổ biến trên nền web để quản lý MySQL.
Cài đặt EPEL như ở bước 4, nếu đã cài rồi thì chúng ta có thể cái phpMyAdmin trực tiếp luôn
dnf install phpmyadmin
Reload Apache
systemctl restart httpd
Chỉnh sửa file phpMyAdmin.conf để cho phép truy cập phpMyAdmin từ bên ngoài
vi /etc/httpd/conf.d/phpMyAdmin.conf
Sửa lại như sau:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Bây giờ nhấn phím Esc key, và gõ :wq! sau đó nhấn Enter để lưu file.
Khởi động lại apache
systemctl restart httpd
Bây giờ bạn có thể truy cập domain(hoặc ip) /phpmyadmin từ trình duyệt
6. Kết
Như vậy là mình đã hướng dẫn cơ bản cách cài đặt LAMP và phpMyadmin trên CentOS 9, chúc các bạn thực hiện thành công.