Cách cài đặt TYPO3 CMS trên Rocky Linux 9

theanh

Administrator
Nhân viên
TYPO3 là hệ thống quản lý nội dung cấp doanh nghiệp miễn phí và mã nguồn mở. Hệ thống này cung cấp nhiều tính năng cấp doanh nghiệp như CMS có thể mở rộng với hỗ trợ đa trang web, cài đặt đa ngôn ngữ, triển khai bảo mật mạnh mẽ, cực nhanh và có thể chạy ở bất kỳ đâu.

Sử dụng TYPO3 CMS cho phép bạn xây dựng các trang web linh hoạt và đáng tin cậy. TYPO3 CMS là một cộng đồng chuyên nghiệp năng động ở phía sau. Và theo thiết kế, TYPO3 CMS là một hệ thống quản lý nội dung có thể cắm được với kiến trúc có thể thích ứng và tách rời.

Trong hướng dẫn này, bạn sẽ cài đặt TYPO3 CMS - Hệ thống quản lý nội dung cấp doanh nghiệp - trên máy chủ Rocky Linux 9. Bạn sẽ thiết lập TYPO3 CMS với máy chủ web httpd, cơ sở dữ liệu MariaDB và phiên bản PHP 8.0 mới nhất. Hướng dẫn này bao gồm việc triển khai HTTPS thông qua Certbot và Letsencrypt, sẽ được sử dụng để bảo mật triển khai TYPE3.

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

Trước tiên, bạn phải có các yêu cầu sau để hoàn thành hướng dẫn này:
  • Máy chủ Once Rocky Linux 9 - Ví dụ này sử dụng Rocky Linux với tên máy chủ 'TYPO3-Rock'.
  • Người dùng không phải root có quyền sudo/root.
  • SELinux chạy ở chế độ cho phép.
  • Tên miền trỏ đến địa chỉ IP của máy chủ - Ví dụ này sử dụng tên miền 'howtoforge.local'.
Vậy là xong. Khi tất cả các yêu cầu đã sẵn sàng, bây giờ bạn có thể bắt đầu cài đặt.

Cài đặt Máy chủ Web httpd​

TYPO3 là một CMS (Hệ thống quản lý nội dung) cấp doanh nghiệp và ứng dụng web được viết bằng PHP. Nó có thể chạy với nhiều loại máy chủ web khác nhau. Trong ví dụ này, bạn sẽ cài đặt và chạy TYPE3 CMS với máy chủ web httpd.

Trước khi cài đặt bất kỳ gói nào, hãy nhập lệnh dnf sau để thêm kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux) vào hệ thống của bạn. Kho lưu trữ này sẽ cần thiết sau này để cài đặt các gói bổ sung.
Mã:
sudo dnf install epel-release
Bây giờ hãy chạy lệnh dnf sau để cài đặt máy chủ web httpd. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install httpd

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


Sau khi httpd được cài đặt, hãy nhập tiện ích lệnh systemctl sau để khởi động và kích hoạt máy chủ web httpd. Thao tác này sẽ chạy máy chủ web httpd và cho phép nó tự động khởi động khi khởi động hệ thống.
Mã:
sudo systemctl start httpd
sudo systemctl enable httpd
Xác minh trạng thái máy chủ web httpd bằng lệnh systemctl bên dưới. Bạn sẽ nhận được kết quả như 'enabled', xác nhận rằng dịch vụ httpd sẽ tự động chạy khi khởi động. Và trạng thái của máy chủ web httpd đang chạy.
Mã:
sudo systemctl is-enabled httpd
sudo systemctl status httpd

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


Trước khi truy cập cài đặt httpd của bạn, bạn phải mở giao thức HTTP và HTTPS trên hệ thống Rocky Linux của mình thông qua firewalld.

Nhập lệnh firewall-cmd sau để thêm cả HTTP và Cổng HTTPS tới firewalld. Sau đó, tải lại firewalld để áp dụng các thay đổi.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Đầu ra 'thành công' xác nhận hoạt động thành công. Bây giờ bạn có thể xác minh danh sách các quy tắc firewalld thông qua lệnh sau.
Mã:
sudo firewall-cmd --list-all
Trong phần 'dịch vụ', bạn sẽ thấy cả giao thức HTTP và HTTPS được thêm vào firewalld.


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


