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

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系统让某个用户登陆就关机的办法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
麒麟系统字体太小看不清如何调整界面字体大小
系统平台 · 2026-07-01

麒麟系统字体太小看不清如何调整界面字体大小

麒麟系统高分屏字体过小需分层干预:控制中心调整缩放至150%或200%,辅助功能增大文本,命令行设置MateDPI值(2K设200 0,4K设220 0),QT类软件用环境变量QT_DEVICE_PIXEL_RATIO=2,终端取消使用系统等宽字体并改字号,输入法候选字体调至16或18。

Win11记事本默认不换行如何设置为自动换行
系统平台 · 2026-07-01

Win11记事本默认不换行如何设置为自动换行

Windows11记事本默认不自动换行,手动开启仅对当前窗口有效。若要永久启用,可修改注册表,在HKCU Software Microsoft Notepad路径下新建DWORD值fWrap并设为1,或导入含此设置的 reg文件,此后所有新建记事本文件均自动换行显示,无需重复手动操作,一劳永逸。

银河麒麟系统时间快几分钟的调整方法
系统平台 · 2026-07-01

银河麒麟系统时间快几分钟的调整方法

银河麒麟系统时钟快几分钟的解决方法:先用date命令校正系统时间,再执行hwclock--systohc写入硬件时钟;启用systemd-timesyncd并配置阿里云NTP服务器;禁用chronyd避免服务冲突;双系统用户需设置硬件时钟为UTC模式。

Win11多屏下设置软件只在特定屏幕打开的方法
系统平台 · 2026-07-01

Win11多屏下设置软件只在特定屏幕打开的方法

双屏办公时,通过快捷方式添加启动参数、利用Windows窗口位置记忆功能或PowerShell脚本,可让软件自动在副屏打开,免去手动拖拽,提升工作效率。

MacBook如何取消菜单栏蓝牙搜索状态
系统平台 · 2026-07-01

MacBook如何取消菜单栏蓝牙搜索状态

在macOS中,进入系统设置“控制中心”,将蓝牙设为“不显示在菜单栏”即可隐藏图标且功能正常;旧版系统则在蓝牙偏好设置中取消勾选“在菜单栏中显示”。