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

theanh

Administrator
Nhân viên
Neos là hệ thống quản lý nội dung mã nguồn mở và miễn phí với khả năng chỉnh sửa trực quan, quốc tế hóa hoàn toàn, tính linh hoạt tối đa và dễ dàng tích hợp với các hệ thống của bên thứ 3.

Neos là hệ thống quản lý nội dung doanh nghiệp tích hợp với mô hình hóa nội dung tùy chỉnh, cung cấp cách hiệu quả để chỉnh sửa và quản lý nội dung, tối ưu hóa SEO như chuyển hướng tự động và siêu dữ liệu SEO, cũng như vai trò và quản lý người dùng mạnh mẽ.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt Neos CMS trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt Neos CMS với LAMP Stack, Composer và ImageMagick. Bạn sẽ sử dụng Tiện ích flow để cài đặt và quản lý Neos CMS.

Đ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ó:
  • 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 máy chủ của bạn.

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

Trước khi cài đặt Neos CMS, bạn cần cài đặt các phần phụ thuộc như LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer, Git và ImageMagick. Các gói này có sẵn theo mặc định trên kho lưu trữ Ubuntu và bạn có thể cài đặt chúng thông qua APT.

Trước tiên, hãy cập nhật chỉ mục gói Ubuntu của bạn bằng lệnh sau:

sudo apt update

Bây giờ hãy cài đặt các phần phụ thuộc cho Neos CMS bằng lệnh bên dưới. Sau đây, bạn sẽ cài đặt LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer, Git và các gói ImageMagick.

sudo apt install apache2 mariadb-server composer git php php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-imagick php-mbstring php-curl libapache2-mod-php php-mysql imagemagick

Nhập Y để xác nhận cài đặt.


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


Sau khi cài đặt, hãy kiểm tra trạng thái của các dịch vụ Apache và MariaDB để đảm bảo chúng đang chạy.

Kiểm tra máy chủ web Apache bằng lệnh sau. Bạn sẽ thấy rằng dịch vụ là enabledactive(running).

sudo systemctl is-enabled apache2
sudo systemctl status apache2


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


Bây giờ hãy kiểm tra trạng thái dịch vụ MariaDB bằng lệnh sau - Bạn sẽ thấy đầu ra tương tự. MariaDB là enabledactive(running).

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb


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


Cuối cùng, hãy kiểm tra phiên bản PHP và Composer bằng lệnh bên dưới. PP 8.3 và Composer 2.7 được cài đặt trên hệ thống Ubuntu của bạn.

php -v
sudo -u www-data composer -v


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

Cấu hình PHP​

Sau khi cài đặt các phần phụ thuộc, bạn sẽ thiết lập cài đặt PHP bằng cách chỉnh sửa php.ini tệp và sau đó khởi động lại máy chủ web Apache.

Mở tệp cấu hình PHP /etc/php/8.3/apache2/php.ini bằng lệnh trình chỉnh sửa nano sau.

sudo nano /etc/php/8.3/apache2/php.ini

Thay đổi cấu hình mặc định bằng lệnh sau. Đảm bảo điều chỉnh cả date.timezonememory_limit với máy chủ của bạn cài đặt.
Mã:
date.timezone = Europe/Amsterdam
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360
Khi 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 chạy lệnh bên dưới để khởi động lại máy chủ web Apache và áp dụng cấu hình PHP của bạn.

sudo systemctl restart apache2

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

Trong phần này, bạn sẽ bảo mật MariaDB của mình cài đặt máy chủ và tạo cơ sở dữ liệu và người dùng mới cho Neos CMS. Bạn sẽ sử dụng mariadb-secure-installationđể bảo mậtMariaDB, sau đó bạn sẽ truy cập máy chủ MariaDB thông qua máy khách mariadb.

Để bảo mật cài đặt máy chủ MariaDB, hãy chạy mariadb-secure-installation lệnh bên dưới.

sudo mariadb-secure-installation

