CentOS防火墙开启、关闭以及开放指定端口

  之前有讲过公司新买的服务器使用的是CentOS 5.5,部署好Tomcat之后却发现输入114.80.*.*:8080(即ip:8080)却无法显示Tomcat默认的首页。因为以前部署在Win Server的VPS,Linux开发时也只用到localhost,所以就有点头大。

  好吧,G一下网上有说是防火墙的问题,敲入

       /etc/init.d/iptables stop

  关闭之后再次查看114.80.*.*:8080(即ip:8080)发现果然成功。但是貌似安全隐患大大增加……使用

  /etc/init.d/iptables status

  查看防火墙信息,可以看到打开的端口。那么我们把需要使用的端口打开应该是一个比较可行的办法了,命令如下:

  /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #8080为指定端口

  /etc/init.d/iptables restart #重启防火墙以便改动生效,当然如果不觉得麻烦也可重启系统(命令:reboot)

  /etc/rc.d/init.d/iptables save #将更改进行保存

  当然了,还有另外直接在/etc/sysconfig/iptables中增加一行:

  -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

  永久关闭防火墙

  chkconfig –level 35 iptables off #此方法源自网络,未实验,安全考虑拒绝使用此方法

2012-1-30 18:15 Monday  

使用Root用户运行命令:

fdisk /dev/hda

输入n增加分区 
输入p类型设置为:主分区 
输入3分区编号设置为3 
回车 为默认大小 
回车 为默认 大小

 
输入t 设置分区类型 
输入3 3号分区 
输入8e 设置为LVM

输入 v 检查分区表 
输入w 写入分区表 
输入q 退回fdisk

输入 reboot 重启

重启后,

使用Root用户运行命令: 
mkfs.ext3 /dev/hda3 建立文件系统

输入 mkdir /newhd 来建立目录/newhd

将目录挂上到系统中 
mount /dev/hda3 /newhd

参数查看磁盘剩余空间信息,命令格式: df -hl 
就可以看到有/newhd有可用空间了

如果以后要自动挂载这个分区,您可以修改/etc/fstab 
在这个文件最后一行加上 
/dev/hda3 /newhd ext3 defaults 1 1 
保存后,重启动就有效了.

2012-1-30 18:14 Monday  
webmin是一个用浏览器来管理系统的工具。
1、下载:
英文官方网站 www.webmin.com

中文官方网站 www.webmin.cn

使用 wget 命令下载http://prdownloads.sourceforge.net/webadmin/webmin-1.530.tar.gz

2、安装:
#tar xvfz webmin-1.530.tar.gz   (解压安装包)
#mv webmin-1.530 webmin (重命名,换成一个简单的名字webmin)
#mv webmin /usr/local/ (移动到当前目录下)
#cd /usr/local/webmin  
#./setup.sh              (在当前目录下安装加 ./ )

开始安装及配置文件
需要手工操作的有以下内容:
Config file directory[/etc/webmin]: 回车                           /选择默认安装路径
Log file directory[/var/webmin]:     回车
Web server port (default 10000):回车                            /默认端口为10000
Login name (default admin):在这里输入登录用户名
Login password:输入密码
Password again:再次输入密码
Start Webmin at boot time (y/n):输入"y"

3、查看是否安装配置成功,打开浏览器,输入http://IP:10000       若能看到Login界面,表示已经安装成功,输入用户名及密码即可登陆。

4、 刚安装时是英文界面,登录webmin系统后,依次打开Webmin →Webmin Configuration →Language,在 Display in Language处选择Simplified Chinese (ZH_CN),然后再点击"Change Language"重 新进入webmin系统时就会显示中文了。

注:如果在安装过程中,没有提示让你输入用户名及密码,那么webmin默认的用户名就是admin,密码为空。

webmin安装及配置[视频]
在线看: http://www.boobooke.com/v/bbk1710/
下载看:http://www.boobooke.com/v/bbk1710.zip
2012-1-30 18:14 Monday  

第一种方法是在configure时加入--enable-deflate 这样编译后APACHE就自带了deflate,不用另外调用模块

第二种方法就是生成mod_deflate模块加入到配置文件中,步骤如下:

1、到apache的源文件目录
cd httpd源码包/modules/filters
编译并安装
/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c

2、如果能正确执行,则会把mod_deflate.so拷贝到/usr/local/apache/modules下,
并在配置文件中加入一行 LoadModule deflate_module  modules/mod_deflate.so

以上2种方法中任意一种都行,完成后在httpd.conf中加入下面一行就行:
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript text/xml application/x-httpd-php

如果你还有更多文件类型需要压缩,那直接在后面添加即可

2012-1-30 18:13 Monday  

远程登录VPS后进行环境配置,这里我们就接受最简单的PHP环境配置:

步骤一:

登录后直接输入命令“yum -y install yum-fastestmirror”后回车如图:

出现下图说明已经开始安装:

安装成功后光标会回到[root@localhost ~]#后面

然后输入命令“yum -y install gd* php* httpd* mysql* vsftpd*”如下图:

回车后会出现下图的一些信息:

这样就说明已经开始安装软件,安装完成后光标会回到[root@localhost ~]#后面,如下图:

然后重启APACHE,MYSQL,VSFTP等服务

[root@localhost ~]#service httpd restart    重启APAHCE

[root@localhost ~]#service mysqld restart   重启MYSQL

[root@localhost ~]#service vsftpd restart   重启VSFTP(FTP服务)

步骤二:

修改MYSQL的ROOT密码:

[root@localhost ~]#mysqladmin -u root password ‘20488123′      回车     [引号内填密码]

这样简单的MYSQL和APACHE就已经配置好了

APACHE的配置文件就是/etc/httpd/conf/httpd.conf

你可以通过cat命令查看:

[root@localhost ~]#cat /etc/httpd/conf/httpd.conf

通过vi命令编辑:

[root@localhost ~]#vi /etc/httpd/conf/httpd.conf

下面安装ZEND

安装ZEND:

可以通过wget 命令下载

[root@localhost ~]#wget ftp://ftp.de.netclusive.de/pub/zend/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz  回车

下载地址有:http://www.zhztk.com/uploads/soft/zend/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

            ftp://ftp.de.netclusive.de/pub/zend/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

            http://www.filewatcher.com/m/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz.10208541.0.0.html

            http://downloads.phpchina.com/zend/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

            http://www.zhztk.com/a/ruanjianxiazai/2010/0726/338.html

下载完成后

[root@localhost ~]#tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz 解压

[root@localhost ~]#cd ZendOptimizer-3.3.3-linux-glibc23-i386              进入ZEND目录

[root@localhost ~]#./install.sh                                           安装

这里不需要操作什么  就一直回车到安装完成

安装完成后关闭selinux

方法如下:

修改/etc/selinux/config文件中的SELINUX=”" 为 disabled

执行命令:setenforce 0

就可以不重启关闭selinux了

或者:

[root@localhost ~]#/usr/sbin/setenforce 0  回车  “注意后面的零 不是因为字母”

步骤三:

配置VSFTP建立FTP用户:

[root@localhost ~]#useradd -g ftp -d /var/www/html -s /sbin/nologin phpwindd 回车

可能会下面的警告:

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.

可以不必理会

或者你也可以一步步建立用户

[root@localhost ~]#useradd -g ftp phpwind123 回车  建立一个phpwind123的用户 他属于ftp组 这样建立起来的用户他具有SSH权限  并且目录在/home下

下面我们修改下他的权限和目录:

[root@localhost ~]#usermod -s /sbin/nologin phpwind123 回车  修改phpwind123的权限 取消他的SSH权限 使他只有FTP的登录权限

[root@localhost ~]#usermod -d /var/www/html phpwind123 回车  修改phpwind123的根目录 其他”var/www/html”就是phpwind123的FTP根目录 按照以上的环境配置

网站的根目录就是在/var/www/html下面;

然后修改phpwind123的登录密码:

[root@localhost ~]#passwd phpwind123 回车

会出现下面的提示

Changing password for user phpwind123.

New UNIX password: phpwind123   这里输入密码 这里我们就设置成phpwind123 然后回车