Bây giờ bạn đã cài đặt máy chủ web httpd và cấu hình firewalld. Tiếp theo, bạn sẽ bắt đầu cài đặt máy chủ cơ sở dữ liệu MariaDB.

Cài đặt máy chủ MariaDB​

Trong phần này, bạn sẽ cài đặt máy chủ cơ sở dữ liệu MariaDB và bảo mật việc triển khai tự động bằng lệnh 'mariadb-secure-installation'.

Để bắt đầu, hãy nhập lệnh dnf sau để cài đặt máy chủ cơ sở dữ liệu MariaDB.
Mã:
sudo dnf install mariadb-server
Nhập y khi được nhắc và nhấn ENTER để tiếp tục.





Bây giờ hãy khởi động và kích hoạt dịch vụ MariaDB bằng tiện ích lệnh systemctl sau. Dịch vụ MariaDB hiện đang chạy và cũng được bật, điều này có nghĩa là dịch vụ MariaDB sẽ tự động khởi động khi khởi động.
Mã:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Nhập lệnh systemctl sau để xác minh dịch vụ MariaDB và đảm bảo rằng dịch vụ đang chạy và được bật.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Đầu ra 'enabled' xác nhận rằng máy chủ MariaDB đã được bật và sẽ chạy tự động khi hệ thống khởi động. Đầu ra 'active (running)' xác nhận rằng máy chủ MariaDB đang chạy.


5-verify-mariadb.png



Cuối cùng, hãy chạy lệnh 'mariadb-secure-installation' sau để bảo mật việc triển khai MariaDB.
Mã:
sudo mariadb-secure-installation
Bây giờ bạn sẽ được yêu cầu cấu hình sau - Bạn có thể nhập y để xác nhận hoặc n để không.
  • Thay đổi xác thực thành unix_socket? nhập n.
  • Thay đổi mật khẩu gốc MariaDB? nhập y để xác nhận, nhập mật khẩu mới cho máy chủ MariaDB của bạn và nhập lại mật khẩu.
  • Vô hiệu hóa đăng nhập gốc từ xa? nhập y để xác nhận - người dùng gốc không được phép kết nối từ xa.
  • Xóa người dùng ẩn danh? nhập y để xác nhận.
  • Xóa cơ sở dữ liệu mặc định 'test'? nhập y để xác nhận và xóa cơ sở dữ liệu thử nghiệm.
  • Cuối cùng, nhập y để tải lại các đặc quyền của bảng và áp dụng các thay đổi mới.
Khi triển khai MariaDB hoàn tất, bạn đã sẵn sàng tạo cơ sở dữ liệu và người dùng mới để triển khai TYPO3 CMS.

Tạo cơ sở dữ liệu và người dùng MariaDB​

Trong phần này, bạn sẽ tạo cơ sở dữ liệu và người dùng MariaDB mới sẽ được sử dụng để cài đặt TYPO3 CMS.

Trước tiên, hãy đăng nhập vào shell MariaDB thông qua lệnh 'mariadb' bên dưới. Nhập mật khẩu gốc MariaDB của bạn và nhấn ENTER.
Mã:
sudo mariadb -u root -p
Bây giờ hãy chạy các truy vấn MariaDB sau để tạo cơ sở dữ liệu và người dùng mới. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu mới 'typo3db' với người dùng 'typo3'. Hãy nhớ thay đổi mật khẩu trong các truy vấn sau và nhớ sử dụng 'utf8mb4' làm bộ ký tự mặc định cho cơ sở dữ liệu của bạn.
Mã:
CREATE DATABASE typo3db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;

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


Tiếp theo, hãy xác minh danh sách người dùng khả dụng trên MariaDB bằng truy vấn sau. Bạn sẽ thấy người dùng mới 'typo3' được thêm vào và có sẵn trên máy chủ MariaDB của bạn.
Mã:
SELECT USER,host FROM mysql.user;

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


Cuối cùng, hãy xác minh các đặc quyền cho người dùng MariaDB 'typo3' bằng truy vấn sau. Bạn sẽ thấy người dùng 'typo3' có mọi quyền đối với cơ sở dữ liệu 'typo3db'.
Mã:
SHOW GRANTS FOR typo3@localhost;

8-show-user-grants.png



