在Bananapi M2上搭建ownCloud私有云

IT, 其他

最近国内网盘业界出现了不少大新闻,不少网盘开始停止服务,私有云也就变得越来越有需求。

因此,基于PHP5编写的ownCloud就成为一个不错的选择。我们只需要安装一个标准的lnmp/lamp环境就可以运行这项服务。此外ownCloud除了支持本地存储,还支持FTP servers, S3 or SWIFT object stores, Google Drive, Dropbox, other ownCloud servers, WebDAV servers等外部存储,因此可以很方便的扩展自己的存储空间并且可以与一些国外网盘连接起来使用。

Bananapi M2作为一个性能不错的Arm开发板,可以轻松的实现这些功能(当然不得不吐槽这次用的Kingston microSD卡实在不好用)

Prepare:

硬件平台:BPI-M2

系统镜像:ubuntu-mate-15.10-lamp-xrdp-bpi-m2-sd-emmc-20151204.img

 

Step1:

安装ownCloud运行环境

此处运行环境选择LAMP,LNMP可以参照官方文档进行配置。

此处环境仅针对ownCloud  core,如果需要安装附加组件,可以参照文档

*注:以下操作均在root权限下运行。

apt-get install apache2 mariadb-server-10.0 libapache2-mod-php5apt-get install php5-gd php5-json php5-mysql php5-curlapt-get install php5-intl php5-mcrypt php5-imagick

tips:

当我们安装mariadb/mysql的时候可能会要求新建数据库root密码,此时请牢记密码。

当我们输入service mysql start的时候可能出现Failed to start mysql.service: Unit mysql.service is masked

原因可能是之前使用apt-get 安装过mysql,服务被标记过,解除后即可启动:

systemctl unmask mysql.service

 

Step2:

下载安装ownCloud

此处我下载的是最新的9.0.1,其他版本可以自行下载。

wget https://download.owncloud.org/community/owncloud-9.0.1.tar.bz2tar -xjf owncloud-9.0.1.tar.bz2

将解压出来的文件放到http服务文件夹下。

cp -r owncloud /var/www

 

Step3:

修改配置及权限

对于Apache环境的配置如下:

新建一个文件/etc/apache2/sites-available/owncloud.conf,内容如下(文件目录更换为自己的路径):

Alias /owncloud "/var/www/owncloud/" Options +FollowSymlinks AllowOverride All  Dav off  SetEnv HOME /var/www/owncloud SetEnv HTTP_HOME /var/www/owncloud

创建一个symlink:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

附加的配置项:

想要正确的运行ownCloud,我们需要一个rewrite规则

a2enmod rewrite

附加的推荐模块:mod_headers, mod_env, mod_dir  mod_mime

a2enmod headersa2enmod enva2enmod dira2enmod mime

然后我们重启服务。

service apache2 restart

 

Step4:

存储目录权限修改

在安装过程中。我们打开浏览器输入127.0.0.1/owncloud打开ownCloud初始化页面。此时页面会提示一些权限问题。我们可以通过运行以下脚本来解决:

#!/bin/bashocpath='/var/www/owncloud'htuser='www-data'htgroup='www-data'rootuser='root'printf "Creating possible missing Directoriesn"mkdir -p $ocpath/datamkdir -p $ocpath/assetsmkdir -p $ocpath/updaterprintf "chmod Files and Directoriesn"find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750printf "chown Directoriesn"chown -R ${rootuser}:${htgroup} ${ocpath}/chown -R ${htuser}:${htgroup} ${ocpath}/apps/chown -R ${htuser}:${htgroup} ${ocpath}/assets/chown -R ${htuser}:${htgroup} ${ocpath}/config/chown -R ${htuser}:${htgroup} ${ocpath}/data/chown -R ${htuser}:${htgroup} ${ocpath}/themes/chown -R ${htuser}:${htgroup} ${ocpath}/updater/chmod +x ${ocpath}/occprintf "chmod/chown .htaccessn"if [ -f ${ocpath}/.htaccess ]thenchmod 0644 ${ocpath}/.htaccesschown ${rootuser}:${htgroup} ${ocpath}/.htaccessfiif [ -f ${ocpath}/data/.htaccess ]thenchmod 0644 ${ocpath}/data/.htaccesschown ${rootuser}:${htgroup} ${ocpath}/data/.htaccessfi

 

Step5:

配置数据库。

在这里我们必须手动配置mysql数据库,为owncloud建立一个独立的数据库。

下面以数据库名:ownclouddb,用户名:ownclouduser,密码:123456为例建立新的数据库。

# mysql -u root -pEnter password: Welcome to the MariaDB monitor. Commands end with ; or g.Your MariaDB connection id is 66Server version: 5.5.34-MariaDB MariaDB ServerCopyright (c) 2000, 2013, Oracle, Monty Program Ab and others.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.MariaDB [(none)]> CREATE DATABASE ownclouddb;Query OK, 1 row affected (0.04 sec)MariaDB [(none)]> GRANT ALL ON ownclouddb.* TO [email protected] IDENTIFIED BY '123456';Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> exitBye

在ownCloud初始化页面中按照以上内容填写即可。

 

Tips:

*修改ownCloud上传大小限制。

1.修改ownCloud目录中的文件:.htaccess

SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATIONphp_value upload_max_filesize 10240Mphp_value post_max_size 10240Mphp_value memory_limit 10240Mphp_value mbstring.func_overload 0 SetEnv htaccessWorking trueRewriteEngine onRewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]RewriteRule ^.well-known/host-meta.json /public.php?service=host-meta-json [QSA,L]RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L]RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L]RewriteRule ^remote/(.*) remote.php [QSA,L]AddType image/svg+xml svg svgzAddEncoding gzip svgzDirectoryIndex index.php index.htmlAddDefaultCharset utf-8Options -Indexes ModPagespeed Off ErrorDocument 403 /owncloud/core/templates/403.phpErrorDocument 404 /owncloud/core/templates/404.php

2.修改PHP配置

找到php.ini文件将upload_max_filesize,post_max_size修改为适合的大小并重启Apache服务。

service apache2 restart

 

*修改Apache的默认页面

Apache2默认页面是一个介绍页面,我们想要直接访问owncloud的话需要修改Apache的默认页面设定。

sudo nano /etc/apache2/sites-enabled/000-default

在文档中找到DocumentRoot字段,修改为owncloud所在目录,然后保存。

ServerAdmin [email protected] /var/www/owncloud

重启Apache服务即可。

, , , ,
上一篇文章
心が叫びたがってるんだ。 OST
下一篇文章
到达德国

发表回复

您的电子邮箱地址不会被公开。

Fill out this field
Fill out this field
请输入有效的电子邮箱地址。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据