SeedDMS是一个开源的文档管理系统,它提供了一种方便的方式来管理和组织文件、文档和信息。这个系统是基于PHP开发的,并且拥有一个易于使用的基于Web的用户界面

env

  • centos8.0

php-7.2.24 mariadb-10.3.28 httpd-2.4.37

  • seeddms-6.0.28

1.安装lamp环境

  • 站内搜索: centos7搭建lamp环境

1.1requirement

yum install -y httpd mariadb-server

yum -y install php php-bcmath php-mysql php-mbstring php-process  php-gd php-pear php-pear-DB php-pear-Image-Text php-pear-Log php-pear-MDB2 php-pear-Mail php-pear-Net-SMTP php-pear-Net-Socket t1lib php-ZendFramework php-ZendFramework-Search-Lucene


dnf install -y php php-fpm php-cli php-common
dnf install -y php-gd php-mysqlnd


systemctl start php-fpm
systemctl enable --now  php-fpm

1.2httpd support php

[root@r6-24 httpd]# tree .
.
├── conf
│   ├── httpd.conf
│   └── magic
├── conf.d
│   ├── php.conf  //对php支持
│   ├── README
│   └── welcome.conf
├── logs -> ../../var/log/httpd
├── modules -> ../../usr/lib64/httpd/modules
└── run -> ../../var/run/httpd
[root@r6-24 httpd]# pwd
/etc/httpd

# support php
[root@r6-24 httpd]# egrep -v '^#|^$' conf.d/php.conf
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php

# 检测php环境情况
tee >/var/www/html/index.php  <<-'EOF'
<?php phpinfo(); ?>
EOF

# listen(conf/httpd.conf )
# add
ServerName 172.24.20.31:80   //默认监听127.0.0.1

1.3start httpd

[root@r6-24 httpd]# service httpd restart
[root@c7-100 httpd]# systemctl  restart httpd

[root@r6-24 ~]# curl  -I 172.24.20.31/index.php
HTTP/1.1 200 OK
Date: Sat, 29 Jun 2024 06:59:31 GMT
Server: Apache/2.2.15 (Red Hat)
X-Powered-By: PHP/5.3.3
Connection: close
Content-Type: text/html; charset=UTF-8

2.创建db

2.1初始化db

[root@c7-100 ~]# systemctl enable --now  mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@c7-100 ~]# 

# 安全初始化及设置root密码(root/321321)
mysql_secure_installation

2.2新建db

[root@c7-100 ~]# mysql -uroot -p321321

create database seeddms;
grant all on seeddms.*  to 'seeddms'@'%' identified by '123123';
grant all on seeddms.*  to 'seeddms'@'localhost' identified by '123123';
flush privileges;

3.deploy seeddms

3.1安装seedms依赖组件

yum install  -y  php-ZendFramework    php-ZendFramework-Search-Lucene

3.2建立目录及解压

[root@c7-100 ~]# mkdir -p /var/www/html/dms/

[root@c7-100 ~]# tar zxf seeddms-quickstart-4.3.22.tar.gz 
[root@c7-100 ~]# cd seeddms43x/

[root@c7-100 seeddms43x]# mv data pear /var/www/html/dms/
[root@c7-100 seeddms43x]# mv seeddms-4.3.22/* /var/www/html/dms/

[root@c7-100 dms]# chown -R apache:apache /var/www/html/dms

3.3修改默认配置

Replace all of the /home/www-data/seeddms51x/ paths with your actual path of /var/www/html/dms/ on the following form

[root@c7-100 conf]# grep www-data settings.xml
    <server rootDir="/home/www-data/seeddms43x/www/" httpRoot="/seeddms43x/" contentDir="/home/www-data/seeddms43x/data/" stagingDir="/home/www-data/seeddms43x/data/staging/" luceneDir="/home/www-data/seeddms43x/data/lucene/" logFileEnable="true" logFileRotation="d" enableLargeFileUpload="true" partitionSize="2000000" cacheDir="/home/www-data/seeddms43x/data/cache/" dropFolderDir="">
    <database dbDriver="sqlite" dbHostname="localhost" dbDatabase="/home/www-data/seeddms43x/data/content.db" dbUser="seeddms" dbPass="seeddms">
    <server coreDir="" luceneClassDir="" contentOffsetDir="1048576" maxDirID="0" updateNotifyTime="86400" extraPath="/home/www-data/seeddms43x/pear/" maxExecutionTime="30">
[root@c7-100 conf]# 

[root@c7-100 dms]# sed -i.bak 's#/home/www-data/seeddms43x/#/var/www/html/dms/#g'   www/conf/settings.xml

sed -i.bak 's#/home/www-data/seeddms43x/#/var/www/html/dms/#g'   www/conf/settings.xml

/var/www/html

sed -i.bak 's#/home/www-data/seeddms43x/#/var/www/html/#g' settings.xml

 <server coreDir="/var/www/html/dms/pear/SeedDMS/" 
 luceneClassDir="/var/www/html/dms/pear/SeedDMS/" contentOffsetDir="1048576" maxDirID="0" updateNotifyTime="86400" 
 extraPath="/var/www/html/dms/pear/" maxExecutionTime="30" cmdTimeout="1">
</server>


<server 
    rootDir="/home/www-data/seeddms43x/www/"   //去掉www
    httpRoot="/seeddms43x/"    //改为dms

/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
    # 设置all允许.htaccess规则
    AllowOverride All
</Directory>

3.4修改数据库为mysql(默认sqlite)

conf/settings.xml
 <!--
       - dbDriver: DB-Driver used by adodb (see adodb-readme)
       - dbHostname: DB-Server
       - dbDatabase: database where the tables for seeddms are stored (optional - see adodb-readme)
       - dbUser: username for database-access
       - dbPass: password for database-access
    -->   
<database dbDriver="sqlite" dbHostname="localhost" dbDatabase="/var/www/html/seeddms/data/content.db" dbUser="seeddms" dbPass="seeddms" doNotCheckVersion="false">
</database>

# 设定mysql数据库可以注释掉sqlite
<database dbDriver="mysql" dbHostname="localhost" dbDatabase="seeddms" dbUser="seeddms" dbPass="123123" doNotCheckVersion="false">
</database

3.5新建文件(支持在线安装)

For installation of SeedDMS, you must create the file conf/ENABLE_INSTALL_TOOL

touch conf/ENABLE_INSTALL_TOOL
chown -R apache: conf/ENABLE_INSTALL_TOOL

touch conf/ENABLE_INSTALL_TOOL
chown -R apache: conf/ENABLE_INSTALL_TOOL

touch ENABLE_INSTALL_TOOL  && chown  apache: ENABLE_INSTALL_TOOL

3.4install

Setting up SeedDMS via your browser
Open your browser and point it to your server at http://<server name>/dms/install/install.php

http://172.24.20.100/dms/install/install.php

//提示缺少HTTP_WebDAV_Server
Pear package : HTTP_WebDAV_Server : Not found
=> Install Pear package 'HTTP_WebDAV_Server', if you intend to use the webdav interface

//解决
https://pear.php.net/package/HTTP_WebDAV_Server/download
pear install HTTP_WebDAV_Server-1.0.0RC8

reference