在VM4中安裝、升級FreeBSD5.2.1搭建WebServer、FTP服務器[轉]

 系統的升級
代碼:

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

代碼:

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:[email protected]
#你發現你就可以上傳、下載了。
#追加ftpusers庫中的user表記錄,可以增加FTP用戶。

代碼:

www# reboot


OK,到此,你已經安裝了一個可以提供WEB&FTP服務的服務器了。至於再怎麼系統優化,你可以GOOGLE搜索,或者看一下相關的書籍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章