当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux+Apache+Mysql+PHP典型配置

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 Linux+Apache+Mysql+PHP典型配置


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 73 ::
收藏到网摘: n/a

1、安装和启动安装wu-ftpd可以通过freebsd自带的port来安装,在/stand/sysinstall中来选择,选择configure中的packages.安装之后,wuftpd的所有安装文件都被安装在了/usr/local中。

想要启动wu-ftpd必须修改inetd.conf文件加入以下内容:ftpstreamtcpnowaitroot/usr/local/libexec/ftpdftpd–l

加入以后以root身份#killall–HUPinetd

测试一下服务器#ftp127.0.0.1如果你看到以下内容说明你以成功建立了服务器,但是这个服务器并不完整,因为它现在还不能用。

chu888.hope.com.cnFTPserver(Versionwu-2.6.1(1)WedJan2306:24:19GMT2002)ready.USERanonymous331Guestloginok,sendyourcompletee-mailaddressaspassword.PASS(隐藏)

530Loginincorrect.

#adduser–silent增加一个新用户这时你再一次登陆你会发现你以成功了,但这个服务器非常的不安全,为什么了哪,那是因为,这个用户可以无限制的向上反。

2、限制用户的根目录()

#cd/usr/local/etc/#eeftpaccess加入以下内容restricted-uid*#killall–HUPinetd#ftp127.0.0.1你再试试看在这里有一个关键性的问题,就是写了没有用,那是为什么哪,那是因为我们还要修改一个选择项,那就是/etc/inetd.conf文件中的ftp这一项。

改成以下内容ftpstreamtcpnowaitroot/usr/local/libexec/ftpdftpd–l-a这个-a的作用是强制读取ftpaccess文件的内容以下是所有参数的内容-a強制wu-ftpd讀取ftpaccess的設定-A強制wu-ftpd不讀取ftpaccess的設定-d將wu-ftpd的執行錯誤紀錄在syslog中,也就是/var/log/messages-i將上傳檔案的紀錄紀錄在xferlog中-l將每次連線的紀錄紀錄在syslog中,也就是/var/log/messages-o把下載檔案的紀錄紀錄在xferlog中-t秒數設定連線連續停滯多久就予以斷線,預設值是15分鐘(900秒)

-L把連線之後所執行的程式紀錄在syslog

3磁盘欢迎信息首先修改/usr/local/etc/ftpaccess文件的message选项,改成以下内容message/etc/welcome.msglogin这时你就可以在etc目录下建立一个文件welcome.msg了。

%T本地时间(从ThuNov1517:12:421990开始)

%F本目录所在的文件系统的剩余空间(kbyte,不是所有的系统都支持)

%C当前目录%E在ftpaccess中定义的维护者信箱%R远程机器名%L本地机器名%u根据rfc931得到的用户名%U登录的时候使用的用户名%M此类用户最大连接数%N当前此类用户数%B磁盘块限额硬上限%b磁盘块限额软上限%Q当前磁盘块%I可以使用的inode硬上限(+1)

%i可以使用的inode软上限%q已用inode%H磁盘空间超额时间限制%h文件数超额时间限制%xu上传字节数%xd下载字节数%xR上传/下载速度(1:n)

%xcCreditbytes(存储字节数?)

%xT时间限制(minutes)

%xE登录到现在经过的时间(minutes)

%xL剩下时间%xU上传速度限制%xD下载速度限制

4磁盘限额想要支持磁盘限额,在freebsd就必须编译内核,以下是编绎步骤
#cd/usr/src/sys/i386/conf#cpGENERICCHU888编辑CHU888这个文件在里面加入
optionsQUOTA#configCHU888#cd/usr/src/sys/compile/CHU888#makedepend
#make#makeinstall在/etc/rc.conf中加入
enable_quotas="YES"check_quotas="YES"
在/etc/fstab中加入/dev/da1s2g/homeufsrw,userquota,groupquota12
重新启动
#quotacheck-av#repquota-a
#edquota-uuser1
#edquota-puser1user2user3//copyquota.user1touser2user3
#quota-vuser1

