您的位置:首页 > 编程语言 > PHP开发

在VM4中安装、升级FreeBSD5.2.1搭建WebServer、FTP服务器[转]

2005-03-10 13:05 495 查看
 系统的升级
代码:
www# cd /usr/ports/net/cvsup-without-gui
www# make clean
www# make deinstall
www# make install
www# make clean
www# source ~/.cshrc
www# cd /usr/src/share/examples/cvsup
www# ee standard-supfile
引用:
*default host=CHANGE_THIS.FreeBSD.org
修改为更快的国内freebsd cvsup服务器:
*default host=cvsup.cn.FreeBSD.org
或者
*default host=cvsup.FreeBSDChina.org
代码:
www# cvsup -g -L 2 standard-supfile
www# ee ports-supfile
引用:
*default host=CHANGE_THIS.FreeBSD.org
修改为更快的国内freebsd cvsup服务器:
*default host=cvsup.cn.FreeBSD.org
或者*default host=cvsup.FreeBSDChina.org
升级全部的ports是完全没有必要的,因此可以把
ports-all
那行前面加#注释掉。继续往后面找,有很多ports分支,把需要的打开,不需要的保留行首的#,如安装的用途是搭建WebServer,可只选择以下内容:
ports-base
ports-archivers
ports-comms
ports-converters
ports-databases
ports-deskutils
ports-devel
ports-dns
ports-editors
ports-emulators
ports-ftp
ports-java
ports-lang
ports-mail
ports-math
ports-misc
ports-net
ports-print
ports-security
ports-shells
ports-sysutils
ports-textproc
ports-www
代码:
www# cvsup -g -L 2  ports-supfile
www# ee /etc/make.conf
引用:
#指定ports软件首先从国内下载:
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
代码:
www# cd /usr/src
www# make buildworld
www# make installworld
引用:
最好下班后,再make world,让它慢慢完成,实在是太漫长了,等到花儿死光光。
代码:
www# reboot
引用:
此时就已经更新系统为最新版,重启机器。
说明:由于安装的版本是是current分支,make world并不一定总能成功,如没成功,过段时间再cvsup系统源代码,或许就可以成功了,接下来,进行定制内核。
代码:
www# uname -a
引用:
查看一下更新情况。
定制内核
引用:
#这项工作之前一定要好好看看手册相关部分,有个好帖子:内核订制 你可以参考。具体步骤如下:
代码:
#www cd /usr/src/sys/i386/conf
#www
#www cp GENERIC KERN.OLD
#www cp GENERIC MYKERN
#www ee MYKERN
引用:
用ee编辑MYKERN这个文件,按照上面提到的那个帖子根据自己的硬件情况、软件需求编辑,保存后开始编译内核。由于我们CVSUP过了,所以用手册上提到的“新”方法编译。
代码:
#www cd /boot
#www cp -R kernel kernel.old
#www cd /usr/src
#www make buildkernel KERNCONF=MYKERN
#www make installkernel KERNCONF=MYKERN
引用:
也是一个漫长的过程,端杯清茶,看看报纸等待吧。 提示完成之后……
代码:
#www reboot
引用:
接着就可以进行我们安装WebServer软件的Install了。但是在安装之前我要说明的是,你要先了解FB目录的一些常识。
目录 主要存放文件类型
/ 文件系统的根目录。
/bin/ 在单个用户和多用户环境下的基本工具目录。
/boot/ 在操作系统在启动加载期间所用的程序和配置。
/boot/defaults/ 默认每步引导启动的配置内容。
/dev/ 设备接点。
/etc/ 系统启动的配置和脚本。
/etc/defaults/ 系统默认的启动配置和脚本 。
/etc/mail/ 关系到邮件系统运作的配置。
/etc/namedb/ named 配置文件。
/etc/periodic/ 每天、每星期和每月周期性地运行的脚本。
/etc/ppp/ ppp配置文件。
/mnt/ 由管理员习惯使用挂接点的临时空目录。
/proc/ 运行中的文件系统。
/root/ root用户的Home(主)目录。
/sbin/ 在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。
/stand/ 持久独一无二的程序环境。
/tmp/ 存放临时文件,通常存放一些系统重启后不需要保护的 mfs(8) 基于内存的文件系统。
/usr/ 存放大多数用户的应用软件。
/usr/bin/ 存放实用命令,程序设计工具,和应用软件。
/usr/include/ 存放标准 C include 文件.
/usr/lib/ 存放库文件。
/usr/libdata/ 存放各种实用工具的数据文件。
/usr/libexec/ 存放系统实用或后台程序 (从另外的程序启动执行)。
/usr/local/ 存放本地执行文件, 库文件等等, 同时也是 FreeBSD ports 安装的默认安装目录。
/usr/local 在 /usr 总体布置请查阅 man.hier.7;。 man 目录例外, 它们直接放在 /usr/local 而不是 /usr/local/share 下, 而 ports 说明文档在 share/doc/port。
/usr/obj/ 通过联编 /usr/src 得到的目标文件。
/usr/ports 存放 FreeBSD 收集到的 ports (可选)。
/usr/sbin/ 存放系统后台程序 和 系统工具 (由用户执行)。
/usr/share/ 存放架构独立的文件。
/usr/src/ 存放 BSD 或者本地源码文件。
/usr/X11R6/ 存放 X11R6 可执行文件、 库文件、 配置文件等的目录(可选)。
/var/ 存放多用途记录、临时性、短期的和打印假脱机系统文件.
/var/log/ 存放各种的系统记录文件。
/var/mail/ 存放用户mailbox(一种邮件存放格式)文件。
/var/spool/ 各种打印机和邮件系统spooling(回环)的目录。
/var/tmp/ 存放系统重启前受控制的临时文件。
/var/yp NIS 映射。
WebServer软件在ports下的安装
引用:
还有一点要说明的是,特别是刚从MS Windows转过来学习FB的同学要弄清楚下面这些安装知识。
在ports安装软件,要安装用make install,反安装用make deinstall,如果不是在ports安装,比如照着一些教材tar之后make install的,确实要卸载 make install 的程序时可以直接删掉,无需象Windows下那样找“控制面版”“添加删除程序”来移除,直接删掉程序就行了,不会留下垃圾,也不会象在Windows 下那样引起“系统不稳定”。make install过程一般是把可执行程序放在 /usr/local/bin或者sbin, 函数库放在 /usr/local/lib,把数据文件放在 /usr/local/下一个它自己的目录,你把这些东西都删掉就行了,即使真的留下一些文件没有删掉大,不了也只是浪费了些空间,(160G的IDE硬盘在2004.10报价才RMB800左右,你不会在乎那些软件占据的空间吧)不会引起系统不稳定,这和Windows下不同。
另外在相关软件的ports目录上都有个Makefile,建议你安装之前可以打开看看,你会有新发现的……废话说了这样多,接着讲安装吧。
代码:
www# mkdir /usr/local/db
www# cd /usr/ports/databases/mysql40-server
www# ee Makefile
引用:
DB_DIR?= /var/db/mysql
改为
DB_DIR?= /usr/local/db/mysql
代码:
www# make BUILD_OPTIMIZED=yes BUILD_STATIC= yes install clean
www# cd /usr/ports/textproc/expat2
www# make clean
www# make deinstall
www# make install
www# cd /usr/ports/www/apache2
www# make WITH_OPENSSL_PORT=yes install clean
www# cd /usr/ports/www/mod_fastcgi
www# make WITH_APACHE2=yes install
www# cd /usr/ports/www/mod_php4
www# make install
www# cd /usr/local/etc/apache2
www# ee httpd.conf
引用:
插入四行
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
AddHandler fastcgi-script fcgi fcgi fpl
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
找到DirectoryIndex,AddDefaultCharset等相关的语句,修改为:
DirectoryIndex index.html index.php index.html.var
AddDefaultCharset GB2312
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
<
e1f2
/td>
代码:
www# apachectl configtest
#测试一下Apache的httpd.conf的语法是否正确。
代码:
www# cd /usr/local/etc
www# cp php.ini-dist php.ini
www# ee /usr/local/www/data/index.php
引用:
#index.php只有一行就可以了
<?phpinfo()?>
#测试对php的支持
代码:
www# ee/etc/rc.conf
引用:
#加入两行
apache2_enable="YES"
apache2ssl_enable="NO"
#apache2ssl_enable="NO",假如你不需要SSL的话,就=NO,其实默认值就是"NO",将来要用时可方便地修改为"YES",如你暂用不着“认证”,就设置为"NO"。
下班了,关机器吧,明天再安装
代码:
www# halt
引用:
#接着先确认mysql是正确运行着的
对了,安装到这时,我还没说到给Mysql的root增加一个密码,那么现在来加吧。
代码:
www# mysqladmin -u root password "你要给Mysql的root设置的密码"
www# mysql -u root -p
[quote]
Enter password:
#输入Mysql密码后出现
引用:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 50 to server version: 4.0.21
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
#说明mysql是正在运行,或者是 ps | grep mysql
代码:
www# ps | grep mysql
引用:
457 p0 S+ 0:00.07 grep mysql
118 con- I 0:00.18 /bin/sh /usr/local/bin/mysqld_safe --user=mysql --datadir=/usr/db/mysql --pid-file=/
#接着就可以开始安装了
代码:
www# cd /usr/ports/ftp/pure-ftpd
www# make WITH_MYSQL=1 WITH_LANG=simplified-chinese install clean
www# cd /usr/local/etc
www# cp pure-ftpd.conf.sample pure-ftpd.conf
www# cp pureftpd-mysql.conf.sample /etc/pureftpd-mysql.conf
www# cd /usr/local/etc
www# ee pure-ftpd.conf
引用:
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 3
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
MySQLConfigFile /etc/pureftpd-mysql.conf
LimitRecursion 2000 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload yes
CreateHomeDir yes
MaxDiskUsage 99
CustomerProof yes
代码:
www# ee pureftpd-mysql.conf
引用:
注意这几行就可以了,其他的不要修改
#如果你的Mysql是按ports默认安装,那么选择
MYSQLSocket /tmp/mysql.sock
以下几行要注意和MYSQLUser、MYSQLPassword、MYSQLDatabase下面的sql.txt指定中的一致
MYSQLUser ftp
MYSQLPassword sunnyxp888
MYSQLDatabase ftpusers
MYSQLCrypt md5
代码:
www# ee sql.txt
#以下我对原程序提供的SQL语法进行了少量改动,修正了范例出错的地方。
引用:
DELETE FROM mysql.user where user='ftp';
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv) VALUES ('localhost','ftp',PASSWORD('sunnyxp888'),'Y','Y','Y','Y');

