发布于 2016-01-04 08:36:20 | 735 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

ownCloud 基于 PHP 的自建网盘

ownCloud是一个自由且开源的个人云存储解决方案。最早由KDE开发者Frank Karlitschek于2010年一月创建,目标是成为商业云服务提供商的替代。与商业云存储服务不同,ownCloud可以自由获取无需付费;它可以被安装在个人服务器上,用户拥有控制和修改的权利。


平台:Centos 6.5 x86_64最小化安装

1,安装源

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -Uvh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum update -y

2,安装nginx

yum -y install nginx

3,安装mysql

yum --enablerepo=remi -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel

yum --enablerepo=remi -y install mysql mysql-server mysql-devel

service mysqld start

mysql_secure_installation

mysql -u root -p

CREATE DATABASE owncloud;

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'hello';

GRANT ALL ON owncloud.* TO admin@localhost  IDENTIFIED BY 'hello';

FLUSH PRIVILEGES;

EXIT

4,安装php

yum --enablerepo=remi install -y php  php-fpm php-mysql php-common php-devel php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-dom php-xmlwriter php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel redis php-pecl-redis

设置上传单个文件最大值

sed -i 's/post_max_size = 8M/post_max_size = 5G/g' /etc/php.ini

sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 5G/g' /etc/php.ini

sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf

sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf

vi /etc/php-fpm.d/www.conf

;env[HOSTNAME] = $HOSTNAME

;env[PATH] = /usr/local/bin:/usr/bin:/bin

;env[TMP] = /tmp

;env[TMPDIR] = /tmp

;env[TEMP] = /tmp

将以上几行前的;去掉并保存

chown -R root:nginx /var/lib/php/session

service php-fpm start

5,部署owncloud

wget https://download.owncloud.org/community/owncloud-8.2.2.tar.bz2

tar jxvf owncloud-8.2.2.tar.bz2 -C /usr/share/nginx/html

chown -R nginx:nginx /usr/share/nginx/html/owncloud/

mkdir -p /usr/share/nginx/html/owncloud/data

chown -R nginx:nginx /usr/share/nginx/html/owncloud/data

6,cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bk

vi /etc/nginx/conf.d/default.conf   用以下内容替换原内容

upstream php-handler {

  server 127.0.0.1:9000;

  #server unix:/var/run/php5-fpm.sock;

  }

server {

  listen 80;

  server_name localhost;

  # Path to the root of your installation

  root /usr/share/nginx/html/owncloud/;

  # set max upload size

  client_max_body_size 10G;

  fastcgi_buffers 64 4K;

  # Disable gzip to avoid the removal of the ETag header

  gzip off;

  # Uncomment if your server is build with the ngx_pagespeed module

  # This module is currently not supported.

  #pagespeed off;

  rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;

  rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;

  rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

  index index.php;

  error_page 403 /core/templates/403.php;

  error_page 404 /core/templates/404.php;

  location = /robots.txt {

    allow all;

    log_not_found off;

    access_log off;

    }

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){

    deny all;

    }

  location / {

  # The following 2 rules are only needed with webfinger

  rewrite ^/.well-known/host-meta /public.php?service=host-meta last;

  rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

  rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;

  rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

  rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

  try_files $uri $uri/ /index.php;

  }

  location ~ \.php(?:$|/) {

  fastcgi_split_path_info ^(.+\.php)(/.+)$;

  include fastcgi_params;

  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

  fastcgi_param PATH_INFO $fastcgi_path_info;

  fastcgi_pass php-handler;

  }

  # Optional: set long EXPIRES header on static assets

  location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {

      expires 30d;

      # Optional: Don't log access to assets

        access_log off;

  }

  }

使用redis做本地缓存

vi /usr/share/nginx/html/owncloud/config/config.php

添加

  'redis' => array(

     'host' => 'localhost',

     'port' => 6379,

     'timeout' => 0.0,

      ),

service redis start

7,测试

浏览器输入http://yourserverip

admin    (自定义用户名)

password  (自定义密码)

MYSQL    (选择mysql)

admin    (之前建立的数据库账号)

hello    

owncloud

localhost

安装后进入网盘,enjoy it!这里没能用https,还是建议加上ssl比较安全。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务