转到正文

DalianSky's Blog

正在修建中的空中楼阁

存档

标签: freebsd

 如果你在FreeNAS中安装mldonkey,会发现下载的中文文件名无法正确显示。 解决这个问题,需要改变FreeNAS的locale设定。 编辑/etc/login.conf,找到如下内容,删掉这几行。 

1
2
3
4
russian|Russian Users Accounts:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:\
:tc=default:
 
我们需要再把下面这几句加上,
1
2
3
4
me:\
:charset=en_US.UTF-8:\
:lang=en_US.UTF-8:\
:tc=default:
 
重新登录一下,再运行locale,会显示:
 
1
2
3
4
5
6
7
8
9
# locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_ALL=
这说明系统编码已经改成UTF-8了。 这时再运行mlnet,下载的文件中文名字就没问题了。 版本:[b]FREENAS 0.69.1[/b] Kwisatz Haderach (revision 4448);mldonkey-core-2.9.7 备注:locale需要从FreeBSD 6.4的安装光盘上面提取
 
Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

Chapter 20 Ports and Packages 常見問題

20.1. 如何只抓取 tarball?
20.2. 如何僅做到解開 tarball的步驟?
20.3. 如何僅做到解開 tarball 並補上官方提供的 patch ?
20.4. 如何安裝一個新的 port?
20.5. 如何安裝一個新的 port,並打包(package)起來?
20.6. 如何打包一個 port,並將其所有相依的 ports 也打包起來?
20.7. 如何對一個已經安裝的 port 打包?
20.8. 如何清理 ports 編輯期間所產生的暫存資料?
20.9. 如何清理 ports 編輯期間所產生的暫存資料,以及 tarball 檔?
20.10. 如何在安裝 ports 前查詢所依賴的相關套件?
20.11. 如何移除已安裝的 ports?
20.12. 如何一併移除所相依的 ports?
20.13. 如何重新安裝已安裝過的 ports?
20.14. 如何以關鍵字搜尋所要找的 ports?
20.15. 如何升級已安裝的 ports?
20.16. 如何查詢目前系統安裝了哪些套件?
20.17. 如何查詢目前系統有沒有安裝這個關鍵字的套件?
20.18. 如何查詢某個檔案是屬於哪些套件?
20.19. 如何查詢某個套件安裝了哪些檔案?
20.20. 如何安裝舊版的 ports?

20.1. 如何只抓取 tarball?

如果只希望抓取 tarball 下來的話,僅需打下面指令即可:

# make fetch

如果是要抓取單一的 port,以 editors/joe 為例的話,則:

# cd /usr/ports/editors/joe
# make fetch

那麼,預設會將 editors/joe 的 tarball 下載至 /usr/ports/distfiles 目錄下。

如果是希望抓取安裝此 ports 所有相關相依 ports 的 tarball,以 systuils/portupgrade 為例的話,則:

# cd /usr/ports/systuils/portupgrade
# make fetch-recursive

預設會將此 port 與所有需要的其他 port 的 tarball,都下載至 /usr/ports/distfiles 目錄下。

如果是希望抓取 ftp 分類下所有 ports 的 tarball ,則:

# cd /usr/ports/ftp
# make fetch-recursive

則會所將 ftp 分類下所有 ports 的 tarball 都下載至 /usr/ports/distfiles 目錄下。

20.2. 如何僅做到解開 tarball的步驟?

有時候習慣自己 patch 原始碼的時候,會很常用到這個功能。以 editors/joe 為例的話,則:

# cd /usr/ports/editors/joe
# make extract

那麼就會將 tarball解開至 /usr/ports/editors/joe/work 目錄下。

20.3. 如何僅做到解開 tarball 並補上官方提供的 patch ?

此法與上面方式有一些類似,不同於是先補上官方提供的 patch ,再行 patch 自己的修正。有時候習慣自己 patch 原始碼的時候,會很常用到這個功能。 以 editors/joe 為例的話,則:

# cd /usr/ports/editors/joe
# make patch

那麼就會將 tarball解開至 /usr/ports/editors/joe/work 目錄下 ,並補上官方提供的 patch。

20.4. 如何安裝一個新的 port?

如果系統上未安裝此軟體,則可以選擇安裝一個新的 port。 以 editors/joe 為例的話,則:

# cd /usr/ports/editors/joe
# make install