FLUSH PRIVILEGES;

DROP DATABASE IF EXISTS ftpusers;

CREATE DATABASE ftpusers;

USE ftpusers;

DROP TABLE IF EXISTS admin;
CREATE TABLE admin (
Username varchar(35) NOT NULL default '',
Password char(32) binary NOT NULL default '',
PRIMARY KEY (Username)
) TYPE=MyISAM;

INSERT INTO admin VALUES ('Administrator',MD5('sunnyxp888'));

DROP TABLE IF EXISTS user;
CREATE TABLE users (
User char(16) NOT NULL default '',
Password char(32) binary NOT NULL default '',
Uid int(11) NOT NULL default '2000',
Gid int(11) NOT NULL default '2000',
Dir char(128) NOT NULL default '',
QuotaFiles int(10) NOT NULL default '500',
QuotaSize int(10) NOT NULL default '30',
ULBandwidth int(10) NOT NULL default '80',
DLBandwidth int(10) NOT NULL default '80',
status enum('0','1') NOT NULL default '1',
ipaccess varchar(15) NOT NULL default '*',
comment tinytext NOT NULL,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;

INSERT INTO `users` VALUES(
'test',
MD5('sunnyxp888'),
'2001',
'2000',
'/home/test',
'500',
'30',
80,
5,
1,
'*',
'*');
代码:
www# mysql -u root -p < sql.txt
www# rm sql.txt
www# ee rc.conf
引用:
#添加一行,开机时自动pure-FTPD启动
pureftpd_enable="YES"
#到这里安装的工作全部做完了,先启动一下pureftpd
代码:
www# /usr/local/etc/rc.d/pure-ftpd.sh start
引用:
#好了,假定这台机的IP是192.168.1.6,那么你打开浏览器,输入地址: ftp://test:sunnyxp@192.168.1.6
#你发现你就可以上传、下载了。
#追加ftpusers库中的user表记录,可以增加FTP用户。
代码:
www# reboot
OK,到此,你已经安装了一个可以提供WEB&FTP服务的服务器了。至于再怎么系统优化,你可以GOOGLE搜索,或者看一下相关的书籍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息