Retype new UNIX password:  phpwind123  确定密码 回车  如果两次密码都一致这会出现如下提示

passwd: all authentication tokens updated successfully.  密码设置成功;

步骤四:

修改SELinux参数

[root@localhost ~]#setsebool ftpd_disable_trans 1 回车

[root@localhost ~]#service vsftpd restart         重启VSFTP

说明:如果不修改,连接时会提示

500 OOPS: cannot change directory:/mpeg

500 OOPS: child died

步骤五:

修改网站目录/var/www/html权限和配置VSFTP

[root@localhost ~]#chomd -R 755 /var/www/html  网站目录一般设置成755权限即可 其中”-R”是表示包括html里面的所有文件夹和文件都设置成755权限 如果不需要可以取消-R

[root@localhost ~]#chown -R phpwind123:ftp /var/www/html  设置网站目录的运行用户权限这里我们设置/var/www/html在用户phpwind123和ftp组中运行

       其中”-R”是表示包括html里面的所有文件夹和文件都设置 如果不需要可以取消-R

这样建立起来的用户对其他目录也是客户查看的 为了安全性 我们需要将用户锁定在对应的FTP根目录  就要对VSFTP的配置文件进行修改:

[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf 编辑VSFTP的配置文件  其路径是/etc/vsftpd/vsftpd.conf

修改一下内容

将anonymous_enable=NO,这样可以限制匿名用户登录。

local_enable=YES       #启用本地用户登录

write_enable=YES       #设置可以进行写操作

local_umask=022        #设定上传后文件的权限掩码

userlist_enable=YES    #启用用户登录控制

chroot_local_user=YES  chroot_list_enable=NO   chroot_list_file=/etc/vsftpd/chroot_list 

修改完后重启VSFTP  如果之前连过FTP工具 关掉FTP工具重新打开连接 就可以 

这里就是将用户锁定在FTP的根目录了  这样也可以对FTP里面的文件进行任意修改

如下图:

步骤六:

绑定域名到网站:下面是最简单的一个域名绑定方法

打开APACHE配置文件进行编辑

[root@localhost ~]#vi /etc/httpd/conf/httpd.conf 回车

找到

#NameVirtualHost *:80  修改为

NameVirtualHost 61.164.140.243:80

就是去掉前面的”#”;然后把*改成VPS的IP地址

在文件的最下面加入:

<VirtualHost 61.164.140.243:80>

DocumentRoot /var/www/html/bbs1  网站的目录 可以自己定义

ServerName cesih.ibmf.cn         主机名称

ServerAlias ceshi.ibmf.cn ceshi2.ibmf.cn  绑定的域名  如果绑定多个域名用空格隔开

</VirtualHost>

修改完成后重启APAHCE

[root@localhost ~]#service httpd restart

如果有多个网站就直接在后面加目录配置  重启APACHE即可 比如我还有一个网站在/var/www/html/bbs目录下  一共两个网站 则配置如下:

<VirtualHost 61.164.140.243:80>

DocumentRoot /var/www/html/bbs1

ServerName cesih.ibmf.cn

ServerAlias ceshi.ibmf.cn ceshi2.ibmf.cn

</VirtualHost>

<VirtualHost 61.164.140.243:80>

DocumentRoot /var/www/html/bbs

ServerName  bbs.zhztk.com

ServerAlias bbs.zhztk.com

</VirtualHost>

[root@localhost ~]#service httpd restart 

到这里就已经基本安装完成了

webmin的下载和安装使用教程可以参考:

http://www.zhztk.com/a/ruanjianxiazai/2011/0217/634.html

http://www.zhztk.com/a/xitongjiagou/Linuxxitong/2011/0217/636.html

http://www.zhztk.com/a/xitongjiagou/Linuxxitong/2011/0217/637.html

用 ports安装了mysql以后,过一段时间发现/var空间不足了,查一下,会发现是mysql-bin.000001、mysql- bin.000002等文件占用了空间,那么这些文件是干吗的?这是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没 有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。

这样做主要有以下两个目的:
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。

处理方法分两种情况:
1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
清理日志方法为:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-12-19 21:00:00';

如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。

======================================

之前发现自己10G的服务器空间大小,用了几天就剩下5G了,自己上传的文件才仅仅几百M而已,到底是什么东西占用了这么大空间呢?今天有时间彻底来查了一下:

mysql-log

看下上面的目录web根目录是放在/home 里面的,所有文件加起来才不到300M,而服务器上已经占用了近5G空间,恐怖吧,最后经我一步一步查询得知,原来是这个文件夹占了非常多的空间资源:

mysql-log1

原来如此,是mysql文件夹下的var目录占用空间最大,那里面是啥 内容呢?我们来看下:

mysql-log2

发现了如此多的 mysql-bin.0000X文件,这是什么东西呢?原来这是mysql的操作日志文件.我才几十M的数据库,操作日志居然快3G大小了.

如何删除mysql-bin.0000X 日志文件呢?

红色表示输入的命令.

[root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p
Enter password: (输入密码)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 264001
Server version: 5.1.35-log Source distribution

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> reset master; (清除日志文件)
Query OK, 0 rows affected (8.51 sec)

mysql>

好了,我们再来查看下mysql文件夹占用多少空间?

[root@jiucool var]# du -h –max-depth=1 /usr/local/mysql/
37M     /usr/local/mysql/var
70M     /usr/local/mysql/mysql-test
15M     /usr/local/mysql/lib
448K    /usr/local/mysql/include
2.9M    /usr/local/mysql/share
7.6M    /usr/local/mysql/libexec
17M     /usr/local/mysql/bin
11M     /usr/local/mysql/docs
2.9M    /usr/local/mysql/sql-bench
163M    /usr/local/mysql/

好了,看一下,整个mysql 目录才占用163M大小!OK,没问题,既然mysql-bin.0000X日志文件占用这么大空间,存在的意义又不是特别大,那么我们就不让它生成吧.

[root@jiucool var]# find / -name my.cnf

找到了my.cnf 即mysql配置文件,我们将log-bin=mysql-bin 这条注释掉即可.

# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin

重启下mysql吧.

OK,至此,操作完成. 以后再不会因为就几十M的数据库大小生成N个G的日志文件啦.

这些个日志文件太恐怖了,我搬到这新VPS来才二十天左右,还不到一个月日志文件居然就近3个G大小,如果一两个月我不清除日志文件这还得了!

以上帖子 转自 久酷博客

转载地址:http://blog.csdn.net/alishun/archive/2009/12/27/5084318.aspx

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程

-O:将文件解开到标准输出

下面的参数-f是必须的

-...

阅读全文>>

2012-1-30 18:09 Monday  

转自:http://plawy.lqiang.com/index.php?id=262

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: 
/sbin/service crond start //启动服务 
/sbin/service crond stop //关闭服务 
/sbin/service crond restart //重启服务 
/sbin/service crond reload //重新载入配置  

1.crontab命令选项: 
-u指定一个用户, 
-l列出某个用户的任务计划, 
-r删除某个用户的任务, 
-e编辑某个用户的任务 
2.cron文件语法: 
分     小时   日       月       星期     命令 
0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)  

3.记住几个特殊符号的含义: 
“*”代表取值范围内的数字, 
“/”代表”每”, 
“-”代表从某个数字到某个数字, 
“,”分开几个离散的数字 

任务调度设置文件的写法 
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件 
具体格式如下: 
Minute Hour Day Month Dayofweek   command 
分钟     小时   天     月       天每星期       命令 
每个字段代表的含义如下: 
Minute             每个小时的第几分钟执行该任务 
Hour               每天的第几个小时执行该任务 
Day                 每月的第几天执行该任务 
Month             每年的第几个月执行该任务 
DayOfWeek     每周的第几天执行该任务 
Command       指定要执行的程序 
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。 
举例如下: 
5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令 
30     5       *           *     *     ls             指定每天的 5:30 执行ls命令 
30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令 
30     5       8         6     *     ls             指定每年的6月8日5:30执行ls命令 
30     6       *           *     0     ls             指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。] 
30     3     10,20     *     *     ls     每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段] 
25     8-11 *           *     *     ls       每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段] 
*/15   *       *           *     *     ls         每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 
30   6     */10         *     *     ls       每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ] 
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件 
50   7       *             *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 

