1.更新系统安装必要的依赖包

[user]$ sudo apt-get update && sudo apt-get -y upgrade
[user]$ sudo apt-get install software-properties-common nano wget

2.安装MariaDB10以上版本,如果不清楚安装的版本是否符合nextcloud要求,可以到官网上查询

nextcloud官网:https://nextcloud.com/install/#

MariaDB安装与配置:

[user]$ sudo apt-get install -y mariadb-server

安装完毕以后,运行:

[user]$ mysql_secure_installation

这个的主要目的是更新和配置数据库,同时设置相应的root密码,我在安装的时候遇到一个问题就是在普通用户下无法成功连接到数据库,需要切换到root进行,目前没有解决这个问题,如果哪位大佬可以解决,请给我留言.

重启MariaDB服务:

[user]$ sudo service mysql restart

登录数据库并且创建相应的数据库

[user]$ mysql -uroot -p

*注意这一步如果登录失败,请切换root用户执行

创建数据库:

MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

3.安装php

[user]$ sudo apt-get -y install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

这里设置的php memory为512MB,upload_max_filesize 和 post_max_size 为200M

[user]$ sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/7.0/fpm/php.ini

*配置文件的位置:

php:/etc/php/7.0/fpm/php.ini

配置PHP-FPM

配置文件使用默认的就好,如果有问题,请参考下面关于环境变量的配置

[user]$ sudo nano /etc/php/7.0/fpm/pool.d/www.conf

环境变量:

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

重启PHP-FRM服务:

[user]$ sudo service php7.0-fpm restart

4.下载并且安装NextCloud12

这里将Nextcloud安装到/var/www/nextcloud/目录下,安装目录根据个人爱好就行

[user]$ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
[user]$ unzip nextcloud-12.0.0.zip
[user]$ sudo mkdir /var/www/
[user]$ sudo mv nextcloud /var/www/
[user]$ rm -f nextcloud-12.0.0.zip
[user]$ sudo chown -R www-data: /var/www/nextcloud

5.安装和配置nginx

[user]$ sudo apt-get install nginx-extras nginx

6.这里创建相应的ssl证书,方便大家访问,如果有相应的证书,将证书放置/etc/nginx/ssl目录下,如果是新手,请注意证书的名字

[user]$ sudo mkdir -p /etc/nginx/ssl
[user]$ cd /etc/nginx/ssl
[user]$ sudo openssl genrsa -des3 -passout pass:x -out nextcloud.pass.key 2048
[user]$ sudo openssl rsa -passin pass:x -in nextcloud.pass.key -out nextcloud.key
[user]$ sudo rm nextcloud.pass.key
[user]$ sudo openssl req -new -key nextcloud.key -out nextcloud.csr
[user]$ sudo openssl x509 -req -days 365 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt

7.

为nginx服务器创建相应的配置文件:

[user]$ sudo nano /etc/nginx/sites-available/nextcloud

文件内容:

server {
listen 80;
server_name my.nextcloud.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name my.nextcloud.com;
root /var/www/nextcloud; ssl on;
ssl_certificate /etc/nginx/ssl/nextcloud.crt;
ssl_certificate_key /etc/nginx/ssl/nextcloud.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on; add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none; access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log; location = /robots.txt {
allow all;
log_not_found off;
access_log off;
} location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
} client_max_body_size 512M;
fastcgi_buffers 64 4K;
gzip off; error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php; location / {
rewrite ^ /index.php$uri;
} location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
} location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
} location ~^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
#Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
} location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
} location ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
# Optional: Don't log access to assets
access_log off;
} location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
access_log off;
} location ~ /\.ht {
deny all;
} }

注意:这里需要更改相应的域名,不要直接复制

链接相应的配置文件:

[user]$ sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud

重启nginx服务:

[user]$ sudo nginx -t
[user]$ sudo service nginx restart

8.到此,安装已经完成,接下来需要登录nextcloud并且配置相应的文件存储位置:

打开浏览器输入:

8.https://my.nextcloud.com/install.php

注意这里设置的域名,如果没有设置域名,在相同的网段下使用IP进行访问,我这里在同一个路由下访问nextcloud,主机的ip为192.168.1.105,怎么查看自己主机的ip方法有很多,命令也行,路由也行,怎么方便怎么来.

https://192.168.1.105/install.php

打开网页后,设置相应的管理员用户名和密码及相应的文件存储位置,这个位置可以随便设置,但是需要更改位置的组和拥有者为www-data,

注意:上传和下载大文件时可能会提示文件太大,需要更改上传和下载文件最大限制:
配置文件需要修改:(1)./etc/php/7.0/fpm/php.ini 

php memory,upload_max_filesize 和 post_max_size

(2)./etc/nginx/sites-available/nextcloud

client_max_body_size 1024M;

(3)/var/www/nextcloud/.htaccess

php_value upload_max_filesize
  php_value post_max_size
  php_value memory_limit

具体大小根据个人情况设置

配置完成以后重启相应的服务:

sudo systemctl restart php7.0-fpm 
sudo systemctl restart nginx

ubuntu server 安装nextcloud12的更多相关文章

  1. Ubuntu Server安装R和Rstudio(zz)

    Ubuntu Server安装R和Rstudio 发表于 技术天堂 2014-03-15 21:03 字数: 534 阅读量: 205 R是一个在科研领域很常用的工具,经常用R的年轻人或者经常上统计之 ...

  2. Ubuntu Server安装图形界面全过程

    转载自:http://blog.csdn.net/sunbaigui/article/details/6624110, http://mikewolfli.blog.163.com/blog/stat ...

  3. ubuntu server 安装 mantis bug tracker 中文配置

    ubuntu server 安装 mantis bug tracker 中文配置 官网:http://www.mantisbt.org/ 一:安装: 1:进入到 apache2的网站目录: cd /v ...

  4. ubuntu server 安装 question2answer 及 汉化包

    ubuntu server 安装 question2answer 及 汉化包 question2answer 是一个非常简洁方便的问答系统,可以用它快速的部署一个问答社区,提高在开发中的交流沟通效率: ...

  5. ubuntu Server 安装 php5

    ubuntu Server 安装 php5 1:如果你的服务器已经安装了apache2组件,那么在安装php5时,可以把对应apache2的php5组件一起安装 sudo apt-get instal ...

  6. Ubuntu server 安装及jdk+mysql安装教程

    Ubuntu server 安装教程 1.查找及下载Ubuntu镜像文件 可以在以下页面下载想要的版本,我这里选择19.04 server版的iso镜像文件: http://mirrors.163.c ...

  7. ubuntu server安装的一些坑

    [没有root用户] ubuntu server安装的时候要你新建一个用户,安装完成后,你需要手动开启root. $ sudo passwd root 输入你当前用户的密码 输入你希望的root用户的 ...

  8. 为Ubuntu Server安装gnome图形桌面环境

    Ubuntu Server版默认都没有图形桌面(GUI),但是可以安装,以下共有两种安装方法. 一.安装全部Gnome桌面环境 Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desk ...

  9. Ubuntu Server 安装部署 Cacti 服务器监控

    本文的英文版本链接是 http://xuri.me/2013/10/20/install-the-cacti-server-monitor-on-ubuntu-server.html Cacti是一套 ...

随机推荐

  1. Windows 10 安装 Docker

    下载Docker For Windows 地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.ex ...

  2. Servlet不是线程安全的。

    要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的. 当Tomcat接收到Client的HTTP请求时,Tomcat从线程池中取出一个 ...

  3. tf.device()指定tensorflow运行的GPU或CPU设备

    在tensorflow中,我们可以使用 tf.device() 指定模型运行的具体设备,可以指定运行在GPU还是CUP上,以及哪块GPU上. 设置使用GPU 使用 tf.device('/gpu:1' ...

  4. I.MX6 CAAM

    /********************************************************************************* * I.MX6 CAAM * 说明 ...

  5. Python windows ping

    # -*- coding: utf-8 -*- import os # 参考文档: # Ping to a specific IP address using python [duplicate] # ...

  6. UWP 轻量级样式定义(Lightweight Styling)

    在 UWP 中,可以通过给空间直接设置属性或在 Style 中设置属性来定制空间的样式:不过这样的样式定义十分有限,比如按钮按下时的样式就没法儿设置.当然可以通过修改 Template 来设置控件的样 ...

  7. 老爷机iphone4s 9.2.1降级6.1.3

    原帖见威锋网 sunnyskyline 2017年1月10日发的贴. 本文中加了一些我自己的情况,也是一知半解,抛砖引玉吧. 首先进行备份.进行备份.进行备份. 感谢大神@极端阴险 感谢@shuaig ...

  8. LG3389 【模板】高斯消元法

    题意 题目描述 给定一个线性方程组,对其求解 输入输出格式 输入格式: 第一行,一个正整数\(n\) 第二至\(n+1\)行,每行\(n+1\)个整数,为\(a_1, a_2 \cdots a_n\) ...

  9. nsq 安装试用

    因为是mac 系统安装试用brew install nsq 安装 brew install nsq 组件说明 nsqd 守护进程进行消息的接受,缓存以及传递消息给客户端,需要配置nsqlookupd地 ...

  10. 【C++11】新特性 之 auto的使用

      C++11中引入的auto主要有两种用途:自己主动类型判断和返回值占位.auto在C++98中的标识暂时变量的语义,因为使用极少且多余.在C++11中已被删除.前后两个标准的auto,全然是两个概 ...