5wuftpd的主要程序介绍ftpdftpd的主程式(/usr/libexec)

ftpshut關閉FTPServer的工具程式(/usr/local/bin)

此程式主要是用來產生shutmsg(位置在ftpaccess中設定),ftpshut<-l分鐘><-d分鐘>關機時間<75個字元的關機說明>若指令為ftpshut-l10-d51130則/etc/shutmag的內容為19980901113000100005(19980901為關機當天)

Systemshutdownat%S說明:關機前10分鐘停止連線進來,關機前5分鐘將已連線的使用者斷線,關機時間為11:30am注意:若/etc/shutmag建立起來,想重新啟動FTPServer務必砍除shutmagftpcount可以統計目前上線人數的應用程式(/usr/local/bin)

ftpwho可以查看目前的連線情形(/usr/local/bin)

ftpaccesswu-ftpd最重要的設定檔,主要設定FTPServer的運作模式與權限(/usr/local/etc)

ftpconversions檔案被下在之後,所要進行的動作(/usr/local/etc)

ftphosts設定來自某特定位址的使用者,是否允許登入FTPServer(/usr/local/etc)

ftpusers禁止登入FTPServer的黑名單(/usr/local/etc)

6ftpaccess的范例ftpaccess——FTP的設定檔

classallreal,guest,
anonymous*limitall10Any/etc/msgs/msg.deadreadmeREADME*
loginreadmeREADME*cwd=*message/welcome.msgloginmessage.
messagecwd=*
compressyesalltaryesalllogcommandsreallogtransfersanonymous,
realinbound,outboundshutdown/etc/shutmsgemail

#=========ftpaccess設定wu-ftpd的運作模式=================================#語法:logibfails次數#說明:允許密碼輸入之錯誤次數#語法:class群組名稱使用者名稱可以從哪裡登入(IP/DNS)

#說明:設定可以使用FTPServer的群組及成員,可以從哪裡登入#舉例:classmmmreal,guest.anonymous*mmm這個群組的成員real,guest,anonymous可以從任何地方登入#語法:limit群組名稱同時登入人數上限執行該設限之時間輸出之訊息檔#說明:限制同一時間內能夠上線的人數,以維持FTPServer較好的服務品質#舉例:limitall10Any/etc/msgs/msg.dead在任何時間只限定做多10人可以all這個群組成員的身分登入,如果超過10人,就會show出/etc/msgs/msg.dead的檔案內容#語法:reeadme檔名命令#說明:當使用者要使用某一特定命令時,就會show某一檔案內容#舉例:readmeREADME*login只要使用者登入某一目錄,就將該目錄中以README為首的檔案內容秀出來(秀在末端)

#語法:message檔名命令#說明:當使用者要使用某一特定命令時,就會show某一檔案內容#舉例:message/welcome.msglogin當使用者登入FTPServer時,會將FTP根目錄(一般在/usr/ftp)下的welcome.msg秀出來(秀在開頭)

#語法:compressyes/no群組名稱1群組名稱2……

#說明:設定哪些群組支援/不支援compress功能#舉例:compressyesall屬於all這個群組的成員,都支援compress功能#語法:taryes/no群組名稱1群組名稱2……

#說明:設定哪些群組支援/不支援tar功能#語法:privateyes/no#說明:是否同意群組使用您的檔案#語法:passwd-checknone/trivial/rfc822enforce/warm#說明:當anonymous登入時,密碼輸入的方式#none任何密碼都接受#trivial只要輸入的密碼中有@字元就接受#rfc822密碼一定要遵守RFC822所規定的E-mail格式#enforce密碼輸入錯誤,就停止登入#warm密碼輸入錯誤,就顯示錯誤訊息,但仍舊允許登入#語法:logcommands群組名稱#說明:設定系統會記錄哪些群組成員的操作紀錄#舉例:logcommandsreal將屬於real群組的使用者的操作紀錄,都紀錄在xfrelog中#語法:logtransfers群組名稱inbound/outbound#說明:設定系統會記錄哪些群組成員上傳或下傳的操作紀錄(紀錄在xfrelog)

