游乐游手机版
首页/系统平台/文章详情

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

时间:2026-06-18 07:55
对于新手而言,要在FreeBSD服务器上搭建可靠的环境,最稳妥的方案是避开源码编译的复杂路径——除非你已经多次实践、对依赖关系了然于胸。本文基于真实踩坑经验整理,提供了完整的搭建步骤,并重点标注了容易出错的细节,帮助你高效完成FreeBSD服务器配置。 前期准备:系统与基础组件 1 安装 Free

对于新手而言,要在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
上一篇FreeBSD常用指令整理学习笔记 下一篇AIX系统rootvg镜像制作取消与硬盘更换
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Win10如何启用文件历史记录自动备份与实时保护
系统平台 · 2026-07-12

Win10如何启用文件历史记录自动备份与实时保护

Windows10文件历史记录可自动保存文件历史版本,需要手动开启并连接外部NTFS存储设备。可通过设置应用、控制面板或PowerShell三种方式启用。推荐将备份频率设为每10分钟,并将保留时间设为永远,以最大限度保护数据安全。

Win11应用商店提示我们这边出了点问题报错代码
系统平台 · 2026-07-12

Win11应用商店提示我们这边出了点问题报错代码

Win11应用商店报错0x80131500,可依次执行:运行wsreset exe清缓存;重启BITS、WindowsUpdate等服务;改DNS为8 8 8 8和1 1 1 1;启用TLS1 2和1 3;重装商店及依赖组件。

Win11电脑频繁弹出系统更新强制升级提醒的解决方法
系统平台 · 2026-07-12

Win11电脑频繁弹出系统更新强制升级提醒的解决方法

通过禁用WindowsUpdate、UsoSvc和BITS三项服务,修改注册表将NoAutoUpdate设为1,并禁用任务计划中的ScheduledStart,可彻底关闭Win11系统更新强制弹窗,避免全屏工作被打断,实现永久禁用自动更新。

Windows 11关闭窗口顶部毛玻璃透明磨砂效果方法
系统平台 · 2026-07-12

Windows 11关闭窗口顶部毛玻璃透明磨砂效果方法

Windows11关闭窗口顶部毛玻璃特效需四步:在个性化颜色中关闭透明效果,在辅助功能视觉效果中同步关闭透明与动画,通过注册表禁用EnableTransparentOMAX渲染通道,最后重启资源管理器清除缓存,即可彻底消除磨砂透明。

Windows 11 电脑自动休眠时长修改方法
系统平台 · 2026-07-12

Windows 11 电脑自动休眠时长修改方法

Windows11修改电脑自动休眠时长可通过系统设置、控制面板和命令提示符三种途径实现。系统设置直接调整睡眠时间,控制面板可精细控制屏幕关闭与休眠独立计时器,命令提示符支持毫秒级精确设定。需注意休眠时间应大于等于屏幕关闭时间,避免中断任务。