如此會在系統上安裝一個新的 joe 軟體。 如果需要在安裝完成後,也一併清除編輯時期所留下來的暫存目錄,則可配合 make clean 方法一起使用,如:

# cd /usr/ports/editors/joe
# make clean

20.5. 如何安裝一個新的 port,並打包(package)起來?

將安裝完成的軟體打包起來,有許多便利性:包括在叢集系統中,可供其它機器使用, 或將未來此軟體出問題可重新利用此 package 重新快速安裝。 以 editors/joe 為例的話,則:

# cd /usr/ports/editors/joe
# make package

如此會在系統上安裝一個新的 joe 軟體,並將此軟體打包(package)起來。 package 預設會在 /usr/ports/editors/joe 目錄下,如果希望集中管理的話,建議做如下的步驟:

# mkdir -p /usr/ports/packages/All

以後打包的 packages 都會存放在此目錄下,並且系統會自動做分類,以方便管理。 如果需要在安裝完成後,一併清除編輯時期所留下來的暫存目錄,則可加上 make clean 一起使用,比如:

# cd /usr/ports/editors/joe
# make package clean

20.6. 如何打包一個 port,並將其所有相依的 ports 也打包起來?

因為上面剛說的 make package 方式只有打包單一套件, 中間依賴的 ports 並沒有一起打包,這會出現一個常遇到的問題: 就是如果一個 port 需要依賴其它的 ports,那麼必須將其它 ports 也一起打包,否則安裝 packages 會有相依的問題。 以 sysutils/portupgrade 為例:

# cd /usr/ports/sysutils/portupgrade
# make DEPENDS_TARGET=package package

如此一來,就會對所有 portupgrade 所相依賴的 ports 都一併打包,也包括自己本身。

备注:我是用这个命令打包的:

make package-recursive           #打包当前目录的软件,并且打包与这个软件有依赖关系的软件包
在打包之前使用命令: mkdir -p /usr/ports/packages 建立目录,以后打包的程序都会保存在这个目录下

20.7. 如何對一個已經安裝的 port 打包?

如果安裝好一個套軟,事前並未打包,事後想打包的話, 以 editors/joe 為例:

# cd /var/db/pkg
# pkg_create -b joe-{版本號}

如此一來,就會將已安裝的 port 打包起來,放在 /var/db/pkg 目錄下。

20.8. 如何清理 ports 編輯期間所產生的暫存資料?

在安裝 port 的時候,通常會有編譯期間所需要的工作目錄(work),因此通常安裝好一個套件後,會清除此暫存目錄,以節省硬碟空間。 以 editors/joe 為例:

# cd /usr/ports/editors/joe
# make clean

而如果是希望清除所有 ports 的暫存目錄,則:

# cd /usr/ports
# make clean

而如果是希望清除所有 ftp 分類的暫存目錄,則:

# cd /usr/ports/ftp
# make clean

20.9. 如何清理 ports 編輯期間所產生的暫存資料,以及 tarball 檔?

上面所講的 make clean 僅只是清除編輯期間所需要的工作目錄(work),並沒有將編譯 ports 時一併下載的 tarball 刪除(相對應之 tarball 預設會存放在 /usr/ports/distfiles) 如果打算把 tarball 也一併清除的話,以 editors/joe 為例:

# cd /usr/ports/editors/joe
# make distclean

make distclean 的步驟包含了 make clean 的功能,也就是說除了會刪除 tarball 外,還會一併清除編譯時的暫存 work 目錄。

如果是希望清除所有 ports 的暫存 work 目錄及 tarball,則:

# cd /usr/ports
# make distclean

而如果是希望清除所有 ftp 分類的暫存目錄以及 tarball,則:

# cd /usr/ports/ftp
# make distclean

20.10. 如何在安裝 ports 前查詢所依賴的相關套件?

在安裝 ports 前,可以查詢所需依賴/相關的套件。 以 mail/p5-Mail-SpamAssassin 為例:

# cd /usr/ports/mail/p5-Mail-SpamAssassin
# make all-depends-list

make all-depends-list 顯示此套件所有相依的套件。

# cd /usr/ports/mail/p5-Mail-SpamAssassin
# make pretty-print-build-depends-list

make all-depends-list 顯示此套件在編譯期間所需要的套件。

# cd /usr/ports/mail/p5-Mail-SpamAssassin
# make pretty-print-run-depends-list