#語法:指令yes/no群組名稱#說明:設定是否支援某指令的功能,可以用來設限的指令有#deleteoverwritereadmechmodumask#舉例:deletenoguest,anonymous#限制guest,anonymous兩個群組的成員禁止使用delete指令#語法:uploadFTP之根目錄上傳目錄yes/nousernamegroupname權限nodirs/dirs#說明:設定哪一個目錄可以上傳檔案#yes該上傳目錄允許上傳檔案#no該上傳目錄不允許上傳檔案#dirs可以在該上傳目錄中,以mkdir開新目錄#nodirs禁止在該上傳目錄中,以mkdir開新目錄#舉例:upload/home/ftp/uploadyesrootdaemon600nodirs#設定/home/ftp為FTP根目錄,/upload為可以上傳的目錄(從FTP根目錄算起)

#不允許開新目錄#語法:alias別名目錄名稱#說明:將較複雜的目錄設定一個較簡單的別名#舉例:aliasup/upload#語法:cdpath目錄#說明:類似DOS中PATH的設定,但只有對cd這個指令有效,可以協助cd切換到#正確的目錄#舉例:cdpath/#cdpath/pub#cdpath/incoming#cdpath/upload#若打入指令cdantivirus,#則1.系統會先搜尋目前目錄有無名為antivirus目錄#2.尋找有無名為antivirus的別名#3.根據先前設定的順序依序搜尋各目錄#語法:path-filter群組名稱目錄名稱設限模式#說明:對上傳的檔案名稱加以設限,避免檔名具有那些符號#舉例:path-filteranonymous/etc/pathmsg^[-A-Za-z0-9_\.]*$^\.^-#語法:shutdown檔名#說明:設定FTPServer何時應該關機,並且應該秀出的訊息檔案可以經由ftpshut#來建立,要重新啟動FTPServer就必須刪除以ftpshut所建立的檔案#舉例:shutdown/etc/shutmsg#這個shutmsg可以以ftpshut來建立,該檔案包括了該何時shutdown的#訊息,如果要中止shutdown的狀態,就必須砍除/etc/shutmsg#語法:guestgroup功能#說明:指定guestgroup功能#舉例:guestgroupftponly#語法:email特定的E-mail位址#說明:設定那些人的權限屬於guest,也就是權限介於real和anonymous之間#舉例:email

#HEYYOU!Yeah,youwiththeeditor.#changethefollowingline,ordeleteit,OK?

#定义两个类,一个类是本地类local一个类是remote类,本地类只可以从本地登陆,remote可以从任何#地方登陆classlocalreal,guest,anonymous*.domain0.0.0.0classremotereal,guest,anonymous*

#任何时间local最多只可以有20个。

#对于remote用户在星期六星期天可以有100个人,其他时间18:00-6:00可以有100个人#如果超过这些人那么显示/etc/msgs/msg.toomany这个信息#其他时间remote类只可以有60个人。

limitlocal20Any/etc/msgs/msg.toomanylimitremote
100SaSu|Any1800-0600/etc/msgs/msg.
toomanylimitremote60Any/etc/msgs/msg.toomany

readmeREADME*loginreadmeREADME*cwd=*

message/welcome.msgloginmessage.messagecwd=*

compressyeslocalremotetaryeslocalremote

#allowuseofprivatefileforSITEGROUPandSITEGPASS?

privateyes

#passwd-check[]passwd-checkrfc822warn

logcommandsreallogtransfersanonymous,realinbound,
outboundshutdown/etc/shutmsg