添加后保存的路径是/var/spool/cron,可以用vi查看修改,这个不难

 

添加时间同步的

做任务计划。
* */1 * * * /usr/bin/rdate -s time-b.nist.gov
* */1 * * * /usr/sbin/ntpdate time.windows.com
加入这两句。
vps 和实际主机的时钟频率是不一样的,所以必须得计划同步,这个是一小时同步一次。

当出现问题,用这两个就可以了

rdate -s stdtime.gov.hk
hwclock --systohc
2012-1-30 18:09 Monday  

有些朋友购买了vps后由于他是从原来的win主机搬迁过来,备份打包的数据是rar格式的,那在centos下怎么解压呢?
Goole一下,找到解决办法:


1
2
3
4
wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gz
tar -zxvf rarlinux-3.9.3.tar.gz
cd rar
make

看见下面这些信息就是安装成功了


1
2
3
4
5
mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib

但是在运行命令rar时,出现下面这个问题,
rar: /lib/i686/nosegneg/libc.so.6: version `GLIBC_2.7' not found (required by rar)
解决办法:


1
cp rar_static /usr/local/bin/rar

先记住两个常用命令吧:


1
2
rar x vpsyou.rar //解压 vpsyou.rar 到当前目录
rar vpsyou.rar ./vpsyou.com/ //将 vpsyou.com 目录打包为 vpsyou.rar

假定您的网络连接已经正确设定好。

  网络主机的 IP: 192.168.0.1

  网络主机的使用者名称: myusername

  网络主机的登录密码: mypassword

  分享中的目录名称: linux

  主机上要挂载的目录: /media/sharename

  要挂载网络共享目录时

  sudo mkdir /media/sharename

  sudo mount //192.168.0.1/...

阅读全文>>

2012-1-30 18:06 Monday  
打开终端,输入以下命令:

cd /etc/fonts/conf.d/
sudo cp 49-sansserif.conf 49-sansserif.conf_backup
sudo rm 49-sansserif.conf

以上命令的功能是先备份 49-sansserif.conf文件,再删除,经测试后有效。
2012-1-30 18:06 Monday  
sudo apt-get install fcitx


im-switch -s fcitx -z default  #设为默认输入法,一般不需要,除非系统有多个输入法

注销或重启就能用
rpm格式包的安装:
alien用于安装rpm格式的包其实还是挺有效的
1.直接安装:
alien -i -c filename.rpm
2.转换成deb包再安装
alien -d -c filename.rpm #会生成一个filename.deb包
alien/dpkg -i filename.deb
deb格式包的安装:
alien/dpkg -i filename.deb
tar.gz格式包的安装:
alien -d -c filename.tar.gz #生成一个filename.deb,安装参见上文
tar.bz2格式包的安装:
将软件包转换为tar.gz,再转成deb,命令熟练后可以一步到位,下面是分解操作
tar -jxvf
FileName  #解压
tar -zcvf FileName(含扩展名tar.gz) 上一步解压的目录名  #创建tar.gz包
alien -d -c FileName(含扩展名tar.gz)#转换为deb包
同理,其他格式的包也可以通过这样最终转换为deb包,然后就可以通过alien -i /dpkg -i安装或是直接在图形界面下安装了
Linux下的apache出现这种问题,是文件夹权限的问题
设置成如下就可以了,当然,要子文件夹也要应用才可以的咯
// Apache  
//Task: Start Apache 2 Server /启动apache服务  
# /etc/init.d/apache2 start  
//or  
$ sudo /etc/init.d/apache2 start  
//Task: Restart Apache 2 Server /重启apache服务  
# /etc/init.d/apache2 restart  
//or  
$ sudo /etc/init.d/apache2 restart  
//Task: Stop Apache 2 Server /停止apache服务  
# /etc/init.d/apache2 stop  
//or  
$ sudo /etc/init.d/apache2 stop   
// Mysql  
/etc/init.d/mysql start  
/etc/init.d/mysql stop  
/etc/init.d/mysql restart