Cách cài đặt Joomla với Apache và Let's Encrypt SSL trên AlmaLinux 9

theanh

Administrator
Nhân viên
Joomla là hệ thống quản lý nội dung linh hoạt và mã nguồn mở để xây dựng các trang web và ấn phẩm trực tuyến. Được hỗ trợ bởi PHP, nó có thể được sử dụng cho nhiều tình huống, chẳng hạn như diễn đàn, thư viện ảnh, thương mại điện tử và các ứng dụng dựa trên web khác.

Làm theo hướng dẫn của chúng tôi để cài đặt Joomla CMS trên máy chủ AlmaLinux 9 với LAMP Stack (Apache/Httpd, MariaDB và PHP).

Điều kiện tiên quyết​

Trước khi bắt đầu, hãy đảm bảo rằng bạn có những điều sau trong môi trường của mình:
  • Máy chủ AlmaLinux 9.
  • Người dùng không phải root có quyền quản trị viên.
  • SELinux có trạng thái cho phép.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Cài đặt LAMP Stack Dependencies​

Joomla là hệ thống quản lý nội dung được viết bằng PHP với cơ sở dữ liệu MySQL/MariaDB. Vì vậy, trước khi cài đặt Joomla, bạn sẽ cài đặt các dependency cho Joomla. Trong ví dụ này, bạn sẽ cài đặt Joomla với LAMP Stack (Apache/Httpd, MySQL/MariaDB và PHP) trên máy chủ AlmaLinux 9 của bạn.

Để bắt đầu, hãy thực hiện lệnh sau để thêm kho lưu trữ EPEL và Remi vào máy chủ AlmaLinux của bạn. Kho lưu trữ EPEL là bắt buộc để cài đặt một số phụ thuộc bổ sung và kho lưu trữ Remi cho các gói PHP.
Mã:
sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22287%22%3E%3C/svg%3E


Bây giờ hãy thực hiện lệnh bên dưới để thiết lập lại mô-đun kho lưu trữ PHP và kích hoạt mô-đun Remi PHP. Nhập y để xác nhận và tiếp tục.
Mã:
sudo dnf module reset php
sudo dnf module enable php:remi-8.2

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22743%22%20height=%22363%22%3E%3C/svg%3E


Sau khi kho lưu trữ được thêm vào, hãy cài đặt LAMP Stack và các phụ thuộc bổ sung bằng cách thực thi lệnh bên dưới.
Mã:
sudo dnf install httpd mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip wget unzip nano
Khi được nhắc, hãy nhập y để tiến hành cài đặt. Ngoài ra, hãy nhập y để chấp nhận khóa GPG nếu được yêu cầu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22284%22%3E%3C/svg%3E



data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22161%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy khởi động và kích hoạt dịch vụ httpd bằng lệnh sau lệnh.
Mã:
sudo systemctl start httpd
sudo systemctl enable httpd
Sau đó, hãy xác minh httpd để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status httpd
Bên dưới, bạn có thể thấy dịch vụ httpd đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22344%22%3E%3C/svg%3E


Đối với dịch vụ mariadb, hãy thực hiện lệnh bên dưới để khởi động và kích hoạt dịch vụ.
Mã:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Sau đó, hãy xác minh dịch vụ mariadb bằng lệnh bên dưới. Bạn sẽ thấy mariadb đang chạy.
Mã:
sudo systemctl status mariadb

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22317%22%3E%3C/svg%3E


Cuối cùng, thực hiện lệnh sau để xác minh phiên bản PHP và danh sách các phiên bản đã bật phần mở rộng.
Mã:
php -v
php -m
Bạn sẽ thấy PHP 8.2 được cài đặt như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22618%22%20height=%22385%22%3E%3C/svg%3E

Thiết lập PHP​

Bây giờ bạn đã cài đặt LAMP Stack trên máy chủ AlmaLinux của mình, bước tiếp theo là cấu hình cài đặt PHP cho Joomla. Bạn sẽ sửa đổi cấu hình PHP mặc định php.ini và thực hiện một số thay đổi cho nó.

Thực hiện lệnh nano bên dưới để mở cấu hình PHP mặc định /etc/php.ini.
Mã:
sudo nano /etc/php.ini
Thay đổi cấu hình mặc định bằng lệnh sau và đảm bảo điều chỉnh tùy chọn memory_limit với bộ nhớ hiện tại của bạn bộ nhớ/RAM.
Mã:
memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=60

output_buffering = Off
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.

Bây giờ hãy khởi động lại dịch vụ httpd để áp dụng sửa đổi của bạn bằng lệnh sau.
Mã:
sudo systemctl restart httpd

Thiết lập Máy chủ MariaDB​

Sau khi bạn đã cấu hình PHP, bạn sẽ thiết lập máy chủ MariaDB bằng cách bảo mật cài đặt thông qua tiện ích mariadb-secure-installation rồi tạo cơ sở dữ liệu và người dùng mới cho Joomla.