#allthefollowingdefaultto"yes"foreverybodydeletenoguest,
anonymous#deletepermission?

overwritenoguest,anonymous#overwritepermission?

renamenoguest,anonymous#renamepermission?

chmodnoanonymous#chmodpermission?

umasknoanonymous#umaskpermission?

#specifytheuploaddirectoryinformationupload/var/ftp*
nonobodynogroup0000nodirsupload/
var/ftp/binnoupload/var/ftp/etcnoupload/
var/ftp/incomingyesrootdaemon0600dirs

#directoryaliases……[note,the":"isnotrequired]aliasinc:/incoming

#cdpathcdpath/incomingcdpath/pubcdpath/

#path-filter……

path-filteranonymous/etc/pathmsg^[-A-Za-z0-9_\.]*$^\.^-path-filterguest/etc/pathmsg^[-A-Za-z0-9_\.]*$^\.^-

#specifywhichgroupofuserswillbetreatedas"guests".guestgroupftponly

email

loginfails3classlocalreal*classremoteanonymousguest*
limitremote100Any/etc/ftpd/toomany.msgmessage/etc/ftpd/
welcome.msglogincompressyeslocalremotetaryeslocal
remoteprivateyespasswd-checkrfc822
warnlogcommandsreallogtransferanonymousguest
inboundoutboundlogtransferrealinbound
shutdown/etc/ftpd/shut.msgdeletenoanonymous,
guestoverwritenoanonymous,guestrenamenoanonymouschmodnoanonymous,
guestumasknoanonymousupload/home/ftpd*noupload/
home/ftpd/binnoupload/home/ftpd/etcnoupload/home/ftpd/pubyesreal0644
dirsupload/home/ftpd/incomingyesrealguestanonymous0644
dirsaliasin/incomingemail

下面我们逐句进行讲解,并给出每条设置的含义,以便大家触类旁通,以便根据自己FTP服务器的具体情况进行合理的设置。

1.格式:loginfails[次数]功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。

实例:loginfails3:密码输入错误三次就切断连接。

2.格式:class[类名][real/guest/anonymous][IP地址]功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP服务器上的用户基本上可以分为以下三类:real在该FTP服务器有合法帐号的用户;guest有记录的匿名用户;anonymous权限最低的匿名用户实例:classlocalreal*:定义一个名为local的类,它包含了在任何地方登录(*代表所有IP地址)的real用户。

classremoteanonymousguest*:定义一个名为remote的类,它包含了在任何地方登录的anonymous用户和guest用户。

3.格式:limit[类别][人数][时间][文件名]功能:这个指令的功能为设置指定的时间内指定的类别允许连接的指定人数上限。当达到人数上限的时候,显示指定文件的内容。

实例:limitremote100Any/etc/ftpd/toomany.msg:在任何时间内,remote类的访问用户达到100人时,将不再允许无法产生新的连接,当第101位客户要连接时,连接将失败,并象用户出示文件/etc/ftpd/toomany.msg的内容。

4.格式:message[文件名称][指令]功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。

实例:message/etc/ftpd/welcome.msglogin:当用户执行login命令时,也就是登录到FTP服务器上的时候,系统将显示文件/etc/ftpd/welcome.msg的内容。

5.格式:compress[yes/no][类别]功能:设置哪一个类别的用户可以使用compress(压缩)功能。

实例:compressyeslocalremote:允许local和remote两个类别的用户都能使用compress(压缩)功能。

6.格式:tar[yes/no][类别]功能:设置哪一个类别的用户可以使用tar(归档)功能。

实例:taryeslocalremote:允许local和remote两类的用户都能使用tar功能。

7.格式:private[yes/no]功能:设定是否支持群组对文件的取用。

实例:privateyes:支持群组对文件的取用。

8.格式:passwd-check[none/trivial/rfc822][enforce/warn]功能:设定对匿名用户anonymous的密码使用方式。

