freeBSD5.4下安装配置apache2+php5+mysql5过程
在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 的文件,内容只有三行:
phpinfo(); ?>
保存后,在浏览器中访问 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系统安装的环境也全部配置完成。两种方法路径不同,但终点一致,你可以根据对系统的控制需求和熟悉程度来选择。无论哪种方式,耐心和注意细节都是成功的关键。
相关攻略
1:绕不开的基础依赖:Git 很多朋友在兴致勃勃地准备体验新工具时,第一步就容易被拦下。比如,在确认Node环境正常后,执行安装命令却碰了壁。 C: Users Administrator>npm install -g openclaw@latest npm error code ENOENT np
Solaris Express Developer Edition:开发者的免费利器 对于想在Solaris平台上进行开发的用户来说,Solaris Express Developer Edition(简称SXDE)无疑是一个绝佳的起点。这个版本完全免费,并保持着每个季度发布一个新版本的节奏,堪称专
什么是MUA、MTA、MDA以及信件如何送达 搞懂电子邮件的工作原理,其实就像拆解一个接力赛跑。整个过程离不开三个关键角色:MUA、MTA和MDA。 先说说MUA,也就是邮件用户袋里。它就是你电脑上用来收信和发信的那个软件,比如大家熟悉的Outlook Express。它是你与邮件世界直接对话的窗口
1 介绍 在嵌入式数据库领域,SQLite 是一个无法被忽视的经典选择。作为一款开源、轻量级、无需独立服务器的关系型数据库引擎,它以其自包含、零配置和完整的 SQL 事务支持而著称。SQLite 的核心优势在于其卓越的可移植性、极简的部署方式、紧凑的代码结构以及经过验证的高效性与可靠性。与其他数据
在FreeBSD上搭建Apache2+PHP5+MySQL5环境:两种经典方法详解 今天,我们一起来重温一个经典的技术栈搭建过程:在FreeBSD系统上部署Apache2、PHP5和MySQL5。这套LAMP的变体(或许该叫FAMP?)在当年承载了无数应用。虽然如今部署方式已更加多样化,但理解从源码
热门专题
热门推荐
Poe交换机带载后重启:是故障,还是系统在“自救”? 不少朋友遇到过这个头疼的问题:PoE交换机一接上设备就重启。其实,这本质上不是设备坏了,而是供电系统一套精密的自我保护机制在起作用。当负载接入的瞬间,如果系统检测到功耗超标、供电不稳等情况,就会主动触发复位,防止硬件受损。这正是IEEE 802
高性价比电饼铛:精准匹配、扎实可靠、真正省心 挑选一款高性价比的电饼铛,核心其实很明确:功能要精准匹配你的真实需求,材质工艺必须扎实可靠,细节设计能让你每天用着都省心。它追求的绝不是单纯的便宜或者参数漂亮,而是每一分钱都花在刀刃上。比如,2100W级的稳定火力保证了煎烤效率不打折;0氟不粘涂层配合蜂
红米K30 5G动态壁纸联网机制全解析 关于红米K30 5G的动态壁纸是否需要一直联网,答案是:完全没必要。这玩意儿用起来其实很“懂事”,它只在你第一次上手和偶尔想换新的时候,才需要网络搭把手。 其背后的逻辑很清晰:手机搭载的MIUI系统,把所有酷炫的动态壁纸资源都放在了小米官方的“云端仓库”里。所
vivo Y35桌面时间不显示?别急,这事儿有解 不少vivo Y35用户可能都遇到过这个情况:一觉醒来,或者换个主题之后,主屏幕上那个熟悉的“时间”不见了。先别急着怀疑手机坏了,事实是,超过八成的类似问题,根源其实很简单——时间组件压根没被“请”上桌面,或者相关的自动设置被无意中关闭了。作为一台搭
英雄联盟手游杰斯新皮肤外观设计酷炫,充满科技感。技能特效以蓝色能量为主,视觉效果震撼且辨识度高。实战中技能清晰、手感流畅,能提升操作自信与战场表现。整体而言,该皮肤在视觉、特效与实战体验上均表现优异,值得玩家入手。





