Cách cài đặt Joomla với Apache2 và Let's Encrypt trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Joomla là một hệ thống quản lý nội dung nguồn mở được sử dụng để xuất bản các ứng dụng và trang web trực tuyến. Nó được viết bằng PHP và sử dụng MySQL/MariaDB làm cơ sở dữ liệu phụ trợ. Đây là một hệ thống đơn giản, thân thiện với người dùng và được xây dựng trên một khuôn khổ ứng dụng web model–view–controller sẵn sàng cho thiết bị di động. Joomla đi kèm với rất nhiều tính năng và thiết kế khiến nó trở thành một lựa chọn tốt để xây dựng các trang web chuyên nghiệp.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Joomla CMS với Apache và bảo mật bằng Let's Encrypt SSL trên Ubuntu 20.04.

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

  • Một máy chủ chạy Ubuntu 20.04 với 2 GB RAM.
  • Một tên miền hợp lệ được trỏ đến máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt LAMP Server​

Trước tiên, bạn sẽ cần cài đặt máy chủ web Apache, MariaDB, PHP và các tiện ích mở rộng PHP khác trong hệ thống của mình. Bạn có thể cài đặt chúng bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-intl php7.4-xml php7.4-gd php7.4-zip php7.4-curl php7.4-xmlrpc unzip -y
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và sửa đổi một số cài đặt.
Mã:
nano /etc/php/7.4/apache2/php.ini
Thay đổi các giá trị sau:
Mã:
memory_limit = 512Mupload_max_filesize = 256Mpost_max_size = 256Moutput_buffering = Offmax_execution_time = 300date.timezone = Asia/Kolkata
Lưu và đóng tệp sau khi bạn hoàn tất.

Tạo Cơ sở dữ liệu​

Trước tiên, hãy bảo mật cài đặt MariaDB và đặt mật khẩu gốc MariaDB bằng lệnh sau:
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):Đặt mật khẩu gốc? [Y/n] YMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [Y/n] YKhông cho phép đăng nhập root từ xa? [Y/n] YXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] YTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Tiếp theo, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
Cung cấp mật khẩu root MariaDB của bạn khi được nhắc, sau đó tạo cơ sở dữ liệu và người dùng cho Joomla bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> CẤP TẤT CẢ TRÊN joomladb.* CHO 'joomla'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'password';
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> XÓA CÁC ĐẶC QUYỀN;
MariaDB [(none)]> EXIT;

Tải xuống và cài đặt Joomla​

Đầu tiên, tải xuống phiên bản mới nhất của Joomla từ trang web chính thức bằng lệnh sau:
Mã:
wget https://downloads.joomla.org/cms/joomla3/3-9-18/Joomla_3-9-18-Stable-Full_Package.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống vào thư mục gốc web Apache bằng lệnh sau:
Mã:
unzip Joomla_3-9-18-Stable-Full_Package.zip -d /var/www/html/joomla
Tiếp theo, thay đổi quyền sở hữu thư mục joomla thành www-data bằng lệnh sau:
Mã:
chown -R www-data:www-data /var/www/html/joomla
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Apache cho Joomla​

Tiếp theo, tạo tệp cấu hình máy chủ ảo Apache mới để phục vụ Joomla.
Mã:
nano /etc/apache2/sites-available/joomla.conf
Thêm nội dung sau:
Mã:
 ServerName joomla.linuxbuz.com DirectoryIndex index.html index.php DocumentRoot /var/www/html/joomla ErrorLog ${APACHE_LOG_DIR}/joomla-error.log CustomLog ${APACHE_LOG_DIR}/joomla-access.log combined  Options FollowSymLinks AllowOverride All Require all granted
Lưu và đóng tệp, sau đó bật máy chủ ảo Apache và khởi động lại dịch vụ Apache bằng lệnh sau:
Mã:
a2ensite joomla
systemctl restart apache2
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Bảo mật Joomla bằng Let's Encrypt SSL​

Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt và quản lý Let's Encrypt SSL. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install certbot python3-certbot-apache -y
Sau khi Certbot được cài đặt, hãy chạy lệnh sau để tải xuống và cài đặt Let's Encrypt SSL cho trang web của bạn:
Mã:
certbot --apache -d joomla.linuxbuz.com
Bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator apache, Installer apacheNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)ó: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho joomla.linuxbuz.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/joomla-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/joomla-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/joomla-le-ssl.conf
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Mã:
Vui lòng chọn có nên chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để hoàn tất quá trình cài đặt như hình dưới đây.
Mã:
Chuyển hướng vhost trong /etc/apache2/sites-enabled/joomla.conf sang ssl vhost trong /etc/apache2/sites-available/joomla-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://joomla.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=joomla.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/joomla.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/joomla.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 19-08-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng tư do Certbot thu thập được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.
Lúc này, trang web Joomla của bạn được bảo mật bằng Let's Encrypt SSL. Bây giờ bạn có thể tiến hành bước tiếp theo.

Truy cập Joomla CMS​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://joomla.linuxbuz.com. Bạn sẽ được chuyển hướng đến trình hướng dẫn cài đặt Joomla dựa trên web:



Cung cấp tên trang web, email quản trị, mật khẩu và nhấp vào nút Tiếp theo. Bạn sẽ thấy trình hướng dẫn cấu hình cơ sở dữ liệu:



Cung cấp tên cơ sở dữ liệu Joomla, tên người dùng cơ sở dữ liệu, mật khẩu và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang hoàn tất Joomla:



Chọn tùy chọn mong muốn và nhấp vào nút Cài đặt. Bạn sẽ thấy trang sau:



Xem lại tất cả các cấu hình và nhấp vào nút Cài đặt. Sau khi Joomla đã được cài đặt, bạn sẽ thấy màn hình sau:





Bây giờ, hãy xóa thư mục cài đặt và nhấp vào nút Quản trị viên. Bạn sẽ thấy trang đăng nhập Joomla:



Cung cấp tên người dùng, mật khẩu Joomla của bạn và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy bảng điều khiển Joomla trong trang sau:



Bạn cũng có thể truy cập trang web Joomla của mình bằng cách truy cập URL https://joomla.linuxbuz.com. Bạn sẽ thấy trang web Joomla của mình trong trang sau:


Kết luận​

Xin chúc mừng! bạn đã cài đặt và bảo mật Joomla thành công với Let's Encrypt trên Ubuntu 20.04. Bây giờ bạn có thể dễ dàng xây dựng cửa hàng thương mại điện tử, trang web cá nhân, trang mạng xã hội hoặc blog của mình. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên