FreeBSD6.2安装配置记录

1.最小化安装,(ports, man, bash-3.1.17, perl-5.8.8)
2.安装完成重启后更改shell
    chsh -s /usr/local/bin/bash
    运行后,重新登录或是重启系统
3.配置网络
    运行:sysinstall
    选择 Configgure -> Networking -> Interfaces
    跳过IPV6,如没有DHTP服务器则跳过,直接进行网络设置
    配置完成后运行ping www.sina.com.cn 看网络是否完成
    用ifconfig看网络配置参数是否正确
    ntpdate clepsydra.dec.com    #同步时间
4.升级(更新)ports
    网络配置成功后,如果是第一次更新使用可以:portsnap fetch extract
    以后直接使用:portsnap fetch update 进行更新
5.安装MYSQL
    cd  /usr/ports/databases/mysql50-server #进入到MYSQL50的PORTS目录
    make WITH_CHARSET=gbk WITH_XCHARSET=all BUILD_OPTIMIZED=yes BUILD_STATIC=yes install clean
    #开始下载,编译,安装,清除.
    安装完成后进行下列操作
    ee /etc/rc.conf    #编辑rc.conf文件加入 mysql_enable="YES" 保存退出
    复制一份 my.cnf 来修改
        # my-small.cnf             小配置安装,内存<=64M,数据数量最少
        # my-large.cnf             内存=512
        # my-medium.cnf            32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
        # my-huge.cnf              1G<内存<2G,服务器主要运行
        # my-innodb-heavy-4G.cnf   最大配置安装,内存至少4G

    cp /usr/local/share/mysql/my-medium.cnf  /usr/local/etc/my.cnf
    编辑加入
    [client]
    default-character-set=gbk

    [mysqld]
        #数据库地址
    datadir= /server/mysqldata
    default-character-set=gbk
    default-storage-engine=MyISAM
    query_cache_size = 32M

    [mysql]
    default-character-set=gbk

    保存后,建立目录
    如果是以PORTS方式安装的则要修改mysql的启动配置文件/usr/local/etc/rc.d/mysql-server
    ee /usr/local/etc/rc.d/mysql-server
    #修改指定数据库路径
    : ${mysql_dbdir="/var/db/mysql"}    =>    : ${mysql_dbdir="/server/mysqldata"}
    #修改指定mysql配置文件my.cnf的路径
    command_args="--defaults-extra-file=/usr/local/etc/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir}



    下面4点说明请注意
    #1、如果你mysql默认安装在/var/db/mysql的话,请执行以下步骤,如果是安装在/usr/local/mysql下的话,请另找文档。
    #2、/usr/local/bin/mysql_install_db,如果是第一次安装的话,请务必执行此步骤
    #3、chown -R mysql /var/db/mysql 以往的资料都是从添加mysql用户及用户组开始,在BSD6.2下mysql安装会自动完成mysql用户及组的添加,所以直接执行前述chown命令即可。这一命令在于,一般人安装msyql时,基本上是以root用户执行的,所以/var/db/mysql的默认用户及组是root wheel,这可以从ls -dl /var/db/mysql命令结果中可以看出。但启动mysql一般是以mysql用户即mysql手册中所称的non-root用户登录的,不推荐root,
    #4、/usr/local/bin/mysqld_safe &,这里不用再添加--user=mysql选项,理由在第3点中已经说了,当然有兴趣的可以试着加一下--user=root看看效果。

    mkdir /server/mysqldata
    chown -R mysql:mysql /server/mysqldata

    #/usr/local/bin/mysql_install_db --user=mysql    初始化数据库,此处不是必须,因为在启动时会自动运行,只要建好目录,给好权限即可

    #chown -R mysql /server/mysqldata    修改权限
    #/usr/local/bin/mysqld_safe &        运行MYSQL

    pgrep mysqld                查看MYSQL是否启动
   
    MYSQL启动后修改MYSQL管理员root密码
    /usr/local/bin/mysqladmin -uroot password 123456

    若要让MYSQL支持远程连接,则登录MYSQL控制台后运行下面的语句
    grant all on *.* to 'root'@'%' identified by '123456';
    quit

6.安装APACHE22
    cd /usr/ports/www/apache22        进入目录

    如果需要安装SVN必须加入 WITH_BERKELEYDB=db42
    make WITH_MPM=worker WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_THREADS=yes WITH_BERKELEYDB=db42 install clean
    一般则是
    make WITH_MPM=worker WITH_AUTH_MODULES=yes WITH_THREADS=yes install clean


7.安装PHP5
     cd /usr/ports/lang/php5
     make config

        [X] CLI               Build CLI version
        [X] CGI              Build CGI version
        [X] APACHE      Build Apache module
        [X] FASTCGI      Enable fastcgi support (CGI only)
        [X] PATHINFO    Enable path-info-check support (CGI only)

    make install clean

    cd /usr/ports/lang/php5-extensions
    make config
    make WITHOUT_X11=yes install clean    #PHP5-GD依赖x11是因为它需要X11来支持一种叫做“xpm”也就是"X PixMap"格式的图片。
                        #我没听说过,也不需要这种格式的图片处理功能,所以,使用WITHOUT_X11=yes 来避免
                        #了安装x11这个庞然大物
    cd /usr/ports/databases/php5-pdo_mysql
    make install clean

    cd /usr/ports/databases/php5-pdo_odbc
    make install clean

    cd /usr/ports/www/eaccelerator
    make install clean

    mkdir /tmp/eaccelerator
    chown www /tmp/eaccelerator
    chmod 0700 /tmp/eaccelerator

    编辑 /usr/local/etc/php/extensions.ini
    加入 extension=eaccelerator.so

    cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

    编辑 /usr/local/etc/php.ini
    short_open_tag = Off        => short_open_tag = On
    error_reporting  =  E_ALL    => error_reporting  =  E_ALL & ~E_NOTICE
    display_errors = Off        => display_errors = On
    ;date.timezone =        => date.timezone = ASIA/shanghai
    ;session.save_path = "/tmp"    => session.save_path = "/tmp"
    #如查要把session放到一个目录中的话,如session.save_path = "/tmp/session"则要更改session的用户及用户组
    #一般不用,默认到/tmp即可
    #mkdir /tmp/session
    #chown -R www:www /tmp/session

    在尾部加入
    [eaccelerator]
    eaccelerator.shm_size="16"
    eaccelerator.cache_dir="/tmp/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="0"
    eaccelerator.shm_prune_period="0"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"
    保存退出

    编辑 /usr/local/etc/apache22/httpd.conf
    检查下面这行行,因为安装SVN会多出一条,如果有删除一条,保留一条即可.
    #LoadModule dav_module libexec/apache22/mod_dav.so        #如不注释这一行,启动会出错.
    注释下列
    #LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so
    #LoadModule include_module libexec/apache22/mod_include.so
    #LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so
    #LoadModule expires_module libexec/apache22/mod_expires.so
    #LoadModule headers_module libexec/apache22/mod_headers.so
    #LoadModule unique_id_module libexec/apache22/mod_unique_id.so
    #LoadModule setenvif_module libexec/apache22/mod_setenvif.so
    #LoadModule status_module libexec/apache22/mod_status.so
    #LoadModule autoindex_module libexec/apache22/mod_autoindex.so
    #LoadModule asis_module libexec/apache22/mod_asis.so
    #LoadModule actions_module libexec/apache22/mod_actions.so
    #LoadModule speling_module libexec/apache22/mod_speling.so
    #LoadModule userdir_module libexec/apache22/mod_userdir.so
   
    在LoadModule php5_module        libexec/apache22/libphp5.so 之后加入
    PHPIniDir /usr/local/etc 
    AddType application/x-httpd-php .php .php3 .php4

    ServerAdmin you@example.com    => ServerAdmin km3945@gmail.com
    #ServerName www.example.com:80    => ServerName localhost:80
    Options Indexes FollowSymLinks    => Options FollowSymLinks
    DirectoryIndex index.html    => DirectoryIndex index.htm index.html index.php index.php3 index.html.var
    #Include etc/apache22/extra/httpd-mpm.conf     => Include etc/apache22/extra/httpd-mpm.conf
    #Include etc/apache22/extra/httpd-languages.conf => Include etc/apache22/extra/httpd-languages.conf
    #Include etc/apache22/extra/httpd-vhosts.conf     => Include etc/apache22/extra/httpd-vhosts.conf
    保存退出

    编辑 /usr/local/etc/apache22/extra/httpd-languages.conf
    #DefaultLanguage nl    => DefaultLanguage zh-CN

    编辑 /usr/local/etc/apache22/extra/httpd-mpm.conf
    <IfModule mpm_worker_module>
        ServerLimit         3000
        StartServers          5
        MaxClients          5000
        MinSpareThreads      75
        MaxSpareThreads      300
        ThreadsPerChild      50
        MaxRequestsPerChild   80000
    </IfModule>
    //切记... ServerLimit  3000 这儿一定要加上限制连接数..要不然重启的时候肯定报错


    编辑 /usr/local/etc/apache22/extra/httpd-vhosts.conf
    <VirtualHost *:80>
        ServerAdmin km3945@gmail.com
        DocumentRoot /server/website/test
        ServerName test.local.com
        RewriteEngine on
        RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
        RewriteRule .* - [F]
        #ErrorLog logs/sql.local.com-error_log
        #CustomLog logs/sql.local.com-access_log common
        <Directory /server/website/test>
            AllowOverride None
            Order deny,allow
            Allow from all
        </Directory>
    </VirtualHost>
    保存退出

    mkdir /server/website/
    mkdir /server/website/test
    chmod -R 777 /server/website/test        #修改目录权限
    ee /server/website/test/index.php

    <?php
    phpinfo();
    ?>
    保存退出

    编辑 /etc/rc.conf 加入
    apache22_enable="YES"

    启动APACHE
    /usr/local/etc/rc.d/apache22 start    启动


