FreeBSD之WEB服务器配置

来源:互联网 发布:阿里云 大数据 编辑:程序博客网 时间:2024/06/11 21:57

FreeBSD WEB服务器配置全攻略

 

FreeBSD WEB服务器配置全攻略........................................................................................ 1

前言............................................................................................................................... 2

升级系统源码树及ports.................................................................................................. 2

重新编译内核................................................................................................................. 2

规范操作的途径....................................................................................................... 2

查看/usr/src/UPDATING............................................................................................ 2

优化编译环境.......................................................................................................... 3

升级操作系统.......................................................................................................... 3

打开防火墙[pf]................................................................................................................ 3

优化内核参数.......................................................................................................... 4

设置防火墙.............................................................................................................. 4

安装数据库MYSQL.......................................................................................................... 4

配置mysql............................................................................................................... 4

安装APACHE+PHP........................................................................................................... 5

安装ZendOptimizer......................................................................................................... 6

安装FTP服务器(VSFTP............................................................................................... 6

配置VSFTP............................................................................................................... 6

安装SubVersion............................................................................................................... 7

结束语............................................................................................................................ 7

 


 

前言

FREEBSD 系统是一种非常 UNIX、非常 Free、非常 BSD -- UNIX 的操作系统,因为它过UNIX化,太过专业化了,叫很多新手无从下手学习。

本文的目的是使新手可以根据此文章的步骤和方法,架设一台专业,高效,安全的FREEBSD出来,并且可以立即投入实际运用,故文章中对运用及命令的使用多于理论化的知识点的描述,如果您不明白命令有何作用,建议您查查相关资料。

本文假设已经架设好或者新安装了一台FREEBSD系统主机。

本文中引用了很多FREEBSD官方站数据及网上数据,还有更多的是自己在实际工作中的经验,当然,里面的参数并不一定完全适合您,所以请您在使用时,尽可 能根据您的实际需要调整一些参数,使您的SERVER的性能完全的发挥出来。

本文的所有操作均是试验成功后的结果,但不保证书写及格式上的疏漏,特别地是首字母大小写的问题。

升级系统源码树及ports

更新/usr/share/examples/cvsup目录下stand-cvsupports-cvsup文件,并执行cvsup –g –L2 standard-supfilecvsup –g –L2 ports-cvsup两个文件,升级ports树﹔

重新编译内核

规范操作的途径

[

         Mergemaster -p

]

Make buildworld

Make buildkernel

Make installkernel

[//单用户模式

         Mergemaster –p

         Make installworld

         Mergemaster

]

Reboot

查看/usr/src/UPDATING

此文件包含了关于您可能遇到的问题的重要提示信息,或制定了您可能使用到的命令的执行顺序。

优化编译环境

更新/etc/make.conf文件,做适当的编译优化,我的CPUIntel的:

CPUTYPE=i686

CFLAGS= -O3 –pipe

COPTFLAGS= -O3 -pipe

升级操作系统

进入/usr/src

# make buildworld 2个小时左右】

修改/usr/src/sys/i386/conf/GENERIC文件

make buildkernel KERNCONF=GENERIC

重启至单用户模式

Fsck –p

Mount –u

Mount  -a –t ufs

Swapon –a

 

Cd /usr/src

Make installkernel KERNCONF=GENERIC

Make installworld

mergemaster

重新启动服务器

到此为止,服务器操作系统及内核升级成功

打开防火墙[pf]

为了启用PF,需要在编译内核的时候增加以下选项:

device pf

device pflog

device pfsync

 

options         ALTQ

options         ALTQ_CBQ

options         ALTQ_RED

options         ALTQ_RIO

options         ALTQ_HFSC

options         ALTQ_PRIQ

options         ALTQ_NOPCC

 

更新rc.conf里面的设置,加上:

Pf_enable-“YES”

Pf_rules=”/etc/pf.conf”

Pflog_enable=”YES”

Pflog_logfile=”/var/log/pflog”

Pflog_flags=””

 

优化内核参数

修改系统内核参数,实现微调:vi /etc/sysctl.conf
net.inet.icmp.icmplim=100

设置防火墙

修改/etc/pf.conf添加规则

安装数据库MYSQL

安装mysql51-clientmysql51-server

进入/usr/ports/databases/mysql51-client

执行:

make install clean

进入/usr/ports/databases/mysql51-server

Make WITH_CHARSET=utf8 WITH_OPENSSL=yes WITH_COLLATION=utf8_unicode_ci WITH_OPTIMIZED=yes

Make install

Make clean

配置mysql

Cd /usr/local/bin

./mysql_install_db –user=mysql      [默认情况下使用port安装数据库,系统会自动增加mysql用户和组]

此时/var/db/mysql目录会安装并设置OK

启动mysqlmysqld_safe &

修改root密码:mysqladmin –uroot password ‘yourpass’

Mysql(随系统)自动启动:在/etc/rc.conf中添加一行—mysql_enable=”YES”

 

默认/etc下没有my.cnf文件,可以在/usr/local/share/mysql/目录下选择适合需求的配置文件拷贝到/etc下并改名为my.cnf

手动启动、停止、重启mysql服务: /usr/local/etc/rc.d/mysql-server start|stop|restart

安装APACHE+PHP

安装apache22

进入/usr/ports/www/apache22

执行:

Make            [选择要安装的mod等,在后面的subversion安装中需要有mod_auth*模块,注意添加,特别是mod_authn_file,否则SubversionAuthUserFile命令会无效]

make install

Make clean

 

进入/usr/ports/lang/php5
执行:make install clean

 

进入/usr/ports/lang/php5-extensions

执行:make install clean

 

【注意】

1、修改/boot/loader.conf文件,添加:
accf_data_load=”YES”
accf_http_load=”YES”

2、Apache配置文件中的mod_unique_id模块要求hostname能够解析,因此在/etc/hosts文件中加入主机名的解析

 

 

安装完成后,在/usr/local/etc/apache/httpd.conf里面,加入如下内容:
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps

替换DirectoryIndex细节为:

DirectoryIndex index.html index.htm index.wml index.cgi index.shtml index.jsp index.js index.jp index.php4 index.php3 index.php index.phtml default.htm default.html home.htm

安装ZendOptimizer

Cd /usr/ports/devel/ZendOptimizer

Make install clean

 

修改/usr/local/etc/php.ini文件,添加以下内容:

[Zend]

zend_optimizer.optimization_level=15

zend_extension_manager.optimizer="/usr/local/lib/php/20060613-debug/Optimizer"

zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613-debug/Optimizer_TS"

zend_extension="/usr/local/lib/php/20060613-debug/ZendExtensionManager.so"

zend_extension_ts="/usr/local/lib/php/20060613-debug/ZendExtensionManager_TS.so"

 

以上内容可能不一样,根据安装后的提示添加即可

 

安装FTP服务器(VSFTP

进入/usr/ports/ftp/vsftp

执行:

make install clean

配置VSFTP

编辑/usr/local/etc/vsftpd.conf文件,加入以下内容:

Listen=YES

Background=”YES”

 

编辑/etc/rc.conf文件,加入以下内容:

Vsftpd_enable=”YES”

 

修改vsftpd.conf文件相应选项来设置VSFTP

 

安装SubVersion

进入/usr/ports/devel/subversion目录

Make install clean

 

配置apache支持svn

导入必要的模块:dav_moduledav_fs_moduledav_svn_moduleauthz_svn_module

创建站点:

<Location /svn>

DAV svn

SVNListParentPath on

SVNParentPath /svn  (此处配置你的版本库根目录,需要创建此目录)

AuthType Basic

AuthName "Welcome my friend."  (此处字符串内容修改为提示对话框标题)

AuthUserFile /svn/AuthUserFile   (此处修改为访问版本库用户的文件,用apache htpasswd命令生成)

AuthzSVNAccessFile /svn/AuthAccessFile (此处修改为访问版本库权限的文件)

Require valid-user

</Location>

创建用户文件:

#htpasswd –cm /svn/AuthUserFile wow (第一次添加用户需先创建文件,所以有参数-c

创建用户访问权限文件:

# vi /subversion/auth

[groups]

Tester=testUser

Developer=wow

[test:/]

@Tester = rw

master = rw

comUser = r

 

重启apache进行测试(http://domainName/svn/

结束语

至此为止,一般可以实际运作的FREEBSD系统就建立起来了,您可以重启一下,让最新的设置及软件生效。
如果在安装过程中出现错误,您可以先检查完错误,再接着安装下去。或者你可以选择你感兴趣的某些部份安装!
当然因为时间仓促,涉及到的知识太广,加上本人能力有限,其中错误在所难免,恳请各位读者提出来,大家共同提高,共同进步!