由于 ownCloud 官方的 owncloud 镜像已经于 2018.12 停止维护,转而发布了 owncloud/server 镜像。但是 owncloud/server 镜像创建运行的容器默认数据库为 SQLite ,不知怎么的,我无论是指定本地还是远程数据库 OCC 都换不到 MariaDB 上去。只能退而求其次,使用 deb 软件包的方法安装。
拉取镜像:
sudo docker pull jsurf/rpi-mariadb
创建网络:
sudo docker network create -d bridge --subnet=172.20.0.0/24 --gateway 172.20.0.1 amber-net
创建运行容器:
sudo docker run -i -t --name rpi-mariadb -p 10200:3306 --net amber-net --ip 172.20.0.20 -v /mnt/USB64G/rpi-mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rasyogile -d jsurf/rpi-mariadb:latest
owncloud 数据库及帐户配置:
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.*
TO ‘owncloud‘@‘172.20.0.10‘
IDENTIFIED BY ‘rasyogile‘;
拉取 debian 镜像命令:
sudo docker pull debian:latest
创建运行容器:
sudo docker run -i -t --name owncloud -p 10100:80 --net amber-net --ip 172.20.0.10 --link rpi-mariadb:mariadb -v /mnt/USB64G/owncloud:/usr/local/src/owncloud -d debian:latest
命令:
apt install apache2
service apache2 start
测试:
命令:
apt install php
安装依赖:
apt-get install php7.3-intl php7.3-zip php7.3-xml php7.3-dom php7.3-curl php7.3-mbstring php7.3-mb php7.3-gd php7.3-mysqli libmariadb-dev libapache2-mod-php
重启 apache2
service apache2 restart
测试:
在 /var/www/html
中,删除之前的 apache2 的 index.html ,重新编写 index.php :
<?php
phpinfo();
?>
具体请参阅: 树莓派/Debian 搭建ownCloud私有云网盘 。
唯一要注意的一点:请注意 URL :https://download.owncloud.org/download/repositories/production/Debian_10/all/
下的最新安装包。
测试:
如图。
事务文件配置为使用基于内存的锁定。
安装组件。
apt install redis-server php7.3-redis
安装完后,修改 config/config.conf
配置。
‘memcache.locking‘ => ‘\OC\Memcache\Redis‘,
启动 redis-server 。
/etc/init.d/redis-server start
重启 apache2 。
计划任务选择 Cron 。
一些文件没有通过完整性检查,点击 “无效文件列表” ,可查看无效文件。
Results
=======
- core
- FILE_MISSING
- .htaccess
- .user.ini
可以看到 .htaccess
和 .user.ini
无效。
重新解压一个 owncloud 文件夹,并将新目录下的 .htaccess
和 .user.ini
复制到 /var/www/html/owncloud
目录下。
重启 apache2 。
修改 /etc/apache2/apache2.conf
文件。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
修改为:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
重启 apache2 。
非分布式服务器使用下述即可:
apt install php7.3-apcu
安装完后,修改 config/config.conf
配置。
‘memcache.local‘ => ‘\OC\Memcache\APCu‘,
重启 apache2 。
安装 libapache2-mod-php 组件。
apt install apt install libapache2-mod-php
重启 apache2 。
启动 apache2 。
service apache2 restart
在安装途中如果少安装了依赖可能出现众多错误提示:
没有安装数据库驱动 (SQLite、MySQL 或 PostgreSQL)。
PHP zip 模块未安装。
请联系服务器管理员安装模块。
PHP dom 模块未安装。
请联系服务器管理员安装模块。
PHP XMLWriter 模块未安装。
请联系服务器管理员安装模块。
PHP XMLReader 模块未安装。
请联系服务器管理员安装模块。
PHP intl 模块未安装。
请联系服务器管理员安装模块。
PHP libxml 模块未安装。
请联系服务器管理员安装模块。
PHP mb multibyte 模块未安装。
请联系服务器管理员安装模块。
PHP GD 模块未安装。
请联系服务器管理员安装模块。
PHP SimpleXML 模块未安装。
请联系服务器管理员安装模块。
PHP cURL 模块未安装。
请联系服务器管理员安装模块。
PHP 模块已经安装,但仍然显示未安装?
请联系服务器管理员重启网页服务器。
每个错误提示都与之前安装 PHP 时安装的依赖对应。
原文:https://www.cnblogs.com/Yogile/p/13341991.html