Cách cài đặt TYPO3 CMS trên Ubuntu 24.04

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 các 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 được hỗ trợ bởi một cộng đồng chuyên nghiệp năng động. Theo thiết kế, TYPO3 CMS là 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 trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt TYPO3 với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer và GraphicsMagick.

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

Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có những điều sau:
  • Máy chủ Ubuntu 24.04.
  • Người dùng không phải root có quyền quản trị viên.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Cài đặt các phần phụ thuộc​

TYPO3 là hệ thống quản lý nội dung nguồn mở được viết bằng PHP và hỗ trợ các cơ sở dữ liệu như MySQL/MariaDB và PostgreSQL. Trong phần này, bạn sẽ cài đặt các phụ thuộc cho TYPO3, bao gồm ngăn xếp LAMP (Linux, Apache, MySQL/MariaDB và PHP), Composer làm trình quản lý phụ thuộc PHP và GraphicsMagick để xử lý hình ảnh.

Trước khi bắt đầu, hãy cập nhật chỉ mục gói Ubuntu của bạn bằng lệnh bên dưới.
Mã:
sudo apt update

4-update-repo.png



Bây giờ hãy cài đặt các gói phụ thuộc cho TYPO3 CMS bằng lệnh 'apt install' sau. Với lệnh này, bạn sẽ cài đặt các phần phụ thuộc như LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer làm trình quản lý gói PHP, Git và GraphicsMagick để xử lý hình ảnh tự động.
Mã:
sudo apt install apache2 mariadb-server composer graphicsmagick php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-gmagick php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap
Nhập Y để tiếp tục cài đặt.


5-install-deps.png



Khi quá trình cài đặt hoàn tất, hãy xác minh trạng thái của cả dịch vụ Apache và MariaDB, sau đó kiểm tra phiên bản PHP, Composer và GraphicsMagick.

Xác minh dịch vụ Apache trạng thái bằng lệnh bên dưới. Bạn sẽ nhận được kết quả đầu ra của dịch vụ Apache là 'đã bật' và 'hoạt động (đang chạy)'.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2

6-check-apache.png



Tiếp theo, hãy kiểm tra trạng thái dịch vụ MariaDB bằng lệnh sau. Đầu ra sẽ tương tự như Apache, bạn sẽ thấy máy chủ MariaDB được 'bật' và 'hoạt động (đang chạy)'.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

7-check-mariadb.png



Bây giờ hãy thực hiện lệnh bên dưới để kiểm tra phiên bản PHP và Composer. Trên Ubuntu 24.04, phiên bản PHP mặc định là 8.3 và Composer là 2.7.1.
Mã:
php -v
sudo -u www-data composer --version

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


Cuối cùng, hãy kiểm tra phiên bản GraphicsMagick bằng lệnh bên dưới. Bạn sẽ thấy GraphicsMagick 1.3 được cài đặt trên hệ thống Ubuntu của mình.
Mã:
gm version

9-check-graphicsmagick.png


Cấu hình PHP​

Để cài đặt TYPO3, bạn phải thay đổi tệp cấu hình PHP mặc định 'php.ini'. Bạn cần chỉnh sửa tệp 'php.ini' cho cả Apache và PHP CLI, sau đó thay đổi một số cấu hình mặc định để cài đặt TYPO3.

Chỉnh sửa tệp 'php.ini' cho cả ApachePHP CLI bằng lệnh nano editor sau.
Mã:
sudo nano /etc/php/8.3/apache2/php.ini
sudo nano /etc/php/8.3/cli/php.ini
Thay đổi cấu hình mặc định bằng lệnh sau. Hãy đảm bảo điều chỉnh các tùy chọn 'memory_limit' và 'date.timezone' theo môi trường máy chủ của bạn.
Mã:
date.timezone = Europe/Amsterdam
memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500
post_max_size = 50M
upload_max_filesize = 50M
Lưu tệp và thoát.

Bây giờ hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache và áp dụng các thay đổi của bạn trên PHP.
Mã:
sudo systemctl restart apache2
Sau đó, hãy chạy lệnh sau để tạo tệp 'info.php' mới trong '/var/www/html' thư mục.
Mã:
echo "" > /var/www/html/info.php
Cuối cùng, hãy truy cậphttp://192.168.5.30/info.php bằng trình duyệt web bạn thích. Bạn sẽ thấy thông tin chi tiết về cấu hình PHP của mình, hãy đảm bảo mọi thứ bạn đã cấu hình thông qua 'php.ini' đều được áp dụng.

Hãy kiểm tra phần 'Core' để xem 'memory_limit', 'post_max_size', 'max_execution_time' và các thông số khác của cài đặt PHP của bạn.


10-php-core.png


