私有云简易搭建(使用ownCloud技术)

ownCloud原本是一个创业公司,开发有ownCloud,分开源的个人版和闭源的商业版。本例使用NextCloud,可在官网下载到最新的包。
NextCloud

基本上就是一个简单的PHP程序,解压到/var/www/目录下用chown、chmod修改一下权限然后配置一下Apache就能用。

不过考虑到这是个网盘诶,私人网盘诶,建议Apache对http协议redirect 301到https协议。不过当然有利有弊,nextCloud提供WebDAV,然后强制redirect之后,WebDAV就走https协议了,然而Windows资源管理器不支持https协议下的WebDAV,(我是不是还应该提一下Windows甚至还不支持FTP over SSL),结果就是不能无脑用Windows的WebDAV。如果网盘服务需要服务于非专业人员,那么这个就需要审慎考虑了。至于SSL证书,自签也好,申请一个免费的也好,whatever,配置上去就好,顶多就是自签的SSL会被认为不安全就是了。

数据库建议使用MySql,新建一个database然后新建一个用户并赋权

首次访问私有云首页会要求配置私有云,但也很简单。即要求设置一下管理员账号密码与数据库账号密码。

然后进入管理员界面之后会有一个安全及设置警告:“未启用MemCache”。这个,官网文档明确说“A memcache is not required and you may safely ignore the warning if you prefer.”,加之VPS的内存价格很感人,在性能没有对体验造成影响的情况下可以忽略MemCache的配置。但是如果真要配置,请如下设置
安装APCu

#php5.6请注意换成php-apcu
apt-get install php5-apcu
#php5.6请注意确定php.ini是5.6版本的
#修改5.5及以前版本的php.ini然并卵
#5.6+的php.ini在/etc/php/5.6/
#5.5的php.ini在/etc/php5/
#别问我是怎么知道的
#locate php.ini并不会告诉你哪个是5.6版本的
vim /Path/to/php.ini      
    添加extension=apcu.so

安装Redis

#php5.6请注意换成php-redis
apt-get php5-redis redis-server

配置Redis-server

vim /etc/redis/redis.conf
port 6379 修改为 port 0
取消注释 unixsocket /var/run/redis/redis.sock
取消注释 unixsocketperm 755
:wq
usermod -a -G redis www-data
redis-server /etc/redis/redis.conf

配置config.php
CONFIG数组中追加一下内容

  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => 'true',
  'redis' =>
  array (
   'host' => '/var/run/redis/redis.sock',
   'port' => 0,
   'timeout' => 0.0,
   ),

这样就启动了APCu+Redis缓存机制

另外URL中的index.php如果看着不舒服,也是可以很容易地移除的,不需要自己去写.htaccess,在nextcloud根目录下修改config.php
CONFIG数列中追加

'htaccess.RewriteBase' => '/'

然后仍然是在根目录下

#web是本人nextcloud目录的owner需要依情况修改
sudo -u web php5.6 occ maintenance:update:htaccess

即可自动重新生成.htaccess

如果出现.htaccess不工作,那就是Apache里面的配置有问题,注意在目录设置AllowOverride Allow即可

留下评论