centos - 私房课
当前位置:首页 » centos

新鲜出炉LNMP安装包,快来下载呀 On 编程语言  @2013-10-18

DebianLNMP是一个用Linux Shell编写的可以为Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
DebianLNMP 是以 Debian + Linux + Nginx + MySQL + PHP 的安装顺序命名;
DebianLNMP一键安装包是很不错的安装脚本,用在低配置VPS上最合适不过啦,安装方便快捷,轻轻松松全自动安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)可直接用再生产环境。

1
2
root@DebianLNMP-Jimmyli:~# wget http://sourceforge.net/projects/debian-lnmp/files/DebianLNMP/DebianLNMP-Jimmyli.sh
root@DebianLNMP-Jimmyli:~# sh DebianLNMP-Jimmyli.sh

下载地址:
http://sourceforge.net/projects/debian-lnmp/files/DebianLNMP/

打签» , , , , , ,   评论» 新鲜出炉LNMP安装包,快来下载呀已关闭评论

清除memcache中的缓存 On 服务器相关, 网站运维  @2013-06-30

以前有同事需要我清除memcache缓存,我总是直接使用kill命令结束掉这个进程,后来才知道有更简单的方法,来清除memcachd的缓存,记录一下,以备不时之需:

1.首先使用ssh命令登录到memcached所在服务器,命令如下:

#ssh root@192.168.1.1

输入root密码后可登录对应的服务器;

2.使用telnet命令后接tomcat服务配置文件中指定的memcached启动端口:

#telnet localhost 11211

之后显示:

Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.

3.此时输入如下内容并回车即可清除缓存内容:

flush_all

4.最后退出telnet使用quit命令,再exit退出远程主机。

打签» , ,   评论» 清除memcache中的缓存已关闭评论

centos下安装svn On 站长工具  @2013-01-31

1.安装svn服务器端

yum install subversion      从镜像下载安装svn服务器端
cd /usr/local/              //进入目录,准备创建svn目录
mkdir svn                   //创建一个svn目录
chmod -R 777 svn            //修改目录权限为777
svnadmin create /usr/local/svn/hancang //创建一个svn版本仓库hancang(hancang可以随便起名字)
cd hancang/conf               //进入hancang版本仓库下的配置文件目录