Bây giờ hãy nhập quit để đăng xuất khỏi shell MariaDB.

Với thao tác này, bạn đã hoàn tất cấu hình cơ sở dữ liệu MariaDB cho quá trình cài đặt TYPO3 CMS. Tiến tới bước tiếp theo để bắt đầu cài đặt PHP.

Cài đặt PHP 8.0​

TYPO3 CMS chủ yếu được viết bằng PHP và tại thời điểm viết bài này, phiên bản mới nhất của TYPO3 CMS hỗ trợ các gói PHP 8.x. Trong phần này, bạn sẽ cài đặt PHP 8.0, có sẵn theo mặc định trên kho lưu trữ Rocky Linux 9.

Nhập lệnh dnf sau để cài đặt các gói PHP 8.0. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

9-install-php.png



Sau khi PHP được cài đặt, hãy mở tệp cấu hình '/etc/php.ini' bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/php.ini
Thay đổi cấu hình php.ini mặc định bằng các dòng sau.
Mã:
memory_limit = 512M
max_execution_time = 300
max_input_vars = 2000

date.timezone = Europe/Stockholm

post_max_size = 30M
upload_max_filesize = 30M
Lưu và thoát khỏi tệp '/etc/php.ini' khi hoàn tất.

Bây giờ hãy chạy tiện ích lệnh systemctl sau để khởi động lại dịch vụ httpd và áp dụng các thay đổi mới mà bạn đã thực hiện cho tệp 'php.ini'.
Mã:
sudo systemctl restart httpd
Bạn cũng có thể xác minh phiên bản PHP hiện tại thông qua lệnh 'php' bên dưới. Bạn sẽ nhận được thông báo PHP 8.0 đã được cài đặt trên hệ thống của bạn.
Mã:
php --version

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


Bây giờ bạn đã cài đặt các gói PHP 8.0 và cấu hình tệp php.ini. Ở bước tiếp theo, bạn sẽ cài đặt Composer - trình quản lý phụ thuộc cho PHP - sẽ được sử dụng để cài đặt các phụ thuộc PHP của TYPO3 CMS.

Cài đặt Composer​

Composer là trình quản lý phụ thuộc PHP cấp ứng dụng. Nó có thể được cài đặt thủ công thông qua tập lệnh cài đặt chính thức hoặc bạn có thể cài đặt thông qua kho lưu trữ EPEL.

Nhập lệnh dnf sau để cài đặt Composer từ kho lưu trữ EPEL. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install composer

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


Sau khi Composer được cài đặt, hãy nhập lệnh sau để xác minh Composer phiên bản.
Mã:
sudo -u apache composer -V
Đầu ra bên dưới xác nhận rằng Composer v2.5.1 đã được cài đặt trên hệ thống Rocky Linux của bạn.


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


Sau khi cài đặt Composer, bước tiếp theo là cài đặt Certbot, công cụ này sẽ được sử dụng để tạo chứng chỉ SSL/TLS từ Letsencrypt.

Cài đặt Certbot​

Certbot là một công cụ dòng lệnh để tạo chứng chỉ SSL/TLS từ Letsencrypt. Đối với các bản phân phối dựa trên RHEL, bạn có thể cài đặt Certbot từ kho lưu trữ EPEL.

Nhập lệnh dnf sau để cài đặt các gói 'certbot' và 'python3-certbot-apache' vào hệ thống của bạn. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install certbot python3-certbot-apache

13-install-certbot.png



Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để xác minh cài đặt.
Mã:
which certbot
certbot --version
Đường dẫn nhị phân của lệnh 'certbot' có tại '/bin/certbot'. Và phiên bản certbot mà bạn đã cài đặt là v2.1.0.


14-verify-certbot.png



Sau khi cài đặt composer và certbot, bạn đã sẵn sàng để cài đặt TYPO3 CMS.

Tải xuống mã nguồn TYPO3 CMS​

Trong phần này, bạn sẽ thiết lập thư mục cài đặt đích và tải xuống mã nguồn TYPO3 CMS.

