博文

Freebsd8.2 32位ports安装php5.2+fpm+mysql5.1+nginx+Zend

一、安装软件前的准备: 系统的安装:让机房最小化安装32位freebsd8.2系统。 ports的安装:机房装好系统后,远程登录,自己在线安装ports 命令: sysinstall->Configure->Distributions->ports->FTP->China->OK 修改系统密码:passwd回车 二、手动安装nginx+php (1) 进入系统后,准备cvs更新: 1. cd /usr/ports/net/cvsup-without-gui # make install clean 2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile 3. # ee /etc/ports-supfile 将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为: *default host=cvsup4.FreeBSDchina.org {也可以指定更新版本日期,例如加上:*default date=2009.10.05.00.00.00 (这个可以省略) } 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...

dedecms安全设置之php.ini设置

php.ini中修改参数: disable_functions = system,exec,shell_exec,passthru,proc_open,proc_close,proc_get_status,checkdnsrr,getmxrr, getservbyname,getservbyport,syslog,popen,show_source,highlight_file,dl,socket_listen,socket_create, socket_bind,socket_accept,socket_connect,stream_socket_server,stream_socket_accept, stream_socket_client,ftp_connect,ftp_login,ftp_pasv,ftp_get,sys_getloadavg,disk_total_space, disk_free_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid, posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp, posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid, posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid, posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,fsockopen,pfsockopen   allow_url_include = Off

启用gzip模块优化网页

Nginx   http { : include conf/mime.types; : gzip on; : gzip_min_length 1000; : gzip_buffers 4 8k; : gzip_http_version 1.1; : gzip_types text/plain application/x-javascript text/css text/html application/xml; } 重启nginx IIS6 打开Internet信息服务(IIS)管理器,右击”网站”→“属性”,选择”服务”。在”HTTP压缩”框中选中”压缩应用程序文件”和”压缩静态文件”,按需要设置”临时目录”和”临时目录的最大限制”; 在Internet信息服务(IIS)管理器,右击”Web服务扩展”→“增加一个新的Web服务扩展…“,在”新建Web服务扩展”框中输入扩展 名”HTTPCompression”,添加”要求的文件”为C:\WINDOWS\system32\inetsrv\gzip.dll,其中 Windows系统目录根据您的安装可能有所不同,选中”设置扩展状态为允许”; 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),找到Location =”/LM/W3SVC/Filters/Compression/gzip”,如果需要压缩动态文件,则将 HcDoDynamicCompression设置为”TRUE”,并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名, 如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置 为”TRUE”,并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css 等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低; 编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开”开始”→“管理工具”→“服务”,停止”IIS Admin Service”后,即可保存; 最后,重新启动IIS。 Apache 编辑ht...

关于FORCE_PKG_REGISTER

当你先已用ports安装过某一软件,再次安装同一项时,会出现类似:You may wish to “make deinstall” and install this port again by “make reinstall” to upgrade it properly. If you really wish to overwrite the old port of PORTS資料夾位置 without deleting it first, set the variable “FORCE_PKG_REGISTER” in your environment or the “make install” command line. 的错误。   解决办法:只要在make install 时加上 FORCE_PKG_REGISTER=”yes” 就可以强制安裝

Apache VirtualHost设定

通常在一台Web Server上,會有數個不一樣的網站要執行,這時候各個網站的domain name就必須靠VirtualHost設定 VirtualHost基本設定 #指定主機所有port 80所指定的虛擬主機 NameVirtualHost *:80   <Virtualhost *:80> #DNS ServerName wp.johnsonlu.org   #Web Root Path DocumentRoot /var/www/test   #Alias可以將DocumentRoot底下的路徑對應成特定目錄路徑 Alias /doc/ /var/www/test/doc/   #控制目錄權限 <Directory “/usr/share/doc/”> #Options可以透過+號或-號來控制目錄權限,例如關閉Index目錄 #FollowSymLinks是允許連到DocumentRoot以外的其他目錄、MultiViews是多國語言支援 Options -Indexes FollowSymLinks MultiViews   #AllowOverride是用來設定Override權限。None代表關閉.htaccess;FileInfo則是開啟 AllowOverride None   #Order負責控制Deny和Allow執行順序 Order Deny,Allow #控制要拒絕的連線 Deny from all #控制可以通過的連線 Allow from 127.0.0.0/255.0.0.0 </Directory>   #Log ErrorLog /var/log/error_log </Virtualhost> Alias也可以透過正規表示法設定成pattern,可以參考mod_alias Directory設定可以參考Directory Directive Allow和Deny的部份可以參考mod_access_compat     另外也可以把VirtualHost設定成動態的pattern (需要開啟mod_vhost_alias module) <VirtualHost *:...

Apache压力测试工具 ApacheBench

這是Apache內建的壓力測試工具 指令為(ab or ab2) ab -k -c 10 -n 10 http://xxxx.com/ -k 是代表KeepAlive -c concurrent 代表同時進行壓力測試的數量 -n request number 代表request的數量

Apache mod_deflate(gzip)

在Apache中,可以啟用mod_deflate來壓縮網頁,傳送給client後再由client端解壓縮,可以大大節省頻寬的使用 開啟方法: #先到apache的httpd.conf中把mod_deflate.so註解拿掉(如果預設有引入的話就代表已經有使用deflate壓縮囉) LoadModule deflate_module libexec/apache22/mod_deflate.so #Ubuntu可以使用指令開啟 a2enmod deflate 接著可以在Apache設定檔(httpd.conf)中自訂一些設定 <IfModule mod_deflate.c> #壓縮等級1~9,等級越高壓縮效能越好 DeflateCompressionLevel 9 #設定要壓縮的類型 AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-httpd-php #自訂Log格式及存放位置 DeflateFilterNote ratio LogFormat ‘”%r” %b (%{ratio}n) “%{User-agent}i”‘ deflate CustomLog /var/log/deflate_log deflate </IfModule> 其他更細部的操作,例如BrowserMatch等等,可以直接參考Apache mod_deflate的說明 設定完成後重新啟動Apache即可,可以透過這個網站測試

FreeBSD防火墙Firewall(ipfw)

先將kernel複製出來 mkdir /usr/local/etc/FreeBSD cd /usr/src/sys/i386/conf cp GENERIC /usr/local/etc/FreeBSD/MYKERNEL ln -s /usr/local/etc/FreeBSD/MYKERNEL vi /usr/local/etc/FreeBSD/MYKERNEL 加入 options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #enable logging to syslogd(8) options IPFIREWALL_FORWARD #packet destination changes options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default cd /usr/src;make kernel 完成後開始設定 vi /etc/rc.conf 加入 #firewall firewall_enable=”YES” firewall_logging=”YES” firewall_script=”/etc/rc.firewall” vi /etc/rc.firewall 將內容全部刪除改為 #!/bin/sh fwcmd=”/sbin/ipfw” Trust_IP1=”127.0.0.1″ #這裡要換成server本身的IP Trust_IP2=”120.119.1.0/24″ #可通過的網段 UnTrust_IP1=”192.83.191.0/24″ Allowed_TCP_In_1=”22,25,53,80,443″ #you want to open port Traceroute=”33433-33499″ Allowed_UDP_Out=”20,21,53,113″ Allowed_UDP_In=”20,21,53,113″ Allowed_UDP_ftp_Out=...

FreeBSD安裝sshguard-ipfw

請先完成ipfw設置 cd /usr/ports/security/sshguard-ipfw;make install clean 在/etc/syslog.conf 中 把 #auth.info;authpriv.info |exec /usr/local/sbin/sshguard 註解去掉 也可以自由設定鎖定時間 例如: auth.info;authpriv.info |exec /usr/local/sbin/sshguard -a 5 -p 7200 -s 3600 (a:失敗多少次 p:被擋多久(秒) s:多少秒忘記攻擊) 最後/etc/rc.d/syslogd restart 接著你可以tail -f /var/log/auth.log,然後用putty連線,密碼請故意打錯四次,就會出現: Jan 26 13:31:05 earth sshguard[40059]: Blocking 210.71.11.116:4 for >420secs: 4 failures over 2 seconds. 解除鎖定: 使用另一個IP登入 ipfw show ipfw delete xxxxx