none表示不做密码验证,任何密码都可以登录;trival表示只要输入的密码中含有字符“@”就可以登录;rfc822表示密码一定要符合RFC822中所规定的E-Mail格式才能登录;enfore表示输入的密码不符合以上指定的格式就不让登录;warn表示密码不符合规定时只出现警告信息,仍然能够登录。

实例:passwd-checkrfc822warn:希望能够得到符合规定的E-Mail作为密码,但如果不是,也允许登录。

9.格式:logcommand[real/guest/anonymous]功能:设置哪些用户登录后的操作记录在文件/usr/adm/xferlog中。

实例:logcommandreal:当real用户登录后,将他的操作记录下来。由于其它用户权限较低,所以操作不会引起太大的安全隐患,所以一般只需记下real用户的操作就可以了。

10.格式:logtransfers[real/guest/anonymous][inbound/outbound]功能:设置哪些用户的上载(inbound)和下载(outbound)操作做日志。

实例:logtransferanonymousguestinboundoutbound:对于匿名用户要更加的关注它们的文件操作,所以无论上载、下载都进行记录。

logtransferrealinbound:对于合法用户则只记录他的上载记录。

11.格式:shutdown[文件名]功能:FTP服务器关闭的时间可以设置在后面所指定的文件中,当设置的时间一到,便无法登录FTP服务器了,要恢复的话只有将这个文件删掉。而这个文件必须由指令/bin/ftpshut来生成。

实例:shutdown/etc/ftpd/shut.msg12.格式:delete[yes/no][real/anonymous/guest]功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。

实例:deletenoanonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行delete命令。

13.格式:overwrite[yes/no][real/anonymous/guest]功能:设置是否允许指定用户覆盖同名文件。默认是允许。

实例:overwritenoanonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户覆盖同名文件。

14.格式:rename[yes/no][real/anonymous/guest]功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。

实例:deletenoanonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行rename命令改变文件名。而对有记录的匿名用户则适当的放宽,允许他们使用改名命令。

15.格式:chmod[yes/no][real/anonymous/guest]功能:设置是否允许指定用户使用chmod命令更改文件权限。默认是允许。

实例:deletenoanonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行chmod命令更改文件权限。

16.格式:umask[yes/no][real/anonymous/guest]功能:设置是否允许指定用户使用umask命令。默认是允许。

实例:deletenoanonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行umask命令。

17.格式:upload[根目录][上载目录][yes/no][用户][权限][dirs/nodirs]功能:对可以上载的目录进行更加详细的设置。

实例:upload/home/ftpd*no:表示在子目录/home/ftpd下不允许上载;upload/home/ftpd/binno:表示在子目录/home/ftpd/bin下不允许上载;upload/home/ftpd/etcno:表示在子目录/home/ftpd/etc下不允许上载;upload/home/ftpd/pubyesreal0644dirs:允许用服务器上的合法用户在子目录/home/ftpd/pub目录下能上载权限为0644(也就是-rw-r——r——)的文件,而且在这个目录下可以新建子目录。

upload/home/ftpd/incomingyesrealguestanonymous0644dirs:允许所有的用户在子目录/home/ftpd/incoming下能上载权限为0644的文件,而且在这个目录下可以新建子目录。

18.格式:alias[目录别名][目录名]功能:给指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。

实例:aliasinc:/incoming:为子目录incoming设置一个别名inc:。

19.格式:email[guest的E-Mail地址]功能:只要将某些E-Mail地址设置在这个地方,那么这些用户登录到FTP服务器时,他的身份将为guest,一般权限比real低一些,比anonymous高。

实例:email

20.格式:deny[IP地址/域名][说明文件]功能:这个设置可以限制哪一些IP地址或域名的用户无法登入FTP服务器。

实例:deny*.com.tw/etc/ftpd/deny.msg:设置凡是域名是以“。com.tw”结束的域名,都禁止其访问。而将/etc/ftpd/deny.msg的内容显示给用户看。