Nhập lệnh sau để tạo thư mục mới '/var/www/typo3'. Thư mục này sẽ được sử dụng làm thư mục cài đặt gốc của TYPO3 CMS.
Mã:
mkdir -p /var/www/typo3
Thay đổi quyền sở hữu thư mục '/var/www/typo3' thành người dùng và nhóm 'apache'. Ngoài ra, bạn phải đảm bảo rằng chủ sở hữu của thư mục này có thể đọc và ghi vào đó. Với lệnh này, bạn sẽ cấp quyền truy cập vào mã nguồn TYPO3 CMS cho máy chủ web httpd chạy theo mặc định với người dùng 'apache'.
Mã:
sudo chown -R apache:apache /var/www/typo3
sudo chmod u+rw /var/www/typo3
Bây giờ hãy đến thư mục '/var/www/typo3' và tải xuống mã nguồn TYPO3 CMS bằng trình soạn thảo sau lệnh.
Mã:
cd /var/www/typo3
sudo -u apache composer create-project typo3/cms-base-distribution:^11 .
Đầu ra:


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


Sau khi tải xuống mã nguồn CMS TYPO3, hãy nhập lệnh sau để xác minh danh sách các tệp và thư mục trên thư mục '/var/www/typo3'.

ls -lah /var/www/typo3

Kết quả bên dưới xác nhận rằng mã nguồn TYPO3 CMS đã được tải xuống. Ngoài ra, bạn phải đảm bảo quyền sở hữu mã nguồn TYPO3 CMS là người dùng và nhóm 'apache'.


16-verify-typo3-source-code.png



Bây giờ bạn đã tải xuống mã nguồn TYPO3 CMS, tiếp theo bạn sẽ tạo và thiết lập cấu hình máy chủ ảo httpd sẽ được sử dụng để chạy TYPO3 CMS.

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

Trong phần này, bạn sẽ tạo cấu hình máy chủ ảo httpd mới sẽ được sử dụng để chạy TYPO3 CMS. Bạn cũng sẽ tạo chứng chỉ SSL/TLS từ Letsencrypt thông qua lệnh Certbot.

Trước khi bắt đầu, hãy đảm bảo rằng bạn đã trỏ tên miền đến địa chỉ IP máy chủ của mình và một địa chỉ email sẽ được sử dụng để đăng ký Letsencrypt.

Tạo tệp cấu hình máy chủ ảo httpd mới '/etc/httpd/conf.d/typo3.conf' bằng lệnh nano editor sau.
Mã:
sudo nano /etc/httpd/conf.d/typo3.conf
Thêm các dòng sau vào tệp và đảm bảo thay đổi tên miền của TYPO3 CMS cài đặt.
Mã:
 ServerAdmin [emailprotected]
 DocumentRoot /var/www/typo3/public
 ServerName howtoforge.local

 Protocols h2 http/1.1

 
 Options FollowSymlinks
 AllowOverride All
 Require all granted
 

 ErrorLog /var/log/httpd/typo3-error.log
 CustomLog /var/log/httpd/typo3-access.log combined
 
 
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*) index.php [PT,L]
Lưu và thoát khỏi tệp '/etc/httpd/conf.d/typo3.conf' khi hoàn tất.

Tiếp theo, chạy lệnh sau để xác minh và đảm bảo rằng bạn có cấu hình httpd phù hợp. Khi thành công, bạn sẽ nhận được đầu ra như 'cú pháp OK'.
Mã:
sudo apachectl configtest
Bây giờ hãy nhập tiện ích lệnh systemctl sau để khởi động lại dịch vụ httpd và áp dụng các thay đổi.
Mã:
sudo systemctl restart httpd
Với thao tác này, bạn đã hoàn tất cấu hình máy chủ ảo httpd cho TYPO3 CMS.

Bây giờ hãy nhập lệnh certbot sau để tạo chứng chỉ SSL/TLS cho tên miền TYPO3 CMS của bạn. Ngoài ra, hãy đảm bảo thay đổi tên miềnđịa chỉ email trong lệnh sau.
Mã:
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [emailprotected] -d howtoforge.local
Khi hoàn tất, chứng chỉ SSL/TLS của bạn sẽ có trong thư mục '/etc/letsencrypt/live/yourdomain.com/'. Ngoài ra, cấu hình máy chủ ảo httpd của bạn sẽ tự động được cấu hình với chứng chỉ SSL và tự động chuyển hướng HTTP sang HTTPS.

