Triển khai WordPress trên FAMP trong FreeBSD 11.1

theanh

Administrator
Nhân viên
Hướng dẫn này sẽ chỉ cách cài đặt và cấu hình CMS nguồn mở phổ biến nhất trên internet, WordPress, trên FAMP trong phiên bản FreeBSD 11.x mới nhất. FAMP là từ viết tắt mô tả gói phần mềm sau: Hệ điều hành giống Unix FreeBSD 11.1, Máy chủ HTTP Apache, một trong những máy chủ web nguồn mở phổ biến nhất trên Internet, Hệ thống quản lý cơ sở dữ liệu quan hệ MariaDB (RDBMS), là một nhánh của công cụ cơ sở dữ liệu MySQL và Ngôn ngữ lập trình phía máy chủ PHP.

YÊU CẦU:
  • Cài đặt FreeBSD 11.x từ đầu hoặc chưa cài đặt phần mềm FAMP nào trước đó trong hệ thống.
  • Card giao diện mạng được định cấu hình bằng địa chỉ IP tĩnh.
  • Máy chủ SSH được cài đặt và định cấu hình để truy cập từ xa hoặc truy cập trực tiếp vào bảng điều khiển dòng lệnh của máy chủ.
  • Tốt nhất là tên miền đã đăng ký (không hoàn toàn cần thiết trong hướng dẫn này vì chúng ta sẽ sử dụng địa chỉ IP tĩnh của máy chủ để truy cập trang web).
  • Một sudo account trên máy chủ được cấu hình với quyền root hoặc quyền truy cập trực tiếp vào tài khoản root.

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

Trước khi cài đặt gói FAMP trong máy chủ FreeBSD của bạn, hãy đăng nhập bằng tài khoản có quyền root và đảm bảo hệ thống của bạn được cập nhật đầy đủ bằng cách đưa ra các lệnh bên dưới.
Mã:
freebsd-update fetch
Mã:
freebsd-update install
Mã:
pkg update
Mã:
pkg upgrade
Để quản trị máy chủ dễ dàng hơn từ dòng lệnh, hãy đảm bảo bạn cũng cài đặt các gói sau:
Mã:
pkg install bash bash_completion nano
Nanolà một trình soạn thảo dòng lệnh Linux phổ biến. Trong FreeBSD,eelà trình soạn thảo tệp mặc định.Vieditor cũng được cài đặt theo mặc định trong FreeBSD.

Để triển khai một trang web Wordpress trên máy chủ, việc kết nối với cơ sở dữ liệu quan hệ là hoàn toàn bắt buộc. Một trong những RDBMS được sử dụng nhiều nhất kết hợp với Wordpress là MySQL/MariaDB. Vì vậy, thành phần đầu tiên được cài đặt trong ngăn xếp FAMP của chúng tôi sẽ là máy chủ cơ sở dữ liệu MySQL. Để tìm kiếm các phiên bản và thành phần cơ sở dữ liệu MariaDB khả dụng, sẽ được sử dụng trong thiết lập này có lợi cho cơ sở dữ liệu MySQL, hãy đưa ra một trong các lệnh sau trong bảng điều khiển máy của bạn.
Mã:
ls -al /usr/ports/databases/ | grep mariadb
Mã:
pkg search -o mariadb




