阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下编译安装Nextcloud私有云

450次阅读
没有评论

共计 14651 个字符,预计需要花费 37 分钟才能阅读完成。

以 CentOS 7、MariaDB、PHP 7、Nginx 为环境编译安装 Nextcloud 私有云。

一、安装操作系统

首先安装操作系统,Nextcloud 只支持 Linux,由于个人习惯的原因,选择了 CentOS 7,使用最小化安装(为了保证之后的步骤能在只有最小化安装的 VPS 上重现,也为了节约硬件资源)。

1、启用网卡

最小化的 CentOS 7 安装完毕后,默认是没有启用网卡的,在本地登录系统后,首先进入网络配置目录,列出目录中的网卡配置文件

cd  /etc/sysconfig/network-scripts/
ll | grep ifcfg-

运行结果

[root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ll | grep ifcfg
-rw-r--r--. 1 root root   312 Aug 30 10:01 ifcfg-enp0s3
-rw-r--r--. 1 root root   254 Sep 12  2016 ifcfg-lo

除了 ifcfg-lo 以外的那个文件就是网卡配置文件,具体名称可能会有所不同。

然后使用 vi 编辑该文件,将最后一行“ONBOOT=no”改成“ONBOOT=yes”并保存退出。

通过命令重启网络服务,是配置生效

service network restart

如果不想通过 DHCP 动态获取 IP 地址,也可以在网络配置文件中添加以下配置项指定网络参数

IPADDR0=192.168.21.128  # 设置 IP 地址
PREFIXO0=24  # 设置子网掩码
GATEWAY0=192.168.21.2  # 设置网关
DNS1=8.8.8.8  # 设置主 DNS
DNS2=8.8.4.4  # 设置备 DNS

网卡启用后,就可以通过 SSH 远程操作、通过 yum 方便的安装程序了。

查看 ip 地址,可以通过 ip 命令

ip addr

2、配置环境

通过 yum 安装依赖组件

yum -y install wget zip unzip
yum -y install gcc gcc-c++ cmake
yum -y install openssl openssl-devel gnutls gnutls-devel bison bison-devel zlib-devel libevent-devel curl-devel ncurses ncurses-devel perl perl-devel libxml2 libxml2-devel
yum -y install bzip2 bzip2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum -y install gd gd-devel libicu libicu-devel openldap openldap-devel libsmbclient libsmbclient-devel ImageMagick ImageMagick-devel recode recode-devel autoconf psmisc.x86_64 krb5-libs.x86_64 krb5-devel.x86_64

通过 yum 的额外源安装依赖组件

yum -y install epel-release
yum repolist
yum -y install libc-client libc-client-devel libmcrypt libmcrypt-devel jemalloc jemalloc-devel redis libtidy libtidy-devel

关闭 SELinux,可先通过 sestatus - v 命令查看 SELinux 是否开启

/usr/sbin/sestatus -v

修改 /etc/selinux/config,将’SELINUX=enforcing’改为’SELINUX=disabled’,重启系统即可生效,或者本次可以使用’setenforce 0’临时关闭。

二、安装 MariaDB

首先下载并编译安装

wget https://downloads.mariadb.org/interstitial/mariadb-10.2.8/source/mariadb-10.2.8.tar.gz
tar -zxvf mariadb-10.2.8.tar.gz
cd mariadb-10.2.8
cmake .
make && make install
useradd MySQL
chown -R mysql:mysql /usr/local/mysql/
mkdir /var/log/mariadb
chown -R mysql:mysql /var/log/mariadb

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

然后修改 /etc/my.cnf,修改 pid-file 的值

pid-file=/var/lib/mysql/mysql.pid

接着将 MariaDB 设为系统服务,在 /usr/lib/systemd/system/ 下创建一个名为 mysql.service 的脚本,内容如下

[Unit]
Description=MariaDB database server
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe
TimeoutSec=300
PrivateTmp=true

[Install]
WantedBy=multi-user.target

修改脚本权限,添加、启动服务,然后运行管理工具

chmod 755 /usr/lib/systemd/system/mysql.service
systemctl daemon-reload
systemctl enable mysql.service
systemctl start mysql.service
/usr/local/mysql/bin/mysql_secure_installation

mysql_secure_installation 的输入如下,牢记自己的数据库 root 密码

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

登录到 mysql shell 为 Nextcloud 创建用户和数据库。

/usr/local/mysql/bin/mysql -u root -p

验证 root 密码后,在 mysql shell 执行

create database nextcloud_db;
create user nextclouduser@localhost identified by 'nextclouduser@';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'nextclouduser@';
flush privileges;
exit

这样就创建了一个 nextcloud_db 数据库和 nextclouduser 用户,用户密码为’nextclouduser@’。

三、安装 Nginx

首先编译安装 Nginx

wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar -zxvf pcre-8.41.tar.gz
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -zxvf openssl-1.0.2l.tar.gz
wget http://nginx.org/download/nginx-1.13.4.tar.gz
tar -zxvf nginx-1.13.4.tar.gz
cd nginx-1.13.4
./configure --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2l --with-http_v2_module
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
useradd nginx
mkdir /var/www
chown -R nginx:nginx /var/www

然后将 Nignx 设为系统服务,在 /usr/lib/systemd/system/ 下创建一个名为 nginx.service 的脚本,内容如下

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

修改脚本权限,开启 Nginx 服务

chmod 755 /usr/lib/systemd/system/nginx.service
systemctl daemon-reload
systemctl enable nginx.service
systemctl start nginx.service

使用 nginx -s reload 可以重载配置而不需要重启 nginx

开放防火墙 HTTP、HTTPS 端口

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
systemctl restart firewalld

四、安装 PHP

安装依赖组件,执行 php 安装配置

wget https://github.com/skvadrik/re2c/releases/download/1.0.2/re2c-1.0.2.tar.gz
tar -zxvf re2c-1.0.2.tar.gz
cd re2c-1.0.2
./configure
make && make install
cd ..
wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.8.tar.gz/from/this/mirror
tar -zxvf php7.tar.gz
cd php-7.1.8
ln -s /usr/lib64/libc-client.so /usr/lib/
ln -s /usr/lib64/libssl.so /usr/lib/
ln -s /usr/lib64/libldap.so /usr/lib/
./configure \
--enable-fpm \
--enable-ctype \
--enable-dom \
--enable-xml \
--enable-json \
--enable-mbstring \
--enable-posix \
--enable-simplexml \
--enable-xmlreader \
--enable-xmlwriter \
--enable-zip \
--enable-fileinfo \
--enable-intl \
--enable-ftp \
--enable-exif \
--enable-pcntl \
--enable-sockets \
--enable-session \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--enable-inline-optimization \
--enable-shared \
--enable-bcmath \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-mbregex \
--enable-pcntl \
--with-pdo-mysql \
--with-mhash \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv-dir \
--with-zlib \
--with-curl \
--with-bz2 \
--with-mcrypt \
--with-openssl \
--with-xsl \
--with-pcre-dir \
--with-pear \
--with-freetype-dir \
--with-xmlrpc \
--with-gettext \
--with-readline \
--with-recode \
--with-tidy \
--with-ldap \
--with-gmp \
--with-kerberos

编辑 MakeFile,找到开头是‘EXTRA_LIBS =’这一行,在结尾加上’-llber’

EXTRA_LIBS = -lcrypt -lcrypto -lssl -lcrypto -lz -lexslt -ltidy -lresolv -lcrypt -lrecode -lreadline -lncurses -lrt -lmcrypt -lldap -lstdc++ -lgmp -lpng -lz -ljpeg -lcrypto -lssl -lcrypto -lcurl -lbz2 -lz -lcrypto -lssl -lcrypto -lrt -lm -ldl -lnsl -lxml2 -lz -lm -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcurl -lxml2 -lz -lm -ldl -lfreetype -ldl -lm -licui18n -licuuc -licudata -ldl -lm -licuio -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxslt -lxml2 -lz -ldl -lm -lcrypt -llber

然后编译安装

make && make install
mkdir -p /var/lib/php/session
chown nginx:nginx -R /var/lib/php/session/
cp php.ini-production /usr/local/etc/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf

编辑 /usr/local/etc/php-fpm.conf,最后一行改成

include=etc/php-fpm.d/*.conf

编辑 /usr/local/etc/php-fpm.d/www.conf

; 修改 user 和 group 这两行,大概在 20 行左右
user = nginx
group = nginx

; 取消这行的注释,���概在第 60 行左右
listen.allowed_clients = 127.0.0.1

; 取消这几行的注释,大概在第 330 行左右
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

开启 php-fpm 服务

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
service php-fpm start

安装扩展模块

cd ..
pecl install smbclient
pecl install imagick
wget -O igbinary.zip https://github.com/igbinary/igbinary7/archive/master.zip
unzip igbinary.zip
cd igbinary7-master
phpize
./configure CFLAGS="-O2 -g" --enable-igbinary
make && make install
pecl install apcu
pecl install redis

复制 /usr/local/etc/php.ini 到 /usr/local/lib/

cp /usr/local/etc/php.ini /usr/local/lib/

修改 /usr/local/lib/php.ini,搜索’extension=’,在这段后面添加

extension=smbclient.so
extension=imagick.so
extension=igbinary.so
extension=redis.so
extension=apcu.so
zend_extension=opcache.so

继续修改 php.ini,搜索“[opcache]”,将以下行注释去掉,并修改为对应的配置值

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1

继续修改 php.ini,在最后面添加

[apc]
apc.enabled=1  
apc.shm_segments=1   
apc.shm_size=64M 
apc.ttl=7200   
apc.user_ttl=7200  
apc.enable_cli=1

遇到的问题总结

a、安装完扩展模块后,在 /usr/local/etc/php.ini 配置了,却发现一直无法加载成功,后来才发现我安装的 php 配置文件路径应该在 /usr/local/lib,拷贝过去就对了

b、使用命令 php - i 可以查看 php 的相关信息,包括使用的配置文件路径、扩展模块路径等等

c、使用命令 php - m 可以查看成功加载了的模块,如果扩展模块安装成功了,就可以看到

d、php 的扩展模块有两种安装方式,最简单的就是使用 pecl,类似于 yum,指定模块名称后就可以一键下载、编译、安装了,当然如果有依赖库的话必须先进行安装,再在 php.ini 里面加上 extension 配置项即可

e、php 的扩展模块另外一种安装方式,就是下载模块的源代码,解压后进入源代码目录,执行 phpize 生成 configure 文件,然后就是执行 configure、make、make install 了,最后在 php.ini 增加配置项

五、安装 Nextcloud

下载解压到 www 目录

wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip
unzip nextcloud-12.0.2.zip
mv nextcloud /var/www/
chown -R nginx:nginx /var/www

生成 SSL 证书

mkdir -p /etc/nginx/cert/
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key
chmod 700 /etc/nginx/cert
chmod 600 /etc/nginx/cert/*

修改 nginx 服务配置文件 /usr/local/nginx/conf/nginx.conf 为以下内容,将“yourname.domain”替换为自己的域名,修改 client_max_body_size 可以设置最大可上传的文件大小

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {worker_connections  1024;
}


http {include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local]"$request" '
    #                  '$status $body_bytes_sent"$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream php-handler {server 127.0.0.1:9000;
        #server unix:/var/run/php5-fpm.sock;
    }

    server {listen 80;
        server_name yourname.domain;
        # enforce https
        return 301 https://$server_name$request_uri;
    }

    server {listen 443 ssl http2;
        server_name yourname.domain;

        ssl_certificate /etc/nginx/cert/nextcloud.crt;
        ssl_certificate_key /etc/nginx/cert/nextcloud.key;

        # Add headers to serve security related headers
        # Before enabling Strict-Transport-Security headers please read into this
        # topic first.
        # add_header Strict-Transport-Security "max-age=15768000;
        # includeSubDomains; preload;";
        #
        # WARNING: Only add the preload option once you read about
        # the consequences in https://hstspreload.org/. This option
        # will add the domain to a hardcoded list that is shipped
        # in all major browsers and getting removed from this list
        # could take several months.
        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;

        # Path to the root of your installation
        root /var/www/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/remote.php/dav;
        }
        location = /.well-known/caldav {return 301 $scheme://$host/remote.php/dav;
        }

        # set max upload size
        client_max_body_size 512M;
        fastcgi_buffers 64 4K;

        # Enable gzip but do not remove ETag headers
        gzip on;
        gzip_vary on;
        gzip_comp_level 4;
        gzip_min_length 256;
        gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
        gzip_types application/atom+xml application/Javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

        # Uncomment if your server is build with the ngx_pagespeed module
        # This module is currently not supported.
        #pagespeed off;

        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/.+)\.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_param HTTPS on;
            #Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass php-handler;
            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|woff|svg|gif)$ {try_files $uri /index.php$uri$is_args$args;
            add_header Cache-Control "public, max-age=15778463";
            # Add headers to serve security related headers (It is intended to
            # have those duplicated to the ones above)
            # Before enabling Strict-Transport-Security headers please read into
            # this topic first.
            # add_header Strict-Transport-Security "max-age=15768000;
            #  includeSubDomains; preload;";
            #
            # WARNING: Only add the preload option once you read about
            # the consequences in https://hstspreload.org/. This option
            # will add the domain to a hardcoded list that is shipped
            # in all major browsers and getting removed from this list
            # could take several months.
            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 ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {try_files $uri /index.php$uri$is_args$args;
            # Optional: Don't log access to other assets
            access_log off;
        }
    }

}

让 Nginx 重新载入配置

nginx -s reload

使用域名或者 IP 访问,就会出现初始设置页面,在这里设置 Nextcloud 管理员用户名和密码,然后选择使用的数据库为 MySQL/MariaDB,填入之前设置数据库时的用户名(nextclouduser)、密码(nextclouduser@)、数据库名称(nextcloud_db),位置(不知为何我这里 localhost 访问数据库会被拒绝,设为 127.0.0.1 才行),然后确认进行初始化后就可以使用了。

有一次安装完了打开返回 503,重新执行了一遍“chown -R nginx:nginx /var/www”就可以了

六、添加信任域名

Nextcloud 本身的安全机制,会检查访问的域名,如果没有配置在信任域名中,会提示正在通过不信任的域名访问。

Nextcloud 初始化完毕后,会生成“/var/www/nextcloud/config/config.php”配置文件,里面的’trusted_domains’配置项为信任域名,初始化完毕后只有一项,为主机的 IP 地址。可以修改该配置项,添加绑定的域名

'trusted_domains' => 
array (0 => '192.168.56.101',
  1 => 'yourname.domain',
),

七、开启内存缓存

开启内存缓存,可以提升响应速度。之前我们已经通过 yum 安装了 redis 服务,通过 pecl 安装了 php 的 apcu、redis 组件,下面先把 redis 设置为系统服务,再修改 Nextcloud 的配置。

1、配置 redis 服务

设置服务自启、启动服务

systemctl enable redis
systemctl start redis

2、修改 Nextcloud 配置

修改 /var/www/nextcloud/config/config.php 文件,在配置加入

'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array('host' => 'localhost',
     'port' => 6379,
      ),

重新启动 nginx 服务即可生效

systemctl restart nginx

八、客户端

Nextcloud 提供各个平台的客户端,但功能有区别。

1、Windows 客户端

桌面客户端有 Windows、Linux、Mac 平台的,功能应该都一样的,我只试用了 Windows 客户端。

Windows 客户端仅有的功能就是同步,可以建立任意数量的同步映射,为本地的文件夹和 Nextcloud 服务器上的文件夹建立镜像映射关系,不管是增加、修改还是删除文件,在同步后都两边都会保持一致。仅有的同步策略就是镜像方式,没有更多的设置。

这样的功能比较适用于移动办公,将自己的工作区同步到云上,一是可以起到备份的作用,二是可以在多台电脑上使用相同的工作区环境。

2、Android 客户端

手机客户端有 Android、iPhone、Windows Phone 平台的,我只试用了 Android 客户端。

Android 客户端基本和 Web 页面是一样的,并没有多大用处。

有一个自动同步的功能,可以将本地目录和服务器上目录建立映射,策略可以选择仅将本地的文件同步到服务器、并且可以选择同步后是否删除本地的文件。本来这个功能应该是备份手机照片的利器,可是这个功能仅仅能检测到新增加的文件,对于已有的文件是不处理的,瞬间变为了鸡肋,除非新买手机就装上,或者先把以前的用其他方法人工备份。

3、第三方客户端

Nextcloud 对外提供 WebDAV 接口,因此可以使用第三方的客户端。Android 平台上,FolderSync 是一个比较好用的、可以备份手机照片的软件。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149720.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计14651字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7988188
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...