Với điều này, bây giờ bạn đã hoàn tất cấu hình máy chủ web httpd cho TYPO3 CMS. Bạn cũng đã tạo chứng chỉ SSL/TLS cho tên miền TYPO3 CMS của mình. Bây giờ bạn có thể truy cập cài đặt TYPO3 CMS của mình.

Bắt đầu cài đặt TYPO3​

Trước khi bắt đầu cài đặt TYPO3 CMS, bạn phải tạo một tệp trống mới 'FIRST_INSTALL' trong thư mục '/var/www/typo3/public/'. Điều này sẽ chỉ ra rằng bạn đang cài đặt TYPO3 CMS lần đầu tiên trên máy chủ này.

Nhập lệnh sau để tạo tệp mới 'FIRST_INSTALL' trong thư mục '/var/www/typo3/public/'.
Mã:
sudo -u apache touch /var/www/typo3/public/FIRST_INSTALL
Bây giờ hãy mở trình duyệt web của bạn và nhập tên miền cài đặt TYPO3 CMS của bạn (ví dụ: https://howtoforge.local/).

Trình cài đặt TYPO3 CMS sẽ kiểm tra và xác minh môi trường hệ thống của bạn trên trang đầu tiên. Đảm bảo rằng bạn nhận được nút 'Không phát hiện thấy vấn đề gì, hãy tiếp tục cài đặt', nút này xác nhận rằng hệ thống của bạn đã sẵn sàng để cài đặt TYPO3 CMS.


18-install-start.png



Bây giờ hãy nhập thông tin chi tiết về người dùng MariaDB sẽ được sử dụng để cài đặt TYPO3 CMS.


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


Chọn tùy chọn 'Sử dụng cơ sở dữ liệu trống hiện có' và chọn cơ sở dữ liệu 'typo3db' trong menu thả xuống. Sau đó nhấp vào Tiếp tục.


20-select-database.png



Bây giờ hãy nhập tên người dùng, địa chỉ email và mật khẩu cho người dùng quản trị TYPO3 CMS. Hãy đảm bảo sử dụng mật khẩu mạnh cho mục này.

Nhấp vào Tiếp tục để tiếp tục.


21-setup-admin.png



Khi hoàn tất, bạn sẽ nhận được thông báo như 'Cài đặt hoàn tất'.

Bây giờ hãy chọn tùy chọn 'Đưa tôi thẳng đến phần phụ trợ' và nhấp vào nút 'Mở phần phụ trợ TYPO3' để tiếp tục.


22-install-finished.png



Và bạn sẽ được chuyển hướng đến trang đăng nhập TYPO3 CMS. Nhập tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào Đăng nhập.


23-loginpage-typo3.png



Nếu thành công, bạn sẽ thấy bảng điều khiển quản trị TYPO3 CMS.


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


Bạn có thể xác minh phần mềm chi tiết mà bạn đang sử dụng để cài đặt TYPO3 CMS bằng cách nhấp vào menu 'Thông tin ứng dụng' ở phía bên trái của hồ sơ người dùng.

Bạn sẽ thấy các chi tiết tương tự trong ảnh chụp màn hình sau - Tại thời điểm viết bài này, bạn đã cài đặt TYPO3 CMS v11.5 với máy chủ web httpd/Apache, PHP 8.0 và máy chủ cơ sở dữ liệu MariaDB.


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

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt hệ thống quản lý nội dung cấp doanh nghiệp TYPO3 CMS trên máy chủ Rocky Linux 9. Bạn đã cài đặt TYPO3 CMS với máy chủ web httpd, máy chủ cơ sở dữ liệu MariaDB và PHP 8.0.

Ngoài ra, bạn cũng đã cài đặt Certbot để tạo chứng chỉ SSL từ Letsencrypt. Và cũng bảo mật cài đặt TYPO3 CMS thông qua chứng chỉ SSL/TLS và cấu hình tự động chuyển hướng từ HTTP sang HTTPS thông qua Certbot.

Với điều này, bạn có thể bắt đầu cấu hình TYPO3 CMS của mình bằng cách tạo bản ghi trang web, thêm người dùng phụ trợ và thêm ngôn ngữ phụ trợ để bật đa ngôn ngữ. Để tìm hiểu thêm về TYPO3 CMS, hãy truy cập tài liệu chính thức của TYPO3.
 
Back
Bên trên