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

freeBSD5.4下安装配置apache2+php5+mysql5过程

时间:2026-04-15 17:26
在FreeBSD上搭建Apache2+PHP5+MySQL5环境:两种经典方法详解 今天,我们一起来重温一个经典的技术栈搭建过程:在FreeBSD系统上部署Apache2、PHP5和MySQL5。这套LAMP的变体(或许该叫FAMP?)在当年承载了无数应用。虽然如今部署方式已更加多样化,但理解从源码

在FreeBSD上搭建Apache2+PHP5+MySQL5环境:两种经典方法详解

今天,我们一起来重温一个经典的技术栈搭建过程:在FreeBSD系统上部署Apache2、PHP5和MySQL5。这套LAMP的变体(或许该叫FAMP?)在当年承载了无数应用。虽然如今部署方式已更加多样化,但理解从源码或Ports编译安装的每一步,对于深入掌握系统运作依然很有价值。这里将完整呈现两种主流方法,所有步骤、命令和关键提示都原汁原味保留,你可以根据自己的偏好和系统环境进行选择。

方法一:手动编译安装(Tar包方式)

这个方法适合希望完全掌控编译选项和安装路径的用户。你需要事先准备好三个关键的源码包。

第一步:准备安装包
你需要下载以下三个压缩包: 1. mysql-standard-5.0.12-beta-freebsd5.3-i386.tar.gz 2. php-5.0.5.tar.gz 3. httpd-2.0.54.tar.gz 下载完成后,记得将它们上传到你的FreeBSD系统上,通常可以通过FTP工具完成。

第二步:安装MySQL
进入压缩包所在目录,执行解压和安装操作:

#tar zxvf mysql-standard-5.0.12-beta-freebsd5.3-i386.tar.gz
#mv mysql-standard-5.0.12-beta-freebsd5.3-i386 mysql //将目录重命名为mysql
#cp -r mysql /usr/local //将mysql目录复制到/usr/local下

接下来,进行一系列的权限设置和数据库初始化:

#cd /usr/local/mysql
#pw groupadd mysql
#pw useradd mysql -g mysql
#chown -R root .
#chown -R mysql data
#chgrp -R mysql .
#scripts/mysql_install_db --user=mysql

完成后,就可以尝试启动MySQL服务了:

#cd /usr/local/mysql/bin
#./mysqld_safe --user=mysql //启动mysql服务

