小内存优化VPS的LNMP及fail2ban配置

哈,大家好,21经过长时间的“沉没”,在这个寒冷的冬日怎么着也该冒泡泡以表无恙呀~ 话说,今天是二四节气中的“大雪”,够不上下雪条件的昆明便下起了稀里哗啦的雨,让21这个电动车男给冻的 …… 无法用言语形容的呀~

经过近半年时间,21手上开始掌握了一些廉价的VPS进行个人学习和实验,基本配置小至128M OpenVZ大至512M Xen都有,当然,买来以后闲置的时间稍微占多了点,不过由于Hawkhost空间12.6到期的刺激,我把Mr. 2175%都搬迁到其中一个512M Xen VPS上并且进行了相关的配置。本着内存能少用就少用、资源能节约就节约的原则,我进行了一些学习和模仿。

文中涉及到的操作基本上都需要root权限,且,21个人喜欢nano编辑器,如果你喜欢vi,稍微换一下命令就行。

基础调配部分及LNMP

由于21喜欢用Debian,于是参考了VPSee的文章《64MB VPS 上优化 Debian 5》和LowEndBox的《Bootstraping WordPress/Nginx/PHP/MySQL on a Cheap VPS with lowendscript》,对VPS上的OpenSSH、 syslog-ng用Dropbear和inetutils-syslogd进行了替换,从基础上对资源占用进行了控制,大概操作如下:

    OpenSSH、 syslog-ng的替换,我使用了LEB的lowendscript,在root用户下,如此操作便可:

    如果你参考这里,会发现LEB的这个脚本其实还可以安装LNMP里面的NMP(Nginx, MySQL, PHP)三个组件,但是我个人比较喜欢国人的LNMP,于是仅使用LES脚本进行了系统组件的替换。

之后,我安装LNMP 0.5(请参考这里)作为WEB服务器,并且进行了一些调整,这个调整请按照自己的需求就好。

  1. 将Nginx的子线程调整为2个,方法如下:

    找到worker_processes,将其改成下面的样子:

    然后按Ctrl+O保存,按Ctrl+X退出。
  2. 同时,我将PHP-FPM的子线程也调整为2个,方法如下:

    按Ctrl+W搜索max_children,改成下面这样的格式:

    然后按Ctrl+O保存,按Ctrl+X退出。再来重启nginx和php-fpm:
  3. 关于这个……MYSQL的调优,这个……21表示个人水平不足,就不献丑了。

Fail2Ban调配部分

这是一些比较基础的安全方面的调配。

  1. 首先,是禁用root用户的ssh登录,由于我们已经用Dropbear替换了OpenSSH,所以跟一般教程针对OpenSSH的修改方式不太一样,大概方法如下:

    然后把其中的server_args修改为如下样子

    让 /etc/xinetd.d/dropbear 配置文件看起来像这样

    然后按Ctrl+O保存,按Ctrl+X退出。
    -g的意思就是禁用root使用密码登录,但可以用公钥登录(public key)(请参考这里)。
    然后重启Dropbear:
  2. 禁用了root账户登录,但是21在某些特定的没有公钥情况下又需要登录SSH,怎么办呢?增加一个普通用户就好了,这个用户不用具备什么特殊权限,只要能登录SSH足矣,大概操作如下:

    [username]替换为你想要的用户ID(注:不能为纯数字),[password]替换为想要的密码便可。
    之后我们以[username]登录系统,然后输入su root,再输入root密码便可以切换到root用户的shell。
    推荐不要使用太简单的ID,比如a/ab/abc什么的,为什么?后面告诉你。

Continue reading 小内存优化VPS的LNMP及fail2ban配置

自制RHEL5 DVD安装盘

最近在学习Red Hat方面的管理,一般来说我们比较容易获取的是RHEL(Red Hat Enterprise Linux)的CD版介质(比如国内的Lupaworld镜像),不过一共6CD安装起来的替换也是很麻烦,我找到一个教程与大家共享。

文章来源:Mind Download
本教程是基于Linux shell的操作,Unix-like通用,Windows请看文后简述。

一、首先下载6张CD,(借用lupaworld)

