高校校园网站建设,镇江专业网站建设,搭建一个网站的具体步骤,火车头自动上传wordpress前言
之前通过 docker在ubuntu上安装Nextcloud#xff0c;但是现在我使用PVE安装Debian虚拟机#xff0c;不想通过docker安装了。下面开始折腾。
安装过程
步骤 1#xff1a;更新系统并安装必要的软件
sudo apt update sudo apt upgrade -y
sudo apt install…前言
之前通过 docker在ubuntu上安装Nextcloud但是现在我使用PVE安装Debian虚拟机不想通过docker安装了。下面开始折腾。
安装过程
步骤 1更新系统并安装必要的软件
sudo apt update sudo apt upgrade -y
sudo apt install -y mariadb-server php php-fpm php-cli php-mysql php-curl php-gd php-intl php-mbstring php-xml php-zip php-bz2 php-bcmath php-gmp php-imagick unzip curl sudo步骤 2创建并配置 MariaDB 数据库
启动 MariaDB 并设置安全性
sudo systemctl enable --now mariadb
sudo mysql_secure_installation按提示设置 root 密码并启用安全选项。
登录 MariaDB
sudo mysql -u root -p创建 Nextcloud 数据库和用户
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER nextcloudlocalhost IDENTIFIED BY your_secure_password;
GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloudlocalhost;
FLUSH PRIVILEGES;
EXIT;可以修改自己的密码 your_secure_password。
步骤 3创建 Nextcloud 存储目录
确保你的硬盘已经正确挂载并创建存储目录假设你挂载到 /mnt/AAA
sudo mkdir -p /mnt/AAA/nextcloud_data
sudo chown -R www-data:www-data /mnt/AAA/nextcloud_data
sudo chmod 750 /mnt/AAA/nextcloud_data步骤 4下载并解压 Nextcloud
获取最新的 Nextcloud 版本
cd /var/www
sudo curl -o nextcloud.tar.bz2 https://download.nextcloud.com/server/releases/latest.tar.bz2
sudo tar -xjf nextcloud.tar.bz2
sudo rm nextcloud.tar.bz2
sudo chown -R www-data:www-data nextcloud
sudo chmod -R 755 nextcloud步骤 5创建 Nextcloud 配置文件
在安装前创建配置文件 /var/www/nextcloud/config/autoconfig.php并指定存储位置
sudo nano /var/www/nextcloud/config/autoconfig.php添加以下内容
?php
$AUTOCONFIG array(dbtype mysql,dbname nextcloud,dbuser nextcloud,dbpass your_secure_password,dbhost localhost,dbtableprefix ,adminlogin admin,adminpass your_admin_password,directory /mnt/seafile/nextcloud_data,
);可以修改 adminlogin 和 adminpass还有 “dbpass” “your_secure_password”。 保存并退出 (CTRL X, 然后 Y 以及 Enter)。
步骤 6配置 PHP-FPM
编辑 PHP 配置文件
sudo nano /etc/php/*/fpm/php.ini找到并修改以下参数。可以使用 CtrlW 查找如果想改 1GB就填 memory_limit 1G
memory_limit 512M
upload_max_filesize 512M
post_max_size 512M
max_execution_time 300重启 PHP-FPM
sudo systemctl restart php*-fpm步骤 7安装并配置 Caddy
安装 Caddy
sudo apt install -y debian-keyring debian-archive-keyring
sudo curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/gpg.key | sudo tee /usr/share/keyrings/caddy-keyring.asc /dev/null
echo deb [signed-by/usr/share/keyrings/caddy-keyring.asc] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy配置 Caddy
sudo nano /etc/caddy/Caddyfile添加以下内容请替换 yourdomain.com 为你的域名或本机 IP
yourdomain.com {root * /var/www/nextcloudfile_serverphp_fastcgi unix//run/php/php-fpm.sockheader Strict-Transport-Security max-age31536000; includeSubDomains; preloadredir /.well-known/carddav /remote.php/dav 301redir /.well-known/caldav /remote.php/dav 301
}我的改为: GNU nano 7.2 /etc/caddy/Caddyfile
# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domains A/AAAA DNS records are properly pointed to
# this machines public IP, then replace :80 below with your
# domain name.:80 {# Set this path to your sites directory.root * /var/www/nextcloud# Enable the static file server.file_serverphp_fastcgi unix//run/php/php-fpm.sockheader Strict-Transport-Security max-age31536000; includeSubDomains; preloadredir /.well-known/carddav /remote.php/dav 301redir /.well-known/caldav /remote.php/dav 301# Another common task is to set up a reverse proxy:# reverse_proxy localhost:8080# Or serve a PHP site through php-fpm:# php_fastcgi localhost:9000
}# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile保存并退出。
启动 Caddy
sudo systemctl enable --now caddy步骤 8完成 Nextcloud 安装
访问 http://yourdomain.comNextcloud 应该会自动完成安装。使用 admin 和 your_admin_password 登录。
步骤 9设置自动更新与优化
配置 定时任务 让 Nextcloud 进行后台任务管理
sudo crontab -u www-data -e添加
*/5 * * * * php -f /var/www/nextcloud/cron.php启用 OPcache提高 PHP 性能
sudo nano /etc/php/*/fpm/php.ini找到 opcache.enable0 并修改为
opcache.enable1
opcache.enable_cli1
opcache.memory_consumption128
opcache.interned_strings_buffer8
opcache.max_accelerated_files10000
opcache.validate_timestamps1然后重启 PHP-FPM
sudo systemctl restart php*-fpm部分问题后处理
如果没有权限
如果网页登录没有权限进入修改文件权限
sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 750 /var/www/nextcloud然后清理缓存
sudo -u www-data php /var/www/nextcloud/occ maintenance:repairNextcloud 预览 iPhone HEIC 图片
下面操作有点混乱反正是一顿操作重启然后好使了。
确保 iPhone 端上传原始 HEIC 格式
iPhone 可能默认会上传 JPEG而不是 HEIC。请在 iPhone 设置 中进行以下调整
打开 iPhone 设置进入 “照片”Photos找到 “传输到 Mac 或 PC”选择 “保留原始文件”Keep Originals 这样iPhone 上传到 Nextcloud 时不会自动转换为 JPEG。
允许 Nextcloud 识别 HEIC 格式
Nextcloud 可能不允许 HEIC 文件上传手动添加 MIME 类型支持
sudo nano /etc/mime.types在末尾添加
image/heic heic
image/heif heif保存退出Ctrl X → Y → 回车。
然后重启服务器
sudo systemctl restart php8.2-fpm redis caddy确保 Web 端可以预览 HEIC
Nextcloud 默认不支持 HEIC 预览你可以安装 HEIC 预览插件
sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator启用插件
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator然后重启 Nextcloud 相关服务
sudo systemctl restart php8.2-fpm安装 ImageMagick 以支持 HEIC
ImageMagick 可以让 Nextcloud 生成 HEIC 预览
sudo apt install imagemagick检查 HEIC 是否支持
convert -list format | grep HEIC如果输出类似于 HEIC* HEIF r-- High Efficiency Image Format说明已支持。如果 HEIC 没有启用需要重新编译 ImageMagick或者使用 libheif
sudo apt install libheif-examples然后编辑 policy.xml
sudo nano /etc/ImageMagick-6/policy.xml找到
policy domaincoder rightsnone patternHEIC /改成
policy domaincoder rightsread | write patternHEIC /保存退出。没有找到就新增。然后重启
sudo systemctl restart php8.2-fpm确保 HEIC 文件可下载
如果 Nextcloud 拦截 HEIC 文件可能需要手动允许 .heic 上传
sudo nano /var/www/nextcloud/.htaccess添加
AddType image/heic .heic保存并退出然后清理缓存
sudo -u www-data php /var/www/nextcloud/occ files:scan --all启用 Nextcloud 预览支持
即使安装了 HEIC 解析Nextcloud 仍然不会自动创建 HEIC 预览需要手动开启。
1️⃣ 安装 previewgenerator 插件
sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator2️⃣ 允许 HEIC 预览
sudo nano /var/www/nextcloud/config/config.php在 ); 之前添加
enable_previews true,
preview_max_x 4096,
preview_max_y 4096,
preview_max_filesize_image 50,
enabledPreviewProviders [OC\Preview\HEIC,OC\Preview\Image,OC\Preview\JPEG,OC\Preview\PNG,OC\Preview\GIF,OC\Preview\BMP,OC\Preview\TIFF,OC\\Preview\\MarkDown,OC\\Preview\\MP3,OC\\Preview\\TXT,OC\\Preview\\XBitmap,OC\\Preview\\OpenDocument,OC\\Preview\\Krita,OC\\Preview\\WebP,
],保存并退出 (Ctrl X → Y → 回车)。
3️⃣ 手动生成 HEIC 预览
sudo -u www-data php /var/www/nextcloud/occ preview:generate-all设置定时任务自动生成 HEIC 预览
echo */30 * * * * www-data php /var/www/nextcloud/occ preview:pre-generate | sudo tee -a /