下面要修改这个目录下的三个配置文件
(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径

# anon-access = read
# auth-access = write
# password-db = passwd
//这四行,前面的#号和空格去掉,变成
anon-access = none      //改成none
auth-access = write
password-db = passwd
realm = hancang           //改成自己的版本库

保存

(2)vi authz //文件,创建svn组和组用户的权限

[group]
hancang = gep,wce //创建一个hancang的组,并制定两个用户gep和wce

[/]             //制定根目录下的权限
@hancang = rw     //hancang组用户权限为读写
* = r           //其他用户只有读权限

保存退出

(3) vi passwd //创建或修改用户密码

[users]
gep = 123456    //用户名为gep的用户的密码为123456
wce = 123456    //。。。

保存退出

2,建立project
(1)把要做svn的project导入成为一个工程squid(名字随便选择)

svn import /root/squid-3.1.0.18 file:///usr/local/svn/hancang/squid -m "initial import"

(2)修改文件提交之后要提交之后更新到某个版本的目录也就是checkout目录
svn checkout svn://127.0.0.1/squid /root/squid-3.1.0.19
这里/root/squid-3.1.0.19目录也是随便选择
(3)在版本库版hancang 这里是/usr/local/svn/hancang/hooks下面

cp post-commit.tmpl post-commit
vi /usr/local/svn/hancang/hooks/post-commit

写上

#!/bin/bash
export LANG=en_US.UTF-8
svn update /root/squid-3.1.0.19 --username lvye --password zaq12wsx

然后要设置自启动

vi /etc/rc.local    打开自启动文件

文件内容如下

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
svnserve -d -r /usr/local/svn/hancang

svn命令:
lsof -i :3690 查看svn是否启动
ps aux |grep ‘svn’ 查找所有svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程
svnserve -d -r /usr/local/svn/hancang 启动svn(可以把这个放到/etc/local/rc.local文件中,实现

开机自启动)

svn up //更新文件
svn ci -m’aaa’ test.php //提交文件
svn delete test.php //删除test.php
svn co svn://172.19.5.12 ./ //检出一份版本库文件到当前目录

=========
以上内容来源于互联网

打签» ,   评论» centos下安装svn已关闭评论

unix/linux目录结构的由来 On 服务器相关  @2012-09-19

Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。
  举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别?
  
  长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。
  昨天,我读到了Rob Landley的简短解释,这才恍然大悟,原来Unix目录结构是历史造成的。
  话说1969年,Ken Thompson和Dennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。
  当时,他们使用一种叫做RK05的储存盘,一盘的容量大约是1.5MB。
  没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。于是,他们加上了第二盘RK05,并且规定第一块盘专门放系统程序,第二块盘专门放用户自己的程序,因此挂载的目录点取名为/usr。
  也就是说,根目录”/”挂载在第一块盘,”/usr”目录挂载在第二块盘。除此之外,两块盘的目录结构完全相同,第一块盘的目录(/bin, /sbin, /lib, /tmp…)都在/usr目录下重新出现一次。
  后来,第二块盘也满了,他们只好又加了第三盘RK05,挂载的目录点取名为/home,并且规定/usr用于存放用户的程序,/home用于存放用户的数据。
  从此,这种目录结构就延续了下来。随着硬盘容量越来越大,各个目录的含义进一步得到明确。
  /:存放系统程序,也就是At&t开发的Unix程序。
  /usr:存放Unix系统商(比如IBM和HP)开发的程序。
  /usr/local:存放用户自己安装的程序。
  /opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为”选装”。

IT168整理

打签»   评论» unix/linux目录结构的由来已关闭评论

Linux下查看服务器带宽大小 On 服务器相关  @2012-08-13

有时候我们需要查看托管在机房的服务器带宽,看看托管商分配的带宽是否足够。如果你的服务器操作系统是centos 哪么可以使用如下命令来查看机房分配给你的服务器带宽大小。

ethtool eth0

我们将会看到如下的结果

从上面我们可以看到本台服务器有两块网卡。Speed: 10Mb/s 即为机房分配给本台服务器的带宽大小为10M。

打签»   评论» Linux下查看服务器带宽大小已关闭评论

centos环境下实现指定目录定时备份 On 服务器相关, 编程语言  @2012-08-07

最近上了台服务器,操作系统为centos,主要用做WEB。为了安全使用了shell+crontab对目录每天定时备份,并对超过30天的备份数据删除!每天执行一次,代码如下:

#!/bin/bash

date=`date +%Y-%m-%d`

BACKUP_DIR="/data/www_backup/"
WWW_DIR="/var/www/"
WWW_DIR_CMD=`ls $WWW_DIR`

cd $WWW_DIR

for f in $WWW_DIR_CMD;
do 
    backup_file_name=$f
    backup_file_new_name=$f-$date.tgz
    backup_cmd="tar -zcf $date-$backup_file_name.tgz $backup_file_name"
    echo $backup_cmd
    `$backup_cmd`
done

mv_cmd="mv $WWW_DIR*.tgz $BACKUP_DIR"
echo $mv_cmd
`$mv_cmd`

del_cmd="find $BACKUP_DIR -type f -mtime +30 -delete"
echo $del_cmd
`$del_cmd`

将上面的代码保存在/home/sh/backupscript.sh设置权限为755

chmod 755 /home/sh/backupscript.sh

执行如下命令设置每天03:00执行一次本脚本!

crontab -e #此处执行crontab编辑操作,执行次命令后将出现一个与VI操作界面相似的环境
00 03 * * * /home/sh/backupscript.sh > /dev/null 2>&1   #每天03:00执行backupscript.sh一次
打签» ,   评论» centos环境下实现指定目录定时备份已关闭评论

centos用户组权限添加删除用户问题详解 On 服务器相关  @2012-07-09

经常使用centos做服务器及本地的测试环境,所以常常会遇到对系统中用户、组权限的相关操作,经过网络的整理编写了如下的学习资料:

1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种
细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,centos组中有两种类型,私有组和标准组,当创建一个新用户时,若没有指定他所属的组,centos就建立以个和该用户相同的私有组,此私有组中只包括用户自己。标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属于的组,从另外一方面讲,同一个用户可以属于多个组,例如某个单位的领导组和技术组,lik是该单位的技术主管,所以他就是属于领导组和技术组。当一个用户属于多个组时,其登录后所属的组是主组,其它组为附加组。

2.Linux环境下的账户系统文件主要在/etc/passwd, /etc/shadow,/etc/group,和/etc/gshadow四个文件。基本含义就不多说了重点说一下,root的uid是0,从1-499是系统的标准账户,普通用户从uid 500开始。

3.使用命令管理账户
useradd 选项 用户名//添加新用户

usermod 选项 用户名//修改已经存在的用户

userdel -r 用户名//删除用户表示自家目录一起删除。

groupadd 选项 组名// 添加新组

groupmod 选项 组名//修改已经存在的组

groupdel 组名 //删除已经存在的特定组。

例子
useradd zhh888 //添加一个用户zh888

groupadd blog //新建一个blog组

useradd -G blog zh //表示创建一个新用户zh,同时加入blog附加组中。

useradd -d /var/ftp/pub -M ftpadmin //创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M)

usermod -G blog zh888 //表示将zh888添加到附加组blog中去。

userdel ftpadmin //表示删除ftpadmin用户

userdel -r zhh888 //表示删除zh888和/home中的目录一起删除。

groupdel blog //表示删除blog组。

4.口令管理及时效
创建用户之后就要给用户添加密码,设置的口令的命令式passwd
passwd 选项 用户名

passwd -l 用户名账号名//禁止用户账户口令
passwd -S 用户名//表示查看用户账户口令状态
passwd -u 用户名//表示恢复用户账号
passwd -d 用户名//表示删除用户账户口令

5.chage 命令是保护密码的时效这样可以防止其他人猜测密码的时间。
chage 选项 用户名

参数有 -m days, -M days ,-d days, -I days ,-E date, -W days,-l
例子:#chage -m 2 -M 30 -W zhh//表示的意思是要求用户zhh两天内不能更改密码,并且口令最长存活期是30天,并且口令过期5天通知zhh

6.用户和组的状态查询命令

whoami //用于显示当前的用户名称。

groups 用户名//表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。

id //表示显示当前用户的uid gid和用户所属的组列表。

su – 用户//表示转换到其他用户,如果su表示切换到自己的当前用户。

newgrp 组名//表示转换用户的当前组到指定的附加组,用户必须属于该组才能进行。

7.更改属主和同组人

有时候还需要更改文件的属主和所属的组。只有文件的属主有权更改其他属主和所属的组,用户可以把属于自己的文件转让给大家。改变文件属主用chown命令

chown [-R] <用户名或组><文件或目录>

chown zh888 files//把文件files属主改成zh888用户。

chown zh888.zh888 files//将文件files的属主和组都改成zh888。

chown -R zh888.zh888 files//将files所有目录和子目录下的所有文件或目录的主和组都改成zh888.

8.设置文件的目录和目录生成掩码

用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。

umask [a1a2a3]
a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。

umask 022//表示设置不允许同组用户和其他用户有写的权限。

umask //显示当前的默认生成掩码。

9.特殊权限的设置

SUID SGID 和sticky-bit

除了一般权限还有特殊的权限存在,一些特殊权限存在特殊的权限,如果用户不需要特殊权限一般不要打开特殊权限,避免安全方面的问题。具体的用法可以百度和google一下。

希望自己整理出来的知识能帮助网友更好的理解centos用户&组权限&添加删除用户等问题。

打签»   评论» centos用户组权限添加删除用户问题详解已关闭评论

centos 服务器安全设置 On 服务器相关  @2012-06-15

centos 本是一个安全的服务器了,不过不在拿到服务器通常还需要做如下的设置。这样才会更加的安全。
1、修改SSH 端口
vi /etc/ssh/sshd_config
Port 22 修改
PermitEmptyPasswords no 把#注销掉-禁止空密码帐户登入服务器!
MaxAuthTries 2 两次不行就切断重新SSH启动登入

2、远程5分钟无操作自动注销:
vim /etc/profile
export TMOUT=300 —5分钟自动注销下来
找到
HISTSIZE=1000
修改为:
HISTSIZE=100 –减少日记字节为100KB,太大内容过多容易漏重要信息.

3、修改文件属性
chmod 700 /bin/rpm ‘只有root权限用户才可以使用rpm命定,安装软件包
chmod 664 /etc/hosts
chmod 644 /etc/passwd
chmod 644 /etc/exports
chmod 644 /etc/issue
chmod 664 /var/log/wtmp
chmod 664 /var/log/btmp
chmod 644 /etc/services
chmod 600 /etc/shadow
chmod 600 /etc/login.defs
chmod 600 /etc/hosts.allow
chmod 600 /etc/hosts.deny
chmod 600 /etc/securetty
chmod 600 /etc/security
chmod 600 /etc/ssh/ssh_host_key
chmod 600 /etc/ssh/sshd_config
chmod 600 /var/log/lastlog
chmod 600 /var/log/messages

4、禁止ping 用户使用ping不做任何反映
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all — 禁止ping
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all — 解除禁止ping操作

5、禁止IP伪装
vi /etc/host.conf
在里面加上:
nospoof on

6、防止DOS攻击:
vi /etc/security/limits.conf
加入以下配置:
* hard core 0
* hard rss 10000
* hard nproc 20

以上根据需求而论!

7、修改root帐户密码越复杂越好:
7.1、含有大小写字母;
7.2、含有数字;
7.3、含有字符;
7.4、不用自己生日等常关联的字母数字及字符。

8、删除部分不需要的用户和组:
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
userdel adm
userdel lp
userdel news
userdel uucp
userdel games
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip

9、垃圾IP封杀
more /var/log/secure

首先通过以上命定观察多次扫描欲远程登入服务器的垃圾IP;
然后在
vi /etc/hosts.deny
增加:
sshd:61.131.47.157 —这以61.131.47.157这个垃圾IP为例!
保存即可!

以上内容参考了部分网络资料。

打签»   评论» centos 服务器安全设置已关闭评论

CentOS+Nginx+PHP+MySQL详细安装配置教程下载 On 服务器相关  @2012-03-28

提供一个LNMP 安装配置教程下载,下载包里有详细的配置说明。希望对大家有所帮助!绝对实用…

下载地址:点击下载LNMP安装配置教程

打签» , ,   评论» CentOS+Nginx+PHP+MySQL详细安装配置教程下载已关闭评论

centos下使用yum安装subversion On 服务器相关  @2012-01-13

1.安装subversion

yum install subversion

2.建立版本库,本例中我们的版本库建立在/var/www/svn,假设该版本库目录为svn

cd /var/www

mkdir svn

svnadmin create ./svn/gaixue

3.配置

刚才建立了gaixue这个svn版本库,需要配置的有通用认证方式,用户名和密码,权限配置这三个文件,分别是/var/www/svn/gaixue下的conf下的svnserve.conf passwd 和authz这三个文件。

svnserve.conf:

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

passwd文件:
user1:password1
user2:password2

authz文件:
[groups]
gaixueuser = user1,user2
[gaixue:/]
@gaixueuser = rw
* =
其中*=意味着匿名用户没有权限

4.启动
配置成功以后,启动svn版本库服务
svnserve -d -r /var/www/svn

5.使用
svn://192.168.128.128/gaixue/
即可取得版本库,这里提示需要用户名密码,输入user1,密码为password1即可,你也可以根据配置文件改成自己需要的用户名、密码。
=========
另:如果你安装成功后不能正常使用,请确保你的防火墙是否关闭,你可以执行 /etc/init.d/iptables stop 来关闭防火墙。

打签» ,   评论» centos下使用yum安装subversion已关闭评论