Cách cài đặt Pimcore với Nginx trên CentOS 7

theanh

Administrator
Nhân viên
Pimcore cung cấp hệ thống quản lý nội dung doanh nghiệp mã nguồn mở và miễn phí. Nó được viết bằng PHP và sử dụng MySQL để lưu trữ cơ sở dữ liệu của nó. Pimcore CMS hoàn toàn linh hoạt và có thể chỉnh sửa, bạn có thể cá nhân hóa trang web theo cách bạn muốn. Ngoài tất cả những tính năng này, nó còn có nhiều tính năng cấp doanh nghiệp giúp nó có khả năng đáp ứng nhu cầu của trang web cấp doanh nghiệp.

Trong hướng dẫn này, chúng tôi sẽ cài đặt Pimcore CMS trên máy chủ CentOS 7.

Điều kiện tiên quyết
  • Máy chủ CentOS 7 tối thiểu
  • Quyền root

Bước 1 - Cài đặt Nginx​

Bạn nên cập nhật máy chủ trước khi cài đặt bất kỳ gói nào để các gói và kho lưu trữ hiện có được cập nhật.
Mã:
yum -y install epel-release
 yum -y update
Sau khi hệ thống của bạn được cập nhật, bạn có thể tiến hành cài đặt máy chủ web Nginx.
Mã:
yum -y install nginx
Bây giờ hãy khởi động máy chủ web Nginx và cho phép nó khởi động khi khởi động bằng lệnh sau.
Mã:
systemctl start nginx
Mã:
systemctl enable nginx

Bước 2 - Cài đặt PHP​

Pimcore hỗ trợ tất cả các phiên bản PHP cao hơn 5.6. Nhưng trong hướng dẫn này, chúng ta sẽ cài đặt PHP 7.1. Cài đặt phiên bản PHP mới nhất sẽ đảm bảo hiệu suất và tính bảo mật tối đa của ứng dụng.

Kho lưu trữ YUM mặc định của CentOS không có PHP 7.1, do đó bạn sẽ cần thêm kho lưu trữ Webtatic vào hệ thống của mình.

Nhập các lệnh để cài đặt kho lưu trữ Webtatic.
Mã:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Mã:
yum -y update
Nhập lệnh sau để cài đặt PHP 7.1 cùng với tất cả các phụ thuộc cần thiết.
Mã:
yum -y install php71w php71w-mysqli php71w-fpm php71w-gd php71w-cli php71w-iconv php71w-dom php71w-simplexml php71w-exif php71w-fileinfo php71w-mbstring php71w-zlib php71w-zip php71w-bz2 php71w-openssl php71w-opcache php71w-curl php71w-pecl-redis ImageMagick
Để kiểm tra xem PHP đã được cài đặt thành công hay chưa, bạn có thể chạy:
Mã:
php -v
Bạn sẽ nhận được kết quả tương tự như thế này.
Mã:
[root@liptan-pc ~]# php -vPHP 7.1.6 (cli) (xây dựng: 10 tháng 6 năm 2017 07:28:42) (NTS)Bản quyền (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Bản quyền (c) 1998-2017 Zend Technologies với Zend OPcache v7.1.6, Bản quyền (c) 1999-2017, của Zend Technologies
Bây giờ bạn sẽ cần cấu hình một vài cấu hình trong PHP. Mở tệp cấu hình PHP, php.ini bằng trình soạn thảo văn bản yêu thích của bạn.
Mã:
nano /etc/php.ini
Tìm dòng sau, bỏ chú thích dòng đó và đặt múi giờ theo khu vực của bạn. Ví dụ:
Mã:
[Date]; Xác định múi giờ mặc định được sử dụng bởi các hàm ngày; http://php.net/date.timezonedate.timezone = Asia/Kolkata
Tiếp theo, tìm kiếm dòng sau:
Mã:
upload_max_filesize = 2M
Thay đổi giá trị từ 2M thành 100M và tìm kiếm dòng sau:
Mã:
post_max_size = 8M
Thay đổi giá trị từ 8M thành 100M. Lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ, hãy mở tệp cấu hình PHP-FPM nằm tại /etc/php-fpm.d/www.conf:
Mã:
nano /etc/php-fpm.d/www.conf
Tìm các dòng sau:
Mã:
user = apachegroup = apache
Thay đổi giá trị user và group từ apache thành nginx. Bây giờ hãy tìm:
Mã:
;listen.owner = nobody;listen.group = nobody;listen.mode = 0660
Bỏ chú thích các dòng trên và đổi nobody thành nginx.

Và cuối cùng, hãy tìm:
Mã:
listen = 127.0.0.1:9000
Bỏ chú thích dòng trên và thêm dòng sau vào bên dưới.
Mã:
listen = /var/run/php-fpm/php-fpm.sock
Bây giờ hãy khởi động dịch vụ PHP-FPM và cho phép dịch vụ này tự động khởi động khi khởi động bằng cách sử dụng:
Mã:
systemctl start php-fpm
Mã:
systemctl enable php-fpm

