2009-03-23

FreeBSD7.10通过ports安装lamp

类归于: Linux, symfony — 标签:, maker @ 13:20

最近终于逼着自己装了一个FreeBSD7.10, 第一次用,弄得一团糟,第一天研究了一下午才装了个gnome,接下来的两天就一直在解决lamp的问题。

FreeBSD中ports的使用和编译还是很大差异的,我以前在centOS上编译过lamp,后来发现port根本不是那么回事,虽然安装命令也是make install,但完全部能用一种思路来理解。

安装apache

cd /usr/ports/www/apache20

make install

多数通过ports安装的软件都会被安装到/usr/local目录下,执行程序在/usr/local/sbin,bin下,配置文件在/usr/local/etc下,库文件在/usr/local/libexec下,www根目录在/usr/local/www/data下.

我们启动apache, 如果你没找到程序路径就用whereis apache, whereis apache2, whereis httpd

最后发现httpd在/usr/local/sbin目录下

/usr/local/sbin/httpd -k start

安装mysql

cd /usr/ports/databases/mysql50-server

make install

我在启动mysql的时候遇到了各种的问题

首先是初始化数据库

/usr/local/bin/mysql_install_db

但是最没有办法解释的竟然是root的权限错误

chmod -R 777 /var/db/mysql

启动mysql

/usr/local/bin/mysqld_safe

安装php5

最头痛的就是安装php5了,因为对ports使用方法的误解,所以一直都没能正确的安装php5.

遇到的问题有以下几个:

1)重新编译的时候需要先运行make clean,否则会出现莫名其妙的问题

2)安装php之前需要先运行make config, 这个很重要,把里面该选的都选上,特别是Apache Build Module那个,否则apache就不能支持php

在不断的重复重复再重复安装之前,有一个问题困扰我很久,就是安装是通过make install安装的,却没有make uninstall命令,找很久发现很多软件安装完需要执行pkg_add -r name,于是就发现了pkg_delete这个命令。

总结一下

在不断的失败之后的失败之后的失败之后,坚持是很重要的,port作为一个很多年之前出现的package管理器来说,算是很强大了,但我完全没办法拿ports和apt-get还有yum来比,因为FreeBSD终究是FreeBSD,So ……

记录两个命令,查找package, 在安装lamp的时候被我用到了无数次, 这个命令貌似一定要在/usr/ports目录下使用

cd /usr/ports

make search key=<key>

上面是使用关键字进行搜索,如果查出的结果太多,那么使用

make search name=<key>

还有呢。。。查看已安装的软件包使用

pkg_info

如果我们想查看是否安装了apache则使用

pkg_info|grep apache

哦了,本文完

2009-01-18

archlinux 安装 LAMP环境

类归于: Arch, PHP — 标签:, , , , , , bobhero @ 13:25

archlinux 安装 LAMP环境

archlinux 据说是很牛的系统  试了以后 的确很牛,牛到我累了好长时间也不能成功驾驭

不过工作重要 还是先说说LAMP环境如何来做吧。

archlinux 有一个传说中很牛的 类似 apt-get 的东西  叫 pacman

用命令

pacman -S apache mysql php

就可以直接把 apache mysql php 基本安装完成 我不确定顺序是否有影响 但是我建议大家如果想事少一点还是按这个顺序来吧

不知道从什么时候开始 php有一个openbase_dir 的变量 这个变量标识哪些目录可以用来存放 php文件 即 document root 一定要在openbase_dir 里,否则不会执行

而且 archlinux 的默认的document  root 是 /srv/html 这个目录默认没有 而且当安装apache的安装后 我习惯的测了一下 ,这个目录不存在,会让apache 启动失败,所以我改成了/var/www 结果 php 放在/var/www下时 ,由于不在 openbase_dir里 所以不能执行 而且不报任何错误(由于php.ini的设置)所以就会出现 要么不解释 php文件 ,解释的时候 什么也没有 就是一片空白 一点错误也不报。 最难受的是  当GOOGLE  archlinux lamp 的时候 一点也没有文章 提及这一现像,也没有解决方案 ,让我弄了好长时间才发现解决办法 。

解决办法就是 在php.ini 里 修改openbase_dir  或是 对应的不要修改 把文件直接放到/srv/html里

mysql 也是用得相当吃力 命令行下可以很好的进入 但是phpmyadmin就不可以 提示 连接被拒 也想过很多办法  但是未果 。后来发现不知道什么时候,或是哪条设置让 phpmyadmin不能用root   没有密码的情况下 连接 到mysql 没有办法  只好强行新建一个用户 给出所有权限。还有一点 现在MYSQL聪明了,在 skip-grant-tables时不可以对用户进行操作,这样是安全了很多,也让忘了密码的时候没有办法 进行找回

OK 只要注意以上两点基本上LAMP环境没有问题了

WordPress 所驱动