{"id":119,"date":"2023-09-10T05:42:59","date_gmt":"2023-09-09T21:42:59","guid":{"rendered":"https:\/\/techblog.hxdy2013.com\/?p=119"},"modified":"2023-09-17T18:16:09","modified_gmt":"2023-09-17T10:16:09","slug":"fnmp-on-freebsd-13-2","status":"publish","type":"post","link":"https:\/\/techblog.hxdy2013.com\/?p=119","title":{"rendered":"FNMP on FreeBSD 13.2"},"content":{"rendered":"<div class=\"wp-block-post-date\"><time datetime=\"2023-09-10T05:42:59+08:00\">2023-09-10<\/time><\/div>\n\n\n<p class=\"wp-block-paragraph\">FNMP\u662fFreeBSD+Nginx+MariaDB\/MySQL+PHP\u73af\u5883\u7684\u7f29\u5199\uff0c\u6309\u7167\u53d1\u97f3\uff0c\u4e5f\u5199\u4f5cFEMP\u73af\u5883\u3002\u672c\u6587\u8bb2\u8ff0\u5982\u4f55\u5728FreeBSD 13.2\u4e2d\u5b89\u88c5\u548c\u914d\u7f6eNginx+MariaDB\/MySQL+PHP\u3002<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u786c\u4ef6\u73af\u5883<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lenovo ThinkPad T14 Gen2 20W1S3H811: Intel i5-1145G7 + DDR4 16GB + NVMe 512GB<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u8f6f\u4ef6\u73af\u5883<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Win11 x64 Build 22621.2134 \u82f1\u6587\u4e13\u4e1a\u7248 + VirtualBox v7.0.8 r156879<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">VirtualBox\u5b89\u88c5FreeBSD 13.2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9ed8\u8ba4\u5b89\u88c5\u5373\u53ef<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">FreeBSD 13.2\u51c6\u5907\u5de5\u4f5c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5141\u8bb8root\u7528\u6237\u901a\u8fc7ssh\u8fdc\u7a0b\u767b\u5f55<\/strong><br>\u7f16\u8f91\/etc\/rc.conf\u6587\u4ef6\u542f\u7528sshd\u670d\u52a1<mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>vi \/etc\/rc.conf<\/code><\/mark>\uff0c\u5982\u679c\u6ca1\u6709\u5c31\u52a0\u5165\u4e00\u884c<mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>sshd_enable= \"YES\"<\/code><\/mark><br>FreeBSD\u9ed8\u8ba4\u4e0d\u5141\u8bb8root\u8d26\u53f7\u4ee5ssh\u8fdc\u7a0b\u767b\u5f55\uff0c\u7f16\u8f91sshd\u914d\u7f6e\u6587\u4ef6\u4ee5\u5141\u8bb8<mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>vi \/etc\/ssh\/sshd_config<\/code><\/mark>\uff0c\u627e\u5230<mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>#PermitRootLogin no<\/code><\/mark><\/mark>\u6539\u6210<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>PermitRootLogin yes<\/code><\/mark><\/mark><br>\u91cd\u542fssh\u670d\u52a1<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>service sshd restart<\/code><\/mark><\/mark><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>FreeBSD\u4ed3\u5e93\u6362\u56fd\u5185\u6e90<\/strong><br>FreeBSD\u67094\u7c7b\u6e90\uff1apkg\u3001ports\u3001portsnap\u3001update\u3002\u5bf9\u4e8e\u5931\u53bb\u5b89\u5168\u652f\u6301\u7684\u7248\u672c\uff0c\u5982 FreeBSD 9.0 \u662f\u6ca1\u6709 pkg \u6e90\u53ef\u7528\u7684\uff0c\u53ea\u80fd\u4f7f\u7528\u5f53\u65f6\u7684 ports \u7f16\u8bd1\u5b89\u88c5\u8f6f\u4ef6\u3002<br>FreeBSD\u7684\u4ed3\u5e93\u9ed8\u8ba4\u6e90\u5728\u56fd\u5916\uff0c\u4ece\u56fd\u5185\u8bbf\u95ee\u901f\u5ea6\u5f88\u6162\u3002\u4e3a\u65b9\u4fbf\u4f7f\u7528\uff0c\u6709\u5fc5\u8981\u4e3aFreeBSD\u4ed3\u5e93\u6362\u56fd\u5185\u6e90\u3002\u5e38\u7528\u7684\u6709\u5317\u4eac\u4ea4\u5927\u6e90\u3001\u4e2d\u79d1\u5927\u6e90\u3001\u5357\u4eac\u5927\u5b66\u6e90\u3001\u7f51\u6613163\u6e90\u3001China FreeBSD\u6e90\u7b49\u3002\u76ee\u524d\u5883\u5185\u6ca1\u6709\u5b98\u65b9\u955c\u50cf\u7ad9\uff0c\u8fd9\u4e9b\u5747\u975e\u5b98\u65b9\u955c\u50cf\u7ad9\u3002<br>\u6709\u4e9b\u56fd\u5916pkg\u6e90\u901f\u5ea6\u8fd8\u884c\uff0c\u5b98\u7f51 https:\/\/pkg.freebsd.org\/ \u53ef\u4ee5\u67e5\u770b\u6e90\u6e05\u5355\u3002<br>\u4e0b\u6587\u4ec5\u4ecb\u7ecd\u6700\u5e38\u7528\u7684pkg\u6362\u6e90\u65b9\u6cd5\u3002\u5bf9\u4e8e\u4e00\u4e2a\u6e90\u5217\u51fa\u591a\u4e2a\u955c\u50cf\u7ad9\uff0c\u65e0\u9700\u5168\u90e8\u914d\u7f6e\uff0c\u53ea\u9700\u9009\u62e9\u5176\u4e00\u5373\u53ef\u3002<br>pkg\u6e90\u63d0\u4f9b\u4e8c\u8fdb\u5236\u5b89\u88c5\u5305\u3002pkg\u4e0b\u8f7d\u8def\u5f84\u662f\/var\/cache\/pkg\/\u3002FreeBSD\u4e2dpkg\u6e90\u5206\u4e3a\u7cfb\u7edf\u7ea7\u548c\u7528\u6237\u7ea7\u4e24\u4e2a\u6e90\uff0c\u4e0d\u5efa\u8bae\u76f4\u63a5\u4fee\u6539\/etc\/pkg\/FreeBSD.conf\uff0c\u56e0\u4e3a\u8be5\u6587\u4ef6\u4f1a\u968f\u7740\u57fa\u672c\u7cfb\u7edf\u7684\u66f4\u65b0\u800c\u53d1\u751f\u6539\u53d8\u3002<br>\u521b\u5efa\u7528\u6237\u7ea7\u6e90\u76ee\u5f55<mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>mkdir -p \/usr\/local\/etc\/pkg\/repos<\/code><\/mark><br>\u521b\u5efa\u7528\u6237\u7ea7\u6e90\u6587\u4ef6<mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>vi \/usr\/local\/etc\/pkg\/repos\/cn.conf<\/code><\/mark>\uff0c\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a<br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>cn: {<br>  # \u5317\u4eac\u4ea4\u901a\u5927\u5b66\u81ea\u7531\u4e0e\u5f00\u6e90\u8f6f\u4ef6\u955c\u50cf\u7ad9bjtu<br>  # url: \"pkg+https:\/\/mirror.bjtu.edu.cn\/reverse\/freebsd-pkg\/${ABI}\/quarterly\",<br>  # url: \"pkg+https:\/\/freebsd-pkg.mirror.bjtulug.org\/${ABI}\/quarterly\",<br>  # \u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66\u5f00\u6e90\u8f6f\u4ef6\u955c\u50cf\u7ad9ustc<br>  url: \"pkg+https:\/\/mirrors.ustc.edu.cn\/freebsd-pkg\/${ABI}\/quarterly\",<br>  # \u5357\u4eac\u5927\u5b66\u5f00\u6e90\u955c\u50cf\u7ad9nju<br>  # url: \"pkg+https:\/\/mirrors.nju.edu.cn\/freebsd-pkg\/${ABI}\/quarterly\",<br>  # \u7f51\u6613\u5f00\u6e90\u955c\u50cf\u7ad9163<br>  # url: \"pkg+https:\/\/mirrors.163.com\/freebsd-pkg\/${ABI}\/quarterly\",<br>  # China FreeBSD\u955c\u50cf\u7ad9<br>  # url: \"pkg+https:\/\/pkg1.chinafreebsd.cn\/${ABI}\/latest\",<br>  # url: \"pkg+https:\/\/pkg.freebsd.cn\/${ABI}\/quarterly\",<br>  # \u53f0\u6e7e\u6e90<br>  # url: \"pkg+https:\/\/pkg0.twn.freebsd.org\/${ABI}\/latest\",<br>  mirror_type: \"srv\",<br>  signature_type: \"none\",<br>  fingerprints: \"\/usr\/share\/keys\/pkg\",<br>  enabled: yes<br>}<\/code><\/mark><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u68c0\u67e5FreeBSD\u66f4\u65b0<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">freebsd-update fetch<\/mark><br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">freebsd-update install<\/mark><br><\/code>\u56fd\u5185\u8bbf\u95ee\u901f\u5ea6\u5f88\u6162\uff0c\u53ef\u80fd\u8981\u591a\u8bd5\u51e0\u6b21\u624d\u884c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u66f4\u65b0pkg\u5305\u7ba1\u7406\u8f6f\u4ef6\u672c\u8eab<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">The package management tool is not yet installed on your system.<br>Do you want to fetch and install it now? [y\/N]: <\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">y<\/mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><br>Bootstrapping pkg from pkg+https:\/\/mirrors.ustc.edu.cn\/freebsd-pkg\/FreeBSD:13:amd64\/quarterly, please wait\u2026<br>Installing pkg-1.19.2\u2026<br>Extracting pkg-1.19.2: 100%<br>pkg: not enough arguments<br>Usage: pkg [-v] [-d] [-l] [-N] [-j |-c |-r ] [-C ] [-R ] [-o var=value] [-4|-6] &lt;command> [&lt;args>]<br>For more information on available commands and options see 'pkg help'.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u66f4\u65b0\u7a0b\u5e8f\u5305\u4ed3\u5e93\u76ee\u5f55<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg update<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>Fetching meta.conf: 100% 163 B 0.2kB\/s 00:01<br>Fetching packagesite.pkg: 100% 7 MiB 1.8MB\/s 00:04<br>Processing entries: 100%<br>cn repository update completed. 33869 packages processed.<br>All repositories are up to date.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u66f4\u65b0\u7a0b\u5e8f\u5305<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg upgrade<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>pkg: https:\/\/pkgmir.geo.freebsd.org\/FreeBSD:13:amd64\/quarterly\/packagesite.pkg: No address record<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>cn repository is up to date.<br>All repositories are up to date.<br>Updating database digests format: 100%<br>Checking for upgrades (1 candidates): 100%<br>Processing candidates (1 candidates): 100%<br>Checking integrity\u2026 done (0 conflicting)<br>Your packages are up to date.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770bFreeBSD\u7248\u672c<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">uname -a<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">FreeBSD VM-FreeBSD132 13.2-RELEASE FreeBSD 13.2-RELEASE releng\/13.2-n254617-525ecfdad597 GENERIC amd64<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b89\u88c5Screen<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg search screen<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">...<br>screen-4.9.0_6 Multi-screen window manager<br>...<br><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg install -y screen-4.9.0_6<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>pkg: https:\/\/pkgmir.geo.freebsd.org\/FreeBSD:13:amd64\/quarterly\/packagesite.pkg: No address record<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>cn repository is up to date.<br>All repositories are up to date.<br>The following 2 package(s) will be affected (of 0 checked):<br>New packages to be INSTALLED:<br>        indexinfo: 0.3.1 [cn]<br>        screen: 4.9.0_6 [cn]<br>Number of packages to be installed: 2<br>The process will require 1 MiB more space.<br>490 KiB to be downloaded.<br>[1\/2] Fetching indexinfo-0.3.1.pkg: 100% 6 KiB 5.7kB\/s 00:01<br>[2\/2] Fetching screen-4.9.0_6.pkg: 100% 485 KiB 496.6kB\/s 00:01<br>Checking integrity\u2026 done (0 conflicting)<br>[1\/2] Installing indexinfo-0.3.1\u2026<br>[1\/2] Extracting indexinfo-0.3.1: 100%<br>[2\/2] Installing screen-4.9.0_6\u2026<br>[2\/2] Extracting screen-4.9.0_6: 100%<br>=====<br>Message from screen-4.9.0_6:<br>--<br>As of GNU Screen 4.4.0:<br>Note that there was fix to screen message structure field<br>responsible for $TERM handling, making it impossible<br>to attach to older versions.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770bScreen\u7248\u672c<\/strong><br><code><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">screen -v<\/mark><\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Screen version 4.09.00 (GNU) 30-Jan-22<\/mark><\/code><\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u5b89\u88c5Nginx<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b89\u88c5Nginx<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg search nginx<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">nginx-1.24.0_6,3 Robust and small WWW server<\/mark><br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg install -y nginx-1.24.0_6,3<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">...<br>[1\/2] Fetching nginx-1.24.0_6,3.pkg: 100% 463 KiB 473.9kB\/s 00:01<br>[2\/2] Fetching pcre2-10.42.pkg: 100% 1 MiB 1.4MB\/s 00:01<br>Checking integrity\u2026 done (0 conflicting)<br>[1\/2] Installing pcre2-10.42\u2026<br>[1\/2] Extracting pcre2-10.42: 100%<br>[2\/2] Installing nginx-1.24.0_6,3\u2026<br>===> Creating groups.<br>Using existing group 'www'.<br>===> Creating users<br>Using existing user 'www'.<br>[2\/2] Extracting nginx-1.24.0_6,3: 100%<br>=====<br>Message from nginx-1.24.0_6,3:<br>...<br>Default path for the NGINX dynamic modules is<br>\/usr\/local\/libexec\/nginx.<\/mark><\/code><br>\u53ef\u4ee5\u770b\u5230\uff0c\u4e0eLinux\u4f7f\u7528www-data\u8d26\u6237\u548c\u7ec4\u4e0d\u540c\uff0cFreeBSD\u9ed8\u8ba4\u4f7f\u7528www\u8d26\u6237\u548c\u7ec4\u6765\u8fd0\u884cApache2\/Nginx\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770bNginx\u7248\u672c<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">nginx -v<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">nginx version: nginx\/1.24.0<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u542f\u52a8Nginx<\/strong><br>\u8ba9Nginx\u670d\u52a1\u968f\u7cfb\u7edf\u542f\u52a8\uff0c\u9700\u8981\u5728\/etc\/rc.conf\u914d\u7f6e\u6587\u4ef6\u7684\u672b\u5c3e\u6dfb\u52a0\u4e00\u884cnginx_enable=&#8221;YES&#8221;<br>\u53ef\u4ee5\u7528vi\u7f16\u8f91\/etc\/rc.conf\uff0c\u4e5f\u53ef\u4ee5\u7528sysrc\u547d\u4ee4<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">sysrc nginx_enable=\"YES\"<\/mark><br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">service nginx start<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Performing sanity check on nginx configuration:<br>nginx: the configuration file \/usr\/local\/etc\/nginx\/nginx.conf syntax is ok<br>nginx: configuration file \/usr\/local\/etc\/nginx\/nginx.conf test is successful<br>Starting nginx.<\/mark><\/code><br>\u5217\u4e3eIPv4\u534f\u8bae\u76d1\u542csockets<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">sockstat -4l | grep nginx<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">www nginx 778 7 tcp4 *:80 *:*<br>root nginx 777 7 tcp4 *:80 *:*<\/mark><\/code><br>\u53ef\u4ee5\u770b\u5230nginx\u670d\u52a1\u5df2\u7ecf\u5728tcp80\u7aef\u53e3\u76d1\u542c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165 https:\/\/FreeBSD_IP\/<br>\u5982Nginx\u5de5\u4f5c\u6b63\u5e38\uff0c\u53ef\u4ee5\u770b\u5230\u5982\u4e0b\u56fe\u6240\u793a\u9875\u9762\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"496\" height=\"181\" src=\"https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/1.png\" alt=\"\" class=\"wp-image-124\" srcset=\"https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/1.png 496w, https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/1-300x109.png 300w\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" \/><\/figure>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u5b89\u88c5PHP 8.3<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b89\u88c5PHP 8.3<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg search php83<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">...<br>php83-8.3.0.a2 PHP Scripting Language (8.3.X branch)<br>...<\/mark><br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg install -y php83-8.3.0.a2<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>cn repository is up to date.<br>All repositories are up to date.<br>The following 5 package(s) will be affected (of 0 checked):<br>New packages to be INSTALLED:<br>        compat10x-amd64: 10.4.1004000.20181014 [FreeBSD]<br>        libargon2: 20190702 [cn]<br>        libxml2: 2.10.4 [cn]<br>        php83: 8.3.0.a2 [cn]<br>        readline: 8.2.1 [cn]<br>Number of packages to be installed: 5<br>The process will require 45 MiB more space.<br>8 MiB to be downloaded.<br>[1\/5] Fetching libxml2-2.10.4.pkg: 100% 1 MiB 1.2MB\/s 00:01<br>[2\/5] Fetching compat10x-amd64-10.4.1004000.20181014.pkg: 100% 2 MiB 1.2MB\/s 00:02<br>[3\/5] Fetching libargon2-20190702.pkg: 100% 64 KiB 65.3kB\/s 00:01<br>[4\/5] Fetching readline-8.2.1.pkg: 100% 371 KiB 379.7kB\/s 00:01<br>[5\/5] Fetching php83-8.3.0.a2.pkg: 100% 5 MiB 2.4MB\/s 00:02<br>Checking integrity\u2026 done (0 conflicting)<br>[1\/5] Installing readline-8.2.1\u2026<br>[1\/5] Extracting readline-8.2.1: 100%<br>[2\/5] Installing libxml2-2.10.4\u2026<br>[2\/5] Extracting libxml2-2.10.4: 100%<br>[3\/5] Installing libargon2-20190702\u2026<br>[3\/5] Extracting libargon2-20190702: 100%<br>[4\/5] Installing compat10x-amd64-10.4.1004000.20181014\u2026<br>[4\/5] Extracting compat10x-amd64-10.4.1004000.20181014: 100%<br>[5\/5] Installing php83-8.3.0.a2\u2026<br>[5\/5] Extracting php83-8.3.0.a2: 100%<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770bphp\u7248\u672c<\/strong><br><code><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">php -v<\/mark><\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">PHP 8.3.0alpha2 (cli) (built: Aug 5 2023 01:24:10) (NTS)<br>Copyright (c) The PHP Group<br>Zend Engine v4.3.0-dev, Copyright (c) Zend Technologies<\/mark><\/code><\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u5728Nginx\u4e2d\u542f\u7528php-fpm (FastCGI Process Manager)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u51c6\u5907php\u6d4b\u8bd5\u811a\u672cphpinfo.php<\/strong><br><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>echo '&lt;?php phpinfo();' > \/usr\/local\/www\/nginx\/phpinfo.php<\/code><\/mark><\/mark><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165 https:\/\/FreeBSD_IP\/phpinfo.php<br>\u53d1\u73b0\u6ca1\u6709\u83b7\u5f97phpinfo()\u51fd\u6570\u7684\u8f93\u51fa\uff0c\u800c\u662f\u4e0b\u8f7d\u4e86phpinfo.php\u6587\u4ef6\u3002\u8fd9\u662f\u56e0\u4e3aNginx\u7684php-fpm\u6ca1\u6709\u6b63\u786e\u914d\u7f6e\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u542f\u52a8php-fpm\u670d\u52a1<\/strong><br>\u8bbe\u7f6ephp-fpm\u968f\u7cfb\u7edf\u542f\u52a8<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">sysrc php_fpm_enable=\"YES\"<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">php_fpm_enable: -> YES<\/mark><br><\/code>\u542f\u52a8php-fpm\u670d\u52a1<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">service php-fpm start<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Performing sanity check on php-fpm configuration:<br>[10-Sep-2023 15:14:20] NOTICE: configuration file \/usr\/local\/etc\/php-fpm.conf test is successful<br>Starting php_fpm.<\/mark><\/code><br>\u5217\u4e3eIPv4\u534f\u8bae\u76d1\u542csockets<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">sockstat -4l | grep php-fpm<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">www php-fpm 1030 6 tcp4 127.0.0.1:9000 <em>:<\/em><br>www php-fpm 1029 6 tcp4 127.0.0.1:9000 <em>:<\/em><br>root php-fpm 1028 8 tcp4 127.0.0.1:9000 <em>:<\/em><\/mark><\/code><br>\u53ef\u4ee5\u770b\u5230php-fpm\u670d\u52a1\u5df2\u7ecf\u5728tcp9000\u7aef\u53e3\u76d1\u542c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7f16\u8f91Nginx\u914d\u7f6e\u6587\u4ef6<\/strong><br><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>vi \/usr\/local\/etc\/nginx\/nginx.conf<\/code><\/mark><\/mark><br>server{}\u6bb5\u4e2d\u7684location \/ {}\u6bb5\u548clocation ~ \\.php$ {}\u6bb5\u4e2d\u7684root\u503c\u5e94\u8be5\u76f8\u540c\uff0c\u6240\u4ee5\u53ef\u4ee5\u628a<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>root \/usr\/local\/www\/nginx;<\/code><\/mark>\u63d0\u5347\u5230location \/ {}\u5916\u9762\u4e00\u5c42\uff0c\u5bf9location \/ {}\u6bb5\u548clocation ~ \\.php$ {}\u6bb5\u90fd\u8d77\u4f5c\u7528\u3002<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">root \/usr\/local\/www\/nginx;<br>location \/ {<br>#    root \/usr\/local\/www\/nginx;<br>    index index.html index.htm;<br>}<\/mark><br><\/code>\u5c06location ~ \\.php$ {}\u6bb5\u4e2d\u7684\u5404\u884c\u9996\u7684\u6ce8\u91ca\u7b26#\u53bb\u6389\uff1b<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>#root html<\/code><\/mark>\u884c\u9996\u7684\u6ce8\u91ca\u7b26#\u4e0d\u8981\u53bb\u6389\u6216\u8005\u6b64\u884c\u53ef\u4ee5\u5220\u6389\uff1b<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>fastcgi_param SCRIPT_FILENAME<\/code><\/mark>\u7684\u503c\u8981\u4fee\u6539\uff0c\u5426\u5219\u4f1a\u56e0\u4e3a\u8def\u5f84\u9519\u8bef\u627e\u4e0d\u5230\u62a5404\u9519\u8bef\uff08\u82e5\/usr\/local\/etc\/php.ini\u4e2d\u8bbe\u7f6e\u4e86<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>cig.fix_pathinfo=0<\/code><\/mark>\u5219404\u9519\u8bef\u8fd8\u4f1a\u9644\u52a0<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>No input file specified<\/code><\/mark>\u6d88\u606f\uff09\uff1a<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">location ~ .php$ {<br>    # root html;<br>    fastcgi_pass 127.0.0.1:9000;<br>    fastcgi_index index.php;<br>    # fastcgi_param SCRIPT_FILENAME \/scripts$fastcgi_script_name;<\/mark><br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br>    include fastcgi_params;<br>}<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u91cd\u542fNginx<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">service nginx restart<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Performing sanity check on nginx configuration:<br>nginx: the configuration file \/usr\/local\/etc\/nginx\/nginx.conf syntax is ok<br>nginx: configuration file \/usr\/local\/etc\/nginx\/nginx.conf test is successful<br>Stopping nginx.<br>Waiting for PIDS: 777.<br>Performing sanity check on nginx configuration:<br>nginx: the configuration file \/usr\/local\/etc\/nginx\/nginx.conf syntax is ok<br>nginx: configuration file \/usr\/local\/etc\/nginx\/nginx.conf test is successful<br>Starting nginx.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165 https:\/\/FreeBSD_IP\/phpinfo.php<br>\u5982Nginx\u548cphp-fpm\u5de5\u4f5c\u6b63\u5e38\uff0c\u53ef\u4ee5\u770b\u5230\u5982\u4e0b\u56fe\u6240\u793a\u9875\u9762\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"934\" height=\"801\" src=\"https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/47.png\" alt=\"\" class=\"wp-image-132\" srcset=\"https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/47.png 934w, https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/47-300x257.png 300w, https:\/\/techblog.hxdy2013.com\/wp-content\/uploads\/2023\/09\/47-768x659.png 768w\" sizes=\"auto, (max-width: 934px) 100vw, 934px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5220\u9664phpinfo.php\u4ee5\u514d\u670d\u52a1\u5668\u4fe1\u606f\u6cc4\u9732<\/strong><br><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>rm \/usr\/local\/www\/nginx\/phpinfo.php<\/code><\/mark><\/mark><\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u5b89\u88c5\u914d\u7f6eMariaDB\/MySQL\uff08\u4e8c\u9009\u4e00\uff0c\u9ed8\u8ba4\u4e0d\u5171\u5b58\uff09<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u5b89\u88c5\u914d\u7f6eMariaDB<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b89\u88c5MariaDB<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg search mariadb<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">...<br>mariadb1011-server-10.11.4 Multithreaded SQL database (server)<br>...<br><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg install -y mariadb1011-server-10.11.4<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>pkg: https:\/\/pkg.freebsd.org\/FreeBSD:13:amd64\/quarterly\/packagesite.pkg: No address record<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>cn repository is up to date.<br>All repositories are up to date.<br>The following 22 package(s) will be affected (of 0 checked):<br>New packages to be INSTALLED:<br>bash: 5.2.15 [cn]<br>boost-libs: 1.82.0_1 [cn]<br>ca_root_nss: 3.89.1 [cn]<br>curl: 8.1.2 [cn]<br>galera26: 26.4.15 [cn]<br>gettext-runtime: 0.21.1 [cn]<br>icu: 73.2,1 [cn]<br>libedit: 3.1.20221030,1 [cn]<br>libfmt: 9.1.0 [cn]<br>libiconv: 1.17 [cn]<br>libidn2: 2.3.4 [cn]<br>liblz4: 1.9.4,1 [cn]<br>libnghttp2: 1.53.0 [cn]<br>libpsl: 0.21.2_3 [FreeBSD]<br>libssh2: 1.11.0,3 [cn]<br>libunistring: 1.1 [cn]<br>mariadb1011-client: 10.11.4 [cn]<br>mariadb1011-server: 10.11.4 [cn]<br>rsync: 3.2.7 [cn]<br>unixODBC: 2.3.11 [cn]<br>xxhash: 0.8.1_2 [cn]<br>zstd: 1.5.5 [cn]<br>Number of packages to be installed: 22<br>The process will require 612 MiB more space.<br>78 MiB to be downloaded.<br>[1\/22] Fetching mariadb1011-client-10.11.4.pkg: 100% 2 MiB 2.2MB\/s 00:01<br>...<br>[22\/22] Fetching ca_root_nss-3.89.1.pkg: 100% 269 KiB 275.7kB\/s 00:01<br>Checking integrity\u2026 done (0 conflicting)<br>[1\/22] Installing libunistring-1.1\u2026<br>[1\/22] Extracting libunistring-1.1: 100%<br>...<br>[22\/22] Installing mariadb1011-server-10.11.4\u2026<br>===> Creating groups.<br>Using existing group 'mysql'.<br>===> Creating users<br>Using existing user 'mysql'.<br>===> Creating homedir(s)<br>[22\/22] Extracting mariadb1011-server-10.11.4: 100%<br>=====<br>Message from boost-libs-1.82.0_1:<br>...<br>Using wsrep clustering requires adding a configuration file.<br>Copy \/usr\/local\/etc\/mysql\/conf.d\/wsrep.conf.sample to<br>\/usr\/local\/etc\/mysql\/conf.d\/wsrep.conf and change what you need there.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770bMariaDB\u7248\u672c<\/strong><br><code><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">mariadb -V<\/mark><\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">mariadb Ver 15.1 Distrib 10.11.4-MariaDB, for FreeBSD13.2 (amd64) using EditLine wrapper<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u542f\u52a8MariaDB\u670d\u52a1<\/strong><br>\u8bbe\u7f6eMariaDB\u968f\u7cfb\u7edf\u542f\u52a8<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">sysrc mysql_enable=\"YES\"<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">mysql_enable: -> YES<\/mark><br><\/code>\u542f\u52a8MariaDB\u670d\u52a1<br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">service mysql-server start<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Starting mysql.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u589e\u5f3aMariaDB\u5b89\u5168\u6027<\/strong><br><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>mariadb-secure-installation<\/code><\/mark><\/mark>\u00a0# \u6ce8\u610f\u8fd9\u91cc\u662f\u8fde\u7ebf\u7b26-<br>\u6216<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>mysql_secure_installation<\/code><\/mark><\/mark>\u00a0# \u6ce8\u610f\u8fd9\u91cc\u662f\u4e0b\u5212\u7ebf_<br><mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Enter current password for root (enter for none):<\/code><\/mark><\/mark>\u00a0# MariaDB\u9ed8\u8ba4root\u5bc6\u7801\u4e3a\u7a7a<br>\u5982\u679cMariaDB\u670d\u52a1\u5c1a\u672a\u542f\u52a8\uff0c\u6b64\u5904\u4f1a\u62a5\u9519<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>ERROR 2002 (HY000): Can't connect to local server through socket '\/var\/run\/mysql\/mysql.sock' (2)<\/code><\/mark><mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Switch to unix_socket authentication [Y\/n]\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u5207\u6362\u5230unix_socket\u8ba4\u8bc1\u65b9\u5f0f<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Change the root password? [Y\/n]\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>n<\/code><\/mark><\/mark>\u00a0# unix_socket\u8ba4\u8bc1\u901a\u8fc7\u7cfb\u7edf\u8d26\u6237\u8fdb\u884c\uff0c\u8fd9\u91cc\u53ef\u4ee5\u4fdd\u6301MariaDB\u7684root\u5bc6\u7801\u4e3a\u7a7a<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Remove anonymous users? [Y\/n]\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u79fb\u9664\u7cfb\u7edf\u5185\u7f6e\u7684\u533f\u540d\u7528\u6237<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Disallow root login remotely? [Y\/n]\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u7981\u6b62MariaDB\u7684root\u7528\u6237\u8fdc\u7a0b\u767b\u5f55<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Remove test database and access to it? [Y\/n]\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u79fb\u9664\u7cfb\u7edf\u5185\u7f6e\u7684\u6d4b\u8bd5\u6570\u636e\u5e93<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Reload privilege tables now? [Y\/n]\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u91cd\u65b0\u52a0\u8f7d\u6743\u9650\u8868<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uff08\u53ef\u9009\u9879\uff09\u4fee\u6539MariaDB\u8ba4\u8bc1\u65b9\u5f0f<\/strong><br>MariaDB\u9ed8\u8ba4\u4f7f\u7528unix_socket\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u5373\u4ee5OS\u7528\u6237\u8d26\u53f7\u767b\u5f55MariaDB\uff0c\u5b89\u5168\u6027\u7531OS\u4fdd\u8bc1\uff0c\u6570\u636e\u5e93\u7528\u6237\u9ed8\u8ba4\u7a7a\u5bc6\u7801\u3002\u8be6\u89c1MariaDB\u5b98\u7f51\u89e3\u91ca\uff1a<a href=\"https:\/\/mariadb.com\/kb\/en\/authentication-plugin-unix-socket\/\">Authentication Plugin \u2013 Unix Socket \u2013 MariaDB Knowledge Base<\/a><br>\u53ef\u4ee5\u4fee\u6539MariaDB\u8ba4\u8bc1\u65b9\u5f0f\u4e3aMySQL\u5bc6\u7801\u65b9\u5f0fmysql_native_password\u3002\u64cd\u4f5c\u6d41\u7a0b\u5982\u4e0b\uff1a<br><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>mariadb<\/code><\/mark><\/mark>\u6216<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>mysql<\/code><\/mark><\/mark><br><code>root@localhost [(none)]>\u00a0<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">use mysql;<\/mark><\/mark><br>root@localhost [mysql]>\u00a0<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">select user, plugin from user where user='root';<\/mark><\/mark><\/code><br>\u5982\u679cplugin\u662funix_socket\uff0c\u53c2\u8003MariaDB\u5b98\u7f51\uff0c\u7528\u4ee5\u4e0bSQL\u8bed\u53e5\u4fee\u6539\uff1a<br><code>root@localhost [mysql]>\u00a0<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">alter user 'root'@'localhost' identified via mysql_native_password;<\/mark><\/mark><\/code>\u00a0# \u4fee\u6539\u8ba4\u8bc1\u65b9\u5f0f<br><code>root@localhost [mysql]>\u00a0<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">alter user 'root'@'localhost' identified by 'root_password';<\/mark><\/mark><\/code>\u00a0# \u5fc5\u987b\u4fee\u6539\u5bc6\u7801\u624d\u80fd\u751f\u6548\u3002\u5426\u5219root\u7528\u6237\u4ecd\u53ef\u4ee5\u7528\u7a7a\u5bc6\u7801\u8fdb\u5165MariaDB\u3002<br><code>root@localhost [mysql]>\u00a0<mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">exit;<\/mark><\/mark><\/code>\u00a0# \u9000\u51faMariaDB<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">\u5b89\u88c5\u914d\u7f6eMySQL<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b89\u88c5MySQL<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg search mysql<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">...<br>mysql80-server-8.0.32_3 Multithreaded SQL database (server)<br>...<br><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg install -y mysql80-server-8.0.32_3<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>cn repository is up to date.<br>All repositories are up to date.<br>The following 27 package(s) will be affected (of 0 checked):<br>New packages to be INSTALLED:<br>        ca_root_nss: 3.89.1 [cn]<br>        curl: 8.1.2 [cn]<br>        cyrus-sasl: 2.1.28 [cn]<br>        groff: 1.22.4_4 [cn]<br>        hidapi: 0.14.0 [cn]<br>        icu: 73.2,1 [cn]<br>        libcbor: 0.10.2 [cn]<br>        libcjson: 1.7.15_1 [cn]<br>        libedit: 3.1.20221030,1 [cn]<br>        libevent: 2.1.12 [cn]<br>        libfido2: 1.13.0 [cn]<br>        libiconv: 1.17 [cn]<br>        libidn2: 2.3.4 [cn]<br>        liblz4: 1.9.4,1 [cn]<br>        libnghttp2: 1.53.0 [cn]<br>        libpaper: 1.1.28 [cn]<br>        libpsl: 0.21.2_3 [FreeBSD]<br>        libssh2: 1.11.0,3 [cn]<br>        libunistring: 1.1 [cn]<br>        libunwind: 20211201_2 [cn]<br>        mysql80-client: 8.0.32_3 [cn]<br>        mysql80-server: 8.0.32_3 [cn]<br>        openldap26-client: 2.6.4 [cn]<br>        perl5: 5.32.1_3 [cn]<br>        psutils: 1.17_5 [cn]<br>        uchardet: 0.0.8 [cn]<br>        zstd: 1.5.5 [cn]<br>Number of packages to be installed: 27<br>The process will require 467 MiB more space.<br>58 MiB to be downloaded.<br>[1\/27] Fetching cyrus-sasl-2.1.28.pkg: 100% 968 KiB 991.4kB\/s 00:01<br>\u2026<br>[27\/27] Fetching uchardet-0.0.8.pkg: 100% 112 KiB 114.4kB\/s 00:01<br>Checking integrity\u2026 done (0 conflicting)<br>[1\/27] Installing libunistring-1.1\u2026<br>[1\/27] Extracting libunistring-1.1: 100%<br>...<br>[27\/27] Installing mysql80-server-8.0.32_3\u2026<br>===> Creating groups.<br>Creating group 'mysql' with gid '88'.<br>===> Creating users<br>Creating user 'mysql' with uid '88'.<br>===> Creating homedir(s)<br>[27\/27] Extracting mysql80-server-8.0.32_3: 100%<br>=====<br>Message from cyrus-sasl-2.1.28:<br>...<br>MySQL80 has a default \/usr\/local\/etc\/mysql\/my.cnf,<br>remember to replace it with your own<br>or set mysql_optfile=\"$YOUR_CNF_FILE in rc.conf.<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770bMySQL\u7248\u672c<\/strong><br><code><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">mysql -V<\/mark><\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">mysql Ver 8.0.32 for FreeBSD13.2 on amd64 (Source distribution)<\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u542f\u52a8MySQL\u670d\u52a1<\/strong><br>\u8bbe\u7f6eMySQL\u968f\u7cfb\u7edf\u542f\u52a8<br><code><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">sysrc mysql_enable=\"YES\"<\/mark><\/mark><br><mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">mysql_enable: -> YES<\/mark><\/mark><br><\/code>\u542f\u52a8MySQL\u670d\u52a1<br><code><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">service mysql-server start<\/mark><\/mark><br><mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Starting mysql.<\/mark><\/mark><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u589e\u5f3aMySQL\u5b89\u5168\u6027<\/strong><br><mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>mysql_secure_installation<\/code><\/mark><\/mark>\u00a0# \u6ce8\u610f\u8fd9\u91cc\u662f\u4e0b\u5212\u7ebf_<br>\u5982\u679cMySQL\u670d\u52a1\u5c1a\u672a\u542f\u52a8\uff0c\u6b64\u5904\u4f1a\u63d0\u793a<mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Enter current password for root (enter for none):<\/code><\/mark><\/mark>\u56de\u8f66\u540e\u62a5\u9519<mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Error: Can't connect to local MySQL server through socket '\/tmp\/mysql.sock' (2)<\/code><\/mark><br><code><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Would you like to setup VALIDATE PASSWORD component?<\/mark><br><mark><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Press y|Y for Yes, any other key for No:\u00a0<\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">n<\/mark><\/mark><\/code>\u00a0# \u8fd9\u91cc\u6572Y\u7684\u8bdd\u5219MySQL\u7528\u6237\u5bc6\u7801\u5fc5\u987b\u6ee1\u8db3\u590d\u6742\u5ea6\u8981\u6c42<br><code><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Please set the password for root here.<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">New password:<\/mark><\/code>    # \u8bbe\u7f6eMySQL\u7684root\u5bc6\u7801<br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Re-enter new password:<\/code><\/mark>    # \u786e\u8ba4MySQL\u7684root\u5bc6\u7801<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Remove anonymous users? (Press y|Y for Yes, any other key for No) :\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u79fb\u9664\u7cfb\u7edf\u5185\u7f6e\u7684\u533f\u540d\u7528\u6237<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Disallow root login remotely? (Press y|Y for Yes, any other key for No) :\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u7981\u6b62MySQL\u7684root\u7528\u6237\u8fdc\u7a0b\u767b\u5f55<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Remove test database and access to it? (Press y|Y for Yes, any other key for No) :\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u79fb\u9664\u7cfb\u7edf\u5185\u7f6e\u7684\u6d4b\u8bd5\u6570\u636e\u5e93<mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\"><code>Reload privilege tables now? (Press y|Y for Yes, any other key for No) :\u00a0<\/code><\/mark><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\"><code>Y<\/code><\/mark><\/mark>\u00a0# \u91cd\u65b0\u52a0\u8f7d\u6743\u9650\u8868<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uff08\u53ef\u9009\u9879\uff09\u4fee\u6539MySQL\u8ba4\u8bc1\u65b9\u5f0f<\/strong><br>MySQL 8 root\u8d26\u6237\u9ed8\u8ba4\u4f7f\u7528auth_socket\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u5373\u4ee5OS\u7528\u6237\u8d26\u53f7\u767b\u5f55MariaDB\uff0c\u5b89\u5168\u6027\u7531OS\u4fdd\u8bc1\uff0c\u6570\u636e\u5e93root\u7528\u6237\u9ed8\u8ba4\u7a7a\u5bc6\u7801\uff1b\u5176\u4ed6MySQL 8\u8d26\u6237\u9ed8\u8ba4\u4f7f\u7528caching_sha2_password\u8ba4\u8bc1\u65b9\u5f0f\u3002\u8be6\u89c1MySQL\u5b98\u7f51\u89e3\u91ca\uff1a<a href=\"https:\/\/dev.mysql.com\/doc\/mysql-secure-deployment-guide\/8.0\/en\/secure-deployment-configure-authentication.html\">MySQL :: MySQL Secure Deployment Guide :: 11 Enabling Authentication<\/a><br>\u4fee\u6539MySQL\u8ba4\u8bc1\u65b9\u5f0f\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u4fee\u6539MariaDB\u8ba4\u8bc1\u65b9\u5f0f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PHP\u5b89\u88c5php-mysql PDO\u6a21\u5757\u4ee5\u8bbf\u95eeMariaDB\/MySQL<\/strong><br><code><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg search php83-mysqli<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">php83-mysqli-8.3.0.a2 The mysqli shared extension for php<\/mark><br><mark style=\"background-color:#9DFF20\" class=\"has-inline-color\">pkg install -y php83-mysqli-8.3.0.a2<\/mark><br><mark style=\"background-color:#ffd700\" class=\"has-inline-color\">Updating FreeBSD repository catalogue\u2026<br>FreeBSD repository is up to date.<br>Updating cn repository catalogue\u2026<br>cn repository is up to date.<br>All repositories are up to date.<br>The following 1 package(s) will be affected (of 0 checked):<br>New packages to be INSTALLED:<br>        php83-mysqli: 8.3.0.a2 [cn]<br>Number of packages to be installed: 1<br>49 KiB to be downloaded.<br>[1\/1] Fetching php83-mysqli-8.3.0.a2.pkg: 100% 49 KiB 49.8kB\/s 00:01<br>Checking integrity\u2026 done (0 conflicting)<br>[1\/1] Installing php83-mysqli-8.3.0.a2\u2026<br>[1\/1] Extracting php83-mysqli-8.3.0.a2: 100%<br>=====<br>Message from php83-mysqli-8.3.0.a2:<br>--<br>This file has been added to automatically load the installed extension:<br>\/usr\/local\/etc\/php\/ext-20-mysqli.ini<\/mark><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>FNMP\u662fFreeBSD+Nginx+MariaDB\/MySQL+PHP\u73af\u5883\u7684\u7f29\u5199\uff0c\u6309\u7167\u53d1\u97f3\uff0c\u4e5f\u5199\u4f5cFEMP\u73af\u5883\u3002\u672c\u6587\u8bb2\u8ff0\u5982\u4f55\u5728FreeBSD 13.2\u4e2d\u5b89\u88c5\u548c\u914d\u7f6eNginx+MariaDB\/MySQL+PHP\u3002 \u786c\u4ef6\u73af\u5883 Lenovo ThinkPad T14 Gen2 20W1S3H811: Intel i5-1145G7 + DDR4 16GB + NVMe 512GB \u8f6f\u4ef6\u73af\u5883 Win11 x64 Build 22621.2134 \u82f1\u6587\u4e13\u4e1a\u7248 + VirtualBox v7.0.8 r156879 VirtualBox\u5b89\u88c5FreeBSD 13.2 \u9ed8\u8ba4\u5b89\u88c5\u5373\u53ef FreeBSD 13.2\u51c6\u5907\u5de5\u4f5c \u5141\u8bb8root\u7528\u6237\u901a\u8fc7ssh\u8fdc\u7a0b\u767b\u5f55\u7f16\u8f91\/etc\/rc.conf\u6587\u4ef6\u542f\u7528sshd\u670d\u52a1vi \/etc\/rc.conf\uff0c\u5982\u679c\u6ca1\u6709\u5c31\u52a0\u5165\u4e00\u884csshd_enable= &#8220;YES&#8221;FreeBSD\u9ed8\u8ba4\u4e0d\u5141\u8bb8root\u8d26\u53f7\u4ee5ssh\u8fdc\u7a0b\u767b\u5f55\uff0c\u7f16\u8f91sshd\u914d\u7f6e\u6587\u4ef6\u4ee5\u5141\u8bb8vi \/etc\/ssh\/sshd_config\uff0c\u627e\u5230#PermitRootLogin no\u6539\u6210PermitRootLogin yes\u91cd\u542fssh\u670d\u52a1service sshd restart FreeBSD\u4ed3\u5e93\u6362\u56fd\u5185\u6e90FreeBSD\u67094\u7c7b\u6e90\uff1apkg\u3001ports\u3001portsnap\u3001update\u3002\u5bf9\u4e8e\u5931\u53bb\u5b89\u5168\u652f\u6301\u7684\u7248\u672c\uff0c\u5982 FreeBSD 9.0 \u662f\u6ca1\u6709 pkg \u6e90\u53ef\u7528\u7684\uff0c\u53ea\u80fd\u4f7f\u7528\u5f53\u65f6\u7684 ports \u7f16\u8bd1\u5b89\u88c5\u8f6f\u4ef6\u3002FreeBSD\u7684\u4ed3\u5e93\u9ed8\u8ba4\u6e90\u5728\u56fd\u5916\uff0c\u4ece\u56fd\u5185\u8bbf\u95ee\u901f\u5ea6\u5f88\u6162\u3002\u4e3a\u65b9\u4fbf\u4f7f\u7528\uff0c\u6709\u5fc5\u8981\u4e3aFreeBSD\u4ed3\u5e93\u6362\u56fd\u5185\u6e90\u3002\u5e38\u7528\u7684\u6709\u5317\u4eac\u4ea4\u5927\u6e90\u3001\u4e2d\u79d1\u5927\u6e90\u3001\u5357\u4eac\u5927\u5b66\u6e90\u3001\u7f51\u6613163\u6e90\u3001China FreeBSD\u6e90\u7b49\u3002\u76ee\u524d\u5883\u5185\u6ca1\u6709\u5b98\u65b9\u955c\u50cf\u7ad9\uff0c\u8fd9\u4e9b\u5747\u975e\u5b98\u65b9\u955c\u50cf\u7ad9\u3002\u6709\u4e9b\u56fd\u5916pkg\u6e90\u901f\u5ea6\u8fd8\u884c\uff0c\u5b98\u7f51 https:\/\/pkg.freebsd.org\/ \u53ef\u4ee5\u67e5\u770b\u6e90\u6e05\u5355\u3002\u4e0b\u6587\u4ec5\u4ecb\u7ecd\u6700\u5e38\u7528\u7684pkg\u6362\u6e90\u65b9\u6cd5\u3002\u5bf9\u4e8e\u4e00\u4e2a\u6e90\u5217\u51fa\u591a\u4e2a\u955c\u50cf\u7ad9\uff0c\u65e0\u9700\u5168\u90e8\u914d\u7f6e\uff0c\u53ea\u9700\u9009\u62e9\u5176\u4e00\u5373\u53ef\u3002pkg\u6e90\u63d0\u4f9b\u4e8c\u8fdb\u5236\u5b89\u88c5\u5305\u3002pkg\u4e0b\u8f7d\u8def\u5f84\u662f\/var\/cache\/pkg\/\u3002FreeBSD\u4e2dpkg\u6e90\u5206\u4e3a\u7cfb\u7edf\u7ea7\u548c\u7528\u6237\u7ea7\u4e24\u4e2a\u6e90\uff0c\u4e0d\u5efa\u8bae\u76f4\u63a5\u4fee\u6539\/etc\/pkg\/FreeBSD.conf\uff0c\u56e0\u4e3a\u8be5\u6587\u4ef6\u4f1a\u968f\u7740\u57fa\u672c\u7cfb\u7edf\u7684\u66f4\u65b0\u800c\u53d1\u751f\u6539\u53d8\u3002\u521b\u5efa\u7528\u6237\u7ea7\u6e90\u76ee\u5f55mkdir -p \/usr\/local\/etc\/pkg\/repos\u521b\u5efa\u7528\u6237\u7ea7\u6e90\u6587\u4ef6vi \/usr\/local\/etc\/pkg\/repos\/cn.conf\uff0c\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1acn: { # [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":23,"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":192,"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions\/192"}],"wp:attachment":[{"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techblog.hxdy2013.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}