Bước 3 - Cài đặt MariaDB​

MariaDB là một nhánh của cơ sở dữ liệu MySQL. Để cài đặt MariaDB trên máy chủ của bạn, hãy chạy:
Mã:
yum -y install mariadb mariadb-server
Chạy các lệnh sau để khởi động MariaDB và cho phép nó khởi động khi khởi động.
Mã:
systemctl start mariadb
Mã:
systemctl enable mariadb
Bây giờ hãy chạy các lệnh sau để bảo mật cài đặt MariaDB của bạn.
Mã:
mysql_secure_installation
Lệnh trên sẽ chạy một tập lệnh để bảo mật cài đặt MariaDB mới. Tập lệnh sẽ yêu cầu mật khẩu người dùng root hiện tại, chúng ta vừa cài đặt MariaDB, mật khẩu root chưa được thiết lập, chỉ cần nhấn enter để tiếp tục.

Tập lệnh sẽ hỏi bạn có muốn thiết lập mật khẩu root cho cài đặt MariaDB của mình không, hãy chọn y và thiết lập mật khẩu mạnh cho cài đặt. Hầu hết các câu hỏi đều tự giải thích và bạn nên trả lời có hoặc y cho tất cả các câu hỏi. Đầu ra sẽ trông như hiển thị bên dưới.

Để tạo cơ sở dữ liệu, trước tiên chúng ta cần đăng nhập vào dòng lệnh MySQL. Chạy lệnh sau để thực hiện.
Mã:
mysql -u root -p
Lệnh trên sẽ đăng nhập vào shell MySQL của người dùng root, nó sẽ nhắc nhập mật khẩu của người dùng root. Cung cấp mật khẩu để đăng nhập. Bây giờ hãy chạy truy vấn sau để tạo cơ sở dữ liệu mới cho cài đặt Pimcore của bạn.
Mã:
CREATE DATABASE pimcore_data CHARACTER SET UTF8;
Truy vấn trên sẽ tạo cơ sở dữ liệu mới có tên pimcore_data. Đảm bảo rằng bạn sử dụng dấu chấm phẩy ở cuối mỗi truy vấn vì truy vấn luôn kết thúc bằng dấu chấm phẩy.

Để tạo người dùng cơ sở dữ liệu mới, hãy chạy truy vấn sau.
Mã:
CREATE USER 'pimcore_user'@'localhost' IDENTIFIED BY 'StrongPassword';
Bây giờ hãy cung cấp tất cả các quyền cho người dùng cơ sở dữ liệu của bạn đối với cơ sở dữ liệu bạn đã tạo. Chạy lệnh sau.
Mã:
GRANT ALL PRIVILEGES ON pimcore_data.* TO 'pimcore_user'@'localhost';
Bây giờ hãy chạy lệnh sau để áp dụng ngay các thay đổi đối với các đặc quyền cơ sở dữ liệu.
Mã:
FLUSH PRIVILEGES;
Thoát khỏi dấu nhắc MySQL bằng lệnh sau.
Mã:
EXIT;

Bước 4 - Cài đặt phần mềm máy chủ bổ sung​

Pimcore yêu cầu các gói máy chủ bổ sung được sử dụng để thực hiện một số hoạt động nhất định bằng Pimcore CMS. Một số phần phụ thuộc chỉ có trong kho lưu trữ RPMFusion. Cài đặt kho lưu trữ RPM Fusion bằng lệnh sau.
Mã:
rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
Chạy lệnh sau để cài đặt phần mềm máy chủ bổ sung.
Mã:
yum -y install ffmpeg libreoffice libreoffice-math xorg-x11-fonts-75dpi poppler-utils inkscape libXrender ghostscript fontconfig wkhtmltopdf
Lệnh trên sẽ cài đặt FFMPEG, LibreOffice, pdftotext, Inkscape và Wkhtmltoimage / Wkhtmltopdf.

Bước 5 - Cài đặt và cấu hình Pimcore​

Vì chúng ta đã chuẩn bị xong tất cả các phần phụ thuộc, giờ chúng ta có thể tải xuống gói cài đặt từ trang web Pimcore.
Mã:
cd /var/www
Pimcore cung cấp ba loại kho lưu trữ cài đặt khác nhau. Nếu bạn muốn cài đặt Pimcore cùng với dữ liệu demo phù hợp với người mới bắt đầu, bạn có thể sử dụng liên kết sau để tải xuống Pimcore.
Mã:
wget https://www.pimcore.org/download/pimcore-data.zip
Nếu bạn chỉ muốn cài đặt gói cốt lõi Pimcore, thì bạn có thể sử dụng liên kết sau để tải xuống.
Mã:
wget https://www.pimcore.org/download/pimcore-latest.zip
Tùy chọn thứ ba là cài đặt bản dựng nightly, chỉ dành cho mục đích phát triển. Lệnh trên sẽ luôn tải xuống phiên bản mới nhất của Pimcore. Giải nén tệp lưu trữ bằng lệnh sau.
Mã:
unzip pimcore*.zip -d pimcore
Nếu bạn chưa cài đặt unzip, bạn có thể chạy yum -y install unzip.