8.安装SVN(subversion)版本管理器
    cd /usr/ports/devel/subversion
    make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN -DWITH_APACHE2_APR install clean

    创建库
    mkdir /server/svn
    svnadmin create /server/svn/test
    chown -R www:www /server/svn

    #ee /usr/local/etc/apache22/Includes/svn.conf
    htpasswd -cm /usr/local/etc/svn-auth-file test
    将来再增加用户只需要使用以下命令就好:
    htpasswd -m /usr/local/etc/svn-auth-file [username]
    如果是删除用户只需要使用以下命令就好:
    htpasswd -D /usr/local/etc/svn-auth-file [username]
    编辑ee /usr/local/etc/apache22/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerName svn.local.com
    <Directory /server/svn>
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>
    <Location />
        DAV svn
        SVNListParentPath on                #显示所有版本库
        SVNParentPath /server/svn/            #所有版本库上级目录
        AuthzSVNAccessFile /usr/local/etc/svn-acc    #访问控制文件
        AuthType Basic                    #认证类型
        AuthName "818EDU repository"
        AuthUserFile /usr/local/etc/svn-auth-file    #用户列表文件
        Require valid-user
    </Location>
</VirtualHost>

增加svn访问控制文件
ee /usr/local/etc/svn-acc
[/]
* = r

[test:/]
test = rw



