LINUX安装memcached 服务器端

安装memcached 服务器端,需要先安装libevent库

wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
tar zxvf  libevent-1.4.14b-stable.tar.gz
cd  libevent-1.4.14b-stable
./configure --prefix=/usr
make
make install

安装 memcached

wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar zxvf  memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/webserver/memcache --with-libevent=/usr
make
make install

启动 memcached

/usr/local/webserver/memcache/bin/memcached -d -u nobody -m 20 127.0.0.1 -p 11211

如果需要memcached自启,请看下文:

vim /etc/rc.local

请在exit 0前添加以下语句:

/usr/local/webserver/memcache/bin/memcached -d -u nobody -m 20 127.0.0.1 -p 11211

cannot exec : No such file or directory at /pure-config.pl line 123. pureftp无法启动解决方法

/usr/local/web/pureftpd/bin/pure-config.pl /usr/local/web/pureftpd/etc/pure-ftpd.conf

Running: -A -c50 -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L2000:8 -m4 -s -U133:022 -u100 -k99 -Z
cannot exec : No such file or directory at /usr/local/prueftpd/bin/pure-config.pl line 123.

安装完pureftp但是无法运行,打开pure-config.pl,查看123行。内容如下。
exec { $PUREFTPD } ($PUREFTPD, @flg) or die “cannot exec $PUREFTPD: $!”;

继续搜索PUREFTPD ,找到

my $PUREFTPD;
-x && ($PUREFTPD=$_, last) for qw(
${exec_prefix}/sbin/pure-ftpd
/usr/local/pure-ftpd/sbin/pure-ftpd
/usr/local/pureftpd/sbin/pure-ftpd
/usr/local/sbin/pure-ftpd
/usr/sbin/pure-ftpd
);

ln -s /usr/local/web/pureftpd/sbin/pure-ftpd /usr/sbin/

运行上述命令行。
重新启动PURE-FTPD问题解决!

LiteSpeed 安装教程 Litespeed+Mysql+php5.2.14

初识Litespeed 乃梦游科技 domin 在论坛推荐给大家使用,然后出于好奇便在自己的vps上面安装调试,由于litespeed用的人很少,就算有在用litespeed的基本都是国外主机提供已经配置好的虚拟主机,完全不需要自己动手,所以搜索了一下几乎没有任何安装litespeed方面的教程,希望这个简单步骤的教程让更多人了解并尝试 Litespeed.

一、安装环境介绍我的vps是 Directspace 搞促销时候的2美金vps,好像很多朋友都买了这一款,所以用这个来做演示安装应该还算OK的,系统是 Centos 5 32bit,其他的没有什么大要求了,如果你的vps有打开防火墙的自己配置好,或者关闭掉吧
二、程序版本介绍 Litespeed 是官方提供的免费版本:lsws-4.0.16-std-i386-linux.tar.gz Mysql 是 5.1.35版本 Php 我们升级使用的是 5.2.14版本
三、开始安装

1)卸载httpd和更新一下centos,并且安装上几个必要的程序库和支持包,以下安装的都是编译php和mysql所要求的,其他没有需要的都不安装了,以后大家也可以看着自己的需要来编译安装:

yum -y remove httpd
yum -y update
yum -y install patch make gcc gcc-c++
yum -y install libxml2
yum -y install libxml2-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install ncurses
yum -y install ncurses-devel

wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0"
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0"
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure –enable-ltdl-install
make
make install
cd ../../
cp /usr/local/lib/libmcrypt.* /usr/lib

wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0"
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
./configure
make
make install
cd ../

2)安装mysql 5.1.35,安装过程是完全复制vpser.net 同学里面的内容的,我相信他不会介意

cd /root
wget -c http://soft.vpser.net/datebase/mysql/mysql-5.1.35.tar.gz
tar -zxvf mysql-5.1.35.tar.gz
cd mysql-5.1.35
./configure –prefix=/usr/local/mysql –enable-assembler –with-charset=utf8 –enable-thread-safe-client –with-extra-charsets=all –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile
make && make install
cd ../
groupadd mysql
useradd -g mysql mysql
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/mysql_install_db –user=mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql/.
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig –level 345 mysql on
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
echo "/usr/local/lib" >>/etc/ld.so.conf
ldconfig
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
/etc/init.d/mysql start
/usr/local/mysql/bin/mysqladmin -u root password root
/etc/init.d/mysql restart

3)安装Litespeed
下面这个步骤不是每个vps都一定需要的,我曾经在某个vps里安装litespeed后来编译php的时候,提示 autoconf版本不对,需要下面这个版本,所以为了确保万无一失,还是顺手也安装上吧

wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
tar zxvf autoconf-2.13.tar.gz
cd autoconf-2.13/
./configure
make
make install
cd ..

下面就是正式开始安装Litespeed了,程序执行后 会跳到一个协议页面,你可以一直回车看完它,也可以按一下ctrl+c取消,取消后会提示进一步的安装:

wget http://www.litespeedtech.com/packages/4.0/lsws-4.0.16-std-i386-linux.tar.gz
tar zxvf lsws-4.0.16-std-i386-linux.tar.gz
cd lsws-4.0.16
sh install.sh
cd ..

注意: 安装过程跟安装Zeus是一样的,大家可以参考我下面的选择,如果不输入只回车,就表示应用默认配置

Litespeed 已经安装完毕!
Litespeed 后台的访问路径,以7080端口为例

http://8.8.8.8:7080

Litespeed 默认的web目录
/usr/local/lsws/DEFAULT/html

在上面的目录上传个探针,就能正常访问了

5) 升级PHP版本到 5.2.14,图片稍后补充
大家安装好后不要关闭,ssh,因为等一下编译升级php版本的时候还需要的

1.进入后台,选择Actions下拉菜单里面的Compile PHP
默认有几个选择 php5.3.3 php5.2.14 php5.2.13 php4,我们这次的目标是5.2.14,选择好后点Next
2. Suhosin和Mail Header 都不要,需要eAccelerator 的可以选上,然后点 Build PHP 5.2.14

–with-litespeed –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config   –with-zlib –with-gd –enable-shmop –enable-track-vars –enable-sockets –enable-sysvsem –enable-sysvshm –enable-magic-quotes –enable-mbstring –with-iconv

3.这里页面停留一下,千万不要点浏览器的【刷新】或者 【返回】,待下面Next可点的时候,就可以继续了

4.来到这里就是最后编译了,复制黑底白字的 /usr/local/lsws/phpbuild/buildphp_manual_run.sh 到你的SSH里面并回车,你会看到这个页面就会显示编译php的过程

5.如果一切顺利,当你看到监视php编译检查的步骤提示 **COMPLETE** 的时候,那就已经OK了

6.此时,选择Actions里面的Graceful Restart并且确认,PHP等服务就会重新加载

7.再次打开你的探针看看 恭喜你进入了Litespeed的阵营

PS:暂时存在的几个小问题,php未开启eA支持,我大概知道是什么原因,今天事情比较多,还没折腾好,不过Litespeed貌似不开eA 速度还是飞快的

Ubuntu下ssh服务的安全增强

     虽然ssh将联机的封包通过加密的技术来进行资料的传递,能够有效地抵御黑客使用网络侦听来获取口令和秘密信息,但是仍然不乏大量入侵者进行密码尝试或其他手段来攻击ssh服务器以图获得服务器控制权。Ubuntu下面一些配置将进一步加强其安全性:

    1.修改sshd服务器的配置文件/etc/ssh/sshd_config,将部分参数参照如下修改,增强安全性。

Port 4321

系统缺省使用22号端口,将监听端口更改为其他数值(最好是1024以上的高端口,以免和其他常规服务端口冲突),这样可以增加入侵者探测系统是否运行了sshd守护进程的难度。

ListenAddress 192.168.0.1

对于在服务器上安装了多个网卡或配置多个IP地址的情况,设定sshd只在其中一个指定的接口地址监听,这样可以减少sshd的入口,降低入侵的可能性。

PermitRootLogin no

如果允许用户使用root用户登录,那么黑客们可以针对root用户尝试暴力破解密码,给系统安全带来风险。

PermitEmptyPasswords no

允许使用空密码系统就像不设防的堡垒,任何安全措施都是一句空话。

AllowUsers sshuser1 sshuser2

只允许指定的某些用户通过ssh访问服务器,将ssh使用权限限定在最小的范围内。

AllowGroups sshgroup

同上面的AllowUsers类似,限定指定的用户组通过ssh访问服务器,二者对于限定访问服务器有相同的效果。

Protocol 2

禁止使用版本1协议,因为其存在设计缺陷,很容易使密码被黑掉。

禁止所有不需要的(或不安全的)授权认证方式。

X11Forwarding no

关闭X11Forwarding,防止会话被劫持。

MaxStartups 5

sshd服务运行时每一个连接都要使用一大块可观的内存,这也是ssh存在拒绝服务攻击的原因。一台服务器除非存在许多管理员同时管理服务器,否则上面这个连接数设置是够用了。