make all-depends-list 顯示此套件要執行時所需要的套件。

20.11. 如何移除已安裝的 ports?

editors/joe 為例:

# cd /usr/ports/editors/joe
# make deinstall

或是使用 pkg_delete

# pkg_delete joe-{version}

有時候套件之間的相依性會導致無法直接移除,如果要強制移除的話,則:

# pkg_delete -f joe-{version}

但請注意:很有可能會導致其它相依到這軟體的套件執行起來出現問題。

20.12. 如何一併移除所相依的 ports?

sysutils/portupgrade 為例:

# cd /usr/ports/sysutils/portupgrade
# make deinstall-depends

執行此步驟前,請注意是否會移除其他套件也有共同相依的部分。建議先參考 上面所講的 make-depends-list 的方法來檢查。

# pkg_delete joe-{version}

或者建議用:pkg_delete,這樣若仍有相依該套件的話,會先警告而不會移除。 除非有另外加了 -f 參數來強制移除…。

# pkg_delete -r joe-{version}

20.13. 如何重新安裝已安裝過的 ports?

重新安裝的前提是:之前有安裝過或目前已安裝。以 editors/joe 為例:

# cd /usr/ports/editors/joe
# make deinstall clean install

或是

# cd /usr/ports/editors/joe
# make reinstall

或是

# portupgrade -f joe

20.14. 如何以關鍵字搜尋所要找的 ports?

如果要從全部的 ports collection 中找尋與關鍵字 “ldap” 有關的 ports,則:

# cd /usr/ports
# make search key=ldap

如果只要從與 ftp 相關的 ports 下找尋與關鍵字 “ldap” 有關的 ports,則:

# cd /usr/ports/ftp
# make search key=ldap

另外,還有另一個用法,方法只是將 key 換成 name。如果已經知道要搜尋 ports 的名稱,或只想找名稱相關的關鍵字 “ldap”, 則:

# cd /usr/ports
# make search name=ldap

20.15. 如何升級已安裝的 ports?

如果已經安裝套件,事後欲升級的話,必須先移除舊版的 port。以 editors/joe 為例:

# portupgrade joe

或是

# cd /usr/ports/editors/joe
# make clean reinstall

或是

# portupgrade -f joe

20.16. 如何查詢目前系統安裝了哪些套件?

查詢目前系統已安裝的全部套件:

# pkg_info

20.17. 如何查詢目前系統有沒有安裝這個關鍵字的套件?

假設要找的關鍵字是 joe 的話:

# pkg_info | grep joe

20.18. 如何查詢某個檔案是屬於哪些套件?

如果想查詢 /usr/local/bin/joe 是屬於哪個套件的話,則:

# pkg_info -W /usr/local/bin/joe

如果沒有回傳任何資訊的話,代表著這個檔案是由 FreeBSD 內建的。

20.19. 如何查詢某個套件安裝了哪些檔案?

如果想查詢目前系統所安裝的 joe 包含了哪些檔案,則:

# pkg_info -L /var/db/pkg/joe-{version}

20.20. 如何安裝舊版的 ports?

有時候會因為相依性,或是新版有問題,而會想裝舊版本的套件。 這裡介紹的方法是利用 CVS 的好處,回歸到以前舊版本存在的日子,以安裝舊版本的套件。

首先,若我們要回復到某一個套件的版本時,需要去查詢 FreeBSD ports CVS repository。 最常見的就是 Freshports 網站、 FreeBSD 的 Mailing FreeBSD cvs 或是 FreeBSD ports cvsweb

查到該套件版本所依存的日子後,就修改 CVS tag。一般預設 ports 的 CVS tag 會寫在 /usr/share/examples/cvsup/ports-supfile ,如要回溯到 2002/10/05 號的話,則:

# vi /usr/share/examples/cvsup/ports-supfile
default date=2002.10.05.00.00.00  #將 date 改成當日

然後按照一般 CVSup 或 csup 的時候一樣,執行 CVSup 或 csup (make update),此時的 ports collections 就會回到當時的情形,那麼該套件的舊版也會出現在 ports collections 中,只要安裝即可。

如果僅是想回溯某部份的 ports,則必須加上額外的資訊,如僅希望把 lang/perl5.8 回溯, 而我們得知此屬於 lang 中的一支,則:

# vi /usr/share/examples/cvsup/ports-supfile
#ports-all #將 ports-all 標示起來
ports-lang #加入這行