Bây giờ bạn sẽ được nhắc cấu hình máy chủ MariaDB:
  • Đối với cài đặt máy chủ MariaDB mặc định không có mật khẩu gốc, hãy nhấn ENTER khi được hỏi về mật khẩu.
  • Xác thực cục bộ cho người dùng gốc MariaDB được bảo mật theo mặc định, hãy nhập 'n' khi được yêu cầu thay đổi phương thức xác thực thành ‘unix_socket’.
  • Nhập ‘Y’ để tạo mật khẩu gốc MariaDB mới. Sau đó, nhập mật khẩu mạnh cho người dùng gốc MariaDB của bạn và lặp lại.
  • Khi được yêu cầu tắt xác thực từ xa cho người dùng gốc MariaDB, hãy nhập ‘Y’ để đồng ý.
  • Cài đặt máy chủ MariaDB mặc định đi kèm với cơ sở dữ liệu ‘test’ và cho phép người dùng ẩn danh truy cập vào cơ sở dữ liệu đó.
  • Nhập ‘Y’ cho cả hai cài đặt để xóa cơ sở dữ liệu mặc định ‘test’ và xóa đặc quyền ẩn danh.
  • Cuối cùng, hãy nhập ‘Y’ để xác nhận tải lại đặc quyền bảng.
Sau khi bạn đã bảo mật MariaDB, bạn sẽ tạo cơ sở dữ liệu và người dùng mới thông qua Tiện ích máy khách mariadb.

Chạy lệnh bên dưới để đăng nhập vào máy chủ MariaDB. Nhập mật khẩu gốc MariaDB của bạn khi được yêu cầu.

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 và người dùng mới cho Neos CMS. Trong ví dụ này, bạn sẽ tạo một cơ sở dữ liệu mới neosdb, một người dùng neos với mật khẩu . Bạn có thể điều chỉnh thông tin đó bằng thông tin của bạn.

TẠO CƠ SỞ DỮ LIỆU neosdb;
TẠO NGƯỜI DÙNG neos@localhost ĐƯỢC XÁC ĐỊNH BỞI ‘neospassword’;
CẤP TẤT CẢ CÁC QUYỀN TRÊN neosdb.* CHO neos@localhost ĐƯỢC XÁC ĐỊNH BỞI ‘neospassword’;
XẢ QUYỀN;


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22212%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 neos. Đảm bảo rằng người dùng neos có thể truy cập cơ sở dữ liệu neosdb.

HIỂN THỊ QUYỀN CẤP CHO neos@localhost;

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


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

Tải xuống Neos CMS Source Mã​

Bây giờ bạn đã cấu hình cả PHP và MariaDB, bạn sẽ tải xuống mã nguồn Neos CMS và cài đặt các phụ thuộc PHP với Composer. Bạn cũng sẽ thiết lập cài đặt Neos CMS với quyền và quyền sở hữu phù hợp.

Trước tiên, hãy chạy lệnh git bên dưới để tải mã nguồn Neos CMS xuống thư mục /var/www/neos.

git clone https://github.com/neos/neos-base-distribution.git /var/www/neos

Di chuyển đến thư mục /var/www/neos và cài đặt các phụ thuộc Neos CMS với composer lệnh bên dưới.

cd /var/www/neos
composer install

Hiện tại, hãy nhập yes để xác nhận và chạy Composer dưới dạng root.


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


Sau khi quá trình hoàn tất, hãy chạy lệnh bên dưới để thay đổi quyền của mã nguồn Neos CMS thành www-data user.

sudo ./flow core:setfilepermissions www-data www-data
sudo chown -R www-data:www-data /var/www/neos

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

Trong phần này, bạn sẽ tạo một máy chủ ảo Apache mới để chạy Neos CMS. Vì vậy, hãy đảm bảo rằng tên miền của bạn được trỏ đến địa chỉ IP của máy chủ. Bạn có thể sử dụng miền công cộng hoặc miền cục bộ để phát triển.

Kích hoạt các mô-đun rewritessl cho Apache bằng lệnh bên dưới.

sudo a2enmod rewritessl


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


Bây giờ hãy tạo một tệp máy chủ ảo Apache mới /etc/apache2/sites-available/neos.conf bằng trình chỉnh sửa nano sau.

sudo nano /etc/apache2/sites-available/neos.conf

Chèn cấu hình vào tệp và nhập tên miền của bạn vào tùy chọn ServerName.
Mã:
 ServerName howtoforge.local
 ServerAdmin [emailprotected]

 ErrorLog ${APACHE_LOG_DIR}/howtoforge.local.error.log
 CustomLog ${APACHE_LOG_DIR}/howtoforge.local.access.log combined

 #SetEnv FLOW_CONTEXT Production
 DocumentRoot /var/www/neos/Web

 # Add security
 php_flag register_globals off

 
 AllowOverride All
 

 
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*) index.php [PT,L]
Khi hoàn tất, hãy lưu và thoát khỏi tệp.