这里有个关键点需要注意:如果启动成功,你会看到类似 Starting mysqld daemon with databases from /usr/local/mysql/var 的提示。但如果出现了进程号后紧接着服务结束的提示,那大概率是启动失败了。这时,务必去检查错误日志 /usr/local/mysql/data/*.err,根据日志信息回溯前面的步骤是否都正确执行。

为了让MySQL能在系统重启后自动运行,一个好习惯是创建一个启动脚本:

#! /bin/sh
/usr/local/mysql/bin/mysqld_safe&

将上面两行内容保存为 mysql.sh,并放到 /usr/local/etc/rc.d/ 目录下,记得给它加上可执行权限。

第三步:安装Apache
处理完数据库,我们来部署Web服务器。解压Apache源码并编译安装:

#tar zxvf httpd-2.0.54.tar.gz
#cd httpd-2.0.54
#./configure --prefix=/usr/local/apache --enable-shared-max --enable-module=so --with-mpm=worker --enable-rewrite
#make
#make install

同样,为Apache也创建一个自启动脚本(apache.sh),放入 /usr/local/etc/rc.d/

#! /bin/sh
/usr/local/apache/bin/httpd -k start&

安装完成后,你可以使用 /usr/local/apache/bin/apachectl stop/start/restart 来管理Apache服务。打开浏览器访问 https://localhost/,如果看到Apache的默认页面,恭喜你,Web服务器架设成功。

第四步:安装PHP及其依赖
在编译PHP之前,需要确保系统已安装必要的图形和XML处理库。

#cd /usr/ports/graphics/gd
#make install
#cd /usr/ports/textproc/libxml2
#make install

现在,开始编译安装PHP5,这里的关键是将PHP与前面安装的Apache和MySQL关联起来:

#tar zxvf php-5.0.5.tar.gz
#cd php-5.0.5
#./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-mysql=/usr/local/mysql --enable-track-vars --enable-inline-optimization --enable-bcmath --with-zlib --with-png --with-gd --with-jpeg --enable-gd-native-ttf --with-ttf --with-freetype --enable-memory-limit --enable-ftp
#make
#make install
#cp php.ini-dist /usr/local/apache/conf/php.ini

第五步:整合Apache与PHP
要使Apache能够解析PHP文件,需要修改其配置文件。 编辑 /usr/local/apache/conf/httpd.conf 文件,加入以下行:

AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php .php5 .php4 .php3

同时,找到 DirectoryIndex 这一行,在默认页面列表中加上 index.php,让它变成:DirectoryIndex index.php index.html index.html.var

接着,按需调整PHP的配置文件,编辑 /usr/local/apache/conf/php.ini,例如设置:

display_error=off
globals=on

最后测试
/usr/local/apache/htdocs 目录下创建一个名为 phpinfo.php 的文件,内容只有三行:

保存后,在浏览器中访问 https://localhost/phpinfo.php。如果页面完整显示出PHP的系统配置信息,那么整个APACHE2+PHP5+MYSQL5的基础环境就宣告搭建完成了。

附加步骤:安装ZendOptimizer

若需要让PHP支持Zend Optimizer以运行某些加密的PHP代码,可以继续以下操作。注意,在FreeBSD上可能需要先解决一个库链接问题,执行: ln -s /lib/libm.so.3 /lib/libm.so.2 或者编辑 /etc/libmap.conf 文件加入 libm.so.2 libm.so.3。 然后解压ZendOptimizer安装包并运行安装脚本即可。

方法二:使用FreeBSD Ports系统安装

对于FreeBSD用户来说,Ports系统往往是更便捷的选择。它能自动处理依赖关系,让安装过程变得清晰简单。

首先,建议同步更新你的Ports树: cvsup -h cvsup.freebsd.org /usr/share/example/cvsup/ports-supfile

安装MySQL
进入对应的Ports目录开始编译安装,这会是一个比较漫长的过程。

cd /usr/ports/databases/mysql50-server/
make install clean

安装完成后,初始化数据库并启动服务:

rehash
cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf //这里示例选用小内存配置
mysql_install_db -u mysql ; mysqld_safe -u mysql &

安装Apache2与PHP5
接着安装Web服务器和PHP模块:

cd /usr/ports/www/apache2/
make install clean
cd ../mod_php5
make install clean

安装完成后,需要在Apache配置文件中添加PHP类型支持。编辑 /usr/local/etc/apache/httpd.conf,加入:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps //此行可选

然后,启动Apache并测试PHP是否工作:

rehash
apachectl start
echo "" > /usr/local/www/data/info.php

此时,用文本浏览器 lynx https://localhost/info.php 或普通浏览器访问该地址,如果能看到PHP信息页,说明基础组件已就绪。

安装PHP扩展
最后,通过Ports安装PHP所需的扩展模块,例如MySQL、GD、LibXML等:

cd /usr/port/lang/php5-extensions/
make install clean

如果是第一次安装,系统会弹出一个配置菜单让你选择需要编译的模块。勾选你需要的组件后,继续完成安装。安装完毕后,重启Apache服务使新模块生效: apachectl restart 再次访问之前的info.php页面,确认新增的模块已出现在列表中。

收尾工作
为了让服务在开机时自动启动,需要将以下内容写入 /etc/rc.conf 文件:

echo 'mysql_enable="YES"' >> /etc/rc.conf
echo 'apache2_enable="YES"' >> /etc/rc.conf

至此,通过FreeBSD Ports系统安装的环境也全部配置完成。两种方法路径不同,但终点一致,你可以根据对系统的控制需求和熟悉程度来选择。无论哪种方式,耐心和注意细节都是成功的关键。

来源:https://www.jb51.net/os/Unix/1515.html
上一篇FREEBSD 忘记密码解决办法 下一篇BSD系统让某个用户登陆就关机的办法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
Linux tail -f命令实操:实时查看文件增长内容
系统平台 · 2026-06-07

Linux tail -f命令实操:实时查看文件增长内容

在Linux环境下排查系统故障时,实时监控日志文件的内容增长是最常用的诊断手段之一。而tail -f命令,无疑是大家最先想到、也最直接的工具。不过,它并非万能解决方案。简单来说,它只负责“追加”监听,对于日志滚动、文件轮转或者权限变更这些生产环境里的常见场景,它就显得力不从心了。 你是否遇到过这样的

Windows批量删除注册表残留提升系统响应速度教程
系统平台 · 2026-06-07

Windows批量删除注册表残留提升系统响应速度教程

你的Windows是不是越用越迟钝?明明已经卸载的软件,却仍在“设置”的应用列表里挥之不去,甚至在“此电脑”里留下几个失效的图标?这多半不是错觉,而是注册表里堆积了太多“垃圾”——那些无效的卸载项、空壳的扩展键,如同系统里散落的“幽灵文件”,拖慢了响应速度,也扰乱了界面整洁。 不必忧虑,清除这些残留

修复Windows无法连接iPhone15/16热点超时问题
系统平台 · 2026-06-07

修复Windows无法连接iPhone15/16热点超时问题

遇到Windows电脑始终无法连接iPhone 15或16的个人热点,确实令人困扰。屏幕上要么持续转圈,要么显示“正在获取IP地址”、“连接超时”,甚至Wi-Fi列表中根本搜不到热点信号。请放心,这通常并非硬件损坏,而是由常见的软件兼容性或系统设置冲突引起的。下面这套系统化的排查方案,能帮助你逐步定

Win11无法识别NVMe硬盘?修复主板BIOS识别SSD教程
系统平台 · 2026-06-07

Win11无法识别NVMe硬盘?修复主板BIOS识别SSD教程

新购置的NVMe固态硬盘已经正确安装到主板上,但Windows 11系统中却始终无法识别?先别担心是硬盘故障,这通常是系统在底层沟通环节出现了小问题。从BIOS UEFI参数配置、驱动程序兼容性到物理连接状态,任何一个环节的细微偏差都可能导致系统无法正常检测到硬盘。接下来,我们将按照故障排查的逻辑顺

Win11多桌面切换手势开启教程 提升触控板操作效率
系统平台 · 2026-06-07

Win11多桌面切换手势开启教程 提升触控板操作效率

Windows11触控板四指左右滑动可切换虚拟桌面以提升效率。若手势失效或设置选项缺失,需确认触控板为精密触控板,并通过系统设置启用功能。若选项不可用,可尝试修改注册表、执行PowerShell命令或检查虚拟桌面功能是否开启,以恢复手势支持。