ubuntu server 安装nextcloud12
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的更多相关文章
- Ubuntu Server安装R和Rstudio(zz)
Ubuntu Server安装R和Rstudio 发表于 技术天堂 2014-03-15 21:03 字数: 534 阅读量: 205 R是一个在科研领域很常用的工具,经常用R的年轻人或者经常上统计之 ...
- Ubuntu Server安装图形界面全过程
转载自:http://blog.csdn.net/sunbaigui/article/details/6624110, http://mikewolfli.blog.163.com/blog/stat ...
- ubuntu server 安装 mantis bug tracker 中文配置
ubuntu server 安装 mantis bug tracker 中文配置 官网:http://www.mantisbt.org/ 一:安装: 1:进入到 apache2的网站目录: cd /v ...
- ubuntu server 安装 question2answer 及 汉化包
ubuntu server 安装 question2answer 及 汉化包 question2answer 是一个非常简洁方便的问答系统,可以用它快速的部署一个问答社区,提高在开发中的交流沟通效率: ...
- ubuntu Server 安装 php5
ubuntu Server 安装 php5 1:如果你的服务器已经安装了apache2组件,那么在安装php5时,可以把对应apache2的php5组件一起安装 sudo apt-get instal ...
- Ubuntu server 安装及jdk+mysql安装教程
Ubuntu server 安装教程 1.查找及下载Ubuntu镜像文件 可以在以下页面下载想要的版本,我这里选择19.04 server版的iso镜像文件: http://mirrors.163.c ...
- ubuntu server安装的一些坑
[没有root用户] ubuntu server安装的时候要你新建一个用户,安装完成后,你需要手动开启root. $ sudo passwd root 输入你当前用户的密码 输入你希望的root用户的 ...
- 为Ubuntu Server安装gnome图形桌面环境
Ubuntu Server版默认都没有图形桌面(GUI),但是可以安装,以下共有两种安装方法. 一.安装全部Gnome桌面环境 Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desk ...
- Ubuntu Server 安装部署 Cacti 服务器监控
本文的英文版本链接是 http://xuri.me/2013/10/20/install-the-cacti-server-monitor-on-ubuntu-server.html Cacti是一套 ...
随机推荐
- js设计模式中发布与订阅实现观察者模式例子
<script> var pubsub = {}; (function(q) { var topics = {}; subuid = -1; q.publish = function(to ...
- 认识Applet和Ajax
一.Applet 1.Applet的定义:Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同. Java写出 ...
- OMAP4之DSP核(Tesla)软件开发学习(三)使能DSP核
目标: 1.编译或直接获取DSP映像tesla-dsp.bin. 2.boot并使能DSP核(这个可以看启动打印或者进入/d/remoteproc/omap-rproc.0/参看dsp调试信息). ...
- OMAP4之DSP核(Tesla)软件开发学习(一)
目的: 目前手上正在OMAP4上做东西,由于涉及到大量运算,交给arm A9双核发现运算速度很慢,不能满足需求.故考虑将大量运算任务(比如FIR.FFT.卷积.图像处理.向量运算等)交给O ...
- 20155234 2016-2017-2 《Java程序设计》第8周学习总结
20155234 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 java.util.loggging包提供了日志功能相关类与接口. 使用日志的起点是Logg ...
- [UOJ300][CTSC2017]吉夫特
uoj bzoj luogu sol 根据\(Lucas\)定理,\(\binom nm \mod 2=\binom{n\%2}{m\%2}\times\binom{n/2}{m/2}\mod 2\) ...
- office 2013 图标编辑
1,找图标,网站:https://www.iconfinder.com/ 2,找到图标后用qq截图,之后粘贴到Adobe Illustrator 里边. 3,选定图像后,点击对象->图像描摹-& ...
- c++ 声明和定义的区别
从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存.而定义就是分配了内存. int a;在外面是作为一个语句,这就是定义,会构造对象,定义本身也是声明. ...
- git推送报错: No path specified. See 'man git-pull' for valid url syntax或does not appear to be a git repository以及remote: error: insufficient permission for adding an object to repository databa
本地(windows)代码想推送到linux自己搭建的git服务端,第一步是建立本地与服务端的关联,第二步是本地推送到服务端. 第一步需要看你的本地工程是否从git上clone来的,如果是clone来 ...
- 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO
刷新SQL Server所有视图.函数.存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...