Ubuntu Server18自制NAS笔记

更新apt源

sudo apt clean
sudo apt update
sudo apt upgrade

// Ubuntu添加不可信源
sudo add-apt-repository universe

snap 相关

sudo snap list
sudo snap install docker
sudo snap install xxx.snap –dangerous

// 查看snap版本信息
snap –version
// 找出所有snap应用
snap find
// 安装应用
snap install 包名
// 重启应用
snap restart 应用名
// 升级应用
snap refresh 应用名
// 查看安装的应用
snap list
// 卸载应用
snap remove 应用名

mysql配置

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;

nextcloud

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名称一致即可。

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 

原文链接:https://blog.csdn.net/bbdxf/article/details/83064862?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168605913416800225522928%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168605913416800225522928&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-20-83064862-null-null.268%5Ev1%5Ekoosearch&utm_term=%E7%BE%A4%E6%99%96nas%E5%AD%98%E5%82%A8%E3%80%81%E7%BE%A4%E6%99%96923%E3%80%81%E7%BE%A4%E6%99%96ipv6%E5%A4%96%E7%BD%91%E8%AE%BF%E9%97%AE%E3%80%81%E7%BE%A4%E6%99%96docker%E5%BF%85%E8%A3%85%E8%BD%AF%E4%BB%B6%E3%80%81%E7%BE%A4%E6%99%96%E7%9B%B4%E6%92%AD%E3%80%81%E7%BE%A4%E6%99%96+cpu%E3%80%81%E7%BE%A4%E6%99%96%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86app%E3%80%81%E7%BE%A4%E6%99%96%E4%BD%BF%E7%94%A8%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B%E3%80%81%E7%BE%A4%E6%99%96quickconnect%E3%80%81%E7%BE%A4%E6%99%96%E7%B3%BB%E7%BB%9F%E4%B8%8B%E8%BD%BD%E3%80%81%E7%BE%A4%E6%99%96%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E7%BE%A4%E6%99%96nas%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享