PS:这篇文章是我2010-03-12在iteye.com上面写的,好几年没在上面写东西了,决定把上面为数不多的几篇博客搬到51cto上面来。
---------------------------------------------------------------------------
朋友装的avantfax的说有Bug,版本是avantfax2.0.5。对直接发送的PDF格式传真不能归档,看了半天源码,发现其好像根没对PDF格式的文件做归档,只对tiff和ps格的文件做了归档处理。到avantfax官网上去看最新版都到3.2.2,差了10几个版本,所以决定对其进行升级。
此文档适用于将avantfax 2.x系列升级到avantfax 3.x系列。
1) 首先最重要的就是备份数据库、avantfax文件夹。以防万一。
mkdir ~/faxbackup
mysqldump --user=avantfax --password=d58fe49 avantfax > ~/faxbackup/db_backup.sql
cp -a /var/www/avantfax ~/faxbackup
2) 如果你的avantfax的版本早于2.2.6,那么你必须将你的数据库更新到2.2.6。在2.x的最新版本里有所有像db-update-*.sql一样的数据库更新文件。我将其打包在附件dbUpdateTo2.2.6.tar.gz中了。
mysql -uavantfax -pd58fe49 avantfax < db-update-218.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-222sql
mysql -uavantfax -pd58fe49 avantfax < db-update-225.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-226.sql
如果你的版本比2.2.6版要新,那么跳过此步骤。
3) 解压
cd /var/www/
tar xzf avantfax-3.2.2.tgz
cd avantfax-3.2.2
4) 从此步骤以后的所有命令都在avantfax-3.2.2中的"upgrade-from-2.3.sh"脚本中写好的,只要运行此脚本就行,注意:此脚本只且仅运行一次。
./upgrade-from-2.3.sh
完成后avantfax的超级用户将被重置。用户名为admin 密码为password
如想手动,请跳过步骤4继续以下步骤。
5) 继续将数据库从2.x更新到最新。
cd avantfax-3.2.2
mysql -uavantfax -pd58fe49 avantfax < db-update-300.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-302.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-306.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-307.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-311.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-315.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-316.sql
mysql -uavantfax -pd58fe49 avantfax < db-update-320.sql
6) 删除所有在2.x版的安装文件avantfax里的PHP文件。
find /var/www/avantfax/ -name "*.php" -exec rm -f {} \;
find /var/www/avantfax/ -name "*.css" -exec rm -f {} \;
find /var/www/avantfax/ -name "*.js" -exec rm -f {} \;
7) 不要用3.x里的安装脚本来更新。用以下命令:
chmod 0770 avantfax/includes/templates/admin_theme/templates_c/ avantfax/includes/templates/admin_theme/cache/ avantfax/includes/templates/main_theme/templates_c/ avantfax/includes/templates/main_theme/cache/
chown apache:apache avantfax/includes/templates/admin_theme/templates_c/ avantfax/includes/templates/admin_theme/cache/ avantfax/includes/templates/main_theme/templates_c/ avantfax/includes/templates/main_theme/cache/
chmod 0755 avantfax/includes/faxcover.php avantfax/includes/faxrcvd.php avantfax/includes/notify.php avantfax/tools/update_contacts.php avantfax/tools/faxcover.php avantfax/includes/avantfaxcron.php
rsync -rvu ./avantfax/ /var/www/avantfax/
8) 安装MDB2支持
pear channel-update pear.php.net
pear upgrade-all
pear install MDB2_driver_mysql
9) 运行tools/update_contacts.php将老的地址博转换成新的格式。
cd /var/www/avantfax/tools
./update_contacts.php
10) Your crontab for "remold.php" must be replaced with "avantfaxcron.php -t 2"
crontab -e
0 0 * * * /var/www/avantfax/includes/avantfaxcron.php -t 2
参考文件:avantfax-3.2.2.tgz中的upgrading-from-2.x.txt