Tiếp theo, chạy lệnh bên dưới để kích hoạt tệp máy chủ ảo neos.conf và xác minh cú pháp Apache của bạn. Nếu bạn có cú pháp Apache đúng và phù hợp, bạn sẽ nhận được kết quả Syntax is OK.

sudo a2ensite neos.conf
sudo apachectl configtest

Cuối cùng, hãy chạy lệnh sau để khởi động lại máy chủ web Apache và áp dụng các thay đổi của bạn. Sau khi khởi động lại, Neos CMS của bạn sẽ sẵn sàng.

sudo systemctl restart apache2


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

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

Trong hướng dẫn này, bạn sẽ chạy Neos CMS bằng HTTPS thông qua Certbot và Letsencrypt. Điều này chỉ khả thi nếu bạn đang cài đặt Neos CMS trên tên miền công cộng. Nếu bạn đang sử dụng tên miền cục bộ, bạn có thể tạo chứng chỉ SSL bằng OpenSSL và cấu hình HTTPS theo cách thủ công.

Cài đặt Certbot và plugin Certbot Apache bằng lệnh sau. Nhập Y để xác nhận cài đặt.

sudo apt install certbot python3-certbot-apache2

Bây giờ hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho Neos CMS. Hãy đảm bảo thay đổi địa chỉ email và tên miền bằng thông tin của bạn.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d howtoforge.local

Sau khi quá trình hoàn tất, chứng chỉ SSL của bạn sẽ có trong thư mục /etc/letsencrypt/live/domain.com. Và Neos CMS của bạn sẽ được bảo mật tự động bằng HTTPS.

Cài đặt NEOS CMS từ dòng lệnh​

Bây giờ bạn đã tải xuống mã nguồn Neos CMS và cấu hình máy chủ ảo Apache, bạn sẽ bắt đầu cài đặt Neos CMS thông qua thiết bị đầu cuối. Với tiện ích flow, bạn có thể quản lý và cài đặt Neos CMS từ thiết bị đầu cuối của mình.

Truy cập thư mục /var/www/neos với nội dung sau:

cd /var/www/neos

Chạy lệnh bên dưới để thiết lập cơ sở dữ liệu cho Neos CMS. Chọn mysqli làm trình điều khiển cơ sở dữ liệu và nhập thông tin chi tiết về cơ sở dữ liệu MariaDB và người dùng mà bạn đã tạo.

sudo ./flow setup:database

Khi thành công, bạn sẽ thấy đầu ra như sau Database neosdb was connected successfully.


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


Bây giờ hãy chạy lệnh bên dưới để thiết lập trình xử lý hình ảnh mặc định cho Neos CMS và chọn Imagick.

sudo ./flow setup:imagehandler


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


Sau khi cấu hình cơ sở dữ liệu và trình xử lý hình ảnh, hãy chạy lệnh bên dưới để di chuyển cơ sở dữ liệu Neos CMS.

sudo ./flow doctrine:migrate

Bạn có thể thấy kết quả sau trong quá trình di chuyển cơ sở dữ liệu.


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


Tiếp theo, hãy chạy lệnh sau để tạo người dùng quản trị viên cho cài đặt Neos CMS của bạn. Nhập tên người dùng, địa chỉ email, tên, họ và mật khẩu của bạn.

sudo ./flow user:create --roles administrator

Bạn sẽ nhận được kết quả như sau:


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


Bây giờ hãy chạy lệnh bên dưới để nhập Neos.Demo trang web cài đặt của bạn. Nếu thành công, bạn sẽ nhận được đầu ra Import of site "Neos Demo site" finished.

sudo flow:cache:flush
sudo ./flow site:import --package-key Neos.Demo


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


Với điều này, Neos CMS đã hoàn thiện. Truy cập tên miền của bạn như https://howtoforge.local và bạn sẽ nhận được trang chủ Neos CMS như sau:


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


Để truy cập trang đăng nhập Neos CMS, hãy truy cập https://howtoforge.local/login và nhập tên người dùng và mật khẩu quản trị mà bạn đã tạo. Nhấp vào Đăng nhập để xác nhận.


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


Nếu bạn có thông tin đăng nhập quản trị viên hợp lệ, bạn sẽ thấy bảng điều khiển Neos CMS như sau:


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

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt Neos CMS trên máy chủ Ubuntu 24.04. Bạn có Neos CMS đang chạy với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) và được bảo mật bằng HTTPS thông qua Let's Encrypt. Bạn cũng đã học lệnh cơ bản flow để cài đặt và quản lý Neos CMS.
 
Back
Bên trên