Sau đó, cài đặt phiên bản mới nhất của máy chủ cơ sở dữ liệu MariaDB trong FreeBSD bằng cách chạy lệnh sau:
Mã:
pkg install mariadb102-client mariadb102-server
Trong bước tiếp theo, hãy đảm bảo bật daemon MariaDB trong FreeBSD và khởi động dịch vụ cơ sở dữ liệu bằng cách chạy các lệnh bên dưới.
Mã:
sysrc mysql_enable="YES"
Mã:
service mysql-server start
Tiếp theo, bắt đầu bảo mật cơ sở dữ liệu MaraDB bằng cách thực thi tập lệnh mysql_secure_installation. Sử dụng ví dụ cài đặt sau để bảo mật cơ sở dữ liệu MariaDB. Ngoài ra, hãy đảm bảo rằng bạn chọn một mật khẩu mạnh cho người dùng root MySQL.
Mã:
/usr/local/bin/mysql_secure_installation
Mã:
[I]LƯU Ý: KHUYẾN NGHỊ CHẠY TẤT CẢ CÁC PHẦN CỦA Script này CHO TẤT CẢ CÁC MÁY CHỦ MariaDB[/I]
Mã:
[I] ĐANG SỬ DỤNG TRONG SẢN XUẤT! VUI LÒNG ĐỌC KỸ TỪNG BƯỚC![/I]
Mã:
[I][/I]
Mã:
[I]Để đăng nhập vào MariaDB để bảo mật, chúng ta sẽ cần[/I]
Mã:
[I]mật khẩu hiện tại của người dùng root. Nếu bạn vừa cài đặt MariaDB và[/I]
Mã:
[I]bạn chưa đặt mật khẩu root, thì mật khẩu sẽ để trống,[/I]
Mã:
[I]do đó, bạn chỉ cần nhấn enter ở đây.[/I]
Mã:
[I][/I]
Mã:
[I]Nhập mật khẩu hiện tại cho root (nhập nếu không nhập):[/I]
Mã:
[I]OK, mật khẩu đã sử dụng thành công, tiếp tục...[/I]
Mã:
[I][/I]
Mã:
[I]Đặt mật khẩu root đảm bảo rằng không ai có thể đăng nhập vào MariaDB[/I]
Mã:
[I]người dùng root mà không có quyền thích hợp.[/I]
Mã:
[I]Đặt mật khẩu root? [Y/n][B]y[/b][/I]
Mã:
[I]Mật khẩu mới:[/I]
Mã:
[I]Nhập lại mật khẩu mới:[/I]
Mã:
[I]Đã cập nhật mật khẩu thành công![/I]
Mã:
[I]Đang tải lại bảng đặc quyền..[/I]
Mã:
[I]... Thành công![/I]
Mã:
[I]Theo mặc định, cài đặt MariaDB có một người dùng ẩn danh, cho phép bất kỳ ai[/I]
Mã:
[I]đăng nhập vào MariaDB mà không cần phải tạo tài khoản người dùng cho[/I]
Mã:
[I]họ. Điều này chỉ nhằm mục đích thử nghiệm và để quá trình cài đặt[/I]
Mã:
[I]diễn ra suôn sẻ hơn một chút. Bạn nên xóa những người dùng ẩn danh trước khi chuyển sang[/I]
Mã:
[I]môi trường sản xuất.[/I]
Mã:
[I]Xóa người dùng ẩn danh? [Y/n][B]y[/b][/I]
Mã:
[I]... Thành công![/I]
Mã:
[I]Thông thường, root chỉ được phép kết nối từ 'localhost'. Điều này[/I]
Mã:
[I]đảm bảo rằng không ai có thể đoán được mật khẩu root từ mạng.[/I]
Mã:
[I]Không cho phép root đăng nhập từ xa? [Y/n][B]y[/b][/I]
Mã:
[I]... Thành công![/I]
Mã:
[I]Theo mặc định, MariaDB đi kèm với một cơ sở dữ liệu có tên là 'test' mà bất kỳ ai cũng có thể[/I]
Mã:
[I]truy cập. Điều này cũng chỉ dành cho mục đích thử nghiệm và nên được xóa[/I]
Mã:
[I]trước khi chuyển sang môi trường sản xuất.[/I]
Mã:
[I]Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n][B]y[/b][/I]
Mã:
[I]- Đang xóa cơ sở dữ liệu thử nghiệm...[/I]
Mã:
[I]... Thành công![/I]
Mã:
[I]- Đang xóa các đặc quyền trên cơ sở dữ liệu thử nghiệm...[/I]
Mã:
[I]... Thành công![/I]
Mã:
[I]Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi đã thực hiện cho đến nay[/I]
Mã:
[I]sẽ có hiệu lực ngay lập tức.[/I]
Mã:
[I]Tải lại các bảng đặc quyền ngay bây giờ? [Y/n][B]y[/b][/I]
Mã:
[I]... Thành công![/I]
Mã:
[I]Đang dọn dẹp...[/I]
Mã:
[I]Hoàn tất! Nếu bạn đã hoàn tất tất cả các bước trên, thì việc cài đặt MariaDB[/I]
Mã:
[I]của bạn hiện đã an toàn.[/I]
Mã:
[I]Cảm ơn bạn đã sử dụng MariaDB![/I]
Theo mặc định, dịch vụ MariaDB được định cấu hình để liên kết và lắng nghe các kết nối mạng trên 0.0.0.0:3306/TCPổ cắm mạng. Bằng cách chạy lệnh sockstatvới các cờ -4 -6, bạn sẽ thấy trạng thái ổ cắm MariaDB như minh họa trong ảnh chụp màn hình bên dưới.

sockstat -4 -6



