默认情况下,Directadmin监控的服务有
1) http (默认apache)
2) SQL (默认mysql)
3) DNS (默认bind named)
4) pop/imap (dovecot默认)
5) Mail (默认exim)
6) ftp (默认proftpd)

如果没有提供邮件服务,可以停止dovecot。通常情况下,不建议提供邮件服务,避免邮件服务被滥用。

查看Directadmin的监控情况

vim /usr/local/directadmin/data/admin/services.status

将不需要的服务设置为off即可

directadmin=ON
dovecot=OFF
exim=ON
httpd=ON
mysqld=ON
named=OFF
proftpd=ON
sshd=ON

首先来了解eAccelerator是什么?

eAccelerator是一个开源并且免费的PHP加速器,优化器,编码器,同时也能够为PHP提供动态内容缓存。它能够将PHP脚本缓存为已编译状态以达到提升PHP脚本运行性能的目的,因此传统的预编译几乎被消除。eAccelerator也能够优化PHP脚本以提升PHP脚本的执行速度。

编译eAccelerator需要用到php5-dev和make, 需要先安装他们两个。

apt-get install php5-dev make

下载eAccelerator的源码到directadmin的源码目录

mkdir -p /usr/local/src/eAccelerator
cd /usr/local/src/eAccelerator
wget http://dpvps.googlecode.com/files/eaccelerator-0.9.6.tar.bz2
tar jxvf eaccelerator-0.9.6.tar.bz2
cd eaccelerator-0.9.6/

查看php.ini文件在哪里

php -i|grep '/usr/local/etc/php5/cgi/php.ini'

执行phpize

export PHP_PREFIX="/usr/local"
$PHP_PREFIX/php5/bin/phpize

现在可以开始编译啦

./configure --enable-eaccelerator=shared  --with-php-config=$PHP_PREFIX/php5
/bin/php-config
make&&make install

执行到这里,eAccelerator已经在系统上安装完毕!要使得eAccelerator运行,还要修改php.ini文件

添加以下的代码到php.ini文件

extension=eaccelerator.so
[eaccelerator]
eaccelerator.shm_size=32
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=0
eaccelerator.shm_prune_period=0
eaccelerator.shm_only=0
eaccelerator.compress=1
eaccelerator.compress_level=9

这里使用了一个临时文件的目录/tmp/eaccelerator。我们必须创建这个目录,并且设置权限为777

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

这时,可以重启httpd服务器了。如果没有问题的话,在phpinfo里面就可以看到eAccelerator的信息了.

执行以下的代码

cd /usr/local/directadmin/scripts
./getLicense.sh 你的client_ID 新的DA_License 新IP
service directadmin restart

Directadmin控制面板上定制的包有好几个,一个个输入很麻烦
复制旧的packages信息到新机器上,就不用一个一个添加了。

旧的服务器上执行

cd /usr/local/directadmin/data/users/Your_Reseller_Name/packages
tar zcf packages.tar.gz *
  1. ftp将压缩包上传到新的服务器上
  2. 路径一样是/usr/local/directadmin/data/users/Your_Reseller_Name/packages
    1. 解压后 chown diradmin:diradmin *.pkg
    2. 然后cd ../ 到上一层目录
    3. 把旧服务器上的packages.list里面的文字复制到新机器上
    4. 就完成了产品类型的复制
    5. ( *.pkg 跟 packages.list 都确保是diradmin:diradmin,否则会报错)

总共几个步骤,确认directadmin的”磁盘使用情况”保持正常

1) 检查/etc/cron.d/directadmin_cron
文件是否包含
10 0 * * * root echo ‘action=tally&value=all’ >> /usr/local/directadmin/data/task.queue

2) /usr/sbin/repquota /home
如果没有分出/home这个分区的,就应该是/usr/sbin/repquota /

3) 重新检查磁盘配额
/sbin/quotaoff -a; /sbin/quotacheck -avugm; /sbin/quotaon -a;

4) 检查/etc/fstab的/home或者/ 是否有usrquota,grpquota

5) 如果repquota返回的值不完整,运行
echo “action=tally&value=all” >> /usr/local/directadmin/data/task.queue

6) 确认 quota_partition=/ 或者quota_partition=/home
在directadmin.conf里

cd /usr/local/directadmin
./directadmin c | grep quota_partition

7) 检查/home目录下的tmp文件夹已存在,没有的话就创建它
ls -lad /home/tmp
chmod 1777 /home/tmp

8) /usr/local/directadmin/dataskq d2000

至此,directadmin的磁盘配额恢复正常.