注意:以上参数设置仅仅是一个示例,用户具体使用时应根据各自的环境做相应的更改。

    2.修改sshd服务器的配置文件/etc/ssh/sshd_config的读写权限,对所有非root用户设置只读权限,防止非授权用户修改sshd服务的安全设置。

chmod 644 /etc/ssh/sshd_config

    3.设置TCP Wrappers。服务器默认接受所有的请求连接,这是非常危险的。使用TCP Wrappers可以阻止或允许应用服务仅对某些主机开放,给系统在增加一道安全屏障。这部分设置共涉计到两个文件:hosts.allow和hosts.deny。

将那些明确允许的请求添加到/etc/hosts.allow中。如系统仅允许IP地址为192.168.0.15和10.0.0.11的主机使用sshd服务,则添加如下内容:

sshd:192.168.0.15 10.0.0.11

将需要禁止使用的信息添加到/etc/hosts.deny中。如对除了在hosts.allow列表中明确允许使用sshd的用户外,所有其他用户都禁止使用sshd服务,则添加如下内容到hosts.deny文件中:

sshd:All

注意:系统对上述两个文件的判断顺序是先检查hosts.allow文件再查看hosts.deny文件,因此一个用户在hosts.allow允许使用网络资源,而同时在hosts.deny中禁止使用该网络资源,在这种情况下系统优先选择使用hosts.allow配置,允许用户使用该网络资源。

    4.尽量关闭一些系统不需要的启动服务。系统默认情况下启动了许多与网络相关的服务,因此相对应的开放了许多端口进行LISTENING(监听)。我们知道,开放的端口越多,系统从外部被入侵的可能也就越大,所以我们要尽量关闭一些不需要的启动服务,从而尽可能的关闭端口,提供系统的安全性。

/dev/null 2>&1的含义!

/dev/null 2>&1 这条命令的意思是将标准输出和错误输出全部重新定向到/dev/null中,也就是将产生的所有信息丢弃。
/dev/null代表空设备
>代表重新定向到哪里 例:echo “123” > /home/123.txt
1表示stdout标准输出,系统默认值为1,所以”/dev/null”等同于”1>/dev/null”
2表示stderr标准错误
&表示等同于的意思,2>&1,表示2的输出重定向等同于1
1>/dev/nu;; 不输出任何信息到终端,说白了就是不显示任何信息。
2>&1,标准错误输出重定向等同于标准输出,标准错误输出也重定向到空设备文件。

【转】在Debian中清除已删除软件包的配置文件!

今天清理一下系统,使用了一个命令行,可能对其他人有参考价值

dpkg -l |grep "^rc"|awk '{print $2}' |xargs aptitude -y purge

用途:删除已经删除的软件包的残留配置文件。因为 debian 中 remove 包不删除配置文件,purge 才能清除,但根据依赖关系自动清除都是 remove,在加上自己失手操作,所以用得时间长了,难免残留很多没必要的配置文件,比较烦,于是有了上述操作。说明:1) dpkg -l列出系统中安装的所有包的状态,`ii’ 开头的是正常安装的包,`rc’开头的则是删除但仍留下配置文件的包,其他状态则是有错误的状态,自己执行一次就明白了,输出结果的开头有说明的。2) grep “^rc”提取以 rc 开头的包,也就是被删除但仍残留配置文件的包的信息的行。3) awk ‘{print $2}’打印这些包的名字,他们位于 dpkg -l 输出结果的第二个字段,估计有很多人是通过这个命令认识到 awk 的,也有很多人只在这个命令行中才使用 awk,我就是其中之一。4) xargs aptitude -y purge把上述输出,也就是要清除配置文件的包的名字放在 aptitude -y purge 后面,purge命令会清除配置文件,而 -y 参数会自动对后面 aptitude 命令的提示回答是,这个开关通常是危险的,所以在一般情况下不要轻易使用,而在这里,如果你确定这些包的配置文件的清除是没有问题的的话,可以使用这个开关。

修改VPS时区为北京时间!

VPS默认不是北京时间让我觉得很别扭,就在网上百度了下。一下步骤仅为修改时区,并不包括修改时间,首先请确认母鸡时间为正确的时间!

1.先登陆你的ssh,命令:date 看下时间是不是北京时间,如果不是我们把他改成北京时间。
    

2.命令:

rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这样子就生效了,不过网站上还是需要重启下NGINX和PHP-FPM!

3.如果此时你的vps时间还没有修改好。就请联系你的VPS主机商,一般VPS不允许小鸡修改时间!