在FreeBSD九点一系统中源码安装Apache MySQL和PHP环境亲测通过
对于新手而言,要在FreeBSD服务器上搭建可靠的环境,最稳妥的方案是避开源码编译的复杂路径——除非你已经多次实践、对依赖关系了然于胸。本文基于真实踩坑经验整理,提供了完整的搭建步骤,并重点标注了容易出错的细节,帮助你高效完成FreeBSD服务器配置。
前期准备:系统与基础组件
1. 安装 FreeBSD 9.1 系统
系统版本是地基,选择9.1是因为该版本对常用软件的支持和稳定性达到了最佳平衡点,适合作为FreeBSD服务器环境的基础。
2. 通过 Sysinstall 安装预装软件
使用光盘或镜像启动后,进入 sysinstall 界面,勾选所需软件包。以下列表是多次验证后的必装依赖项:
- archives: libzip、zip、unzip
- databases: sqlite
- converters: libiconv(PHP进行编码转换时必需)
- devel: pre-8.20l(Apache依赖)、perl-5.12.4.3
- emulators: linux_base 兼容包
- FTP: curl-1.21.3.2
- graphics: giflib-4.1.6、jpeg-8.3、libexif-0.6.20、png-1.4.8
- lang: perl-5.12.4.3、python、ruby
- all: libxml2-7.8-1、freetype
3. 安装 Linux 兼容库
在 /etc/rc.conf 中添加一行:linux_enable="YES"。
然后通过 ports 安装 ports/emulators/linux_libauo(具体包名视版本而定)。
完成后使用 kldstat 检查内核是否已挂载 linux.ko 模块。
4. 安装 SSH 守护进程
ports/security/sshgard(实际为 sshguard),用于防御暴力破解攻击。
5. 安装加密相关软件
ports/security/mcrypt,PHP加密扩展的底层依赖。
环境配置:中文支持 & PHP依赖
设置全局 locale
编辑 /etc/login.conf,在末尾新增:
chinese:Chinese Users Accounts:\ :charset=UTF-8:\ :lang=zh_CN.UTF-8:\ :tc=default:
使用 vipw 修改 passwd 文件,在用户记录的 language 字段填入 chinese 以关联 locale。
然后添加环境变量(可放置于用户 shell 配置中):
export LC_CTYPE="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" export LANG="zh_CN.UTF-8"
执行 cap_mkdb /etc/login.conf 更新数据库,重新登录后通过 locale 验证配置是否生效。
PHP 需要预装的环境组件
curl、gd、mbstring、jpeg、png、php_memcache、xcache、mysql、apache——这些组件在安装PHP前必须就位,建议指定安装目录以方便后续维护。
开始安装核心服务
1. 安装 MySQL
MySQL 采用预编译的二进制分发包,无需源码编译,大幅减少折腾。
# 创建用户组和用户 pw groupadd mysql pw useradd -r -g mysql mysql # 解压并移动 cd /soft tar -vzxf mysql-5.6.11.tar.gz mv mysql-5.6.11-free* /usr/local/servers/mysql # 设置目录权限 cd /usr/local/shadow/mysql # 注意目录名,实际可能是 /usr/local/servers/mysql chown -R mysql . chgrp -R mysql . # 安装初始数据库,会生成 my.cnf ./scripts/mysql_install_db --user=mysql # 调整权限 chown -R root . chown -R mysql data # 启动服务 ./bin/mysqld_safe --user=mysql &
启动后登录:./bin/mysql -u root -p(初始密码为空)。
安全配置示例:
use mysql;
Delete from user where host<>'127.0.0.1';
select host,user,password from user;
update user set host='%',password=password('shadow'); # 允许远程,密码设为 shadow
flush privileges;
修改 root 密码的方式:bin/mysqladmin -u root password 'newpassword'。
如需开放 root 远程访问(调试时常用),可执行:
use mysql; update user set host = '%' where user = 'root' and host <> 'localhost'; flush privileges; quit
2. 安装 Apache
编译 Apache 前需先准备 APR 和 APR-util,这两个组件最好单独编译安装,版本不低于1.2。
编译安装 apr 1.4.6:
tar -zxvf apr-1.4.6.tar.gz cd srclib/apr-1.4.6 ./configure --prefix=/usr/local/apr/ make make install
编译安装 apr-util 1.5.1:
tar -zxvf apr-util-1.5.1.tar.gz cd ../apr-util-1.5.1 ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/ make make install
安装 httpd 2.2.15:
tar zxvf httpd-2.2.15.tar.gz cd httpd-2.2.15 ./configure --prefix=/usr/local/servers/apache22 \ --enable-so --enable-deflate=shared --enable-ssl=shared \ --enable-expires=shared --enable-headers=shared \ --enable-rewrite=shared --enable-static-support \ --with-apr=/usr/local/apr/bin/apr-1-config \ --with-apr-util=/usr/local/apr-util/bin/apu-1-config \ --with-mpm=prefork --enable-cache=shared \ --enable-disk-cache=shared --enable-mem-cache=shared \ --enable-vhost-alias=shared --enable-suexec --with-pcre make make install
启动/重启命令:
/usr/local/servers/apache22/bin/httpd -k start /usr/local/servers/apache22/bin/httpd -k restart /usr/local/servers/apache22/bin/httpd -k graceful /usr/local/apache/bin/apachectl -k restart # 如果路径是 /usr/local/apache
3. 安装 PHP (5.4+) 以及 FastCGI
PHP 版本建议至少5.4以上,配合 mod_fastcgi 可实现优雅重启和高并发处理。
安装 mod_fastcgi:
下载 mod_fastcgi-2.4.6,解压后将 Makefile.AP2 重命名为 Makefile,并在文件中修改 top_dir=你的apache路径,然后执行 make install。
编译安装 PHP:
./configure --prefix=/usr/local/servers/php \ --with-apxs2=/usr/local/servers/apache22/bin/apxs \ --enable-fpm --with-zlib --with-bz2 --with-curl --with-gd \ --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir \ --with-png-dir --enable-mbstring --enable-ftp --enable-exif \ --with-mcrypt --with-mysql --with-mysqli=mysqlnd \ --with-libxml-dir --enable-mysqlnd
若编译时遇到 fpm 模块报错(常见于PHP 5.4.11),需手动修改 sapi/fpm/fpm/fpm_sockets.c 中的三处代码:
info.tcpi_sacked → info.__tcpi_sacked
info.tcpi_unacked → info.__tcpi_unacked
编译通过后执行 make install,然后拷贝配置文件:
cp php.ini-development /usr/local/servers/php/etc/php.ini # 开发模式 # 或 cp php.ini-production /usr/local/servers/php/etc/php.ini # 生产模式
编辑 php.ini,建议禁用危险函数(安全基线):
disable_functions = system,exec,shell_exec,passthru,ini_alter,dl,pfsockopen,openlog,syslog,readlink,symlink,link,leak,popen,escapeshellcmd,apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,virtual,phpinfo
另外,旧版 PHP 可能需要开启 register_globals = On(新版本已移除该项)。
配置 Apache 支持 PHP:
编辑 /usr/local/apache/conf/httpd.conf:
DirectoryIndex index.html index.htm index.php AddType application/x-httpd-php .php .php3 .phtml AddType application/x-httpd-php-source .phps
重启 Apache:/usr/local/apache/bin/apachectl -k restart
测试:创建 info.php,内容为 ,通过浏览器访问确认。
4. 安装 ProFTPD
FTP 服务选用 ProFTPD,编译安装示例:
./configure --prefix=/usr/local/servers/proftpd make && make install
启动:/usr/local/servers/proftp/sbin/proftpd &
添加虚拟用户(使用 ftpasswd 工具):
# 先添加管理组 ./ftpasswd --group --name=czh --gid=1001 --file=../etc/group # 添加用户(注意 gid 和 home 目录) ./ftpasswd --passwd --name=sohuishangbao --uid=1004 --gid=80 \ --file=../etc/passwd --shell=/sbin/nologin --home=/wwwroot/lianmeng ./ftpasswd --passwd --name=hsbczh --uid=1003 --gid=1001 \ --file=../etc/passwd --shell=/sbin/nologin --home=/wwwroot/www.huishangbao.com/www
输入命令后按提示设置密码,密码不宜过长且避免特殊字符。以上路径需根据实际安装目录调整。
此外,可直接编辑 etc/passwd 文件添加用户(格式参考):
www1:*:1003:80:User &:/home/www1:/usr/sbin/nologin www2:*:1004:80:User &:/home/www2:/usr/sbin/nologin
收尾:验证与小结
至此,MySQL、Apache、PHP、FTP 以及必要的扩展(FastCGI、Xcache、Memcache 等)已全部就绪。依次启动各服务后,使用 sockstat | grep LISTEN 检查监听端口是否正常。别忘了配置防火墙规则,并定期审查日志。
源码编译虽显繁琐,但每一步都清晰可控——这份笔记正是为了帮你节省日后“拆墙”的时间而整理。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Mac系统单用户模式开启方法详细步骤教程
先说一个核心提示:想绕过图形界面直接访问底层命令行来修复磁盘、重置密码或执行系统级维护,你得先搞清楚自己的 Mac 用的是哪种芯片。Intel 机型按住 Command+S 即可,Apple Silicon 则需要绕道恢复模式,通过 launchctl boot 或 reboot -x 启动。无论走
Mac打开软件提示开发者无法验证的解决方法
在Mac上双击刚下载的Voicemod、Postman或内部测试工具时,系统弹出红色警告框,提示“无法打开‘XXX’,因为无法验证开发者”。请别紧张,这并非软件损坏,而是macOS Gatekeeper在拦截未签名或未公证的应用。你只想立刻运行它,而不是花十分钟研究代码签名原理——此时最直接的办法就
Win11如何开启基于虚拟化的安全性(VBS)
在 Windows 11 中,要想真正防御内核级恶意代码与高级持续性威胁(APT),有一道必须跨过的门槛:必须先开启基于虚拟化的安全性(VBS)。内存完整性、HVCI(Hypervisor 强制代码完整性)、Windows Hello 凭据隔离等关键防护机制,全部建立在 VBS 之上——它就像一道硬
Win11搜索框点击后无法输入文字的快速修复教程
点击 Win11 任务栏搜索框没有反应、光标始终无法闪动、键盘输入后搜索框像被冻结一样——这类情况在用户中相当普遍。其根本原因往往不是输入法故障或网络设置异常,而是前台进程卡死或后台服务未能及时响应。不必慌张,按照以下顺序逐步排查,大概率能够恢复正常。 优先结束卡死的 SearchHost exe
Win11注册表修改开启极致透明沉浸视觉方案
通过修改注册表分别激活Acrylic渲染、OLED任务栏透明增强、ForceEffectMode策略、全局透明控制通道及Mica材质API授权,重启资源管理器后,即可实现Win11系统任务栏、窗口、菜单等全局极致透明沉浸视觉体验,界面通透美观。此操作简单高效,无需第三方软件。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-06-18 09:07
2026-06-18 09:05
2026-06-18 09:05
2026-06-18 09:05
2026-06-18 09:05
2026-06-18 09:05
2026-06-18 09:05
2026-06-18 09:04
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