最後,執行 CVSup 或 csup ,並安裝即可。目前若希望單獨回溯單一的 port,則比較麻煩。

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

PHP5-GD依赖x11是因为它需要X11来支持一种叫做“xpm”也就是”X PixMap”格式的图片。我没听说过,也不需要这种格式的图片处理功能,所以,使用

make WITHOUT_X11=yes install

来避免了安装x11这个庞然大物。

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare
如果使用pkg_add -r cvsup-without-gui 出现链接不上服务器的问题,可以通过更改链接服务器地址来解决。
编辑/root  下的 .cshrc 加入
setenv PACKAGESITE
版本号如下
这样就可以了
Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

之前给新环境安装GD,发现给我装了一大堆Xorg的lib

要PageDown两屏才能翻完,吓死人哦 XD

之后在make.conf中写上WITHOUT_X11=yes

然后删除所有已安装的Ports(好似没有一次删除相关libports的能力哦)

remakeinstall

终于干净了。

原文出处:http://www.yourdj.net/?p=11

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 

 

前言

1.       看了张宴的《linux版本的Nginx 0.5.33 + PHP 5.2.5》后,马上找了一台服务器测试了一下,然后加了一个线上的discuz的论坛跑了一下,性能非常的卓越,感叹搜遍整个互联网,就是nginx+php唯一的一篇文档。对于他的文档,我认为:写的非常专业,对于php extensions库也分析的非常透彻。但是一篇专业的文档,也存在一些专业带来的麻烦,就是起点有点高,假如要更新里面的软件包和定义自己的目录,势必需要一点波折。另外不知道为何,最近网站老是打不开。情急之下,小弟重新写了一篇freebsd下面的傻瓜式安装文档。

2.       又结合了平时的一些经验,顺便把如何防卸ddos,并通过对系统的优化,如何来进一步提高nginx的并发数做 一些详解。

3.       由于个人能力有限,错误的地方,还请读者谅解


 

一、安装软件前的准备

系统的安装:插入freebsd6.2以上的光盘,最小化安装系统,同时安装好ports

二、手动安装nginx+php

1)        进入系统后,准备cvs更新:

1.         cd /usr/ports/net/cvsup-without-gui

2.         cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile

3.         # vi /etc/ports-supfile

将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为

*default host=cvsup4.FreeBSDchina.org

4.         更新ports

    /usr/local/bin/cvsup -g -L 2 /etc/ports-supfile

2)        安装mysql

#cd /usr/ports/databases/mysql51-server

#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean

#cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf   ##mysql的优化参数,也可以手动修改

#rehash

# mysql_install_db –user=mysql          ##初始化mysql

#/usr/local/bin/mysqld_safe &            ##启动mysql

#/usr/local/bin/mysqladmin -u root password ‘newpass    ##修改root密码,newpass是你需要改的密码

关闭mysql可以使用mysqladmin -uroot -p shutdown

3)        安装php

#cd /usr/ports/lang/php5

#make config    ##配置编译参数

[X] CLI        Build CLI version
[X] CGI        Build CGI version
[ ] APACHE     Build Apache module
[ ] DEBUG      Enable debug
[X]] SUHOSIN Enable Suhosin protection system
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6       Enable ipv6 support
[ ] REDIRECT   Enable force-cgi-redirect support (CGI only)
[ ] DISCARD    Enable discard-path support (CGI only)
[X] FASTCGI    Enable fastcgi support (CGI only)
[X] PATHINFO   Enable path-info-check support (CGI only)
#make install clean

# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini   ##cp php.ini配置文件

4)        安装php5-extensions

# cd /usr/ports/lang/php5-extensions/

#make config

Options for php5-extensions 1.1
————————————————-
[X] CURL        CURL support

[X] FTP        FTP support
[X] GD       
[X] GETTEXT
[X] MBSTRING multibyte string support

[X] MCRYPT      Encryption support 
[X] MYSQL

[X] PCRE        Perl Compatible Regular Expression support
[ ] POSIX //
去掉.
[ ] SQLITE //
去掉.

[X] ZIP         ZIP support
[X] ZLIB
# make install clean

5)        安装Zend Optimizer

#cd /usr/ports/devel/ZendOptimizer/

#make                       #不要安装,只需要下载解包

#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*

