使用 Ports 方式在 FreeBSD 下配置 MySQL,Apache,PHP
郁闷了好几天 , 终于在 FreeBSD 下将 MySQL,Apache,PHP 的环境培植好了 . 下边把配置步骤和注意点罗列在下边 , 和大家分享 .
FreeBSD 版本是 7.3,MySQL 版本是 5.0.90,Apache 版本是 2.2.14 ( 1.3.42 ) ,PHP 版本是 5.2.12. 我的安装顺序是先 MySQL, 然后安装 Apache 和 PHP, 一般是安装完成一个并测试通过后安装下一个 , 这样容易发现问题所在 .
一 . 安装 MySQL
cd /usr/ports/databases/mysql50-server/
make WITH_XCHARSET=all // 默认支持所有字符集
make install
# 经历一个比较长的下载和编译过程后 ,mysql 基本安装完成 .
rehash
# 拷贝 MySQL 的配置文件 , 系统默认提供了四个 , 需要根据服务器的配置来选择适合的配置文件 ,MySQL 的大部分配置 # 都可以通过此配置文件来完成 , 也可以在此配置文件中查看数据库的各种配置信息 .
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf
# 编辑 rc.conf 文件 , 在其中添加 mysql_enable="YES"
vi /etc/rc.conf
# 启动 MySQL
cd /usr/local/etc/rc.d/
./mysql-server.sh start
# 启动 MySQL 客户端
cd /usr/local/bin
./mysql –u root -p
如果能成功连接到 MySQL, 则表示安装成功 !
二. Apache+php 的安装
也许您的 mysql 已经成功的运行了起来,但这还是远远无法满足要求的,万维网的存败似乎跟重要的来自于 Apache 和 PHP 的成功与否 —— 至少,这决定您主机可以运行两层结构的网站。指尖在被人称作 “ 小黑 ” 的电脑键盘上拂动,我键入了:
cd /usr/ports/www/apache22/
make install clean
正如上面一样,我又一次回忆了我虚度的童年时光。
cd /usr/ports/lang/php5
make config ,在这里要选择您需要的 PHP 的 modules ,但请记住一点,如果您不选择 apache 支持的话,也许您就会因此而后悔莫及。伤害一个系统的最好方法就是伤害他最不容易察觉的地方。
make install clean
rehash
童年又再一次的被回忆了起来,我似乎看见了家乡的桃花 ……
当我从回忆的桎梏中解脱出来,回身,编译已经结束,剩下的只有配置了,回味中,我想,这也许就是生活,等待中的生活。
配置过程相比之下是紧张而痛苦的,没有了漫长的等待,更多的是寻觅。
在 /usr/local/etc/apache22/httpd.conf 中加入:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps # 可不加,仅仅只是方便您察看 PHPS 格式的源代码。
可以尝试让系统启动起来了,付出了艰辛之后,是时候享受成果了:
apachectl start
(cd /usr/local/etc/rc.d/apache22 restart)
echo “<?php phpinfo() ?>” > /usr/loacl/www/data/info.php
如果启动成功,并能显示 lynx http://localhost/info.php ,说明您的辛苦没有白费,系统起来了! Apache PHP Mysql 这一刻在您的机器上灵魂附体,他已经不是一个人在战斗!!
安装 php 扩展
cd /usr/port/lang/php5-extensions/
make install clean # 如果第一次安装会出现提示框,否则先 make conf 设置
选择需要的模块,当然也可以选择必须的,日后再添加。
apachectl restart
在 FreeBSD 下使用 ports 安装 apache22 会出现类似的 warming : No such file or directory: Failed to enable the 'httpready' Accept Filter
解决方法是:
修改 /boot/defaults/loader.conf 中,以便下次启动自动装载模块
此时需要修改 /boot/loader.conf ,该文件本身是个空文件,在其中添加一行 accf_http_load=”YES” 即可。
没有修改的话按照下面括号内的命令重启apache服务器
(cd /usr/local/etc/rc.d/apache22 restart)
如果 lynx http://localhost/info.php 有改动,恭喜你!安装成功!!
查看 phpinfo 没有 mysql 和 GD 库的信息
要使php 支持 mysql
到/usr/ports/database/php5-mysql 下安装php5-mysql
cd /usr/ports/database/php5-mysql
make install clean
支持 GD
cd /usr/ports/graphics/php5-gd
make install clean
后续工作:
echo ”””””””””””””””” mysql_enable = “YES” ”””””””””””””””” >> /etc/rc.conf
echo ”””””””””””””””” apache2_enable=”YES” ”””””””””””””””” >> /etc/rc.conf
这样,纵然您的机器无故重起,照旧服务器还可以正常运行,一如往常一样的运行着 …… 运行着 …………
我显示器就样默默的对视了大约 40 分钟,在这 40 分钟里,我和他的距离最近只有 0.01 厘米 ,就在这 40 分钟之后,我彻底的爱上了 FreeBSD ……
爱上的 FreeBSD ,也爱上了开源,这难道就是传说中的幸福吗?
三. phpMyAdmin 的安装
一、安装
# cd /usr/ports/databases/phpmyadmin
# make install clean
勾选 “MYSQLI ” 选项,其它的保持默认。按 “OK” ,系统开始安装。
安装phpmyadmin
# cd /usr/ports/databases/phpmyadmin
# make install clean
将phpmyadmin 这个目录移至/usr/local/www/apache22/data/ 下
(将phpMyAdmin 目录移到网页目录( 系统默认是/usr/local/www/apache22/www/data/{ 我们这里为/home/www/})
# cd /usr/local/www
# cp -r phpMyAdmin /home/www/
)
找到目录里的config.inc.php 文件,打开
找到 $cfg['PmaAbsoluteUri']
修改你将上传到空间的phpMyAdmin 的网址
如:$cfg['PmaAbsoluteUri'] = 'http://your.domain.com/phpmyadmin/';
还有下面的
$cfg['Servers'][$i]['host'] = 'localhost'; (通常用默认,也有例外)
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
在自己的机子里调试用config ,如果在网上用cookie 。
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user (用户名,自己机里用root ,在网上设你的ftp 用户名)
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed
自己机里不用设
$cfg['Servers'][$i]['only_db'] = ''; // If set to a db-name, only (你只有一个数据就设置一下)
还有设
$cfg['DefaultLang'] = 'zh';
创建 Apache 的 phpMyAdmin 配置文件。
# vi /usr/local/etc/apache22/Includes/phpmyadmin.conf
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin/">
Options none
AllowOverride All
Order Deny,Allow
Deny from all
Allow from all
</Directory>
这个文件将引导 Apache 定位到 phpMyAdmin ,并且让 phpMyAdmin 的配置选项从 Apache 的主配置文件 httpd.conf 中分离出来,方便了管理。
保存退出,重启 Apache 服务
# /usr/local/etc/rc.d/apache22 restart
打开浏览器输入 : http://ip/phpmyadmin