Cách cài đặt TYPO3 CMS trên Debian 12

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 là nền tảng của một cộng đồng chuyên nghiệp năng động. 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.

Hướng dẫn này chỉ cho bạn cách cài đặt TYPO3 CMS trên máy chủ Debian 12 trên LAMP Stack (Apache2, MariaDB và PHP).

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

Trước khi thực hiện hướng dẫn này, hãy đảm bảo bạn có:
  • Máy chủ Debian 12.
  • Người dùng không phải root có quyền quản trị viên sudo.
  • Tên miền trỏ đến địa chỉ IP máy chủ của bạn.

Cài đặt Dependencies​

TYPO3 là hệ thống quản lý nội dung nguồn mở được viết bằng PHP và hỗ trợ máy chủ cơ sở dữ liệu MySQL/MariaDB. TYPO3 CMS có thể được cài đặt thông qua Composer PHP Dependency Manager và có thể chạy với máy chủ web Apache2 hoặc Nginx.

Trong hướng dẫn này, bạn sẽ chạy TYPO3 CMS với LAMP Stack (Apache2, MariaDB và PHP) và Composer, có thể được cài đặt dễ dàng thông qua APT từ kho lưu trữ Debian chính thức. Hoàn tất các bước sau để cài đặt các phụ thuộc đó cho TYPO3 CMS.

Trước tiên, hãy cập nhật và làm mới kho lưu trữ Debian của bạn bằng lệnh bên dưới.
Mã:
sudo apt update

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


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


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


Sau khi các phụ thuộc được đã cài đặt, bạn phải xác minh từng phụ thuộc để đảm bảo cài đặt thành công.

Thực hiện lệnh sau để đảm bảo dịch vụ apache2 đang chạy và được bật.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Đầu ra sau cho biết dịch vụ apache2 đang chạy và được bật.


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


Bây giờ hãy xác minh mariadb dịch vụ bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Tương tự như dịch vụ apache2, đầu ra enabled xác nhận rằng mariadb đã được bật. Và đầu ra active (running) xác nhận rằng mariadb đang chạy.


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


Tiếp theo, hãy xác minh phiên bản PHP và tiện ích mở rộng của bạn bằng lệnh sau.
Mã:
php -v
php -m
Bạn sẽ thấy PHP 8.2 được cài đặt với một số tiện ích mở rộng được bật, chẳng hạn như apcu, curl, fileinfo, gd.


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


Cuối cùng, hãy thực hiện lệnh sau để đảm bảo rằng COmposer đã được cài đặt. Sau đó, hãy xác minh phiên bản Composer.
Mã:
which composer
sudo -u www-data composer -v
Đầu ra bên dưới cho bạn thấy Composer 2.5 được cài đặt tại /usr/bin/composer.


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

Cấu hình PHP​

Sau khi cài đặt LAMP Stack và Composer, bạn sẽ cấu hình cài đặt PHP của mình. TYPO3 CMS yêu cầu một số cài đặt PHP cụ thể để chạy, bây giờ bạn sẽ sửa đổi cấu hình php.ini khi cần thiết để cài đặt TYPO3 CMS.

Mở cấu hình PHP mặc định /etc/php/8.2/apache2/php.ini bằng lệnh nano editor sau.
Mã:
sudo nano /etc/php/8.2/apache2/php.ini
Thay đổi cấu hình PHP mặc định như thế này và đảm bảo điều chỉnh các tùy chọn memory_limitdate.timezone với môi trường máy chủ của bạn.
Mã:
memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500

date.timezone = Europe/Amsterdam

post_max_filesize = 50M
upload_max_filesize = 50M
Lưu và thoát tệp khi bạn hoàn tất.

Bây giờ hãy chạy lệnh systemctl sau để khởi động lại dịch vụ apache2 và áp dụng các thay đổi cho PHP của bạn cài đặt.
Mã:
sudo systemctl restart apache2
Sau đó, tạo tệp PHPINFO mới /var/www/html/info.php bằng cách thực hiện lệnh bên dưới. Điều này sẽ đảm bảo rằng cài đặt PHP của bạn đang hoạt động.
Mã:
echo "" > /var/www/html/info.php
Cuối cùng, hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ theo sau là đường dẫn tệp PHPINFO, chẳng hạn như http://192.168.10.15/info.php. Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy thông tin chi tiết về cài đặt PHP của mình.


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

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

Trong phần sau, bạn sẽ bảo mật máy chủ MariaDB thông qua tiện ích mariadb-secure-installation và tạo cơ sở dữ liệu và người dùng mới sẽ được TYPO3 CMS sử dụng thông qua máy khách mariadb.