Hành vi này của máy chủ MySQL dễ gặp phải các vấn đề về bảo mật, vì vậy chúng ta sẽ vô hiệu hóa hoàn toàn quyền truy cập từ xa vào MariaDB bằng cách liên kết daemon với giao diện vòng lặpchỉ bằng cách phát hành lệnh bên dưới. Bạn sẽ cần khởi động lại daemon để phản ánh các thay đổi.
Mã:
sysrc mysql_args="--bind-address=127.0.0.1".
Mã:
service mysql-server restart
Tuy nhiên, hãy phát hành lại lệnh sockstat để xác định trạng thái mới của ổ cắm mạng MariaDB. Bây giờ, MariaDB chỉ nên lắng nghe các kết nối từ giao diện loopback, như được hiển thị trong ảnh chụp màn hình bên dưới.
Mã:
sockstat -4


Cuối cùng, sau khi bảo mật daemon cơ sở dữ liệu MySQL, hãy tạo cơ sở dữ liệu MariaDB để cài đặt Wordpress. Đăng nhập vào MariaDB từ bảng điều khiển máy chủ và đưa ra các lệnh sau để tạo cơ sở dữ liệu và người dùng sẽ được sử dụng để quản lý cơ sở dữ liệu Wordpress. Nhập mật khẩu root MySQL trong dấu nhắc và đảm bảo bạn thay thế tên cơ sở dữ liệu, người dùng cơ sở dữ liệu và mật khẩu cho phù hợp.
Mã:
mysql –u root –p
Mã:
[I]create database wordpress;[/I]
Mã:
[I]grant all privileges on wordpress.* to 'wpuser'@'localhost' defined by 'wppassword';[/I]
Mã:
[I]flush privileges;[/I]
Mã:
[I]exit[/I]

Bước 2 – Cài đặt Apache Web Server​

Dịch vụ tiếp theo bạn cần cài đặt để hoàn tất ngăn xếp FAMP là máy chủ Apache HTTP. Kho lưu trữ FreeBSD PORTS đi kèm với hai phiên bản máy chủ web Apache được biên dịch sẵn. Để liệt kê tất cả các phiên bản thời gian chạy Apache, hãy đưa ra một trong các lệnh sau trong terminal.
Mã:
pkg search apache2
Mã:
ls /usr/ports/www/ | grep apache




Đối với thiết lập tùy chỉnh này với Wordpress, chúng tôi sẽ cài đặt phiên bản 2.4 của máy chủ Apache HTTP bằng cách đưa ra lệnh sau.
Mã:
pkg install apache24
Sau khi gói máy chủ web Apache với tất cả các phụ thuộc đã được cài đặt trên hệ thống, hãy đảm bảo bạn bật và khởi động daemon bằng các lệnh sau.
Mã:
sysrc apache24_enable="yes"
Mã:
service apache24 start
Để kiểm tra cấu hình Apache, hãy mở trình duyệt và truy cập trang web mặc định qua giao thức HTTP bằng cách nhập địa chỉ IP của máy chủ hoặc FQDN của hệ thống vào trường URL, như minh họa trong hình ảnh bên dưới. Một thông báo có nội dung "Nó hoạt động!" sẽ được hiển thị trong trình duyệt của bạn.

http://server_IP or_FQDN



Máy chủ HTTP ApacheDocumentRootthư mục nằm trong/usr/local/www/apache24/data/đường dẫn trong FreeBSD 11.x. Chúng tôi sẽ sao chép các tệp cài đặt Wordpress vào vị trí đó sau. Ngoài ra, hãy đảm bảo bạn xóa tệp index.htmlmặc định bằng cách phát hành lệnh sau.
Mã:
rm /usr/local/www/apache24/data/index.html

Bước 3 – Cài đặt PHP​

Tương tự như máy chủ web Apache, FreeBSD 11.x PORTS đi kèm với nhiều phiên bản nhị phân được biên dịch sẵn của ngôn ngữ PHP: bản phát hành PHP 5.6, PHP 7.0 và PHP 7.1. Để hiển thị tất cả các phiên bản PHP, hãy phát hành một trong các lệnh sau.
Mã:
ls /usr/ports/lang/ | grep php
Mã:
pkg search –o php




