正在筛选分类:菜鸟Linux笔记 下的文章 清除筛选 ✕
2012
11
19
11:05

pptpd安装脚本

脚本网上找的,32位系统适用,内容如下

#! /bin/sh

#

### BEGIN INIT INFO

# Provides: pptpd instll

# PowerBY: fireye

# website: http//www.hichou.com www.qinday.com

# Description: pptpd install for centos vps

### END INIT INFO

#

 

yum remove -y pptpd ppp

iptables –flush POSTROUTING –table nat

iptables –flush FORWARD

rm -rf /etc/pptpd.conf

rm -rf /etc/ppp

 

wget http://packages.sw.be/dkms/dkms-2.1.1.2-1.el5.rf.noarch.rpm

wget “http://nchc.dl.sourceforge.net/project/poptop/mppe%20module%20builder/kernel_ppp_mppe-1.0.2%20dkms-2.0.6/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm”

wget http://www.diahosting.com/dload/pptpd-1.3.4-1.rhel5.1.i386.rpm

wget ftp://ftp.ntua.gr/pub/net/poptop/OldFiles/pptpd-1.1.3-1.i386.rpm

wget http://mirrors.163.com/centos/5.6/os/i386/CentOS/ppp-2.4.4-2.el5.i386.rpm

 

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers

rpm -ivh dkms-2.1.1.2-1.el5.rf.noarch.rpm

rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

rpm -qa kernel_ppp_mppe

rpm -Uvh ppp-2.4.4-2.el5.i386.rpm

rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm

 

mknod /dev/ppp c 108 0

echo 1 > /proc/sys/net/ipv4/ip_forward

echo “mknod /dev/ppp c 108 0″ >> /etc/rc.local

echo “echo 1 > /proc/sys/net/ipv4/ip_forward” >> /etc/rc.local

echo “localip 172.16.36.1″ >> /etc/pptpd.conf

echo “remoteip 172.16.36.2-254″ >> /etc/pptpd.conf

echo “ms-dns 8.8.8.8″ >> /etc/ppp/options.pptpd

echo “ms-dns 8.8.4.4″ >> /etc/ppp/options.pptpd

 

pass=`openssl rand 6 -base64`

if [ “$1” != “” ]

then pass=$1

fi

 

echo “vpn pptpd ${pass} *” >> /etc/ppp/chap-secrets

 

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT –to-source `ifconfig | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘NR==1 { print $1}’`

iptables -A FORWARD -p tcp –syn -s 172.16.36.0/24 -j TCPMSS –set-mss 1356

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

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

 

service iptables save

chkconfig iptables on

chkconfig pptpd on

 

service iptables start

service pptpd restart

 

echo “VPN service is installed, your VPN username is vpn, VPN password is ${pass}”

VPN service is installed, your VPN username is vpn, VPN password is OBoyvanl

2012
11
17
15:30

eAccelerator 配置参数详解

eaccelerator.shm_size=”32″

eAccelerator 可以使用的共享内存的数量 (以兆为单位) . “0” 是指操作系统的默认值. 默认值是 “0”.可根据服务器的实际情况来调整,16,32,64,128都是可以的。

eaccelerator.cache_dir=””/tmp/eaccelerator”

这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 “/tmp/eaccelerator”.

eaccelerator.enable=”1″

开启或关闭 eAccelerator。”1″ 为开启,”0″ 为关闭。默认值为 “1”。

eaccelerator.optimizer=”1″

启或关闭内部优化器,可以提升代码执行速度。”1″ 为开启,”0″ 为关闭。默认值为 “1”。

eaccelerator.check_mtime=”1″

打开或者关闭 PHP 的文件修改检查. “1” 是指打开, “0” 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 “1”. 默认值是 “1”.

eaccelerator.debug=”0″

开启或关闭调试日志记录。”1″ 为开启,”0″ 为关闭。默认值为 “0”。会将缓存命中得记录写入日志。

eaccelerator.filter=””

判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 “*.php *.phtml”等)

如果参数以 “!” 开头,则匹配这些参数的文件被忽略缓存。默认值为 “”,即,所有 PHP 文件都将被缓存。

eaccelerator.shm_max=”0″

当使用 ” eaccelerator_put() ” 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)。”0″ 为不限制。默认值为 “0”。

eaccelerator.shm_ttl=”0″

当 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 “shm_ttl” 秒内没有存取的脚本缓存。默认值为 “0”,即:不从共享内春中删除任何缓存文件。

eaccelerator.shm_prune_period=”0″

当 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于”shm_prune_period” 秒的缓存脚本。默认值为 “0”,即:不从共享内春中删除任何缓存文件。

eaccelerator.shm_only=”0″

允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 “0”,即:使用磁盘和共享内存进行缓存。

eaccelerator.compress=”1″

允许或禁止压缩内容缓存。默认值为 “1”,即:允许压缩。