Thực hiện lệnh mariadb-secure-installation bên dưới để bảo mật máy chủ MariaDB của bạn cài đặt.
Mã:
sudo mariadb-secure-installation
Trong quá trình này, bạn sẽ được yêu cầu thay đổi một số cấu hình MariaDB mặc định. Nhập Y để áp dụng các thay đổi hoặc n để từ chối Không.

Dưới đây là một số cấu hình máy chủ MariaDB mà bạn sẽ được yêu cầu:
  • Chuyển sang xác thực unix_socket?. Nhập n và nhấn ENTER. Người dùng gốc MariaDB mặc định đã được bảo vệ. tùy chọn, bạn cũng có thể bật nó bằng cách nhập y để có.
  • Thay đổi mật khẩu gốc? Nhập y để xác nhận và thiết lập mật khẩu gốc MariaDB mới của bạn.
  • Xóa người dùng ẩn danh? Nhập y để xác nhận.
  • Không cho phép đăng nhập root từ xa? Nhập y để xác nhận. Chỉ kết nối cục bộ mới được phép nếu bạn đang sử dụng người dùng root MariaDB.
  • Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? Nhập y để xác nhận và xóa cơ sở dữ liệu mặc định 'test'.
  • Cuối cùng, nhập y một lần nữa để tải lại tất cả các đặc quyền bảng trên máy chủ MariaDB của bạn và áp dụng các thay đổi mới.
Sau khi bảo mật máy chủ MariaDB, bạn sẽ tạo một cơ sở dữ liệu và người dùng mới sẽ được TYPO3 CMS sử dụng. Để tạo những cơ sở dữ liệu và người dùng này, bạn phải đăng nhập vào máy chủ MariaDB thông qua lệnh máy khách mariadb.

Đăng nhập vào máy chủ MariaDB thông qua lệnh mariadb bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Sau khi đăng nhập, hãy chạy các truy vấn sau để tạo cơ sở dữ liệu typo3db và người dùng typo3 mới. Hãy chắc chắn thay đổi mật khẩu trong các truy vấn sau.
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=%22153%22%3E%3C/svg%3E


Tiếp theo, chạy truy vấn sau để đảm bảo rằng người dùng typo3 có thể truy cập cơ sở dữ liệu typo3db.
Mã:
SHOW GRANTS FOR typo3@localhost;
Đầu ra bên dưới xác nhận rằng người dùng MariaDB typo3 có thể truy cập cơ sở dữ liệu typo3db.


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


Nhập quit để thoát khỏi MariaDB server.

Tải xuống TYPO3 CMS qua Composer​

Trong hướng dẫn này, bạn sẽ cài đặt TYPO3 CMS phiên bản 12, có thể tải xuống qua Composer. Trong các bước sau, bạn sẽ thiết lập thư mục gốc web và tải xuống nguồn TYPO3 CMS, Bạn cũng sẽ cấu hình quyền và quyền sở hữu phù hợp cho thư mục gốc web TYPO3 CMS.

Tạo thư mục gốc web mới /var/www/typo3 và các thư mục bổ sung /var/www/{.cache,.config} bằng lệnh sau. Thư mục /var/www/typo3 sẽ được sử dụng làm thư mục gốc web cho cài đặt CMS TYPO3 của bạn.
Mã:
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 thư mục /var/www/typo3 thành người dùng www-data. Sau đó, bật quyền truy cập đọc và ghi cho chủ sở hữu thư mục /var/www/typo3.
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 vào thư mục /var/www/typo3 và tải xuống mã nguồn CMS TYPO3 thông qua lệnh composer bên dưới. Trong ví dụ này, bạn sẽ tải xuống TYPO3 CMS 12.
Mã:
cd /var/www/typo3
sudo -u www-data composer create-project typo3/cms-base-distribution:^12 .
Trong quá trình này, đầu ra sau sẽ được hiển thị:


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


Khi hoàn tất, đầu ra bạn sẽ nhận được như sau:


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


Sau khi tải xuống mã nguồn TYPO3 CMS, hãy thực hiện lệnh ls bên dưới để liệt kê mã nguồn.
Mã:
ls
Bạn sẽ thấy danh sách mã nguồn TYPO3 CMS như sau:


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

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

Trong phần sau, bạn sẽ tạo cấu hình máy chủ ảo Apache2 mới sẽ được sử dụng để chạy TYPO3 CMS. Vì vậy, trước khi tiếp tục, hãy đảm bảo rằng bạn có một tên miền được trỏ đến địa chỉ IP máy chủ của mình.

