建站全流程 128M VPS + lnmp (Debian6) + textpattern + Dropbox自动备份+Ajaxterm安装与自启动

发表时间
评论 没有

这个博客好久没有更新了,原因有很多,最主要有两个原因,一个是博主本人因各种杂事,写blog的兴趣少了;另一个就是blogger停止了ftp支持,本来blogger的绑定域名功能就无法正常使用,ftp发布停了之后就不能再用blogger的html静态方法了。所以我就想换个php博客,比较WP和Textpattern这两个之后选了Textpattern,原因也很简单,就是Textpattern比WP“轻”。
之前这个网站是用的000webhost的空间,速度一直不错,不过对.htaccess的支持一直有问题,装了Textpattern之后改了一下,勉强能用,不过诊断的时候却显示有很多函数被禁用,所以就换到现在这个VPS来了。
这篇文章主要介绍了在debian6中安装lnmp和textpattern、以及用dropbox自动备份网站数据、用Ajaxterm来代替putty等SSH工具。
这个VPS的配置是OpenVZ 128M内存 Debian 6 32位系统,默认的配置比较占资源,故换成lnmp。
首先升级一下系统:

# apt-get update&&apt-get upgrade

然后删除一下相关的软件:

# apt-get -y purge apache2-* bind9-* xinetd samba-* nscd-* portmap sendmail-* sasl2-bin libapache2-mod-php5 mysql-server* php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common php5-common php5-mysql

再清理下系统:

# apt-get autoremove&&apt-get clean

再安装下必要的软件:

# apt-get install msmtp screen

接着安装lnmp,按lnmp的 安装教程 一步一步走就可以了,一般这种VPS编译lnmp需要两个小时以上。
添加textpattern的伪静态规则 MotionObj

# cat /usr/local/nginx/conf/textpattern.conf
location / {
    root   /home/wwwroot/imtho.com/;
    index  index.html index.htm index.php;
    if (!-e $request_filename) {
        rewrite ^(.*) /index.php;
    }
}

添加自己的域名,并按提示操作:

# sh /root/vhost.sh

在/usr/local/nginx/conf/vhost/imtho.com.conf server里加一句:

include textpattern.conf;

再在/usr/local/nginx/conf/nginx.conf里开启gzip压缩。

由于只是访问量很小的个人网站,就不再专门优化了,这样textpattern环境已经配置好了。
然后装Textpattern,不赘述安装过程。

设置textpattern的email发送:

SMTP 发送地址 为空
从这个 Email 地址发送登录信息 为空

配置msmtp

# cat /etc/msmtprc
defaults
account imtho
host smtp.gmail.com
port 587
timeout 30
auth on
user adm@imtho.com #发送email的地址
password JU239fj  #密码
auto_from off
from admin@imtho.com
maildomain imtho.com
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log
account default : imtho

接着打开PHP配置文件/usr/local/php/etc/php.ini
设置email发送的程序

sendmail_path = msmtp –t

重启lnmp:

# /root/lnmp restart

最后是Dropbox自动备份参考 “司徒原“http://www.s2log.com/1044.html :

# mkdir ~/backups
# wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh ~/backups #dropbox的上传脚本
# vi autobackup.sh #以下是自动备份的脚本
#!/bin/bash
#autobackup version 0.01
#By lll9p <lll9p.chinaAtgmail.com>
#./autobackup.sh -f n -u myusername -p mypasswd -h localhost -n mydatabase -s imtho.com -d /root
while getopts 'f:u:p:h:n:s:d:' opt
do
        case $opt in
                f)
                full=$OPTARG
                ;;
                u)
                user=$OPTARG
                ;;
                p)
                passwd=$OPTARG
                ;;
                h)
                host=$OPTARG
                ;;
                n)
                dbname=$OPTARG
                ;;
                s)
                sitename=$OPTARG
                ;;
                d)
                backupdir=$OPTARG
                ;;
                ?)
                echo 'wrong'
                exit 1
                ;;
        esac
done
site='/home/wwwroot/'
sqlfile="$dbname""_$(date +%Y_%m_%d).tar.gz"
sitefull="$sitename""_full_$(date +%Y_%m_%d).tar.gz"
cd $backupdir
mysqldump -u $user -p$passwd -h$host $dbname > $dbname.sql
if [ "$full" = "n" ] ; then
        tar zcvf $sqlfile $dbname.sql
        sh /root/backups/dropbox_uploader.sh upload $sqlfile
        rm -f $sqlfile
elif [ "$full" = "y" ] ; then
        tar zcvf $sitefull $site$sitename/ $dbname.sql
        sh /root/backups/dropbox_uploader.sh upload $sitefull
        rm -f $sitefull
fi
rm -f $dbname.sql
# cat m.sh
#!/bin/bash
sh /root/backups/autobackup.sh -f n -u myusername -p mypasswd -h localhost -n mydatabase -s imtho.com -d /root
# cat z.sh
#!/bin/bash
sh /root/backups/autobackup.sh -f y -u myusername -p mypasswd -h localhost -n mydatabase -s imtho.com -d /root

添加crontab定时执行:

# crontab –e
#添加下面两行:
00 10 * * * /root/backups/m.sh
00 10 * * 1 /root/backups/z.sh

安装Ajaxterm:
为了方便管理(也为了防SSH被GFWed),下载并安装Ajaxterm

# wget http://antony.lesuisse.org/software/ajaxterm/files/Ajaxterm-0.10.tar.gz
# tar zxvf  Ajaxterm-0.10.tar.gz 
# cd Ajaxterm-0.10 
# ./configure --prefix=/usr 
# make 
# make install 

添加Ajaxterm到外部可以访问的域名

# cat /usr/local/nginx/conf/vhost/myajaxdomain.com.conf 
server
{
        listen       80;
        server_name myajaxdomain.com;
        location / {
                proxy_pass http://127.0.0.1:8022;
                proxy_redirect default; 
        }
        access_log off;
}

debian6中将Ajaxterm脚本加入到开机启动的方法:
在脚本中加入LSB描述信息。

# more  /etc/init.d/ajaxterm   
#!/bin/sh
### BEGIN INIT INFO
# Provides:          Ajaxterm
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the Ajaxterm daemon
# Description:       starts Ajaxterm using start-stop-daemon
### END INIT INFO
....

安装启动脚本到system init script。

# insserv -v -d /etc/init.d/ajaxterm
# reboot

作者

评论

本文评论功能已关闭。

← 较早的 较新的 →