eaccelerator.compress_level=”9″

指定内容缓存的压缩等级。默认值为 “9”,为最高等级。

eaccelerator.keys = “disk_only”

eaccelerator.session = “disk_only”

eaccelerator.content = “disk_only”

设置内容缓存的存放的地方,可以设置为:

shm_and_disk 在共享缓存和硬盘(默认值)

shm 默认存在共享内存,如果共享内存已满或大小超过 “eaccelerator.shm_max” 的值,就存到硬盘

shm_only 只存放在共享内存

disk_only 只存放在硬盘

none 不缓存数据

eaccelerator.allowed_admin_path = “/var/www/html/21andy.com/eaccelerator”

这是控制面板的地址

安装包里有个control.php,你把它复制到网站的任意目录,可以用它查看和管理,这个必须指定,否则查看缓存内容的时候会出错

最后,来看一下我的 eAccelerator 设置

; eaccelerator

[eaccelerator]

zend_extension=”/usr/local/lib/php/20050922/eaccelerator.so”

eaccelerator.shm_size=”16″

eaccelerator.cache_dir=”/tmp/eaccelerator”

eaccelerator.enable=”1″

eaccelerator.optimizer=”1″

eaccelerator.check_mtime=”1″

eaccelerator.debug=”0″

eaccelerator.filter=””

eaccelerator.shm_max=”0″

eaccelerator.shm_ttl=”3600″

eaccelerator.shm_prune_period=”3600″

eaccelerator.shm_only=”0″

eaccelerator.compress=”1″

eaccelerator.compress_level=”9″

eaccelerator.keys = “disk_only”

eaccelerator.sessions = “disk_only”

eaccelerator.content = “disk_only”

2012
11
05
16:12

504 Gateway Time-out(nginx)的处理

在nginx.conf配置里加入:

fastcgi_buffers 8 128k;

send_timeout 60;

注意添加位置在

http{ }

里,否则不工作

如下上面的设置后还是有504 Gateway Time-out错误,则继续修改添加以下部分

http{

………………

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 128k;

………………

}

2012
11
03
21:49

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 命令的提示回答是,这个开关通常是危险的,所以在一般情况下不要轻易使用,而在这里,如果你确定这些包的配置文件的清除是没有问题的的话,可以使用这个开关。

2012
10
10
16:33

phpmyadmin导入mysql数据库sql文件最大限制2M

php配置文件php.ini中默认设置允许上传的最大文件数据为2M,因此通过phpmyadmin Web界面管理mysql数据库时,能够导入mysql数据库的最大sql文件或gzip文件大小也是2M (2048K)。如果要导入大于2M的sql数据库文件,有以下几种解决方法。

 

最直接的解决办法当然就是修改php.ini配置文件的设置,即修改默认的 upload_max_filesize = 2M, memory_limit = 128M; post_max_size = 8M 。 比如我想上传一个27M的sql数据库文件,则可以修改为 upload_max_filesize = 32M, post_max_size = 32M,post_max_size 和 memory_limit 的值至少要大于等于upload_max_filesize的设置值。增加了php.ini中的最大上传设置数据之后,重启Apache数据库,再打开phpmyadmin 就可以上传大的sql数据库文件等等。

 

另外一种方法适用于没有权限修改网站服务器php.ini文件设置的用户,可以使用phpmyadmin提供的$cfg[‘UploadDir’]方法,$cfg[‘UploadDir’]方法允许我们通过scp、ftp等文件传输方式上传数据库文件到网站服务器,然后phpmyadmin从服务器的临时目录中导入数据库文件。该上传的文件名后缀必须为.sql或者.sql.bz2 或.sql.gz 。具体步骤如下:

 

在phpMyAdmin的根目录下找到config.inc.php文件(config.sample.inc.php),打开找到$cfg[‘UploadDir’] 和$cfg[‘SaveDir’],注释为“Directories for saving/loading files from server ”,即通过$cfg[‘UploadDir’] 和$cfg[‘SaveDir’]可以导入服务器上的SQL文件到数据库,以及将从数据库导出的SQL文件保存到服务器上的目录中。

 

修改这个参数为$cfg[‘UploadDir’] = ‘ImportSQLFile’; 和 $cfg[‘SaveDir’] = ‘ExportSQLFile’;

 

再在phpMyAdmin中建立两个文件夹,ImportSQLFile和ExportSQLFile。也就是将需要导入的sql文件复制到ImportSQLFile文件夹中,上传到服务器上。选择需要导入的数据库名,选择导入(Import),就会发现在文件导入(File to import)的地方多出来一个导入服务器上的SQL文件(web server upload directory)。通过这种方法可以突破php.ini的上传文件限制。导出/备份mysql数据的时候也可以直接保存在服务器上,保存到$cfg[‘SaveDir’] = ‘ExportSQLFile’; 中指定的文件夹中。

 

