Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152724
  • 博文数量: 21
  • 博客积分: 2116
  • 博客等级: 大尉
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 10:03
个人简介

山东汉子

文章分类

全部博文(21)

文章存档

2011年(1)

2010年(20)

我的朋友

分类: BSD

2010-08-22 18:47:55

FreeBSD 下Mysql+Apache+PHP的安装配置
——FreeBSD下配置LAMPs环境


免责声明:文档为本人原创,转载请注明出处。
欢迎访问我的博客:zhangmtao.cublog.cn

桌面系统我已经完全迁移到Ubuntu下了,那么服务器呢?
以前服务器都是用Redhat Linux,或者CentOS这类系统,配置很方便,维护也很容易,呵呵。
但是问题也来了,这些系统的个头都不小,跟MS的东西有的比了。因此作服务器,我在不断的寻找更好的平台:个头小,性能稳定,维护方便,兼容性好;当然这系统是要免费开源的。
由于以前就接触过BSD,在经过一段时间的比较之后,考虑多方面因素,我这里选用FreeBSD8作为服务器平台。有关于FreeBSD的介绍,这里就不多说了。现在8.1版本也发布了,呵呵。很好的平台,完全满足我的需求。
FreeBSD作为服务器平台,需要后期安装很多东西,尤其是类LAMPs环境,架设网站,作其他的应用,这是必须的一个平台。
下面就简单记录这里在FreeBSD下安装配置LAMPs的过程。

1、首先安装FreeBSD8操作系统
系统安装这里就不多说了,我假设大家都可以手动安装完成系统。我这里选择的是自定义安装,只安装了必须的包,其他的后期安装。
安装的时候记得恰当设置好各个分区空间,如果你有大量应用和大量用户的话。
安装完毕后,运行sysinstall,设置Time Zone,设置网络参数,设置其他的必须设置的参数。

2、设置Ports源,设置系统允许SSH访问

系统默认的源是官方网站,我们在国内访问的时候速度还是慢的;我们这里把它设置成速度较快的源。
#ee /etc/make.conf //添加如下内容,保存退出。

MASTER_SITE_BACKUP?= \
ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp.tw.FreeBSD.org/pub/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp.hk.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp6.tw.FreeBSD.org/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp11.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
 
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}

很多时候,我都不喜欢本地登录到系统,都是远程操作的,可是FreeBSD默认的是不允许root远程SSH访问的,那么我们修改一下,允许root用户远程登录。
首先,我们在inetd里头打开ssh,就是把ssh那个前面的#去掉,保存退出即可。
然后,我们修改/etc/rc.conf,验证看看是否有如下一行,没有的话就添加,保存退出。
#vi /etc/rc.conf
ssh_enable="YES"
最后,编辑sshd.conf这个文件,允许root用户使用ssh远程登录。
#vi /etc/ssh/ssdhd.conf
把这一行前面的 # 去掉
PermitRootLogin yes
保存退出,然后重启系统,启动完毕之后,就可以远程root登录了。
好了,到这里,我们基本上就可以准备好了系统的环境了,可以开始下面的安装了。
***使用SSH远程登录FreeBSD系统,只需要运行
***ssh username@xxx.xxx.xxx.xxx
***然后输入密码,即可登录。

3、安装Mysql数据库服务器
好了,我们开始安装MySQL数据库服务器,这里我们使用ports安装,首先要保证系统联网,能访问网站。如果没有配置网络参数,那么运行sysinstall去设置网络参数。

首先创建mysql组和用户
#pw groupadd mysql
#pw useradd mysql -g mysql
转到ports目录,开始安装
#cd /usr/ports/databases/mysql50-server
#make install clean
下面就等着系统下载,安装。记得在安装过程中,要选择必须的模块,例如apache的支持等。
等待一会,系统安装完成。进行如下步骤:
01初始化数据库
#cd /usr/local/bin
#mysql_install_db --user=root
02设定目录权限
#chown -R mysql:mysql /var/db/mysql
03复制my.cnf配置文件
#cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
04启动测试mysql
#cd /usr/local/bin
#mysqld_safe --user=root &
然后给mysql设置密码!!!
#mysqladmin --user=root password 'yourpassword'
测试是否可以登录
#mysql -u root -p
然后输入密码看看是否可以登录,登录后会出现mysql>这个提示符,输入show databases; 查看数据库
05设置mysql随系统自动启动
编辑/etc/rc.conf文件,添加如下一行
mysql_enable="YES"  保存之后,重新启动,验证mysql服务是否启动
#netstat -na |grep 3306
如果系统在这个端口有监听,那么恭喜,我们开始下一步。
//如果没有启动,那么首先设置一下目录权限,接着再运行一次install_db,这样就可以了。
//我这里遇到过这个情况,是再次初始化了数据库之后,服务就可以正常启动了。

4、安装Apache22 Web服务器
回到ports目录,安装,记得在安装过程中,需要选择多个组件支持,这里根据你的需要选择。
#cd /usr/ports/www/apache22
#make install clean
系统默认安装web根目录到/usr/local/www/data。
安装完成后,设置apache随系统启动自动启动
#vi /etc/rc.conf
添加如下一行
apache22_enable="YES"
保存退出。然后开始安装php。

5、安装PHP和PHP Extentions
回到ports目录,安装php,安装php-extentions
#cd /usr/ports/lang/php5
#make install clean
过程中需要设置很多的库支持,例如gd,gettext,curl等等,自己看仔细,不要遗漏。
然后安装php扩展
#cd /usr/ports/lang/php5-extentions
#make install clean
这里还是需要设置安装一些所用的php扩展,记得仔细选择,
*切记:cures和curl不可以同时安装,否则会出错.
这个过程比较慢,耐心等待完成吧。

安装完成后,记得拷贝php.ini文件到相应的目录下,然后修改php.ini里头的时区选项。
#cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
#vi /usr/local/etc/php.ini 
设置时区为中国(去掉前面的;然后后面添加 PRC)
data.timezone = PRC
保存退出。

6、完成LAMPs并测试
以上安装完成后,编辑httpd.conf文件,进行必要的设置
#vi /usr/local/etc/apache22/httpd.conf
添加如下的行,或者去掉行前面的#

首先检查是否LoadModule加载了PHP模块

LoadModule php5_module        libexec/apache22/libphp5.so
SeverName hostname.domainname  //修改服务器名称为规范名
Options Indexes FollowSymLinks  //这里去掉Indexes,是为了不让用户列服务器目录
AddType application/x-httpd-php .php   //添加php支持
AddType application/x-httpd-php-source .phps  //添加phps支持
DirectoryIndex index.html index.php //添加php类型的默认页面

全部完成之后,保存退出,然后创建一个文件
#vi /usr/local/www/apache22/data/info.php
内容如下

pnpinfo()
?>

然后启动apache服务器
#/usr/local/sbin/apachectl restart

打开浏览器,输入该文件的地址
应该会出现服务器的php相关信息。这里你可以看到你的服务器的php相关参数和环境。
恭喜,这样的话,系统成功了。

保存所有的工作,重启服务器,然后检查一下,看看是否还能打开这个页面,然后查看是否mysql在监听3306端口。理论上来说,都应该正常启动的。
另外,在系统启动的时候,如果你注意屏幕,会看到服务启动的相关信息,例如inetd,ssh,mysql,apache等等。

后面的事情,你需要作什么服务器,那就继续吧。。。





阅读(1191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~