Cấu hình máy chủ MariaDB​

Bây giờ bạn đã cấu hình PHP, bạn cần bảo mật máy chủ MariaDB, sau đó tạo cơ sở dữ liệu và người dùng mới cho TYPO3. Trong phần này, bạn sẽ bảo mật MariaDB bằng tiện ích 'mariadb-secure-installation' và tạo cơ sở dữ liệu và người dùng mới từ dòng lệnh.

Bảo mật cài đặt máy chủ MariaDB của bạn bằng cách thực thi lệnh 'mariadb-secure-installation' bên dưới.
Mã:
sudo mariadb-secure-installation
Bây giờ, bạn sẽ được nhắc cấu hình máy chủ MariaDB. Nhấn Y để chấp nhận cài đặt mặc định hoặc n để từ chối.
  • 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.
Sau khi bạn đã cấu hình máy chủ MariaDB, hãy đăng nhập vào MariaDB bằng lệnh sau. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Bây giờ hãy chạy các truy vấn sau để tạo cơ sở dữ liệu mới, 'typo3db', và người dùng mới, 'typo3', với mật khẩu 'Typo3Password'. Thay đổi thông tin cơ sở dữ liệu chi tiết theo nhu cầu của bạn.
Mã:
CREATE DATABASE typo3db;
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=%22139%22%3E%3C/svg%3E


Tiếp theo, chạy truy vấn bên dưới để kiểm tra quyền của người dùng 'typo3'. Điều này sẽ đảm bảo rằng người dùng 'typo3' có thể truy cập cơ sở dữ liệu 'typo3db' cho cài đặt CMS TYPO3 của bạn.
Mã:
SHOW GRANTS FOR typo3@localhost;
Đầu ra bên dưới cho thấy rằng người dùng 'typo3' có thể truy cập cơ sở dữ liệu 'typo3db'.

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


12-check-user.png


Tải xuống TYPO3 thông qua Composer​

Có nhiều cách để cài đặt và tải xuống mã nguồn TYPO3. Bây giờ bạn sẽ thiết lập thư mục cài đặt TYPO3, sau đó tải xuống TYPO3 bằng Composer (quản lý phụ thuộc PHP).

Trước tiên, hãy chạy lệnh sau để tạo các thư mục mới cho bộ đệm và cấu hình Composer, cũng như thư mục cài đặt TYPO3 '/var/www/typo3'.
Mã:
sudo mkdir -p /var/www/{.cache,.config,typo3}
Bây giờ hãy chạy lệnh bên dưới để thay đổi quyền sở hữu các thư mục trên thành người dùng 'www-data', sau đó bật quyền truy cập đọc và ghi vào '/var/www/typo3' thư mục.
Mã:
sudo chown -R www-data:www-data /var/www/{.cache,.config,typo3}
sudo chmod u+rw /var/www/typo3
Tiếp theo, hãy đến thư mục '/var/www/typo3' và cài đặt TYPO3 CMS bằng lệnh 'composer' bên dưới. Trong ví dụ này, bạn sẽ cài đặt phiên bản mới nhất của TYPO3 CMS v12 vào máy chủ Ubuntu của mình.
Mã:
cd /var/www/typo3
sudo -u www-data composer create-project typo3/cms-base-distribution:^12 .
Bạn có thể xem quy trình tải xuống và cài đặt TYPO3 CMS bên dưới:


13-install-typo3-cms-composer.png


Thiết lập TYPO3 thông qua dòng lệnh​

Sau khi tải xuống mã nguồn TYPO3 CMS, bạn sẽ cấu hình cài đặt TYPO3 bằng dòng lệnh. Bạn cũng có thể thiết lập cài đặt TYPO3 bằng trình duyệt web, nhưng bây giờ bạn sẽ cấu hình cài đặt TYPO3 CMS từ thiết bị đầu cuối của mình.

Để cấu hình cài đặt TYPO3 CMS thông qua lệnh, hãy chạy lệnh sau:
Mã:
./vendor/bin/typo3 setup
Bạn sẽ được nhắc với các cấu hình sau:
  • Nhập apache làm máy chủ web.
  • Nhập mysqli làm trình điều khiển cơ sở dữ liệu.
  • Nhập thông tin chi tiết về người dùng MariaDB, mật khẩu, cổng và máy chủ sẽ được sử dụng cho TYPO3 CMS.
  • Nhập typo3db làm tên cơ sở dữ liệu.
  • Nhập người dùng quản trị viên, mật khẩu và địa chỉ email của bạn đối với TYPO3 CMS. Mật khẩu của bạn phải chứa ít nhất một ký tự đặc biệt.
  • Đối với tên dự án, hãy để mặc định.
  • Nhấn ENTER khi được yêu cầu tạo trang web cơ bản.