Thực hiện lệnh mariadb-secure-installation để bảo mật cài đặt máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
Khi được yêu cầu áp dụng cấu hình mới, hãy nhập y để xác nhận hoặc n để từ chối. Dưới đây là một số cấu hình máy chủ MariaDB mà bạn sẽ được yêu cầu:
  • Cài đặt MariaDB mặc định không có mật khẩu, hãy nhấn ENTER khi được nhắc nhập mật khẩu.
  • Bây giờ hãy nhập Y để thiết lập mật khẩu gốc MariaDB. Sau đó, nhập mật khẩu mới cho MariaDB và lặp lại mật khẩu.
  • Nhập Y để xóa người dùng ẩn danh khỏi cài đặt MariaDB của bạn.
  • Nhập Y một lần nữa khi được nhắc tắt đăng nhập từ xa cho người dùng gốc MariaDB.
  • Nhập Y để xóa kiểm tra cơ sở dữ liệu mặc định khỏi MariaDB của bạn.
  • Cuối cùng, nhập Y để tải lại các đặc quyền bảng và áp dụng các thay đổi mới.
Với máy chủ MariaDB đã được cấu hình, bạn cần tạo một cơ sở dữ liệu và người dùng mới cho Joomla.

Thực hiện lệnh mariadb bên dưới để đăng nhập vào MariaDB. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc đăng nhập.
Mã:
sudo mariadb -u root -p
Bây giờ hãy thực hiện các truy vấn MariaDB sau để tạo một cơ sở dữ liệu mới joomladb, một người dùng mới joomla với mật khẩu p4ssword, sau đó cấp quyền cho người dùng joomla đối với joomladb cơ sở dữ liệu.
Mã:
CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22705%22%20height=%22250%22%3E%3C/svg%3E


Tiếp theo, xác minh các đặc quyền danh sách cho người dùng joomla bằng truy vấn MariaDB bên dưới. Bạn sẽ thấy người dùng joomla có quyền truy cập vào cơ sở dữ liệu joomladb.
Mã:
SHOW GRANTS FOR joomla@localhost;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22704%22%20height=%22257%22%3E%3C/svg%3E


Cuối cùng, nhập quit để thoát khỏi máy chủ MariaDB.

Thiết lập Firewalld​

Theo mặc định, firewalld đang chạy trên máy chủ AlmaLinux. Vì vậy, bây giờ bạn sẽ cần mở cả hai cổng HTTP và HTTPS cho firewalld.

Thực hiện lệnh firewall-cmd bên dưới để mở cả hai dịch vụ HTTP và HTTPS trên firewalld. Sau đó, tải lại firewalld để áp dụng sửa đổi.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Bây giờ hãy xác minh các quy tắc được bật theo danh sách trên firewalld bằng cách thực hiện lệnh bên dưới.
Mã:
sudo firewall-cmd --list-all
Bạn sẽ thấy bên dưới cả hai dịch vụ HTTP và HTTPS được thêm vào firewalld.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22706%22%20height=%22284%22%3E%3C/svg%3E

Tải xuống Joomla​

Bây giờ bạn đã cài đặt và cấu hình LAMP Stack, bước tiếp theo là tải xuống mã nguồn Joomla, thiết lập thư mục gốc tài liệu cho Joomla, sau đó thiết lập quyền sở hữu phù hợp cho mã nguồn Joomla.

Di chuyển thư mục làm việc của bạn /var/www và tải xuống mã nguồn Joomla bằng lệnh wget bên dưới. Hãy nhớ kiểm tra trang tải xuống Joomla và lấy liên kết cho phiên bản mới nhất.
Mã:
cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-0-2/Joomla_5-0-2-Stable-Full_Package.zip
Sau khi tải xuống, hãy thực hiện lệnh giải nén bên dưới để trích xuất mã nguồn Joomla vào thư mục joomla. Vì vậy, thư mục gốc tài liệu Joomla của bạn sẽ nằm ở thư mục /var/www/joomla.
Mã:
unzip Joomla_5-0-2-Stable-Full_Package.zip -d joomla
Cuối cùng, thực hiện lệnh chmod sau để thay đổi quyền sở hữu thư mục /var/www/joomla thành người dùng và nhóm apache. Điều này sẽ đảm bảo máy chủ web httpd có thể truy cập mã nguồn Joomla.
Mã:
sudo chown -R apache:apache /var/www/joomla

Thiết lập máy chủ ảo Httpd​

Sau khi tải xuống mã nguồn Joomla, ở giai đoạn tiếp theo, bạn sẽ tạo tệp máy chủ ảo httpd mới cho Joomla. Vì vậy, trước khi đi sâu hơn, hãy đảm bảo rằng bạn đã chuẩn bị tên miền cho cài đặt Joomla của mình.

