当前位置: 首页
系统平台
在FreeBSD九点一系统中源码安装Apache MySQL和PHP环境亲测通过

在FreeBSD九点一系统中源码安装Apache MySQL和PHP环境亲测通过

热心网友 时间:2026-06-18
转载

对于新手而言,要在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_sackedinfo.__tcpi_sacked
info.tcpi_unackedinfo.__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 检查监听端口是否正常。别忘了配置防火墙规则,并定期审查日志。
源码编译虽显繁琐,但每一步都清晰可控——这份笔记正是为了帮你节省日后“拆墙”的时间而整理。

来源:https://www.jb51.net/os/Unix/192923.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Mac系统单用户模式开启方法详细步骤教程

Mac系统单用户模式开启方法详细步骤教程

先说一个核心提示:想绕过图形界面直接访问底层命令行来修复磁盘、重置密码或执行系统级维护,你得先搞清楚自己的 Mac 用的是哪种芯片。Intel 机型按住 Command+S 即可,Apple Silicon 则需要绕道恢复模式,通过 launchctl boot 或 reboot -x 启动。无论走

时间:2026-06-18 09:07
Mac打开软件提示开发者无法验证的解决方法

Mac打开软件提示开发者无法验证的解决方法

在Mac上双击刚下载的Voicemod、Postman或内部测试工具时,系统弹出红色警告框,提示“无法打开‘XXX’,因为无法验证开发者”。请别紧张,这并非软件损坏,而是macOS Gatekeeper在拦截未签名或未公证的应用。你只想立刻运行它,而不是花十分钟研究代码签名原理——此时最直接的办法就

时间:2026-06-18 09:05
Win11如何开启基于虚拟化的安全性(VBS)

Win11如何开启基于虚拟化的安全性(VBS)

在 Windows 11 中,要想真正防御内核级恶意代码与高级持续性威胁(APT),有一道必须跨过的门槛:必须先开启基于虚拟化的安全性(VBS)。内存完整性、HVCI(Hypervisor 强制代码完整性)、Windows Hello 凭据隔离等关键防护机制,全部建立在 VBS 之上——它就像一道硬

时间:2026-06-18 09:05
Win11搜索框点击后无法输入文字的快速修复教程

Win11搜索框点击后无法输入文字的快速修复教程

点击 Win11 任务栏搜索框没有反应、光标始终无法闪动、键盘输入后搜索框像被冻结一样——这类情况在用户中相当普遍。其根本原因往往不是输入法故障或网络设置异常,而是前台进程卡死或后台服务未能及时响应。不必慌张,按照以下顺序逐步排查,大概率能够恢复正常。 优先结束卡死的 SearchHost exe

时间:2026-06-18 09:05
Win11注册表修改开启极致透明沉浸视觉方案

Win11注册表修改开启极致透明沉浸视觉方案

通过修改注册表分别激活Acrylic渲染、OLED任务栏透明增强、ForceEffectMode策略、全局透明控制通道及Mica材质API授权,重启资源管理器后,即可实现Win11系统任务栏、窗口、菜单等全局极致透明沉浸视觉体验,界面通透美观。此操作简单高效,无需第三方软件。

时间:2026-06-18 09:05
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