Nếu cài đặt thành công, bạn sẽ thấy đầu ra 'Xin chúc mừng - Thiết lập TYPO3 đã hoàn tất'.

Cuối cùng, hãy chạy lại lệnh sau để thay đổi quyền sở hữu thư mục '/var/www/typo3' thành người dùng 'www-data'.
Mã:
sudo chown -R www-data:www-data /var/www/typo3

14-configure-typo3-via-cli.png


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

Bây giờ bạn đã cấu hình TYPO3 từ thiết bị đầu cuối, hãy chuyển sang cấu hình máy chủ ảo Apache cho cài đặt TYP3 của bạn. Vì vậy, hãy đảm bảo rằng bạn đã chuẩn bị tên miền của mình.

Đầu tiên, hãy kích hoạt mô-đun 'rewrite' của Apache bằng lệnh sau.
Mã:
sudo a2enmod rewrite
Sau đó, tạo một tệp máy chủ ảo mới '/etc/apache2/sites-available/typo3.conf' bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/apache2/sites-available/typo3.conf
Chèn cấu hình sau và đảm bảo thay đổi tùy chọn ServerName bằng tên miền TYPO3 CMS của bạn. Trong ví dụ này, TYPO3 CMS sẽ chạy trên miền 'howtoforge.local'.
Mã:
 ServerAdmin [emailprotected]
 DocumentRoot /var/www/typo3/public
 ServerName howtoforge.local

 
 Options FollowSymlinks
 AllowOverride All
 Require all granted
 

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*) index.php [PT,L]
Bây giờ hãy chạy lệnh bên dưới để kích hoạt tệp máy chủ ảo 'typo3.conf' và xác minh cú pháp Apache của bạn. Đầu ra 'Cú pháp OK' sẽ được hiển thị, nếu bạn có cú pháp Apache phù hợp.
Mã:
sudo a2ensite typo3.conf
sudo apachectl configtest
Cuối cùng, khởi động lại dịch vụ Apache bằng lệnh bên dưới để áp dụng máy chủ ảo TYPO3 CMS của bạn. Khi thực hiện, cài đặt TYPO3 CMS của bạn sẽ sẵn sàng.
Mã:
sudo systemctl restart apache2

15-setup-apache2.png


Bảo mật TYPO3 CMS bằng HTTPS​

Trong phần này, bạn sẽ bảo mật TYPO3 CMS bằng HTTPS bằng Certbot và Letsencrypt. Certbot sẽ được sử dụng để tạo chứng chỉ SSL/TLS từ Letsencrypt. Ngoài ra, bạn sẽ sử dụng plugin Certbot Apache để thiết lập HTTPS tự động trên máy chủ ảo của mình.

Cài đặt Certbot và plugin Certbot APache bằng lệnh bên dưới. Nhập Y để tiếp tục cài đặt.
Mã:
sudo apt install certbot python3-certbot-apache
Sau khi cài đặt, hãy chạy lệnh 'certbot' bên dưới để tạo chứng chỉ SSL/TLS cho tên miền TYPO3 CMS của bạn. Vì vậy, hãy đảm bảo thay đổi 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, CMS TYPO3 của bạn sẽ tự động được bảo mật bằng HTTPS. Chứng chỉ SSL/TLS của bạn có sẵn trong thư mục '/etc/letsencrypt/live/domain.com'.

Truy cập TYPO3​

Truy cập trang đăng nhập CMS TYPO3 tại https://howtoforge.local/typo3 bằng trình duyệt web bạn thích. Nếu cài đặt thành công, bạn sẽ nhận được trang đăng nhập TYPO3 CMS.

Nhập tên người dùng và mật khẩu quản trị viên, sau đó nhấp vào Đăng nhập để xác nhận.


1-login.png



Sau khi đăng nhập, bạn sẽ thấy bảng điều khiển quản trị TYPO3 CMS như sau:


2-dashboard.png



Ở menu trên cùng bên phải, hãy nhấp vào biểu tượng thông tin để biết thông tin chi tiết về ngăn xếp TYPO3 CMS của bạn. Như bạn có thể thấy bên dưới, TYPO3 CMS 12.4 được cài đặt với Apache 2.4.58, máy chủ MariaDB 10.11, PHP 8.3 và chế độ Composer được bật.


3-details-info.png


Kết luận​

Xin chúc mừng! Bạn đã cài đặt TYPO3 CMS trên máy chủ Ubuntu 24.04. Bạn có TYPO3 CMS đang chạy với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), xử lý hình ảnh GraphicsMagick và chế độ Composer được bật. Bạn cũng bảo mật TYPO3 CMS bằng HTTPS bằng Certbot và Letsencrypt.
 
Back
Bên trên