Centos7下nginx+owncloud+php+mysql搭建个人私有云

Centos7.1 1053最小化安装lnmp通过yum安装,由于Centos7没有mysql的yum源,所以要自己安装mysql的yum源,但是安装上了,在我这yum安装只有几十K的速度,所以干脆去yum源里下载了mysql-server的rpm包,然后通过yum安装的rpm包,省了不少时间,lnmp的搭建这里就不再多说了,记着关闭selinux不然会提示File not found。

一、下载owncloud并解压的网站目录

[[email protected] ~]# axel https://download.owncloud.org/community/owncloud-8.0.3.tar.bz2

二、添加nginx虚拟主机

这个配置文件用百度找了半天都不行,最后用谷歌一下就找到了……之前去官网的文档里没找到,谷歌搜出来的……官网有两种配置一种开启ssl的,还有如何修改为没有ssl的,这里我贴出我自己使用的没有使用ssl的配置文件。

upstream php-handler {
  server 127.0.0.1:9000;
  #server unix:/var/run/php5-fpm.sock;
  }
server {
  listen 8080;
  server_name cloud.example.com;
  # 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;
   }
  }

三,重启nginx并访问

访问会出错,提示缺少必须的php模块,执行如下命令即可,记得重启php-fpm。

[[email protected] ~]# yum install -y php-dom php-xmlwriter php-gd

再次刷新就可以了

四、配置数据库

mysql> grant all on *.* to ‘everyoo‘@‘%‘ identified by ‘everyoo‘;
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

再次提示错误,权限问题,缺少data目录

[[email protected] owncloud]# mkdir data
[[email protected] owncloud]# chown -R apache.apache .

再次访问,不知道为什么我用localhost和127.0.0.1总是不行。

只好用了本机的ip地址,但是还是会报错,出现了一个加了前缀的数据库用户,并不是我填写的那个。

只要去修改配置文件为创建的那个就可以了。

[[email protected] owncloud]# vim config/config.php

再次配置就可以了。

时间: 2024-11-08 23:48:11

Centos7下nginx+owncloud+php+mysql搭建个人私有云的相关文章

CentOS7 下源码安装MySQL 8.0.11

CentOS7 下源码安装MySQL 8.0.11 系统环境:CentOS7, 内核:Linux 3.10.0-862.el7.x86_64 如果有旧版本的MySQL,先卸载,用下面命令来查询出系统有哪些相关的MySQL包. rpm -qa | grep mysql 如果上述命令查询出有相关的MySQL包,就卸载 rpm -e 包名 卸载MariaDB包 yum remove mariadb-libs.x86_64 从MySQL官网下载源码包,并将该文件拷贝到系统中. https://dev.m

CentOS7 下 Nginx + Tomcat 实现 Session 共享

在之情的文章中搭建的 centos7 + tomcat + nginx 的环境的基础上, 使用 redis 实现 tomcat 的 session 共享的问题. 一 : 安装 Redis 安装 gcc: yum install -y gcc-c++ 使用 FTP 服务器上传安装包,解压上传的 redis 的包 tar -zxvf redis-3.0.0.tar.gz 进入解压目录 redis-3.0.0 执行 make PREFIX=/usr/local/redis install 把 redi

Centos7下Nginx+Tomcat配置反向代理,使用memcached解决session一致性问题

一.session一致性问题 使用集群方案解决网站高并发问题时,就会部署多台应用服务器.当用户第一次通过客户端(如:浏览器)访问服务器时,服务器会创建对应的session, 使用Nginx反向代理,假如用户A第一次访问站点,被反向代理到服务器一处理,服务器一创建对应sessionA记录信息,用户A再次访问站点时,被反向代理到服务二处理, 而服务器二没有记录用户A的session信息,就会新创建sessionB,导致用户A之前操作丢失. 我们可以通过让多个服务器统一到同一个地方新建session和

centos7下启动不了mysql或者mariadb报错

centos7 系统中编译安装mysql或者mariab启动不了服务 报错 错误如下:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. 解决方法: 根据提示,分别使用systemctl status mysqld

Centos7下Java开发基本环境搭建

一.Centos7安装JDK 首先查看自己的机器上是否已经自带openjdk,命令如下: rpm -qa | grep jdk 如果存在,则按照如下命令进行依次卸载: yum -y remove fileName (fileName为上步查找到的各个文件) 卸载完成之后,再运行java命令不被系统识别: [[email protected] ~]# java -version bash: java: command not found... 接着,首先下载需要的JDK版本的tar.gz包(本文以

CentOS7下使用源安装MySQL

参考文章:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 由于一些原因,CentOS7的默认yum源中取消了MySQL,取而代之的是MariaDB. yum list mysql Error: No matching Packages to list yum list mariadb Available Packages mariadb.x86_64 *:*.*.* 这时候还想通过yum安装mysql,就得做一些准备 首先到 ht

centos7下nginx,tomcaat开机启动(新)

一. 写在前面 centos7建议使用systemctl来管理服务的自启动,它能够满足之前service和chkconfig的功能 1.systemd有系统和用户区分:系统(/user/lib/systemd/system/).用户(/etc/lib/systemd/user/) 2.一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面 3.创建service文件 [Unit] Description=nginx - high performance web

centos7下使用yum安装mysql

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个

centos7下使用yum安装mysql并创建用户,数据库以及设置远程访问

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个