参考 http://mirrors.ustc.edu.cn/help/ubuntu.html
sudo apt clean
sudo apt update
sudo apt upgrade
// Ubuntu添加不可信源
sudo add-apt-repository universe
sudo snap list
sudo snap install docker
sudo snap install xxx.snap --dangerous
安装完毕在/snap/xxx/文件夹下,当前版本为current
官方比较慢,如果没有代理,可以下载安装 https://uappexplorer.com/snaps
// 查看snap版本信息
snap --version
// 找出所有snap应用
snap find
// 安装应用
snap install 包名
// 重启应用
snap restart 应用名
// 升级应用
snap refresh 应用名
// 查看安装的应用
snap list
// 卸载应用
snap remove 应用名
sudo apt install mysql-server mysql-client
先查看默认账号
cat /etc/mysql/debain.cnf,查看user和password
(root默认密码可以在/var/log/mysqld.log查看)
mysql -uxxxx -p, 输入密码
//进入到mysql界面修改密码
update mysql.user set authentication_string=password(‘123456’) where user=‘root’;
//刷新权限列表
flush privileges;
// 创建新用户
CREATE USER ‘cat’@‘localhost’ IDENTIFIED BY ‘123456’;
// 删除用户
DROP USER ‘cat’@‘host’;
// 创建用户、数据库并且授权
create database db_cat;
grant all privileges on db_cat.* to ‘cat’@‘localhost’ identified by ‘123456’;
// 撤销授权
REVOKE SELECT ON db_cat.* FROM ‘cat’@‘localhost’;
//刷新权限列表
flush privileges;
sudo apt install minidlna
查看状态 http://xxxx:8200
sudo vim /etc/minidlna.conf
sudo snap find nextcloud
sudo snap install nextcloud
sudo snap restart nextcloud
如果没有意外,则nextcloud会在80端口启动。
NextCloud存储文件夹在/var/snap/nextcloud/common/nextcloud/data,可以先修改/var/snap/nextcloud/current/nextcloud/config/config.php的datadirectory对应的文件夹位置。
比如将存储文件夹移动到/home,除了修改datadirectory对应的参数外,还需要运行以下命令:
mv /var/snap/nextcloud/common/nextcloud/data/{.,}* /home
//重启
snap restart nextcloud
// Ubuntu添加不可信源
sudo add-apt-repository universe
sudo apt install nginx
sudo apt install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip
// mysql 按照之前的准备好, db_cat
// 处理新的硬盘
sudo fdisk -l
看到有/dev/sda,sdb,sdc三个硬盘,其中sda分为了sda1,sda2用来安装系统,另外两个硬盘未格式化。
// 将新硬盘格式化为一个扩展分区
sudo fdisk /dev/sdb, n,e,1,默认,p,w完毕。
sudo fdisk /dev/sdc, n,e,1,默认,p,w完毕。
// 格式化
sudo mkfs -t ext4 /dev/sdb
sudo mkfs -t ext4 /dev/sdc
// 挂载
sudo mkdir /mnt/d1 /mnt/d2
sudo mount -t ext4 /dev/sdb /mnt/d1
sudo mount -t ext4 /dev/sdc /mnt/d2
// 查看
sudo df -l
// 启动时自动挂载,在文件 /etc/fstab 中加入如下配置:
/dev/sdb /mnt/d1 ext4 defaults 0 0
/dev/sdc /mnt/d2 ext4 defaults 0 0
// 设置php-fpm
sudo vim /etc/php/7.2/fpm/php.ini
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
sudo vim /etc/php/7.2/fpm/pool.d/www.conf
// 设置nginx
在 /etc/nginx/conf.d/nextcloud.conf, 加入以下内容: (取消了默认的80端口配置项)
server {
listen 40010;
server_name nextcloud;
# Add headers to serve security related headers
add_header X-Content-Type-Options nosniff;
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;
#This header is already set in PHP, so it is commented out here.
#add_header X-Frame-Options "SAMEORIGIN";
# Path to the root of your installation
root /home/xin/nextcloud/;
# location = /robots.txt {
# allow all;
# log_not_found off;
# access_log off;
# }
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location ~ /.well-known/acme-challenge {
allow all;
}
# set max upload size
client_max_body_size 512M;
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;
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;
#Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the PHP block
location ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
add_header X-Content-Type-Options nosniff;
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;
# Optional: Don't log access to other assets
access_log off;
}
}
其中,/home/xin/nectcloud
文件夹赋予了chown www-data:www-data
权限。
将/mnt/d1
更改权限sudo chown www-data:www-data /mnt/d1 -R
。
如果安装时提示ocdata问题,则sudo touch /mnt/d1/.ocdata
然后修改其权限。
在主机上查看IP,然后浏览器输入http://xxxx:40000
按照要求进行安装。
默认情况下安装插件,经常失败,是因为网络原因,可以通过手动安装解决:
https://apps.nextcloud.com
找到后,将下载回来的Apps进行解压缩,然后上传至owncloud/nextcloud安装目录的apps文件夹。
注意:下载回来的应用上传以后,在启用的过程中可能会有错误提示,导致启用不成功。原因可能有两个,一个是插件不兼容(查看应用支持的版本号是否支持所用owncloud的版本),大部分原因是该应用的文件夹名称与应用文件夹下的appinfo/info.xml中的xxxxx名称不一致,只要将应用的文件夹名称改成与id名称一致即可。
apt install aria2 curl
WebUI http://ariang.mayswind.net/zh_Hans/
Aira2配置
touch aria2.session
chmod a+rwx aria2.session
touch aria2.conf
vim aria2.conf
## 全局设置 ## ============================================================
# 日志
#log-level=warn
#log=/PATH/.aria2/aria2.log
# 后台运行
daemon=true
# 下载位置, 默认: 当前启动位置
dir=/PATH/download
# 从会话文件中读取下载任务
input-file=/PATH/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/PATH/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=30
# 断点续传
continue=true
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none
# 客户端伪装
user-agent=netdisk;5.2.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
referer=http://pan.baidu.com/disk/home
# 禁用IPv6, 默认:false
disable-ipv6=true
# 其他
always-resume=true
check-integrity=true
## 下载位置 ## ============================================================
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=10
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
## RPC设置 ## ============================================================
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=xin
# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key
## BT/PT下载相关 ## ============================================================
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
dht-file-path=/PATH/dht.dat
dht-file-path6=/PATH/dht6.dat
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
bt-max-open-files=16