您的位置: 首页 » 技术小记 » owncloud nginx 部署简要备忘

owncloud nginx 部署简要备忘

作者:liyangyijie / 时间:December 7, 2014 /分类:技术小记 / 标签:owncloud, nginx /阅览次数:12,734

简要备忘

一,下载owncloud
可在官网获得最新版本内容(vps linux debian)
http://owncloud.org/install/
为了方便,可以在vps里面相关目录下直接下载解压

wget https://download.owncloud.org/download/community/owncloud-latest.zip && unzip owncloud-latest.zip

如果没有zip命令就先安装一下

apt-get install zip unzip

解压后会出现owncloud文件夹,里面是owncloud主体。
二,设置nginx
参考官网nginx说明

server {
​        listen 80;
​        server_name dl.fanyueciyuan.info;
​        return 301 https://$server_name$request_uri;
}
server {
​        listen 443 ssl;
​        server_name dl.fanyueciyuan.info;
​        ssl_session_timeout 5m;
​        keepalive_timeout 70;
​        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
​        ssl_ciphers HIGH:!aNULL:!MD5;
​        ssl_prefer_server_ciphers on;
​        ssl_certificate /www/dl.fanyueciyuan.info.crt;
​        ssl_certificate_key /www/dl.fanyueciyuan.info.key;
​        root /www/dl.fanyueciyuan.info/owncloud;
​        client_max_body_size 512m;
​        fastcgi_buffers 64 4K;
​        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 / {
​                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)(/.+)$;
​                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
​                fastcgi_param PATH_INFO $fastcgi_path_info;
​                include fastcgi_params;
​                fastcgi_param HTTPS on;
​                fastcgi_pass unix:/var/run/php5-fpm.sock;
​        }
​        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
​                expires 30d;
​                access_log off;
​        }
}

将配置文件写入到nginx所属的conf.d文件夹内,文件命名可随意,比如1.conf,只要后缀是conf即可。
接着修改上传最大文件限制。
首先找到php的配置文件

find / -name 'php.ini'

这里是在

/etc/php5/fpm/php.ini

修改下面的项目

post_max_size = 512M
upload_max_filesize = 512M

max_input_time和max_execution_time酌情修改。
并且将下面值去掉前面分号,修改如下

default_charset = "UTF-8"
date.timezone = Asia/Shanghai

然后重启php5

service php5-fpm restart

最后,要改变文件夹拥有者为nginx所使用的用户,一般这个用户是www-data,可以在nginx.conf文件里面的user项找到。

sudo chown -R www-data.www-data /www/dl.fanyueciyuan.info/owncloud

三,创建部署
直接访问二级域名,这里是http://dl.fanyueciyuan.info 。正常情况下会自动跳转到https://dl.fanyueciyuan.info 。第一次进入要求创建管理员帐号,并填入自己数据库信息即可创建完成。这里默认的前提是mysql已经安装完毕。建议使用phpMyAdmin等界面友好的php程序,为mysql创建一个owncloud专用数据库。
四,错误解决
出现的奇葩问题,一一备忘。
1,出现locales错误
安装更新locales包

apt-get install locales

安装完成locales包后,系统会自动进行locale配置,你只要选择所需的locale,可以多选。最后指定一个系统默认的locale。这样系统就会帮你自动生成相应的locale和配置好系统的locale。增加新的locale也很简单,用dpkp-reconfigure locales重新配置locale即可。
如果还是出现locales错误,查看全部安装locale -a查看是否有提示的zh_CN.UTF-8等等,如果没有则需要手动增加,只增加两个即可:

localedef -i zh_CN -f UTF-8 zh_CN.UTF-8 #增加中文 
localedef -i en_US -f UTF-8 en_US.UTF-8 #增加英文

2,其他用户访问,出现 0770 错误
不能简单把data目录权限修改为770,需要进行如下操作

sudo -i #进入root权限
cd /www/dl.fanyueciyuan.info/owncloud #进入owncloud所在文件夹
chown -R www-data.www-data * #改变该文件夹下所以文件的拥有者

上一篇 : typecho升级1.0 下一篇 : nginx反代

已有 2 条评论

  1. BRO.BIRD BRO.BIRD
  2. 研究一下,正需要

添加新评论