在Debian Etch上安装LedgerSMB(开源会计应用程序)
版本1.0
作者:Falko Timme
LedgerSMB是一个免费的(GPL许可的),基于Web的双记账会计系统,用Perl编写,它使用PostgreSQL进行数据存储。 它适用于中小企业(SMB),可以通过像Firefox这样的常规网络浏览器轻松使用。 本教程介绍如何在Debian Etch系统上安装LedgerSMB。
我不会保证这将为您工作!
1初步说明
我已经测试了一个空的(即,只是基本系统,没有Web服务器等)Debian Etch系统与IP地址192.168.0.100
和主机名server1.example.com
。 请用您自己的值替换IP地址/主机名。
如果您已经将Apache与几个网站一起安装(尽管我还没有测试过),本教程也应该可以正常工作。
2安装所需的Perl模块
LedgerSMB取决于几个Perl模块,我们可以在一个命令中安装,如下所示:
apt-get install libdata-dumper-simple-perl perl-modules liblocale-maketext-lexicon-perl libmd5-perl libdbi-perl libdbd-pg-perl libconfig-any-perl libmime-lite-perl libhtml-linkextractor-perl libnet-tclink-perl libparse-recdescent-perl libmodule-build-perl
Debian存储库中不存在另外两个Perl模块( libclass-std-perl
和libconfig-std-perl
)。 幸运的是,LederSMB项目将它们作为.deb
包,在deb-prereq
.tar.gz文件中可以从SourceForge下载 :
cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/ledger-smb/deb-prereq-1.2.8.tar.gz
tar xvfz deb-prereq-1.2.8.tar.gz
cd deb-prereq-1.2
dpkg -i libclass-std-perl_0.0.8-1_all.deb libconfig-std-perl_0.0.4-1_all.deb
3安装Apache
Apache可以这样安装:
apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
4安装PostgreSQL
LedgerSMB需要PostgreSQL 8.x. Debian存储库中最新的PostgreSQL版本是8.1,所以我们安装了这个版本:
apt-get install postgresql-8.1 postgresql-client-8.1
5安装LedgerSMB
我们现在将从SourceForge下载LedgerSMB 并将其安装在/ usr / local / ledgersmb
目录中:
cd /tmp
wget http://switch.dl.sourceforge.net/sourceforge/ledger-smb/ledgersmb-1.2.8.tar.gz
tar xvfz ledgersmb-1.2.8.tar.gz
mv ledgersmb /usr/local/
/ usr / local / ledgersmb
目录应由Apache用户(Debian上的www数据
)和组(再次是www-data
)拥有:
chown -R www-data:www-data /usr/local/ledgersmb/
那么我们必须成为postgres
用户:
su -m postgres
并登录PostgreSQL:
psql -U postgres
现在在PostgreSQL shell上,键入以下命令来更改PostgreSQL用户的PostgreSQL密码:
ALTER USER postgres WITH PASSWORD 'POSTGRESPASSWORD';
(用您选择的密码替换POSTGRESPASSWORD
。)
然后离开PostgreSQL shell:
\q
创建PostgreSQL管理数据库角色,按照惯例命名为ledgersmb
:
createuser --no-superuser --createdb --no-createrole -U postgres --pwprompt --encrypted ledgersmb
系统会要求您指定密码。 我在这里使用MYROLEPASSWORD
,但当然应该使用自己的。
之后,再次输入:
exit
现在我们创建系统用户ledgersmb
:
adduser ledgersmb
您将被要求为该用户指定一个密码和一些其他详细信息。
然后成为ledgermb
用户:
su -m ledgersmb
创建一个中央用户数据库,由LedgerSMB管理角色拥有, ledgersmb
:
createdb -U ledgersmb -O ledgersmb ledgersmb
接下来填写ledgersmb
数据库:
psql -U ledgersmb -d ledgersmb -f /usr/local/ledgersmb/sql/Pg-central.sql
最后一步中的SQL命令创建了一个LedgerSMB管理的管理员用户,即users
和users_conf
表中的一行。 您现在必须使用默认密码更新users_conf
中的admin
用户密码:
psql -U ledgersmb -d ledgersmb
然后,您将访问运行的PostgreSQL shell
UPDATE users_conf SET password = md5('MYPASSWORD') WHERE id = 1;
更改密码。 用您选择的密码替换MYPASSWORD
。
类型
\q
离开PostgreSQL shell然后
exit
再次成为根。
接下来,我们必须将/usr/local/ledgersmb/ledgersmb.conf.default
重命名为/usr/local/ledgersmb/ledgersmb.conf
:
mv /usr/local/ledgersmb/ledgersmb.conf.default /usr/local/ledgersmb/ledgersmb.conf
现在我们必须打开/usr/local/ledgersmb/ledgersmb.conf
并调整数据库的详细信息(它们在文件末尾)。 确保您填写MYROLEPASSWORD
(或您选择的任何密码为MYROLEPASSWORD
):
vi /usr/local/ledgersmb/ledgersmb.conf
[...] [globaldb] # These paramaters *must* be set correctly # for LedgerSMB >= 1.2 to work DBname = ledgersmb DBhost = localhost DBport = 5432 DBUserName = ledgersmb DBPassword = MYROLEPASSWORD |
LedgerSMB带有一个脚本来自动配置Apache。 现在让我们来吧
cd /usr/local/ledgersmb/
sh configure_apache.sh
你会被问到两个问题:
您的网络服务器运行哪个用户?
< - www-data
我们将哪些文件复制到
< - /etc/apache2/conf.d
之后重新启动Apache:
/etc/init.d/apache2 restart
现在我们来看看我们的LedgerSMB安装,方法是运行:
cd /usr/local/ledgersmb
perl Build.PL
输出应如下所示:
server1:/usr/local/ledgersmb# perl Build.PL
Creating new 'Build' script for 'LedgerSMB' version '1.2.8'
server1:/usr/local/ledgersmb#
跑
./Build test
之后。 有可能几个测试失败(例如,如果在输出结尾处得到这样的结果:
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/10-form.t 255 65280 ?? ?? % ??
t/12-menu.t 255 65280 37 74 200.00% 1-37
Failed 2/6 test scripts, 66.67% okay. 37/1308 subtests failed, 97.17% okay.
),但你可以忽略这一点,继续。
再次重新启动Apache:
/etc/init.d/apache2 restart