{"id":4018,"date":"2020-02-12T09:25:43","date_gmt":"2020-02-12T02:25:43","guid":{"rendered":"https:\/\/tino.vn\/?post_type=ht_kb&#038;p=4018"},"modified":"2020-02-28T17:23:00","modified_gmt":"2020-02-28T10:23:00","slug":"gioi-thieu-huong-dan-co-ban-ve-cai-dat-va-su-dung-wordops","status":"publish","type":"ht_kb","link":"https:\/\/tino.vn\/blog\/docs\/gioi-thieu-huong-dan-co-ban-ve-cai-dat-va-su-dung-wordops\/","title":{"rendered":"Gi\u1edbi thi\u1ec7u, h\u01b0\u1edbng d\u1eabn c\u01a1 b\u1ea3n v\u1ec1 c\u00e0i \u0111\u1eb7t v\u00e0 s\u1eed d\u1ee5ng WordOps"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/1YklWfbNblU\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>WordOps l\u00e0 m\u1ed9t b\u1ea3n fork c\u1ee7a EasyEngine v3. m\u1ed9t phi\u00ean b\u1ea3n n\u00e2ng c\u1ea5p h\u01a1n v\u00e0 ho\u1ea1t \u0111\u1ed9ng r\u1ea5t tuy\u1ec7t v\u1eddi. Kh\u00f4ng ch\u1ec9 n\u00e2ng c\u1ea5p c\u00e1c g\u00f3i PHP l\u00ean 7.2, 7.3 v\u00e0 Nginx 1.16 m\u1edbi nh\u1ea5t h\u1ed7 tr\u1ee3 Brotli, WebP. WordOps c\u00f2n ti\u1ebfn h\u00e0nh t\u1ed1i \u01b0u PHP-FPM s\u1eed d\u1ee5ng Unix socket gi\u00fap trang c\u00f3 th\u1eddi gian ph\u1ea3n h\u1ed3i nhanh h\u01a1n .<\/p>\n<p>N\u1ebfu b\u1ea1n s\u1eed d\u1ee5ng Ubuntu\/Fedora (<em>requires Ubuntu Server 16.04\/18.04\/19.04 or Debian 8\/9\/10<\/em>)\u00a0 .WordOps l\u00e0 m\u1ed9t s\u1ef1 l\u1ef1a ch\u1ecdn t\u1ed1t cho b\u1ea1n \u0111\u1ec3 c\u00e0i \u0111\u1eb7t c\u00e1c webservice c\u0169ng nh\u01b0 qu\u1ea3n l\u00fd c\u00e1c website c\u1ee7a m\u00ecnh ti\u1ec7n d\u1ee5ng.<\/p>\n<h3 id=\"M\u1ed9t_s\u1ed1_t\u00ednh_n\u0103ng_ti\u00eau_bi\u1ec3u_c\u1ee7a_WordOps_c\u00f3_th\u1ec3_k\u1ec3_t\u1edbi_nh\u01b0_:\">M\u1ed9t s\u1ed1 t\u00ednh n\u0103ng ti\u00eau bi\u1ec3u c\u1ee7a WordOps c\u00f3 th\u1ec3 k\u1ec3 t\u1edbi nh\u01b0 :<\/h3>\n<ul>\n<li>D\u1ec5 d\u00e0ng c\u00e0i \u0111\u1eb7t: Tr\u00ecnh c\u00e0i \u0111\u1eb7t t\u1ef1 \u0111\u1ed9ng v\u1edbi ch\u1ec9 m\u1ed9t l\u1ec7nh .<\/li>\n<li>Tri\u1ec3n khai nhanh: C\u00e0i \u0111\u1eb7t WordPress, Nginx, PHP, MySQL &amp; Redis nhanh v\u00e0 t\u1ef1 \u0111\u1ed9ng<\/li>\n<li>B\u1ea3n d\u1ef1ng Nginx t\u00f9y ch\u1ec9nh: Nginx 1.16.1 &#8211; H\u1ed7 tr\u1ee3 TLS v1.3 Cloudflare HTTP \/ 2 HPACK &amp; Brotli<\/li>\n<li>C\u1eadp nh\u1eadt: PHP 7.2, 7.3 &amp; 7.4, MariaDB 10.3 &amp; Redis 5.0<\/li>\n<li>B\u1ea3o m\u1eadt: B\u1ea3o m\u1eadt WordPress v\u1edbi Nginx location directives<\/li>\n<li>M\u1ea1nh m\u1ebd: C\u1ea5u h\u00ecnh Nginx \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a v\u1edbi nhi\u1ec1u b\u1ed9 \u0111\u1ec7m.<\/li>\n<li>SSL: T\u00ean mi\u1ec1n, t\u00ean mi\u1ec1n ph\u1ee5 v\u00e0 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n H\u00e3y m\u00e3 h\u00f3a ch\u1ee9ng ch\u1ec9 SSL b\u1eb1ng API DNS<\/li>\n<li>Hi\u1ec7n \u0111\u1ea1i: SSL \/ TLS \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt v\u1edbi ciphers_suite m\u1ea1nh m\u1ebd, giao th\u1ee9c TLS hi\u1ec7n \u0111\u1ea1i v\u00e0 h\u1ed7 tr\u1ee3 HSTS<\/li>\n<li>Gi\u00e1m s\u00e1t: L\u01b0u l\u01b0\u1ee3ng Vhost Nginxtr\u1ef1c ti\u1ebfp v\u1edbi ngx_vts_module v\u00e0 gi\u00e1m s\u00e1t m\u00e1y ch\u1ee7 v\u1edbi Netdata<\/li>\n<li>Th\u00e2n thi\u1ec7n v\u1edbi ng\u01b0\u1eddi d\u00f9ng: B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n WordOps v\u1edbi c\u00e1c c\u00f4ng c\u1ee5 \/ gi\u00e1m s\u00e1t tr\u1ea1ng th\u00e1i m\u00e1y ch\u1ee7<\/li>\n<\/ul>\n<h2 id=\"B\u01b0\u1edbc_1_&#8211;_C\u00e0i_\u0111\u1eb7t_WordOps\">B\u01b0\u1edbc 1 &#8211; C\u00e0i \u0111\u1eb7t WordOps<\/h2>\n<p>H\u1ec7 \u0111i\u1ec1u h\u00e0nh h\u1ed7 tr\u1ee3 :<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Ubuntu<\/strong><\/td>\n<td>18.04 LTS (bionic)<\/td>\n<td>x86_64<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>16.04 LTS (xenial)<\/td>\n<td>x86_64<\/td>\n<\/tr>\n<tr>\n<td><strong>Debian<\/strong><\/td>\n<td>9 (stretch)<\/td>\n<td>x86_64<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>10 (buster)<\/td>\n<td>x86_64<\/td>\n<\/tr>\n<tr>\n<td><strong>Raspbian<\/strong><\/td>\n<td>9 (stretch)<\/td>\n<td>armv7l<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>10 (buster)<\/td>\n<td>armv7l<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>M\u1eb7c d\u00f9 WordOps ch\u1ec9 n\u1eb7ng kho\u1ea3ng 100MB v\u00e0 ch\u1ec9 c\u1ea7n kho\u1ea3ng 512MB RAM, Tuy nhi\u00eau t\u00f4i khuy\u00ean b\u1ea1n n\u00ean d\u00f9ng m\u1ed9t VPS c\u00f3 c\u1ea5u h\u00ecnh t\u1ed1i thi\u1ec3u nh\u01b0 sau :<\/p>\n<ul>\n<li>20GB SSD storage<\/li>\n<li>2GB RAM<\/li>\n<\/ul>\n<p>C\u00e1c h\u1ec7 \u1ea3o ho\u00e1 VPS h\u1ed7 tr\u1ee3 :<\/p>\n<ul>\n<li>VMware<\/li>\n<li>XEN<\/li>\n<li>OpenVZ<\/li>\n<li>KVM<\/li>\n<li>Hyper-V<\/li>\n<li>LXC \/ LXD<\/li>\n<\/ul>\n<p>C\u00e1c port c\u1ea7n \u0111\u01b0\u1ee3c m\u1edf tr\u00ean VPS:<\/p>\n<table>\n<thead>\n<tr>\n<th>Service<\/th>\n<th>Port<\/th>\n<th>Inbound<\/th>\n<th>Outbound<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>SSH<\/td>\n<td>22<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>Port m\u1eb7c \u0111\u1ecbnh truy c\u1eadp SSH v\u00e0 c\u00e0i \u0111\u1eb7t .<\/td>\n<\/tr>\n<tr>\n<td>HTTP<\/td>\n<td>80<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>Nginx listen on port 80<\/td>\n<\/tr>\n<tr>\n<td>HTTPS<\/td>\n<td>443<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>Nginx listen on port 443<\/td>\n<\/tr>\n<tr>\n<td>WordOps Backend<\/td>\n<td>22222<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>WordOps backend ho\u1ea1t \u0111\u1ed9ng tr\u00ean port n\u00e0y.<\/td>\n<\/tr>\n<tr>\n<td>GnuPG<\/td>\n<td>1137<\/td>\n<td><\/td>\n<td>\u2713<\/td>\n<td>C\u1ea7n \u0111\u1ec3\u00a0 import\u00a0 c\u00e1c APT repositories GPG keys.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2 id=\"One-Step_Automated_Install\">One-Step Automated Install<\/h2>\n<p>N\u1ebfu b\u1ea1n kh\u00f4ng r\u00e0nh v\u1ec1 qu\u1ea3n l\u00fd, s\u1eed d\u1ee5ng l\u1ec7nh hay tu\u1ef3 bi\u1ebfn c\u1ea5u h\u00ecnh, Sau khi ssh v\u00e0o VPS b\u1ea1n c\u00e0i \u0111\u1eb7t b\u1eb1ng m\u1ed9t l\u1ec7nh duy nh\u1ea5t nh\u01b0 sau:<\/p>\n<pre>wget -qO wo wops.cc <span class=\"o\">&amp;&amp;<\/span> sudo bash wo<\/pre>\n<p>Ho\u1eb7c c\u00e0i \u0111\u1eb7t t\u1eeb git nh\u01b0 sau :<\/p>\n<pre>git clone https:\/\/github.com\/WordOps\/WordOps.git\r\n<span class=\"nb\">cd<\/span> WordOps\/\r\nsudo bash install<\/pre>\n<p>Nh\u01b0 v\u1eady b\u1ea1n \u0111\u00e3 c\u00e0i \u0111\u1eb7t ho\u00e0n t\u1ea5t.<\/p>\n<h2 id=\"Manual_Installation\">Manual Installation<\/h2>\n<p>N\u1ebfu b\u1ea1n l\u00e0 m\u1ed9t ng\u01b0\u1eddi th\u00edch t\u1ef1 tu\u1ef3 bi\u1ebfn v\u00e0 c\u00e0i \u0111\u1eb7t m\u1ecdi th\u1ee9, b\u1ea1n c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t t\u1eebng b\u01b0\u1edbc theo h\u01b0\u1edbng d\u1eabn sau, \u0111\u1ec3 hi\u1ec3u h\u01a1n v\u1ec1 c\u00e1c thi\u1ebft l\u1eadp WordOps v\u00e0 c\u00e0i \u0111\u1eb7t.<\/p>\n<h3 id=\"C\u00e0i_WordOps_dependencies\">C\u00e0i WordOps dependencies<\/h3>\n<pre><span class=\"c1\"># update packages list<\/span>\r\napt-get update\r\n\r\n<span class=\"c1\"># On Ubuntu<\/span>\r\napt-get -option<span class=\"o\">=<\/span>Dpkg::options::<span class=\"o\">=<\/span>--force-confmiss --option<span class=\"o\">=<\/span>Dpkg::options::<span class=\"o\">=<\/span>--force-confold --assume-yes install <span class=\"se\">\\<\/span>\r\nbuild-essential curl gzip python3-pip python3-wheel python3-apt python3-setuptools python3-dev sqlite3 git tar software-properties-common pigz <span class=\"se\">\\<\/span>\r\ngnupg2 cron ccze rsync apt-transport-https tree haveged ufw unattended-upgrades tzdata ntp\r\n\r\n<span class=\"c1\"># On Debian<\/span>\r\napt-get -option<span class=\"o\">=<\/span>Dpkg::options::<span class=\"o\">=<\/span>--force-confmiss --option<span class=\"o\">=<\/span>Dpkg::options::<span class=\"o\">=<\/span>--force-confold --assume-yes install <span class=\"se\">\\<\/span>\r\nbuild-essential curl gzip dirmngr sudo python3-pip python3-wheel python3-apt python3-setuptools python3-dev ca-certificates sqlite3 git tar <span class=\"se\">\\<\/span>\r\nsoftware-properties-common pigz apt-transport-https gnupg2 cron ccze rsync tree haveged ufw unattended-upgrades tzdata ntp<\/pre>\n<h3 id=\"\u00a0T\u1ea1o_Th\u01b0_m\u1ee5c_ch\u1ee9a_file_thi\u1ebft_l\u1eadp_WordOps\">\u00a0T\u1ea1o Th\u01b0 m\u1ee5c ch\u1ee9a file thi\u1ebft l\u1eadp WordOps<\/h3>\n<pre>mkdir -p \/var\/log\/wo \/var\/lib\/wo\/tmp \/var\/lib\/wo-backup<\/pre>\n<h3 id=\"Update_PIP\">Update PIP<\/h3>\n<pre>python3 -m pip install -U pip\r\npython3 -m pip install -U setuptools wheel<\/pre>\n<h3 id=\"C\u00e0i_WordOps\">C\u00e0i WordOps<\/h3>\n<pre><span class=\"c1\"># install wordops from PyPi<\/span>\r\npython3 -m pip install -U wordops\r\n\r\n<span class=\"c1\"># copy configuration<\/span>\r\ncp -rf \/usr\/local\/lib\/python3.*\/dist-packages\/usr\/* \/usr\/\r\ncp -rn \/usr\/local\/lib\/python3.*\/dist-packages\/etc\/* \/etc\/\r\ncp -f \/usr\/local\/lib\/python3.*\/dist-packages\/etc\/bash_completion.d\/wo_auto.rc \/etc\/bash_completion.d\/wo_auto.rc\r\n\r\n<\/pre>\n<h3 id=\"C\u00e0i_\u0111\u1eb7t_acme.sh_\u0111\u1ec3_thi\u1ebft_l\u1eadp_SSL\">C\u00e0i \u0111\u1eb7t acme.sh \u0111\u1ec3 thi\u1ebft l\u1eadp SSL<\/h3>\n<pre><span class=\"c1\"># clone the repository<\/span>\r\ngit clone https:\/\/github.com\/Neilpang\/acme.sh.git \/opt\/acme.sh -q\r\n\r\n<span class=\"c1\"># create conf directory<\/span>\r\nmkdir -p \/etc\/letsencrypt\/<span class=\"o\">{<\/span>config,live,renewal<span class=\"o\">}<\/span>\r\n\r\n<span class=\"c1\"># install acme.sh<\/span>\r\n<span class=\"nb\">cd<\/span> \/opt\/acme.sh\r\n.\/acme.sh --install <span class=\"se\">\\<\/span>\r\n            --home \/etc\/letsencrypt <span class=\"se\">\\<\/span>\r\n            --config-home \/etc\/letsencrypt\/config <span class=\"se\">\\<\/span>\r\n            --cert-home \/etc\/letsencrypt\/renewal\r\n\r\n<span class=\"c1\"># enable auto-upgrade<\/span>\r\n\/etc\/letsencrypt\/acme.sh --config-home <span class=\"s1\">'\/etc\/letsencrypt\/config'<\/span> --upgrade --auto-upgrade\r\n\r\n<span class=\"c1\"># create .well-known directory<\/span>\r\nmkdir -p \/var\/www\/html\/.well-known\/acme-challenge\r\n\r\n<span class=\"c1\"># set www-data as owner<\/span>\r\nchown -R www-data:www-data \/var\/www\/html \/var\/www\/html\/.well-known\r\n\r\n<span class=\"c1\"># set permissions<\/span>\r\nchmod <span class=\"m\">750<\/span> \/var\/www\/html \/var\/www\/html\/.well-known<\/pre>\n<h3 id=\"C\u00e0i_\u0111\u1eb7t_WP-CLI_&#8211;_Tr\u00ecnh_d\u00f2ng_l\u1ec7nh_\u0111\u1ec3_t\u01b0\u01a1ng_t\u00e1c_tr\u1ef1c_ti\u1ebfp_v\u1edbi_wordpress_.\">C\u00e0i \u0111\u1eb7t WP-CLI &#8211; Tr\u00ecnh d\u00f2ng l\u1ec7nh \u0111\u1ec3 t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi wordpress .<\/h3>\n<pre>wget -qO \/usr\/local\/bin\/wp https:\/\/raw.githubusercontent.com\/wp-cli\/builds\/gh-pages\/phar\/wp-cli.phar\r\nchmod +x \/usr\/local\/bin\/wp<\/pre>\n<h3 id=\"K\u00edch_ho\u1ea1t_t\u00ednh_n\u0103ng_bash_completion\">K\u00edch ho\u1ea1t t\u00ednh n\u0103ng bash_completion<\/h3>\n<p><code>source \/etc\/bash_completion.d\/wo_auto.rc<\/code><\/p>\n<h3 id=\"C\u00e0i_\u0111\u1eb7t_c\u00e1c_stacks_cho_WordOps\">C\u00e0i \u0111\u1eb7t c\u00e1c stacks cho WordOps<\/h3>\n<p><code>wo stack install<\/code><\/p>\n<p>C\u00e1c th\u00e0nh ph\u1ea7n \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t bao g\u1ed3m:<\/p>\n<table>\n<tbody>\n<tr>\n<td>Nginx<\/td>\n<td>APT package<\/td>\n<td>WordOps web server<\/td>\n<\/tr>\n<tr>\n<td>PHP 7.2<\/td>\n<td>APT package<\/td>\n<td>PHP7.2-FPM<\/td>\n<\/tr>\n<tr>\n<td>MariaDB 10.3<\/td>\n<td>APT package<\/td>\n<td>Open-source version of MySQL<\/td>\n<\/tr>\n<tr>\n<td>WP-CLI<\/td>\n<td>Binary<\/td>\n<td>The WordPress command-line tool<\/td>\n<\/tr>\n<tr>\n<td>Composer<\/td>\n<td>Binary<\/td>\n<td>PHP packages manager<\/td>\n<\/tr>\n<tr>\n<td>MySQLTuner<\/td>\n<td>Binary<\/td>\n<td>Command-line tool to tune MySQL<\/td>\n<\/tr>\n<tr>\n<td>Fail2ban<\/td>\n<td>APT package<\/td>\n<td>Authentication bruteforce protection<\/td>\n<\/tr>\n<tr>\n<td>phpMyAdmin<\/td>\n<td>Web App<\/td>\n<td>MySQL server web interface<\/td>\n<\/tr>\n<tr>\n<td>Adminer<\/td>\n<td>Web App<\/td>\n<td>lightweight phpMyAdmin alternative<\/td>\n<\/tr>\n<tr>\n<td>OpcacheGUI<\/td>\n<td>Web App<\/td>\n<td>web interface for Opcache monitoring<\/td>\n<\/tr>\n<tr>\n<td>Netdata<\/td>\n<td>Binary<\/td>\n<td>Monitoring suite<\/td>\n<\/tr>\n<tr>\n<td>Anemometer<\/td>\n<td>Web App<\/td>\n<td>MySQL Slow Query Monitor<\/td>\n<\/tr>\n<tr>\n<td>WordOps dashboard<\/td>\n<td>Web App<\/td>\n<td>Bootstrap template for WordOps backend<\/td>\n<\/tr>\n<tr>\n<td>eXtplorer<\/td>\n<td>Web App<\/td>\n<td>Web File manager<\/td>\n<\/tr>\n<tr>\n<td>cheat.sh<\/td>\n<td>Binary<\/td>\n<td>Command-line Linux cheatsheet<\/td>\n<\/tr>\n<tr>\n<td>Sendmail<\/td>\n<td>APT package<\/td>\n<td>Sendmail MTA<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"WordOps_backend\">WordOps backend<\/h2>\n<p>Sau khi c\u00e0i \u0111\u1eb7t ho\u00e0n t\u1ea5t, b\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c link truy c\u1eadp v\u00e0o backend , b\u1ea1n c\u00f3 th\u1ec3 l\u1ea5y l\u1ea1i m\u00e3 x\u00e1c th\u1ef1c backend n\u00e0y b\u1eb1ng c\u00fa ph\u00e1p:<\/p>\n<pre>wo secure --auth<\/pre>\n<p>Sau \u0111\u00f3 b\u1ea1n nh\u1eadp t\u00ean user v\u00e0 password b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng, Link truy c\u1eadp c\u1ee7a b\u1ea1n s\u1ebd c\u00f3 d\u1ea1ng:<\/p>\n<p>https:\/\/IP_VPS:22222<\/p>\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n link qu\u1ea3n l\u00fd backend c\u1ee7a m\u00ecnh theo d\u1ea1ng t\u00ean domain, b\u1ea1n c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t b\u1eb1ng l\u1ec7nh sau (Trong \u0111\u00f3 server.domain.tld l\u00e0 hostname c\u1ee7a b\u1ea1n ):<\/p>\n<pre>wo site create server.domain.tld -le<\/pre>\n<h2 id=\"K\u00edch_ho\u1ea1t_UFW_Firewall\">K\u00edch ho\u1ea1t UFW Firewall<\/h2>\n<p>N\u1ebfu b\u1ea1n ch\u01b0a c\u00e0i \u0111\u1eb7t firewall n\u00e0o l\u00ean server c\u1ee7a m\u00ecnh, b\u1ea1n c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t ufw c\u1ee7a WordOps, b\u1ea3n n\u00e0y s\u1ebd bao g\u1ed3m m\u1ed9t s\u1ed1 rule \u0111\u01b0\u1ee3c ufw tu\u1ef3 ch\u1ec9nh.<\/p>\n<pre>wo stack install --ufw<\/pre>\n<p>Nh\u01b0 v\u1eady qua b\u00e0i vi\u1ebft c\u00e1c b\u1ea1n\u00a0 \u0111\u00e3 c\u00e0i \u0111\u1eb7t ho\u00e0n t\u1ea5t WordOps l\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh Ubuntu\/Fedora ho\u00e0n t\u1ea5t.<\/p>\n<p>Ph\u1ea7n ti\u1ebfp theo t\u00f4i s\u1ebd h\u01b0\u1edbng d\u1eabn chi ti\u1ebft cho c\u00e1c b\u1ea1n c\u00e1ch :<\/p>\n<ul>\n<li>Th\u00eam website v\u00e0o qu\u1ea3n l\u00fd<\/li>\n<li>C\u00e1c l\u1ec7nh v\u00e0 thao t\u00e1c s\u1eed d\u1ee5ng qu\u1ea3n l\u00fd WordOps<\/li>\n<li>C\u00e0i \u0111\u1eb7t SSL v\u00e0 m\u1ed9t s\u1ed1 l\u01b0u \u00fd kh\u00e1c.<\/li>\n<\/ul>\n<p>Ch\u00fac c\u00e1c b\u1ea1n th\u00e0nh c\u00f4ng.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordOps l\u00e0 m\u1ed9t b\u1ea3n fork c\u1ee7a EasyEngine v3. m\u1ed9t phi\u00ean b\u1ea3n n\u00e2ng c\u1ea5p h\u01a1n v\u00e0 ho\u1ea1t \u0111\u1ed9ng r\u1ea5t tuy\u1ec7t v\u1eddi. Kh\u00f4ng ch\u1ec9 n\u00e2ng c\u1ea5p c\u00e1c g\u00f3i PHP l\u00ean 7.2, 7.3 v\u00e0 Nginx 1.16 m\u1edbi nh\u1ea5t h\u1ed7 tr\u1ee3 Brotli, WebP. WordOps c\u00f2n ti\u1ebfn h\u00e0nh t\u1ed1i \u01b0u PHP-FPM s\u1eed d\u1ee5ng Unix socket gi\u00fap trang c\u00f3 th\u1eddi gian [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":16424,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"tags":[],"ht_kb_category":[5159],"class_list":["post-4018","ht_kb","type-ht_kb","status-publish","format-standard","has-post-thumbnail","hentry","ht_kb_category-wordops"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/4018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=4018"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/4018\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/16424"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=4018"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=4018"},{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb_category?post=4018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}