Đầu tiên, hãy nhập lệnh sau để bật chức năng ghi lại mô-đun và tiêu đề.
Mã:
sudo a2enmod rewrite headers
Bây giờ, hãy tạo cấu hình 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ên miền của cài đặt TYPO3 CMS của bạn.
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]
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, chạy lệnh bên dưới để kích hoạt tệp máy chủ ảo mớitypo3.conf và xác minh Apache2 của bạn cú pháp.
Mã:
sudo a2ensite typo3.conf
sudo apachectl configtest
Khi bạn có cú pháp Apache2 phù hợp, bạn sẽ nhận được đầu ra Cú pháp OK.


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


Cuối cùng, nhập lệnh bên dưới để khởi động lại dịch vụ apache2 và áp dụng các thay đổi mà bạn đã đã tạo.
Mã:
sudo systemctl restart apache2

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

Sau khi cấu hình máy chủ ảo, bạn sẽ bảo mật cài đặt TYPO3 CMS của mình bằng cách bật HTTPS an toàn với chứng chỉ SSL/TLS từ Letsencrypt. Bạn sẽ sử dụng plugin Certbot và Certbot Apache để tạo chứng chỉ Letsencrypt.

Cài đặt plugin Certbot và Certbot Apache bằng lệnh apt sau.
Mã:
sudo apt install certbot python3-certbot-apache
Nhập y để tiếp tục cài đặt.


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


Sau khi cài đặt hoàn tất, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS mới cho cài đặt TYPO3 CMS của bạn. 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 --no-eff-email --redirect --hsts --staple-ocsp --email [emailprotected] -d howtoforge.local
Chứng chỉ SSL/TLS của bạn sẽ có tại thư mục /etc/letsencrypt/live/domain.com. Và tệp máy chủ ảo typo3.conf sẽ tự động được cấu hình với HTTPS, được thực hiện thông qua plugin Certbot Apache.

Cài đặt TYPO3 CMS thông qua Web Installer​

Trước tiên, hãy chạy lệnh sau để tạo tệp mới /var/www//typo3/public/FIRST_INSTALL. Trình cài đặt web TYPO3 sẽ không khả dụng trừ khi tệp /var/www/typo3/public/FIRST_INSTALL khả dụng.
Mã:
sudo -u www-data touch /var/www//typo3/public/FIRST_INSTALL
Bây giờ hãy mở trình duyệt web của bạn và truy cập tên miền TYPO3 CMS của bạn, chẳng hạn như https://howtoforge.local/. Bạn sẽ được chuyển hướng đến trình cài đặt web TYPO3.

Đảm bảo môi trường hệ thống của bạn đã sẵn sàng, sau đó nhấp vào Không phát hiện thấy vấn đề gì và tiếp tụccài đặt.


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


Nhập thông tin chi tiết về người dùng, mật khẩu và máy chủ cơ sở dữ liệu MariaDB, sau đó nhấp vào Tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22708%22%20height=%22750%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. Sau đó, nhấp vào Tiếp tục một lần nữa.


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


Tiếp theo, nhập tên người dùng quản trị mới, mật khẩu và địa chỉ email để cài đặt TYPO3 CMS. Nhấp vào Tiếp tục để xác nhận.


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


Sau khi cài đặt hoàn tất, bạn sẽ thấy trang sau.


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


Nhấp vào Mở TYPO3 Backend để truy cập bảng điều khiển quản trị TYPO3.

Bạn sẽ nhận được trang đăng nhập TYPO3. 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=%22398%22%20height=%22502%22%3E%3C/svg%3E


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


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


Trên menu trên cùng bên phải, nhấp vào menu thông tin và bạn sẽ nhận được thông tin chi tiết về cài đặt TYPO3 CMS của mình. Trong ảnh chụp màn hình sau, bạn sẽ thấy TYPO3 CMS 12 được cài đặt với PHP 8.2, máy chủ MariaDB 10.11 và máy chủ web Apache2 2.4.


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

Kết luận​

Tóm lại, bạn đã cài đặt thành công TYPO3 CMS trên máy chủ Debian 12 với LAMP Stack (Apache2, MariaDB và PHP) và trình quản lý gói PHP Composer. Bạn cũng đã bảo mật cài đặt TYPO3 CMS của mình bằng chứng chỉ SSL/TLS được tạo từ Letsencrypt bằng Certbot và plugin Certbot Apache. Bây giờ bạn có thể sử dụng TYPO3 CMS để quản lý nội dung, quản lý hồ sơ, thiết lập ngôn ngữ bổ sung cho các trang web đa ngôn ngữ và nhiều hơn nữa.
 
Back
Bên trên