Centos6.5 基于nginx搭建owncloud

jopen 9年前

平台: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比较安全。

来自: http://my.oschina.net/u/2404183/blog/595271