9.安装FTP
    cd /usr/ports/ftp/proftpd
    make install clean

    ee /etc/rc.conf加入
    proftpd_enable="YES"

    先建立FTPGRP组:
    # pw groupadd ftpgroups -g 1000
    建立FTPUSR用户:
    # pw adduser ftpusers -u 1000 -g 1000 -d /server/website -s /nologin

    mv /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.conf_bak        #备份原来的配置文件
    cp /home/km3945/proftpd.conf /usr/local/etc/proftpd.conf        #COPY准备好的配置文件到系统

    mysql -uroot -p
    mysql>create database proftpd;
    mysql>Grant select,insert,update,delete,create,drop,index,alter,create temporary tables,lock tables on proftpd.* to proftpd@localhost Identified by "123456";
    mysql>quit
    说明:
    # create database proftpd; 这行是创建名为proftpd的数据库;
    # Grant 这行是为proftpd 数据库授权,让用户名为proftpd,密码为123456(这只是一个例子,密码自己定义),这个用来管理proftpd这个数据库;
    # quit 这行是退出mysql界面;

    导入准备好的proftpd.sql数据库结构文件
    #mysql -uproftpd -p proftpd <proftpd.sql
    mysql -uproftpd -p proftpd </home/km3945/proftpd.sql

    以下是数据表结构,可另存为proftpd.sql
    -- 数据库: `proftpd`
    --
    -- --------------------------------------------------------
    --
    -- 表的结构 `ftpgroups`
    --
    CREATE TABLE `ftpgroups` (
      `groupname` varchar(30) NOT NULL default '',
      `gid` int(11) NOT NULL default '1000',
      `members` varchar(255) NOT NULL default ''
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    -- --------------------------------------------------------
    --
    -- 表的结构 `ftpusers`
    --
    CREATE TABLE `ftpusers` (
      `userid` varchar(30) NOT NULL default '',
      `passwd` varchar(80) NOT NULL default '',
      `uid` int(10) unsigned NOT NULL default '1000',
      `gid` int(10) unsigned NOT NULL default '1000',
      `homedir` varchar(255) NOT NULL default '',
      `shell` varchar(255) NOT NULL default '/sbin/nologin',
      `count` int(10) unsigned NOT NULL default '0',
      `host` varchar(30) NOT NULL default '',
      `lastlogin` varchar(30) NOT NULL default '',
      UNIQUE KEY `userid` (`userid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    --
    -- 导出表中的数据 `ftpusers`
    --
    INSERT INTO `ftpusers` VALUES ('test', 'test', 1000, 1000, '/home/test', '/sbin/nologin',0,'','');
    -- --------------------------------------------------------
    --
    -- 表的结构 `quotalimits`
    --
    CREATE TABLE `quotalimits` (
      `name` varchar(30) default NULL,
      `quota_type` enum('user','group','class','all') NOT NULL default 'user',
      `per_session` enum('false','true') NOT NULL default 'false',
      `limit_type` enum('soft','hard') NOT NULL default 'soft',
      `bytes_in_avail` float NOT NULL default '0',
      `bytes_out_avail` float NOT NULL default '0',
      `bytes_xfer_avail` float NOT NULL default '0',
      `files_in_avail` int(10) unsigned NOT NULL default '0',
      `files_out_avail` int(10) unsigned NOT NULL default '0',
      `files_xfer_avail` int(10) unsigned NOT NULL default '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    -- --------------------------------------------------------
    --
    -- 表的结构 `quotatallies`
    --
    CREATE TABLE `quotatallies` (
      `name` varchar(30) NOT NULL default '',
      `quota_type` enum('user','group','class','all') NOT NULL default 'user',
      `bytes_in_used` float NOT NULL default '0',
      `bytes_out_used` float NOT NULL default '0',
      `bytes_xfer_used` float NOT NULL default '0',
      `files_in_used` int(10) unsigned NOT NULL default '0',
      `files_out_used` int(10) unsigned NOT NULL default '0',
      `files_xfer_used` int(10) unsigned NOT NULL default '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;



    系统用户和用户组ftpusers的UID和GID的调整;
    由于我们在配置文件中,把ftpusers的用户和用户组的UID和GID都设置为了1000;
    所以我们得调整一下/etc/passwd 和/etc/group中有关ftp用户和用户组的行;把UID和GID都改为1000;
    例子:
    /etc/passwd
    ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin
    ftpusers:*:1000:1000:Ftp User:/server/website:/nologin #我的
    /etc/group
    ftp:x:1000:

    pkill proftpd                #关闭 proftpd
    /usr/local/etc/rc.d/proftpd start    #启动 proftpd

10.安装SAMBA
    cd /usr/ports/japanese/samba3
    make install clean


一些命令---------------------------------------------------------------------
    chown -R ftpusers /server/website/test/            #更改目录或文件的用户
    chown -R ftpusers:ftpgroups /server/website/test/    #更改目录或文件的用户和用户组
    chmod -R 777 /server/website/test            #更改目录及文件权限

    pw groupmod www -M ftpusers      #将ftpusers用户添加到www组中
    pw groupshow www        #显示www用户组信息及成员
    shutdown -p now         #关机
    reboot                #重启系统
    pgrep proftpd            #显示proftpd的进程ID
    ./configure --help|grep pdo     #手工编辑时查看pdo的编译帮助
    passwd                #修改密码/

    UPDATE user SET password=password('123') where user='root';

#安装编译相关的命令----------------------------------------------------------
cd /var/db/pkg
pkg_create -R -b apache-worker-2.2.4            #打包
pkg_add apache-worker-2.2.4                #安装

make config                        #生成配置文件
make rmconfig                        #删除配置文件
make fetch                        #抓取源码包
make fetch-recursive                    #抓取所有源码包(包括需要到的所有包)
make checksum                        #校验源码包
make install clean                    #编译、安装并删除临时文件
make depends_target=package package clean        #编译、安装、将所有需要的port打包、安装、并删除临时文件
mkdir -p /usr/ports/packages/All/            #生成的package会自动放到里面,否则放在port的当前目录

make extract                        #仅解开源码包
make patch                        #仅解开并打上patch
make distclean                        #删除临时文件及源码包
make all-depends-list                    #查询port的依赖关系显示所有相关的套件
make pretty-print-build-depends-list            #显示编译期间所需要的套件
make pretty-print-run-depends-list            #显示此套件要执行时所需要的套件
make deinstall                        #删除已经安装的port
make deinstall-depends                    #删除已经安装的port及其依赖
make reinstall                        #重新安装port
make search key=keyword                    #搜索port
make search name=nameword
make PREFIX=path install                #指定port安装目录
cd /usr/src/share/mk                    #更新port MK
make install
make -DUSE_REINPLACE install                #解决安装时的sed -i 错误
cd /usr/ports/                        #更新port index对照表
make index
cd /usr/ports/                        #更新index html
make readmes
   

#APACHE启动时如果报错的处理-----------------------------------------------------
在FreeBSD6.1安装Apache2.2启动时出现No such file or directory:Failed to enable the 'httpready' Accept Filet
在/boot/loader.conf中增加
accf_http_load="YES"
重启后经正常了


#添加一个FTP用户----------------------------------------------------------------
INSERT INTO `ftpusers` VALUES ('ftp818eduadmin', 'ftp818eduadmin', 1000, 1000, '/server/website/new818edu', '/sbin/nologin',0,'','');
INSERT INTO `ftpusers` VALUES ('ftp_discuz', 'ftp_discuz123', 1000, 1000, '/server/website/discuz', '/sbin/nologin',0,'','');

#创建一个SVN库------------------------------------------------------------------
svnadmin create /server/svn/new818edu            #创建一个SVN库:new818edu
chown -R www:www /server/svn/new818edu            #改更SVN库的用户及组

#管理SVN的用户------------------------------------------------------------------   
htpasswd -m /usr/local/etc/svn-auth-file svn818eduadmin #添加一个用户svn818eduadmin , 密码opendoor
htpasswd -D /usr/local/etc/svn-auth-file [username]    #删除用户

#修改增加svn访问控制文件--------------------------------------------------------
ee /usr/local/etc/svn-acc
[/]
* = r

[test:/]
test = rw

[new818edu:/]        #增加一个new818edu项目节点
svn818eduadmin = rw    #增加该项目的一个用户svn818eduadmin,该用户即有"读写"权



#完全停止sendmail进程-----------------------------------------------------------
编辑/etc/rc.conf
增加以下(停止sendmail)
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

#为MYSQL增加一个用户并管理其数据库表.-------------------------------------------
grant all on mr.* to 'db_mr'@'localhost' identified by '123456';
flush privileges;


#虚拟机中的FreeBSD时间同步问题--------------------------------------------------
最后在 /boot/loader.conf 中加入 kern.hz="100" 就好了,至少我这里是这样
或加入hint.apic.0.disabled=1
同步
date && ntpdate clepsydra.dec.com


#Mysql的启动停止方式---------------------------------------------
mysqladmin -uroot -p shutdown
/usr/local/bin/mysqld_safe &






 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值