Tạo cấu hình máy chủ ảo mới /etc/httpd/conf.d/joomla.conf bằng lệnh nano editor sau.
Mã:
sudo nano /etc/httpd/conf.d/joomla.conf
Chèn cấu hình bên dưới và đảm bảo thay đổi tên miền bằng tên miền Joomla của bạn. Ngoài ra, hãy đảm bảo thay đổi đường dẫn cho cả nhật ký truy cập và lỗi cho Joomla của bạn.
Mã:
ServerAdmin [emailprotected]

ServerName howtoforge.local
DocumentRoot /var/www/joomla


Options FollowSymlinks
AllowOverride All
Require all granted


ErrorLog /var/log/httpd/howtoforge.local_error.log
CustomLog /var/log/httpd/howtoforge.local_access.log combined
Khi bạn hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy thực hiện lệnh apachectl bên dưới để xác minh cấu hình httpd của bạn. Khi bạn có cú pháp đúng, bạn sẽ nhận được đầu ra Cú pháp OK.
Mã:
sudo apachectl configtest
Cuối cùng, khởi động lại dịch vụ httpd để áp dụng cấu hình máy chủ ảo của bạn bằng lệnh bên dưới.
Mã:
sudo systemctl restart httpd

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22645%22%20height=%22206%22%3E%3C/svg%3E

Bảo mật bằng Certbot và Letsencrypt​

Lúc này, bạn đã cấu hình mọi thứ và sẵn sàng để bắt đầu cài đặt Joomla. Nhưng trước đó, bạn sẽ bảo mật Joomla bằng chứng chỉ SSL/TLS từ Letsencrypt. Nếu bạn có tên miền cho cài đặt Joomla của mình, hãy làm theo hướng dẫn này. Và nếu không, bạn có thể bỏ qua phần này.

Đầu tiên, hãy cài đặt plugin Certbot và Certbot Apache bằng lệnh sau.
Mã:
sudo dnf install certbot python3-certbot-apache -y
Bây giờ hãy thực hiện lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho cài đặt Joomla của bạn. Hãy chắc chắn thay đổi thông tin chi tiết của tên miền và địa chỉ email bằng thông tin của bạn.
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d howtoforge.local
Khi quá trình hoàn tất, chứng chỉ SSL/TLS của bạn sẽ có trong thư mục /etc/letsencrypt/live/domain.com. Ngoài ra, cài đặt Joomla của bạn được tự động định cấu hình bằng HTTPS.

Cài đặt Joomla​

Khởi chạy trình duyệt web của bạn và truy cập tên miền của cài đặt Joomla, chẳng hạn như http://howtoforge.local/. Nếu cài đặt thành công, bạn sẽ thấy trang cài đặt Joomla.

Chọn ngôn ngữ mặc định là tiếng Anh và nhập tên trang web cơ bản của bạn. Sau đó nhấp vào Thiết lập dữ liệu đăng nhập để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22333%22%3E%3C/svg%3E


Bây giờ hãy nhập địa chỉ email, tên người dùng và mật khẩu cho Joomla và nhấp vào Thiết lập kết nối cơ sở dữ liệu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22416%22%3E%3C/svg%3E


Nhập thông tin chi tiết về thông tin đăng nhập cơ sở dữ liệu MariaDB của bạn và nhấp vào Cài đặt Joomla để tiếp tục cài đặt.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22632%22%3E%3C/svg%3E


Trong quá trình cài đặt Joomla, bạn sẽ thấy thông tin sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22197%22%3E%3C/svg%3E


Sau khi quá trình cài đặt Joomla hoàn tất, bạn sẽ nhận được thông báo 'Xin chúc mừng! Trang web Joomla của bạn đã sẵn sàng'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22369%22%3E%3C/svg%3E


Từ đó, bạn có thể nhấp vào cả hai liên kết:
  • Mở Site để truy cập trang chủ của trang web Joomla của bạn.
  • Mở Administrator để mở thông tin đăng nhập quản trị cho Joomla, nằm tại http://howtoforge.local/administrator.
Bên dưới, bạn có thể thấy trang chủ mặc định cho Joomla.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22372%22%3E%3C/svg%3E


Dưới đây là trang đăng nhập của quản trị viên Joomla. Nhập tên người dùng và mật khẩu của bạn, sau đó nhấp vào Đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22457%22%3E%3C/svg%3E


Nếu bạn có tên người dùng và mật khẩu quản trị viên chính xác, bạn sẽ nhận được bảng điều khiển quản trị viên Joomla như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22445%22%3E%3C/svg%3E


Với điều này, quá trình cài đặt Joomla của bạn trên máy chủ AlmaLinux 9 đã hoàn tất.

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt hệ thống quản lý nội dung mã nguồn mở Joomla trên máy chủ AlmaLinux 9. Bạn đã cài đặt Joomla với LAMP Stack (Apache/Httpd, MariaDB và PHP), bảo mật Joomla bằng chứng chỉ SSL/TLS từ Letsencrypt và cấu hình firewalld để mở cả cổng HTTP và HTTPS.
 
Back
Bên trên