Bước 6 - Cấu hình Quyền và Tường lửa​

Bây giờ bạn sẽ cần cung cấp quyền sở hữu ứng dụng cho người dùng máy chủ web bằng lệnh sau.
Mã:
chown -R nginx:nginx /var/www/pimcore
Bạn cũng có thể cần cho phép lưu lượng HTTP trên cổng 80 đi qua tường lửa nếu bạn đang chạy một tường lửa. Chạy các lệnh sau để thực hiện tương tự.
Mã:
firewall-cmd --zone=public --permanent --add-service=http
Mã:
firewall-cmd --reload
Để tạm thời vô hiệu hóa SELinux mà không cần khởi động lại máy chủ, hãy chạy lệnh sau.
Mã:
setenforce 0
Để vô hiệu hóa hoàn toàn SELinux, bạn sẽ cần chỉnh sửa tệp /etc/selinux/config.
Mã:
nano /etc/selinux/config
Tìm dòng sau:
Mã:
SELINUX=enforcing
Đổi thành:
Mã:
SELINUX=disabled
Bây giờ hãy tạo một máy chủ ảo hoặc khối máy chủ cho ứng dụng Pimcore. Chạy lệnh sau để thực hiện tương tự.
Mã:
nano /etc/nginx/conf.d/cms.yourdomain.com.conf
Dán các dòng sau vào tệp.
Mã:
máy chủ { root /var/www/pimcore; index index.php; tên_máy_chủ cms.yourdomain.com; lắng nghe 80; nhật_ký_truy_cập /var/www/pimcore/website/var/log/nginx_access.log; nhật_ký_lỗi /var/www/pimcore/website/var/log/nginx_error.log lỗi; đặt $getassets ""; nếu ($uri ~* ^/website/var/assets) { đặt $getassets "${getassets}A"; } nếu ($request_method = GET) { đặt $getassets "${getassets}B"; } nếu ($getassets = "AB") { viết lại ^ $uri$args cuối cùng; } vị trí ~* ^(/plugins/(?!.*/static).*|^/pimcore/(?!(static|modules/bên thứ 3)).*|/website/var/(?!tmp|tài sản|khu vực)|/modules/(?!.*/static).*|^(nhà cung cấp|kiểm tra|node_modules|phing)/.*|^(bower|gói|composer|gulpfile)\.) { trả về 403; } vị trí / { try_files $uri $uri/ /index.php$is_args$args; index index.php; } vị trí ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; bao gồm fastcgi_params; fastcgi_read_timeout 60; } vị trí ~* \.(jpe?g|gif|png|bmp|ico|css|js|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ { tắt access_log; tắt log_not_found; try_files $uri $uri/ /website/var/assets$uri /index.php$is_args$args; hết hạn sau 1 tuần; } viết lại ^\/cache-buster-\d+(.*) $1 break; vị trí /fpm-ping { tắt access_log; bao gồm fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; } location /fpm-status { allow 127.0.0.1; deny all; access_log off; include fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; } location /nginx-status { allow 127.0.0.1; deny all; access_log off; stub_status; }}
Thay thế cms.yourdomain.com bằng bất kỳ tên miền hoặc tên miền phụ nào bạn muốn sử dụng để truy cập ứng dụng. Lưu tệp và thoát khỏi trình chỉnh sửa. Chạy lệnh sau để khởi động lại máy chủ Nginx của bạn.
Mã:
systemctl restart nginx
Bây giờ hãy hoàn tất cài đặt bằng trình duyệt web, hãy truy cập liên kết sau.
Mã:
http://cms.yourdomain.com
Bạn sẽ được chào đón bằng trang sau.



Chọn mysqli làm bộ điều hợp cơ sở dữ liệu, cung cấp thông tin chi tiết về cơ sở dữ liệu và người dùng quản trị mới. Nhấp vào nút Cài đặt ngay! sau khi hoàn tất. Quá trình cài đặt sẽ chỉ mất vài giây để hoàn tất.


Kết luận​

Quá trình cài đặt Pimcore đã hoàn tất, bạn có thể sử dụng Pimcore để dễ dàng tạo một trang web đẹp cho mục đích cá nhân hoặc thương mại.
 
Back
Bên trên