另外,如果网站服务器和国外美国主机dreamhost一样支持Shell方式(SSH,SFTP,命令行)传输文件,那么通过shell方式导入Mysql数据库很大的sql文件都不成问题,直接在Mysql中使用命令:source filename.sql。

 

如果还是不能上传大于2M的数据库数据文件,可以检查一下你的phpmyadmin 版本是不是最新的,据说phpmyadmin低于 2.7.0版本会出现类似memory内存、http错误和timeout超时等各种问题,因此最好安装phpmyadmin升级到最新版本。

2012
10
08
12:44

error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

debian-sys-maint的密码是安装mysql时随时生成的

停止或重启服务都靠它

如果你修改了它的密码或覆盖掉密码,就会出现错误

error: ‘Access denied for user ‘debian-sys-maint’@’localhost’ (using password: YES)’

查看/etc/mysql/debian.cnf查看内容,可以看到有这个mysql连接用户:[client]

host = localhost

user = debian-sys-maint

password = G1I2JcALeXXvyC50

socket = /var/run/mysqld/mysqld.sock

[mysql_upgrade]

user = debian-sys-maint

password = G1I2JcALeXXvyC50

socket = /var/run/mysqld/mysqld.sock

basedir = /usr

直接用mysql登录,为debian-sys-maint用户改密:

mysql>SET PASSWORD FOR ‘debian-sys-maint’@’localhost’ = PASSWORD(‘这里就是上面看到的密码’);

mysql> flush privileges;

这样就OK了

如果删除了改用户,那只有添加了

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘这里就是上面看到的密码” WITH GRANT OPTION;

mysql> flush privileges;

2012
09
27
11:41

Linux vps修改时间改成北京时间

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

2.命令:

rm -rf /etc/localtime

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

 

3.再用date命令看下,你的vps的时间改变了吗?大部分Linux vps的母鸡是允许每个vps修改时间的!

如果此时你的vps时间已经改成北京时间就不用看下面了,如果此时你的vps时间还没有修改好。再试下命令:

ntpdate stdtime.sinica.edu.tw

使用ntpdate stdtime.sinica.edu.tw 时候如果提示这个命令,先安装 ntpdate就可以了。

 

centos 系统的vps用命令:

yum -y install ntpdate ntp

Ubuntu系统的:

sudo apt-get install -y ntpdate ntp

2012
09
19
16:18

关于apache2伪静态问题

刚把博客搬了一个新家,之前是用一键安装包配置的VPS,虽然配置完了能很正好的运行,但是有很多想地方想修改却不知道从何处下手。这次搬家,全是手动配置的APACHE2环境,其实手运配置还是蛮简单的,只要自己细心点,但是配置完成后发现怎么也无法实现伪静态,开始以为是伪静态规则出了问题,但经过很多次试验,感觉发现不是伪静态规则的问题,看了看PHPINFO信息,原来里面没有mod_rewrite模块,这下犯愁了,因为APACHE2安装是用默认安装的,难道默认安装apache2没有安装mod_rewrite模块?试着用google和百度查看一些如何重新加入mod_rewrite模块的方法,网上有大多数是垃圾文章,还好没试,不然试了又要重新配置VPS。看了一些资料,原来默认安装的apache2是有安装mod_rewrite模块,只是没有启动而已

a2enmod rewrite 启动

然后系统会提示你重新加载apache2 ,最后再用phpinfo查看,就已经有mod_rewrite模块了

2012
09
14
15:54

Optimize Apache and MySQL for a 256MB VPS

sudo nano /etc/mysql/my.cnf

 

Add the following line into the section [mysqld]:

skip-innodb

 

Next locate the line skip-external-locking and add skip-locking below that line.

 

Now find the section labeled “Fine Tuning”. Change/add the settings in that section to match those below:

 

key_buffer = 16K

max_allowed_packet = 1M

thread_stack = 64K

thread_cache_size = 4

sort_buffer = 64K

net_buffer_length = 2K

 

Save the file (ctrl+x) and restart MySQL: sudo /etc/init.d/mysql restart

If you run MySQLtuner again you will see that the “memory” warning is gone, ignore the aother warnings for the moment (you need to run the script after a few days again to get exact test results)

 

Optimize Apache in prefork mode

If you followed the Ubuntu tutorial we’ve mentioned in the first paragraph, your Apache setup should run in prefork mode. The default settings are much to high, open the file sudo nano /etc/apache2/apache2.conf andchange the following settings:

 

 

Timeout 45

KeepAlive On

MaxKeepAliveRequests 200

KeepAliveTimeout 3

 

StartServers 5

MinSpareServers 5

MaxSpareServers 10

MaxClients 30

MaxRequestsPerChild 2000

 

That’s all, restart Apache using sudo /etc/init.d/apache2 restart. If you know more tweaks, please share.