一、epel 源安装;
1、下载EPEL 的RPM包
wget http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
2、64位的换个地址
wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
3、安装epel
rpm -ivh pel-release-6-8.noarch.rpm ( 版本号 )
如果没有安装 wget 程序,可使用下面的指令安装
yum install wget
二、linux 常用服务 然后就是epel的 yum 安装;
1、安装Apahce、PHP、MySQL和PHP连接MySQL数据库的包:
# yum -y install httpd php mysql mysql-server php-mysql
2、安装Apache常用扩展包:
# yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
3、安装PHP常用扩展组包:
# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
4、安装MySQL的常用扩展包:
# yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
5、安装Tomcat6相关软件包:
# yum -y install tomcat6 tomcat6-webapps tomcat6-admin-webapps tomcat6-docs-webapp tomcat6-javadoc
说明:如果是CentOS 5.x,yum安装的是Tomcat5版本,如下:
# yum -y install tomcat5 tomcat5-webapps tomcat5-admin-webapps tomcat5-docs-webapp tomcat5-javadoc
6、全部软件包一键安装命令如下:
yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel mysql-connector-odbc mysql-devel libdbi-dbd-mysql tomcat6 tomcat6-webapps tomcat6-admin-webapps tomcat6-docs-webapp
7、配置Apache、MySQL、Tomcat服务开机自启动:
# chkconfig httpd on
# chkconfig mysqld on
# chkconfig tomcat6 on
8、重启Apache、MySQL、Tomcat服务:
# /etc/init.d/httpd restart
# /etc/init.d/mysqld restart
# /etc/init.d/tomcat6 restart
说明:
Apache的配置文件是/etc/httpd/conf/里
modules放在/usr/lib/httpd/里
php的配置文件在/etc/php.d/里和/etc/php.ini
php的modules放在/usr/lib/php/modules里
MySQL的配置文件在/etc/my.cnf里
Tomcat6安装目录位于/user/share/tomcat6/里
Tomcat6的配置文件位于/etc/tomcat6/里
9、在Apache的网站根目录下(默认为/var/www/html/)建个PHP环境测试页面:
(测试页 index.php )
# vim index.php
输入:
<?php
phpinfo();
?>
在浏览器访问index.php:
php的测试页面
10、在浏览器输入http://你的IP:8080,可以看到Apache SoftWare Foundation页面,如果看不到,请检查是否防火墙问题。如下图所示:
Apache和tomcat的测试页面;
11、restart重启后设置chkconfig开机自启
三、日志查看 cat
tail -f
系统 日 志 文 件 说 明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志:
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
freebsd 安装wget
自动安装 pkg_add -r wget
四、
【 CentOS 5.X 安装使用EPEL YUM源 】
1. 查看操作系统版本
# lsb_release -a
Description: CentOS release 5.5 (Final)
2.下载相应的EPEL源
32位系统:
# wget http://mirrors.yun-idc.com/epel/5/i386/epel-release-5-4.noarch.rpm
64位系统:
# wget http://mirrors.hust.edu.cn/epel//5/x86_64/epel-release-5-4.noarch.rpm
3.安装EPEL源(注:安装对应版本的rpm包)
# rpm -ivh epel-release-x-x.noarch.rpm
4.导入key文件
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
5.查看安装的EPEL源
# cd /etc/yum.repos.d/
# ll
-rw-r--r-- 1 root root 2245 2010-04-26 CentOS-Base.repo
-rw-r--r-- 1 root root 626 2010-04-26 CentOS-Media.repo
-rw-r--r-- 1 root root 954 2010-08-12 epel.repo #正式版,所有的软件都是稳定可以信赖的
-rw-r--r-- 1 root root 1054 2010-08-12 epel-testing.repo #最新的测试源
注:但是默认情况下,只有正式版是有效状态的,如果你想试试测试版的话,需要修改/etc/yum.repos.d/epel-testing.repo,把enabled=0改成enabled=1即可。
6.测试
# yum clean all
# yum list
【 CentOS 6.X 安装使用EPEL YUM源 】
1. 查看操作系统版本
# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
2.下载相应的EPEL源
(1).32位系统
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
(2).64位系统
# wget http://mirrors.hust.edu.cn/epel//6/x86_64/epel-release-6-8.noarch.rpm
3.安装EPEL源(注:我这里是64位系统)
# rpm -ivh epel-release-6-8.noarch.rpm
warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256Signature, key ID 0608b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
4.导入key文件
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
5.查看安装的EPEL源
# cd /etc/yum.repos.d/
# ll
-rw-r--r--. 1 root root 1926 2月 25 16:57 CentOS-Base.repo
-rw-r--r--. 1 root root 638 2月 25 16:57 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 623 7月 25 16:57 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 2月 25 16:57 CentOS-Vault.repo
-rw-r--r-- 1 root root 957 11月 5 2012 epel.repo
-rw-r--r-- 1 root root 1056 11月 5 2012 epel-testing.repo
6.测试
# yum clean all
# yum list
五、 Linux 挂盘
1.查看当前硬盘使用状况:
[root@gluster_node1 ~]# df -h
2.查看新硬盘
#fdisk –l
( 新添加的硬盘的编号为/dev/sdb )
3.硬盘分区
1)进入fdisk模式
#/sbin/fdisk /dev/sdb (sda)
2)输入n进行分区 P
3)选择分区类型 (1-4)
会有两个选项:
p: 主分区 linux上主分区最多能有4个
e: 扩展分区 linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。
这里我选择的p。
4)选择分区个数 (可以选择4个分区,这里我只分成1个分区 )
5)设置柱面,这里选择默认值就可以
6)输入w,写入分区表,进行分区
4.格式化分区
将新分区格式化为ext3文件系统
1)如果创建的是主分区
#mkfs -t ext3 /dev/sdb1
5. 挂载硬盘
1) 创建挂载点
在根目录下创建mahk目录
#mkdir /mahk
2) 将/dev/sdb1挂载到/mahk下
#mount /dev/sdb1 /mahk
6. 设置开机启动自动挂载
新创建的分区不能开机自动挂载,每次重启机器都要手动挂载。
设置开机自动挂载需要修改/etc/fstab文件
#vi /etc/fstab
在文件的最后增加一行
/dev/sdb5 /mahk ext3 defaults 1 2
六、禁止本机对外发送UDP包
1、允许需要UDP服务的端口(如DNS)
iptables -A OUTPUT -p udp -j DROP
备注:需要打开的端口都可以通过以上命令来完成,比如对内的80,以及相关需要的端口
iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
2.清空所有iptables规则
iptables -F
3.接收目标端口为22的数据包
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
4.拒绝所有其他数据包
iptables -A INPUT -j DRO
七、SSH
1.允许接收远程主机的SSH请求
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
2.允许发送本地主机的SSH响应
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
八、
DDOS 检测
netstat -na
显示所有连接到服务器的活跃的网络连接
netstat -an | grep :80 | sort
只显示连接到80段口的活跃的网络连接,80是http端口,这对于web服务器非常有用,并且对结果排序.对于你从许多的连接中找出单个发动洪水***IP非常有用
netstat -n -p|grep SYN_REC | wc -l
这个命令对于在服务器上找出活跃的SYNC_REC非常有用,数量应该很低,最好少于5.
在dos***和邮件×××,这个数字可能非常高.然而值通常依赖于系统,所以高的值可能平分给另外的服务器.
netstat -n -p | grep SYN_REC | sort -u
列出所有包含的IP地址而不仅仅是计数.
netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
列出所有不同的IP地址节点发送SYN_REC的连接状态
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令来计算每个IP地址对服务器的连接数量
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出使用tcp和udp连接到服务器的数目
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
检查ESTABLISHED连接而不是所有连接,这可以每个ip的连接数
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
显示并且列出连接到80端口IP地址和连接数.80被用来作为HTTP
如何缓解DDoS***
当你发现***你服务器的IP你可以使用下面的命令来关闭他们的连接:
iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
禁止IP请求链接
请注意你必须用你使用netstat命令找到的IP数替换$IPADRESS
在完成以上的命令,使用下面的命令杀掉所有httpd连接,清除你的系统,然后重启httpd服务。
killall -KILL httpd service httpd start #For Red Hat systems /etc/init/d/apache2 restart #For Debian systems
Linux判断CC***命令详解
防cc***,推荐使用HttpGuard
查看所有80端口的连接数
netstat -nat|grep -i "80"|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
查看80端口连接数最多的20个IP
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20
用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20
查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
查找较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
九、MySQL 远程设置
1、登陆mysql
mysql> use mysql;
MySQL>update user set host = '%' where user = 'root';
MySQL>select host, user from user;
MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION
(mypassword输入您数据库的密码)予任何主机访问数据的权限
MySQL>FLUSH PRIVILEGES
修改生效
MySQL>EXIT
退出MySQL服务器
mysql 1045 错误
创建1个文本文件,并将下述命令置于单一行中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名称保存该文件。
4、进入DOS命令提示:开始菜单->运行-> cmd
假定你已将MySQL安装到C:\mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:
mysqld-nt --init-file=C:\mysql-init.txt
十 、service 2003 32位系统 64位转换
解决方法:
将IIS切换到32位兼容模式来运行。具体方法如下:
首先将IIS由64位模式修改为32位模式,只要一个命令即可:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
恢复为64位模式的命令:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
这样IIS和PHP都是以32位的兼容模式运行,错误就消除了
【 设置IIS 自动重启;】
WINDOWS2003任务计划实现定时自动重启IIS
编写批处理文件IIS.bat
@echo off
net stop iisadmin /yes
net start iisadmin
net start w3svc
建立windows 计划任务
开始->控制面板->计划任务
按照向导建立一个新的计划任务
注意在提示 用户名密码时 输入你系统中有做操作权限的 用户名 密码
新建完一个计划任务时 检查启动“Task Scheduler”服务是否启动如果没有就把它启动把!
十一、windows 查看本地特定端口连接情况
netstat -anp tcp | findstr "80"
如果想看某个进程具体是哪个进程可以使用下面命令
tasklist | findstr "5584"(注 5584是进程的id即PID)
十二 、linux 利用bmon/nload/iftop/vnstat/iptraf实时查看网络带宽状况
1、添加yum源方便安装bmon
# rpm -Uhv http://apt.sw.be/redhat/el5/en/x ...1.el5.rf.x86_64.rpm
# yum install bmon
2、 bandwidth monitor
可以在 shell 下监控网络流量的状况( 具有动态效果 )
RX: 流进
TX: 流出
安装成功后输入bmon命令后,选择eth0按g,按d。查看效果如如下:
#bmon
以基本的方式查看:
# bmon -o ascii -p eth0
查看网络状况的软件:
1、nload
# yum install nload
# nload --help 查看具体用法
2.iftop
# yum install iftop
# iftop -i eth0
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
#iftop -i eth0 -n 就可以看到eth0网卡的流量状况:
iftop 相关命令 :
监控eth1的网卡的流量
# iftop -i eth1
以位元组(bytes)为单位显示流量(预设是位元bits):
$ iftop -B
直接显示IP, 不进行DNS反解:
$ iftop -n
直接显示连接埠编号, 不显示服务名称:
$ iftop -N
显示某个网段进出封包流量
$ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0
其他参数可下 iftop -h 看说明.
进入iftop画面时, 可按 p 切换是否显示连接埠, n 切换显示IP或主机的domain name, N切换显
示连接埠代号或名称, p暂停显示, b切换是否显示长条, B切换计算几秒内的平均流量, 其他按键
可以按h观看说明.
转载于:https://blog.51cto.com/51log/1441185