#./install-tty               ##会出现一个文字的安装界面,只是最后一步,不要选择apache就可以了

#vi /usr/local/etc/php.ini          #插入zend的路径,一般来说,上面的安装会自动加入下面的文字,假如没有,请手动添加。

 

[Zend]

zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0

zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0

zend_optimizer.version=3.3.0a

zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so

zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

 

小提示:安装zend,在freebsd下面,目前只有支持到php5.1.x,对于php5.2.x还不能支持,因为zend还没有为php5.2.x开发版本,在网上查了好多关于解决此类的问题,但得到的结果是,zend可以顺利安装,phpinfo也显示zend正常了,但程序无法调用,即zend没有工作,也就是目前无法解决,我想只有等到zend php5.2.x的版本后,才可以解决此问题,也希望哪位已经解决此类问题的兄弟,share一下你的经验。假如你非要使用zend,那就请你将php降到5.1.x,或者你不当心已经升级了ports,那建议你可以安装php4.x,毕竟目前php4.x还通用于大部分的环境

6)        安装nginx

#cd /usr/ports/www/nginx/

#make install

7)        安装lighttpd,为了得到fastcgi

# cd /usr/ports/www/lighttpd/

#make install

#rehash

8)         配置nginx

#user   nobody
删除前面的注释#,改成 user   www

#log_format  main  ‘$remote_addr – $remote_user [$time_local] ‘

#                      ‘”$request” $status $body_bytes_sent ‘

#                      ‘”$http_referer” “$http_user_agent”‘;

log_format  main  ‘$remote_addr – $remote_user [$time_local] ‘

                      ‘”$request” $status $body_bytes_sent ‘

                      ‘”$http_referer” “$http_user_agent”‘;

##以上步骤,为了能够正常分析logpvhits,访问量,才设定的,默认的log格式,是无法准确分析出所需要的结果

 

location / {
    root    /usr/local/www/nginx;
    index    index.html index.htm;
}
index.html前面添加一个index.php
location / {
    root    /data/web/www.jk0086.com/htdocs;
    index    index.php index.html index.htm;
}

#location ~ \.php$ {
#    fastcgi_pass    127.0.0.1:9000;
#           fastcgi_index   index.php;
#           fastcgi_param     SCRIPT_FILENAME     /scripts$fastcgi_script.name;
#    include      fastcgi_params;
#}
将前面的#去掉,修改为
location ~ \.php$ {
    fastcgi_pass    127.0.0.1:9000;
           fastcgi_index   index.php;
           fastcgi_param     SCRIPT_FILENAME     /usr/local/etc/nginx$fastcgi_script.name;
    include      fastcgi_params;
}
##
去掉注释,其实就是激活了nginxfastcgi功能,也说明了nginx本身就已经准备用于fastcgi的环境中

 

9)        配置spawn-fcgi,就是一个启动fastcgi命令,使得nginx可以通过9000端口访问(纯粹个人理解-_-

参数说明:监听127.0.0.19000端口,进程数为64(如果服务器内存小于3GB,可以只开启25个进程),用户为www

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -C 64 -f /usr/local/bin/php-cgi

10)     这边请注意启动顺序,先启动fastcgi,再启动nginx

Nginx.conf由于经常需要修改,即经常需要重启nginx,因此这边写了一个启动脚本,请查看:

#!/usr/local/bin/bash

case $1 in

start)

        /usr/local/sbin/nginx

;;

stop)

        killall -9 nginx

;;

test)

        nginx -t -c /usr/local/etc/nginx/nginx.conf

;;

restart)

        ps auxww | grep nginx | grep master | awk ‘{print $2}’ | xargs kill -HUP

;;

show)

        ps -aux|grep nginx

;;

esac

保存为nginx.sh使用方法为:

nginx.sh start   #启动nginx

nginx.sh stop   #停止nginx

nginx.sh restart #重启nginx

nginx.sh test   #测试nginx.conf的准确性

11)     安装phpMyAdmin

#cd /usr/ports/databases/phpmyadmin

#make install

#mv /usr/local/www/phpmyadmin /data/web/ www.jk0086.com/htdocs/

#cd /data/web/www.jk0086.com/htdocs/phpmyadmin

#vi config.inc.php   ##这边要说明一下,freebsd默认安装的phpmyadmin,里面配置文件有问题,需要手动修改,请修改成如下内容:

<?php

 

 

 

/* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */

 

// vim: expandtab sw=4 ts=4 sts=4:

 

 

 

/**

 

 * phpMyAdmin sample configuration, you can use it as base for

 

 * manual configuration. For easier setup you can use scripts/setup.php

 

 *

 

 * All directives are explained in Documentation.html and on phpMyAdmin

 

 * wiki <http://wiki.cihar.com>.

 

 */

 

 

 

/*

 

 * This is needed for cookie based authentication to encrypt password in

 

 * cookie

 

 */

 

$cfg['blowfish_secret'] = ‘asdf:LKJ’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

 

 

 

/*

 

 * Servers configuration

 

 */

 

$i = 0;

 

 

 

/*

 

 * First server

 

 */

 

$i++;

 

/* Authentication type */

 

$cfg['Servers'][$i]['auth_type'] = ‘cookie’;

 

/* Server parameters */

 

$cfg['Servers'][$i]['host'] = ‘localhost’;

 

$cfg['Servers'][$i]['connect_type'] = ‘tcp’;

 

$cfg['Servers'][$i]['compress'] = false;

 

/* Select mysqli if your server has it */

 

$cfg['Servers'][$i]['extension'] = ‘mysql’;

 

/* User for advanced features */

 

// $cfg['Servers'][$i]['controluser'] = ‘pam’;

 

// $cfg['Servers'][$i]['controlpass'] = ‘pampasswd’;

 

/* Advanced phpMyAdmin features */

 

// $cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;

 

// $cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;

 

// $cfg['Servers'][$i]['relation'] = ‘pma_relation’;

 

// $cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;

 

// $cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;

 

// $cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;

 

// $cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;

 

// $cfg['Servers'][$i]['history'] = ‘pma_history’;

 

// $cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;

 

 

 

/*

 

 * End of servers configuration

 

 */

 

 

 

/*

 

 * Directories for saving/loading files from server

 

 */

 

$cfg['UploadDir'] = ”;

 

$cfg['SaveDir'] = ”;

 

 

 

?>

 

 

以上只是一个配置文件,当你打开Phpmyadmin的时候,会提示你输入用户名密码,然后登陆数据库,相对比较安全的

 

 

三、系统优化+防止ddos

1)        这个话题有点大,我相信我做的只是其中很小的一部分,同时很多人也会问我,是不是要编译内核,这边的回答是不需要编译任何内核,只需要copy文件,然后重启一下服务器就可以了。

2)        加载文件修改

# vi /boot/loader.conf    #加入如下文本

kern.dfldsiz=”2147483648″               # Set the initial data size limit

kern.maxdsiz=”2147483648″               # Set the max data size

kern.ipc.nmbclusters=”0″        # Set the number of mbuf clusters

kern.ipc.nsfbufs=”66560″                # Set the number of sendfile(2) bufs

##解释:

a.  第一,第二行主要是为了突破1G内存设置的

b.  第三行其实是bsd的一个bug,当系统并发达到一个数量级的时候,系统会crash,这个是非常糟糕的事情,所幸更改了这个参数后,在高并发的时候,基本可以没有类似情况,当然非常bt的情况,还得进一步想办法

c.  第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的

 

3)        Sysctl修改

#vi /etc/rc.local

sysctl kern.ipc.maxsockets=100000    ##增加并发的socket,对于ddos很有用

sysctl kern.ipc.somaxconn=65535     ##打开文件数

sysctl net.inet.tcp.msl=2500          ##timeout时间

 

 

4)        通过上述的简单优化,会给你带来意外的惊喜,如果有兴趣的兄弟,可以尝试一下看看,绝无副作用。

 

四、其他

1)        加速ports安装

#vi /etc/make.conf     ##加入如下

MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/

MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/

 

2)        Freebsd颜色显示

secureCRT设置:仿真:终端->linux>勾选ANSI颜色–>确定

#vi /etc/csh.cshrc    ##加入如下

setenv LSCOLORS ExGxFxdxCxegedabagExEx

setenv CLICOLOR yes

#cd /usr/ports/edit/vim;make install

#echo “syntax on”>/root/.vimrc

#echo “alias vi        vim” >>/root/.cshrc

##颜色主要是靠vim来显示的,因此需要安装vim,然后把vi aliasvim就可以了

3)        Other。。。。。。。。更新中

 

 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68301/showart_1074584.html

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare