1.CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享
2.谈谈网站安全性的源码问题
3.Eclipseå¦ä½å建JavaBean
CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享
说明:操作系统:CentOS 6.2 位
准备篇:
一、配置好IP、源码DNS 、源码网关,源码确保使用远程连接工具能够连接服务器
二、源码配置防火墙,源码源码hex开启端口、源码端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT(允许端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT(允许端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的源码最后一行,导致防火墙启动失败,源码正确的源码应该是添加到默认的端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################
/etc/init.d/iptables restart #最后重启防火墙使配置生效
三、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,源码关闭
shutdown -r now #重启系统
四 、源码系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
五、源码下载软件包
1、源码下载nginx(目前稳定版)
.php.net/distributions/php-5.3..tar.gz
5、源码下载cmake(MySQL编译工具)
f /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加
datadir = /data/mysql #添加MySQL数据库路径
./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
chmod /etc/init.d/mysqld #增加执行权限
chkconfig mysqld on #加入开机启动
vi /etc/rc.d/init.d/mysqld #编辑
basedir = /usr/local/mysql #MySQL程序安装路径
datadir = /data/mysql #MySQl数据库存放目录
service mysqld start #启动
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now #需要重启系统,unity放样源码等待系统重新启动之后继续在终端命令行下面操作
mysql_secure_installation #设置Mysql密码
根据提示按Y 回车输入2次密码
或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "" #修改密码
service mysqld restart #重启
到此,mysql安装完成!
五、安装 nginx
groupadd www #添加www组
useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统cd /usr/local/src
tar zxvf nginx-1.0..tar.gz
cd nginx-1.0.
./configure --prefix=/usr/local/nginx --user=www --group=www --with-tl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl #配置
make #编译
make install #安装
cp php.ini-production /usr/local/php5/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php5/etc/php.ini /etc/php.ini #添加软链接
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
vi /usr/local/php5/etc/php-fpm.conf #编辑
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www
pid = run/php-fpm.pid #取消前面的分号
设置 php-fpm开机启动
cp /usr/local/src/php-5.3./sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
vi /usr/local/php5/etc/php.ini #编辑配置文件
找到:;open_basedir =
修改为:open_basedir = .:/tmp/ #防止php木马跨站,重要!!
找到:disable_functions =
修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_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
#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,源码资本取名寓意可以删除,取消禁用。
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = OFF #禁止显示php版本的信息
找到:display_errors = On
修改为:display_errors = OFF #关闭错误提示
七、配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php5/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.php index.html index.htm; #添加index.php
# pass the PHP scripts to FastCGI server listening on .0.0.1:
#
location ~ /.php$ {
root html;
fastcgi_pass .0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
/etc/init.d/nginx restart #重启nginx
八、配置php支持Zend Guard
安装Zend Guard
cd /usr/local/src
mkdir /usr/local/zend #建立Zend安装目录
tar xvfz ZendGuardLoader-php-5.3-linux-glibc-i.tar.gz #解压安装文件
cp ZendGuardLoader-php-5.3-linux-glibc-i/php-5.3.x/ZendGuardLoader.so /usr/local/zend/ #拷贝文件到安装目录
vi /usr/local/php5/etc/php.ini #编辑文件
在最后位置添加以下内容
[Zend Guard]
zend_extension=/usr/local/zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
测试篇
cd /usr/local/nginx/html/ #进入nginx默认网站根目录
rm -rf /usr/local/nginx/html/* #删除默认测试页
vi index.php #新建index.php文件
?php
phpinfo();
?
:wq! #保存
chown www.www /usr/local/nginx/html/ -R #设置目录所有者
chmod /usr/local/nginx/html/ -R #设置目录权限
shutdown -r now #重启
在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
service nginx restart #重启nginx
service mysqld restart #重启mysql
/usr/local/php5/sbin/php-fpm #启动php-fpm
/etc/rc.d/init.d/php-fpm restart #重启php-fpm
/etc/rc.d/init.d/php-fpm stop #停止php-fpm
/etc/rc.d/init.d/php-fpm start #启动php-fpm
#############################################################################
备注:
nginx默认站点目录是:/usr/local/nginx/html/
权限设置:chown www.www /usr/local/nginx/html/ -R
MySQL数据库目录是:/data/mysql
权限设置:chown mysql.mysql -R /data/mysql
到此,CentOS 6.2下 Nginx1.0.+MySQL5.5.+PHP5.3.+Zend Guard Loader基本运行环境搭建完成!优化cr指标源码
谈谈网站安全性的问题
刚入职没多长时间,网站一直有人上传木马,基本网站一直处在被人攻击的状态,纠结阿。一直忙着解决这问题了。今天好不容易有些成就,就拿出来和大家分享一下,如果大家有什么好的方法,可以教教我.这两天为了这事儿头疼死了.
网站现在大体的全网在线解析源码情况是dede+smarty开发的博客系统+dz,百度和谷歌的权重都在5左右,所以访问量还是比较大的。
dede公认的漏洞比较多,而且接手的这个dede还二次开发过。所以短时间内找漏洞是不太可能了,如果有朋友之类的话,可以让他们一起检测,毕竟一个人太麻烦了,或者加我QQ
1.网站目录安全性
1所有的目录可以设置权限,css和images文件,css可以设置读写权限,不给执行权限,css经常改的话给写权限,文件只给读的权限就可以了,去掉所有不用经常改的PHP文件写入权限,不给任何攻击者将代码写入php中的机会
2经常扫描是否有特殊后缀或者新被上传的文件,看源码,尤其是inc后缀的
2.网站安全检测
网站安全检测,这个还是比较好使的,不过有没有其他的想法就不知道了,哈哈检测完了有修复的提示。
2自己写一个检测网站木马文件的脚本,网上也有,他本身就是木马,找一个没有后门之类的,上传上去,自己检测。这个还是非常不错的。看清楚源码以后删除木马文件。
3使用DOMAIN3.5之类的上传注入软件自己测试一下网站。
3.修改服务器配置增加安全性
1在apache配置文件中禁止一些目录执行php文件的权限,比如uploads/,html/等。下面是一个例子:
双击代码全选
1
2
3
4
5
6
Directory "/usr/local/apache2/htdocs/uploads"
Files ~ ".php"
Order allow,deny
Deny from all
/Files
/Directory
2有些不希望别人访问的目录也直接禁止掉。
3修改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
4.其他方式
1.打补丁,尤其是坑爹的dede
2。经常修改服务器的帐号密码,ftp帐号密码,最好用sftp
3.最好把dede后台的文件管理器关闭,还有dede数据库备份还原。以及文章里的上传之类的全部做过滤,禁止上传其他格式,尤其是php格式的文件。
4.对linux服务器不是特别懂,所以就先不说这个了。以后学成了再和大家讨论
Eclipseå¦ä½å建JavaBean
JavaBean å ¶å®åªæ¯ä¸ªæ®éç Class ï¼åªä¸è¿é¢å¤æ»¡è¶³ä¸äºçº¦å®ââä¸è¬ææå±æ§é½æ¯ private ç§æçï¼å¹¶ä¸ææå±æ§é½æ å ¬æçï¼publicï¼ get å set æ¹æ³ã满足以ä¸ä¸¤ç¹çç±»æè å®ä¾ï¼æ们就åºæ¬å¯ä»¥è®¤ä¸ºæ¯ä¸ä¸ª JavaBeanã
æ以 >>é£å°±æ¯è¯´JavaBeanå¯ä»¥ç¨Classç¼è¯åï¼
å®å ¨å¯ä»¥æ JavaBean å½åæ®éç Class ç¼è¯å使ç¨
楼主ç红线æ¯è¡¨ç¤ºå½åç±»çè·¯å¾ä¸æ件éç package 声æä¸ä¸æ ·ã
å¨æå¨å·¥ç¨æºä»£ç ç®å½ä¸éæ©æ°å»ºä¸ä¸ªpackageï¼å¯ä»¥ç¨å³é®ç¹ src æ件夹ï¼ä¹å¯ä»¥éä¸ src æ件夹ä¹åï¼é eclipse å·¥å ·æ éé¢ file / New ç¶åéæ© packageï¼ï¼å½å为 jspbook.testï¼ ç¶åæä½ è¿ä¸ªç±»ææ½è¿å»å°±å¯ä»¥è§£å³äºã
æè æå æ 移å¨å°ä»£ç package é£è¡ï¼ç¨ ctrl + 1 ççé®å¯ä»¥è°åº eclipse ç»åºçå¤ç建议ï¼ç¶åéæ©å建个å ä¹è¡