Trong hướng dẫn tùy chỉnh này, chúng tôi sẽ sử dụng phiên bản PHP 7.1 để cài đặt Wordpress. Thực hiện lệnh bên dưới để cài đặt PHP với tất cả các mô-đun cần thiết để Wordress hoạt động bình thường.
Mã:
pkg install php71 php71-mysqli mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json[B][/b]
Ở bước tiếp theo, sử dụng trình soạn thảo văn bản yêu thích của bạn để tạo một tệp cấu hìnhphp.confmới cho máy chủ web Apache trong thư mục/usr/local/etc/apache24/Includes/và thêm nội dung bên dưới.
Mã:
nano /usr/local/etc/apache24/Includes/php.conf
php.conftrích đoạn tệp:
Mã:
[I]
[/I][I] DirectoryIndex index.php index.html
[/I][I] 
[/I][I] SetHandler application/x-httpd-php
[/I][I] 
[/I][I] 
[/I][I] SetHandler application/x-httpd-php-source
[/I][I] 
[/I][I][/I]


Sau khi hoàn tất việc chỉnh sửa tệp, hãy đảm bảo rằng bạn tạo một tệpphpinfo.phpmới trong đường dẫn webroot mặc định của Apache bằng cách chạy lệnh bên dưới để kiểm tra xem cổng Apache PHP có hoạt động như mong đợi không.
Mã:
echo '' | tee /usr/local/www/apache24/data/phpinfo.php
Cuối cùng, khởi động lại dịch vụ Apache để áp dụng các thay đổi và điều hướng đến URL bên dưới để hiển thị cấu hình phía máy chủ PHP như minh họa trong ảnh chụp màn hình sau.
Mã:
service apache24 restart
http://server_IP-or-FQDN/phpinfo.php



Ngoài ra, bạn có thể muốn tạo tệp cấu hình PHPinicho Apache và thay đổi câu lệnhmúi giờđể phản ánh vị trí địa lý của máy chủ của bạn. Danh sách các múi giờ PHP được hỗ trợ có thể được tìm thấy tại liên kết sau:http://php.net/manual/en/timezones.php

Sao chép tệpphp.ini-productionđể tạo tệp thiết lập mặc định cho PHP. Sau đó, chỉnh sửa tệp php.iniđể thay đổi cấu hình múi giờ PHP.
Mã:
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Mã:
nano /usr/local/etc/php.ini
php.initrích đoạn tệp:
Mã:
[I]date.timezone = Continent/City[/I]


Để áp dụng cài đặt PHP mới, bạn cần khởi động lại dịch vụ Apache. Sau đó, hãy truy cập lại trang web phpinfo.php và cuộn đến ngàycài đặt để xem thay đổi đã được áp dụng thành công hay chưa, như minh họa trong ảnh chụp màn hình bên dưới.
Mã:
service apache24 restart

Bước 4 – Cài đặt WordPress​

Để cài đặt Wordpress trên FAMP trong FreeBSD, trước tiên hãy tải xuống phiên bản mới nhất của tệp tarball lưu trữ cài đặt vào hệ thống của bạn bằng tiện íchwget. Giải nén tệp lưu trữ đã tải xuống và sao chép tất cả các tệp cài đặt Wordpress vào đường dẫn webroot Apache bằng cách thực hiện các lệnh sau.
Mã:
wget https://wordpress.org/latest.tar.gz
Mã:
tar xfz latest.tar.gz
Mã:
cp –rf wordpress/* /usr/local/www/apache24/data/


Tiếp theo, hãy điều chỉnh các quyền thích hợp cho đường dẫn webroot máy chủ của bạn cho tài khoản nhóm thời gian chạy Apache, để cấp cho máy chủ web quyền ghi vào thư mục cài đặt Wordpress.
Mã:
chown -R root:www /usr/local/www/apache24/data/
Mã:
chmod -R 775 /usr/local/www/apache24/data/
Bây giờ, máy chủ web của bạn đã sẵn sàng cho quá trình cài đặt Wordpress. Mở trình duyệt và điều hướng đến địa chỉ IP máy chủ hoặc FQDN của bạn và màn hình cài đặt đầu tiên sẽ xuất hiện. Nhấp vào nút Let’s go! để bắt đầu cài đặt.



Trên màn hình tiếp theo, nhập tên cơ sở dữ liệu MariaDB, tên người dùng và mật khẩu cơ sở dữ liệu Wordpress và máy chủ cơ sở dữ liệu. Vì MariaDB và máy chủ web Apache được cài đặt trên cùng một nút, hãy sử dụng localhost cho máy chủ cơ sở dữ liệu. Để nguyên giá trị mặc định của Tiền tố bảng và nhấp vào nút Gửi để tiếp tục.



Sau khi tệp cấu hình cơ sở dữ liệu được tạo, hãy nhấp vào nút Chạy cài đặt và trên màn hình tiếp theo, hãy thêm tiêu đề cho trang web của bạn, tên người dùng để quản lý trang web và địa chỉ email. Đảm bảo rằng bạn chọn mật khẩu mạnh cho tên người dùng. Ngoài ra, bạn nên tránh sử dụng tên người dùng đơn giản như admin, administrator, root, v.v., vì những tác động về bảo mật. Khi bạn hoàn tất, hãy nhấn nút Cài đặt Wordpress để hoàn tất quá trình cài đặt.





Sau khi Wordpress được cài đặt thành công, hãy đăng nhập vào bảng điều khiển quản trị bằng thông tin đăng nhập đã tạo ở bước trước và bắt đầu quản lý trang web của bạn.





Để cập nhật hoặc cài đặt plugin hoặc chủ đề hoặc tải lên hình ảnh hoặc sửa đổi các khía cạnh khác của Wordpress yêu cầu tải xuống tệp từ internet, hãy thêm dòng sau vào tệp Wordpresswp-config.php bằng cách đưa ra lệnh sau với quyền root.
Mã:
echo "define('FS_METHOD', 'direct');"| tee –a /usr/local/www/apache24/data/wp-config.php
Dòng này đảm bảo rằng Wordpress có thể tải xuống và cài đặt các tệp hoặc bản cập nhật trực tuyến mà không cần chạy máy chủ FTP trên máy chủ.Tuy nhiên, phương pháp này có thể không phải là lựa chọn tốt nhất trong trường hợp Wordpress được cài đặt trêngói lưu trữ dùng chung. Trong ảnh chụp màn hình bên dưới, bản cập nhật cho plugin đã được áp dụng thành công bằng FS_METHODmà không yêu cầu tài khoản ftp.



Cuối cùng, để có thể thay đổi cấu trúc liên kết nội bộ cố định của Wordpress, bạn cần bật viết lạicho máy chủ Apache HTTP.Để bật mô-đun viết lại, trước tiên hãy mở tệp cấu hình chính của Apache và thêm khối mã sau trước <IfModule headers_module>câu lệnh như minh họa trong ảnh chụp màn hình bên dưới.
Mã:
nano /usr/local/etc/apache24/httpd.conf
httpd.conftrích đoạn tệp:
Mã:
[I]
[/I][I] Require all granted 
[/I][I] AllowOverride All
[/I][I][/I]


Sau đó, đóng tệp và bỏ chú thích dòng rewriteLoadModule bằng cách đưa ra lệnh bên dưới để xóa dấu thăng ở trước. Sử dụng bộ lọcgrepđể hiển thị dòng rewriteLoadModule.Cuối cùng, hãy kiểm tra tệp cấu hình Apache để tìm lỗi cú pháp tiềm ẩn và khởi động lại dịch vụ để áp dụng các thay đổi.
Mã:
grep rewrite /usr/local/etc/apache24/httpd.conf
Mã:
sed -i.bak '/rewrite/s/^#//g' /usr/local/etc/apache24/httpd.conf
Mã:
grep rewrite /usr/local/etc/apache24/httpd.conf
Mã:
apachectl -t
Mã:
service apache24 restart


Bây giờ, bạn có thể thay đổi cấu trúc liên kết cố định của Wordpress bằng cách điều hướng đến Bảng điều khiển ->Cài đặt -> Liên kết cố định. Chọn tùy chọn liên kết cố định yêu thích của bạn cho cấu trúc URL từ màn hình tùy chọn và nhấn vào nút Lưu thay đổi để áp dụng các thay đổi. Một tùy chọn tuyệt vời cho SEO là liên kết cố định Tên bài đăng.



Trong trường hợp tùy chọn liên kết cố định không áp dụng, hãy mở và điều tra nội dung của tệp .htaccesstừ đường dẫn gốc web của máy chủ. Nội dung bên dưới sẽ được tự động chèn vào tệp này. Nếu không, hãy cập nhật nội dung bên dưới theo cách thủ công vào tệp .htaccess hoặc kiểm tra quyền của tệp. Tài khoản người dùng hoặc nhóm Apache runtime phải được cấp quyền ghi vào tệp này.
Mã:
Mã:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


Vậy là xong! Bạn đã triển khai thành công một trang web Wordpress trên máy chủ web Apache, cơ sở dữ liệu MariaDB và ngôn ngữ lập trình PHP trong FreeBSD 11.
 
Back
Bên trên