libiconv.so.2: cannot open shared object file解决办法
解决办法如下:
1.在/etc/ld.so.conf中加一行/usr/local/lib,
2.然后运行/sbin/ldconfig,文件解决,没有报错了~~
By admin
read more解决办法如下:
1.在/etc/ld.so.conf中加一行/usr/local/lib,
2.然后运行/sbin/ldconfig,文件解决,没有报错了~~
By admin
read more今天在用一个装好的Mysql时,用safe_mysqldq启动的时候,出现
Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist
最终解决方法如下:
在mysql的安装目录下,我的是/usr/local/mysql
./scripts/mysql_install_db –usrer=mysql –datadir=/usr/local/mysql/data/
原因是重装的时候数据目录不一致导致
然后再次启动,OK
By admin
read more今天突然收到消息机房的一台服务器的mysql无法启动了,首先检查了一下mysql的错误日志,发现最后出现以下错误:
020101 00:42:21 mysqld started /usr/local/mysql/libexec/mysqld: File ‘./mysql-bin.index’ not found (Errcode: 13) 020101 0:42:21 [ERROR] Aborting
020101 0:42:21 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete
提示./mysql-bin.index无法找到(由于mysql开启了bin日志功能),到数据库根目录查看该文件是存在的,可能是文件权限的问题,查看了数据库根目录的权限是700,所有者和用户组都是root,可能是上次转移数据库的时候不小心修改了文件夹的权限。
解决方法:
chgrp -R mysql ./var && chown -R mysql ./var (这里数据库根目录为/*****/var)
重新启动mysql [OK]
By admin
read more有2种方法
1、 配置服务器
#vi /etc/ssh/sshd_config
1)找到 ClientAliveInterval参数,如果没有就自己加一行
数值是秒,比如你设置为120 ,则是2分钟
ClientAliveInterval 120
2)ClientAliveCountMax
指如果发现客户端没有相应,则判断一次超时,这个参数设置允许超时的次数。如3 、5等自定义
修改两项参数后如下:
—————————-
ClientAliveInterval 120
ClientAliveCountMax 0 ###在不允许超时次数
重新加载sshd服务。退出客户端,再次登陆即可验证。
2、 配置客户端
#vi /etc/ssh/ssh_config
然后找到里面的
ServerAliveInterval
参数,如果没有你同样自己加一个就好了
参数意义相同,都是秒数,比如5分钟等
ServerAliveInterval 300
=====================================
上面是配置需要服务器权限,如果没有服务器权限则可以使用这个方法,其思想是:客户端向服务器发一个消息,用于 保持连接
secureCRT: 在 “选项-> 终端-> 反空闲” 中设置每隔多少秒发送一个字符串,或者是NO-OP协议包.
putty: putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默认为0, 改为300.
By admin
read more刚完成了在CentOS5.5安装Zend Optimizer插件的任务,以前老版本 Zend Optimizer的安装方法是运行安装脚本 ./install.sh,新的Zend Optimizer 3.3.9没有安装脚本,只能按照以下方法安装。
wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz (32位) 或者 wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz (64位)
解压缩下载的文件包(x86):
tar -zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz cd ZendOptimizer-3.3.9-linux-glibc23-i386 cd data/5_2_x_comp/
这里要注意,进入data文件夹后,so文件是对应版本的,看好PHP版本再安装.把 ZendOptimizer.so 文件拷贝到 /usr/lib/php/modules/ 注意您的目录很可能为/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 或者 /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ 请根据实际情况而定!
cp ZendOptimizer.so /usr/lib/php/modules/
把下列两行加入php.ini,不要加入任何空格和制表符
zend_optimizer.optimization_level=15 zend_extension=/usr/lib/php/modules/ZendOptimizer.so
重启Apache/Nginx即可.上面ZendOptimizier.so文件的路径根据实际情况来修改.我这里用的是路径是/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so
有可能会遇到"ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied"之类的错误.
我用的是Nginx.
执行:
/usr/local/php/sbin/php-fpm restart
提示:
Shutting down php_fpm . doneStarting php_fpm Failed loading /usr/local/Zend/lib/ZendOptimizer.so: /usr/local/Zend/lib/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denieddone
By admin
read more美国VPS的一大用途就是做为加密的VPN服务器,在国内连上这些VPN服务器就可以无限制访问互联网。常用的VPN服务器一般分两种,一种是SSL VPN,代表软件有openvpn,这个VPN软件有Windows下的客户端软件;另外一种是pptpd VPN,Windows自带这种VPN的客户端支持。本文记录了在CentOS 5 VPS下安装pptpd VPN服务器的过程。
pptpd VPN需要内核支持mppe,我们的VPS自带的内核已经把mppe编译进去了,没有把mppe另外当作内核的模块。
要安装pptpd VPN,ppp和iptables这两个软件是必须安装的,安装命令:
yum install -y ppp iptables
然后下载pptpd的rpm包:
32位 64位
要注意64位的系统要下载64位的rpm包,32位的系统要下载32位的rpm包,别搞错了
64位系统安装命令:
rpm -ivh pptpd*.x86_64.rpm
32位系统安装命令:
rpm -ivh pptpd*.i386.rpm
编辑配置文件 /etc/ppp/options.pptpd 内容如下:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 208.67.222.222
ms-dns 208.67.220.220
编辑配置文件 /etc/pptpd.conf 内容如下:
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.92.1
remoteip 192.168.92.11-15
编辑配置文件 /etc/ppp/chap-secrets,配置用户名为johndoe,密码为password,内容如下:
johndoe pptpd password *
修改配置文件/etc/sysctl.conf中的相应内容如下:
net.ipv4.ip_forward = 1
‘配置iptables:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.92.0/24 -j MASQUERADE
iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
/etc/init.d/iptables save
/etc/init.d/iptables restart
设置iptables和pptpd开机自动启动:
By admin
read more现在大多数VPS服务器都位于国外,因此PPTP服务器可以用来搭建一个比较实用的代理服务器。PPTP服务需要用到特定的Linux内核技术,因此绝大多数OpenVZ架构的VPS都不能配置PPTP(可以用OPENVPN代替),但几乎所有的XEN或KVM架构的VPS都能正常安装。本文将以XEN架构的CentOS系统下安装PPTP服务为例进行讲解。
PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了;下面安装ppp与iptables:
yum install perl ppp iptables
对于32位CentOS,执行
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
对于64位CentOS,执行
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
编辑PPTP配置文件 /etc/ppp/options.pptpd 如内容下:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4
编辑配置文件 /etc/pptpd.conf ,内容如下:
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.254.1
remoteip 192.168.254.100-254
现在对用户认证文件 /etc/ppp/chap-secrets 进行配置,内容如下:
testuser pptpd testpwd *
将 /etc/sysctl.conf 文件中net.ipv4.ip_forward设置为 1 (如果没有,则按照格式新建一行):
net.ipv4.ip_forward = 1
保存退出。执行
/sbin/sysctl -p
使之生效。
/etc/init.d/iptables start
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE
/etc/init.d/iptables save
/etc/init.d/iptables restart
chkconfig pptpd on
chkconfig iptables on
重启计算机即可进行连接,并且能够正常上网。
By admin
read more点击下载vsftp_install.sh一键安装脚本:vsftpd_install.sh
基本配置环境如下:
1.ftp用户的home目录:/data/ftp 2.所有虚拟用户的local_root目录,都放在/data/wwwroot/这里.这里为了方便,目录名和虚拟用户名一样,当然也可以不一样的 3.允许登录用户文件:/etc/vsftpd/chroot_list
==========================================
1.安装vsftpd
#yum -y install vsftpd
可用service vsftpd start 命令查看是否安装成功
设置CentOS vsftpd自启动
#chkconfig –level 35 vsftpd on
2.配置vsftpd.conf文件
#vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO 是否允许匿名用户访问 #chroot_list_enable=YES 限定用户不可以离开主目录 #chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES //这里为了方便,直接默认情况下将所有用户都锁定在自己的目录里,如果不写这一行的话,就需要启用上面的两行,以后添加新账户的时候需要将用户添加到chroot_list_file来,来进行锁定用户在自己的目录里,参考:
local_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的 pam_service_name=vsftpd pam认证文件名 在/etc/pam.d/vsftpd
guest_enable=YES 启用虚拟用户功能 guest_username=ftpadmin 指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了,这里我们使用重新创建的用户(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)
user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件所在目录
vsftpd用户没有办法修改文件的权限的权限(chmod),加上这两行就可以了 virtual_use_local_privs=YES chmod_enable=YES
创建虚拟用户配置文件目录
#mkdir /etc/vsftpd/vuser_conf
#mkdir /etc/vsftpd/chroot_list
四.在认证文件chroot_list里添加vsftpd虚拟用户所对应的本地系统用户
创建vsftpd运行用户ftpadmin,在创建前请确认是否有/data目录,没有的话创建一个,或者最后创建这个目录,把权限分配一下也可以**(**这里为了配合web使用,并没有使用默认的ftp:ftp用户)
#/usr/sbin/useradd -d /data/ftp -g www -s /sbin/nologin ftpadmin #passwd ftpadmin
By admin
read moreFailed loading /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so: /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied
原来这是SELinux搞的鬼,解决办法有如下两个
1. 使用chcon 命令
示例: chcon -t texrel_shlib_t /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so
2. 禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled
这个GD库的问题,在装好后启动apache的时候,还会提示php库的问题,用上面的同样方法处理即可.
By admin
read moreVsftp 安装配置
1.查看是否安装vsftp
#rpm –qa|grep vsftpd
如果出现 vsftpd-2.0.5-16.el5_5.1 说明已经安装 vsftp
如果没有安装的话, 需要先安装vsftp
yum -y install vsftpd
2.测试 是否安装成功
(ip 改成自己啊,不要用俺的此次登录为匿名登录 user: anonymous 密码为空 如果成功登录会有下面内容 这说明vsftpd安装成功)
#service vsftpd start
为 vsftpd 启动 vsftpd:[确定]
#ftp 192.168.1.107
Connected to192.168.1.107.
220 (vsFTPd 2.0.5)
530 Please loginwith USER and PASS.
530 Please loginwith USER and PASS.
KERBEROS_V4 rejectedas an authentication type
Name(192.168.1.107:root): anonymous
331 Please specifythe password.
Password:
230 Loginsuccessful.
Remote system typeis UNIX.
By admin
read more在linux下安装软件包的时候,有时候提示
configure: error: newly created file is older than distributed files! Check your system clock
出现此编译错误,请检查你的系统时间是否设置有误。。。
查看硬件日期时间
hwclock -show
linux是每隔一段时间将系统时间写入 硬件bois的 如果刚设置完了就关机,开机后时间还是等于没有设置
# date -s 991128
Sun Nov 28 00:00:00 CST 1999
实例:设置时间伟2008年8月8号12:00
# date -s “2008-08-08 12:00:00″
修改完后,记得输入:
clock -w
把系统时间写入CMOS即可
By admin
read more环境: centos 5.5 x86_64 mysqll5.5.9
安装开发工具
yum groupinstall “Development Tools”
安装依赖包
yum install ncurses-devel
编译安装cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz tar xvzf cmake-2.8.4.tar.gz ./configure make make install
下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.9.tar.gz/from/http://mysql.mirror.tw/
编译安装mysql
cd mysql5.5.9 rm CMakeCache.txt cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5.9/
-DMYSQL_DATADIR=/usr/local/mysql5.5.9/data
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/usr/local/mysql5.5.9/data/mysql.sock
-DMYSQL_USER=mysql
-DWITH_DEBUG=0make && make install
完成后进入MYSQL安装目录
cd /usr/local/mysql5.5.9 cp support-files/my-huge.cnf /etc/my.cnf vi /etc/my.cnf
将数据目录和套接字文件修改为实际值.
修改权限
chown mysql:mysql /etc/my.cnf chown -R mysql:mysql /usr/local/mysql5.5.9
切换用户进入安装目录
su – mysql cd /usr/local/mysql5.5.9 cp scripts/mysql_install_db ./ mysql_install_db
By admin
read morewget ftp://mirror.aarnet.edu.au/pub/imagemagick/ImageMagick-6.5.5-6.tar.gz
tar zxvf ImageMagick-6.5.5-6.tar.gz
cd ImageMagick-6.5.5-6
./configure
make
make install
cd ..按照以上方法安装ImageMagick后,有可能会遇到PHP加载imagick.so后运行错误,解决方法是在编译ImageMagick时关掉openmp: –-disable-openmp。如果还不行的话,请更换ImageMagick至低版本,比如:6.5.4-2。
By admin
read moreMemcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解 .
为什么会有Memcache和memcached两种名称? 其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。
Memcache的安装 分为两个过程:memcache服务器端的安装和memcached客户端的安装。 所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储 所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要php添加扩展。
具体的配置大家可以参考: Linux下的Memcache安装:http://www.ccvita.com/257.html Windows下的Memcache安装:http://www.ccvita.com/258.html Memcache基础教程:http://www.ccvita.com/259.html Discuz!的Memcache缓存实现:http://www.ccvita.com/261.html Memcache协议中文版:http://www.ccvita.com/306.html Memcache分布式部署方案:http://www.ccvita.com/395.html
PHP的Memcache
< ?php
//连接
$mem = new Memcache;
$mem->connect(“192.168.0.200”, 12000);//保存数据
$mem->set(‘key1’, ‘This is first value’, 0, 60);
$val = $mem->get(‘key1’);
echo “Get key1 value: ” . $val .”
”;
//替换数据
$mem->replace(‘key1’, ‘This is replace value’, 0, 60);
$val = $mem->get(‘key1’);
echo “Get key1 value: ” . $val . “
”;
//保存数组
$arr = array(‘aaa’, ‘bbb’, ‘ccc’, ‘ddd’);
$mem->set(‘key2’, $arr, 0, 60);
By admin
read more今天下载了PCRE的正则表达式库,应用在Linux环境下的C语言编程中。
调用方法:
1.下载PCRE库:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/,版本是7.8;
2.解压后执行configure,而后make,make install,可配置后动态链接库;
3.写了个测试的例子:
#include
#include
int main()
{
pcre *re;
const char *error;
int erroffset;
int rc;
int ovector[30];
re = pcre_compile(“some”, 0, &error, &erroffset, NULL);
rc = pcre_exec(re, NULL, “some string”, 11, 0, 0, ovector, 30);
printf(“%d\n”, rc);
return 0;
}
4.gcc -o test test.c -lpcre
5../test
6.参考文档:
上述有很多细节要搞清楚,还需要仔细研究。
出自:
By admin
read more