32位安装盘
rhel-server-5.3-i386-disc1.iso
rhel-server-5.3-i386-disc2.iso
rhel-server-5.3-i386-disc3.iso
rhel-server-5.3-i386-disc4.iso
rhel-server-5.3-i386-disc5.iso
64位安装盘
rhel-server-5.3-x86_64-disc1.iso
rhel-server-5.3-x86_64-disc2.iso
rhel-server-5.3-x86_64-disc3.iso
rhel-server-5.3-x86_64-disc4.iso
rhel-server-5.3-x86_64-disc5.iso
rhel-server-5.3-x86_64-disc6.iso

二、建立6个临时目录,同时挂载6个ISO文件。

三、修改相关的光盘配置文件

编辑复制过来的当前目录的.discinfo文件(nano .discinfogedit .discinfo),效果如下(不一定完全一样):

1170972087.594754
Red Hat Enterprise Linux Client 5
i386
1,2,3,4,5,6 <-主要是修改这里的1为现在的1,2,3,4,5,6
Client/
VT/
Workstation/

四、合并6个CD镜像并写入新的配置文件,生成DVD ISO镜像,红色的是卷标名称,请自定义。

五、扫尾工作

六、Windows怎么办?
呃,实际上我没有试过,但是我推断,只要把所有的ISO解压后复制到同一目录下(可覆盖同名文件),然后编辑.discinfo文件(如第三步那样),然后用WinISO或者UltraISO创建一个DVD文件,引导文件使用文件目录下的“isolinux/isolinux.bin”文件,并删除“isolinux/boot.cat”文件,然后保存ISO,应该可以,不过,建议尽量使用linux。

七、其它
实际上,RedHat官方就提供了DVD文件,只要注册一个RHN试用30天的帐户就可以下载,这个仅供大家参考。
同时,原作者提供了一个bash脚本用来处理这个过程,只要跟几个镜像放在同一目录下执行就是,文件内容如下: Continue reading 自制RHEL5 DVD安装盘

在CentOS 5下安装VirtualBox客户端增强功能

今天在VirtualBox里面安装CentOS 5.3,当需要安装增强功能的时候,提示:

Please install the build and header files for your current Linux kernel.

于是参考放飞时空此PO完美解决,将命令汇总如下:

参考:
放飞时空: http://www.080909.com/wordpress/2009……

CentOS 5.2 安装手记

由于要学习RHCE,所以安装了一个与RHEL5相近的版本的CentOS 5.2,
安装完成后,有一些小的东西需要修改,特此记录,待查。

Q: 为何Bash无法使用ifconfig/iwconfig等sbin命令
A: 因为不知道为什么,缺省的用户变量PATH里面居然没有包含常用的/sbin目录。解决方法:

  1. 打开终端窗口。
    应用程序->附件->终端
  2. 进入用户目录。
    执行cd ~
  3. 编辑Bash配置。
    执行nano .bashrc
  4. 加入路径到变量。
    定位到文件的最末行,输入export PATH=$PATH:/sbin
  5. 保存。
    Ctrl+O写入,按Y确认,按Ctrl+X退出
  6. 完成,可以执行/sbin里面的命令,而不用定位到该目录了。

Q: 为何lsmod里面有ipw2200的模块,但是iwconfig看不到设备?
A: 因为系统内置了Intel 2200bg的驱动了,但是由于版权问题,没有内置固件(韧体)。解决方法:

  1. 打开终端窗口。
    应用程序->附件->终端
  2. 获得ROOT权限。
    输入su,再输入root密码,获得root权限。(默认没有sudo的配置)
  3. 查询驱动版本。
    输入cat /var/log/messages |grep ipw2200
    在输出的信息里找到相应的字符,例如我的是1.2.0版的驱动:
    ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kmprq
  4. 下载相应的固件。
    访问http://ipw2200.sourceforge.net/firmware.php,选择相应驱动的固件,我是firmware v3.0,
    点击相应的固件链接之后,出现的是一个许可文档,可以忽略,直接拉到下面点击I Agree就行。
  5. 安装固件。
    切换到相应的目录,默认是cd /home/<username>/Desktop,然后解压tar zxvf ipw2200-fw-3.0.tgz,进入解压的目录cd ipw2200-fw-3.0,复制固件cp ipw2200-bss.fw /lib/firmware/
  6. 使固件生效。
    执行rmmod ipw2200 && modprobe ipw2200,再执行iwconfig就会发现多一个eth1。
  7. OK,完成,可以用iwlist scan扫描热点了。
  8. Tips: 你可以把全部命令保存成一个sh文件,直接执行就行。如下,
    不过要su以后执行,如果用sudo的话,每行前面加个sudo就行……