RockyLinux下利用Caddy搭建可道云网盘 作者: Hogwarts 发布于: 2021-03-17 更新于: 2022-05-20 分类: 默认分类 Centos8系统已谢幕,RockyLinux试搭建可道云网盘。 # 一、Caddy的搭建 - 前文有Caddy V1.0.5的搭建教程,稍繁琐。 参考:`https://winamp.top/77.html` - 现将安装过程重新整理如下。 ## 1.1 下载并拷贝到运行目录 wget https://dl.lamp.sh/files/caddy_linux_amd64 #下载秋水逸冰新编译的V1.0.5版 mkdir -p /usr/local/bin/ #建立运行目录 cp caddy_linux_amd64 /usr/local/bin/caddy #拷贝至运行目录 chmod +x /usr/local/bin/caddy #给予可执行权限 chown -R nobody:root /usr/local/bin/caddy #给予nobody用户执行权限 setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy #允许caddy作为一般用户进程绑定低号端口 ## 1.2 配置caddy运行文件 mkdir /etc/caddy/ 建立存放运行文件的文件夹 vim /etc/caddy/caddy.conf #输入以下信息 https://yourdomain.com { #你的域名 gzip browse tls xx@gmail.com #邮箱(自动申请证书)或cer、key路径 root /data/www/html #存放网站路径 header / { Strict-Transport-Security "max-age=31536000;" } } ## 1.3 给予权限并试运行 chown -R nobody:nobody /etc/caddy/caddy.conf /usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/caddy.conf #试运行 ## 1.4 配置开机运行文件 vim /etc/systemd/system/caddy.service #输入以下内容 [Unit] Description=Caddy HTTP/2 web server Documentation=https://caddyserver.com/docs After=network-online.target Wants=network-online.target systemd-networkd-wait-online.service [Service] Restart=on-abnormal User=nobody Group=nobody ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/caddy.conf -root=/var/tmp ExecReload=/bin/kill -USR1 $MAINPID LimitNOFILE=1048576 LimitNPROC=512 PrivateTmp=true PrivateDevices=true ProtectHome=true ProtectSystem=full CapabilityBoundingSet=CAP_NET_BIND_SERVICE AmbientCapabilities=CAP_NET_BIND_SERVICE NoNewPrivileges=true [Install] WantedBy=multi-user.target ## 1.5 需运行的命令 systemctl daemon-reload systemctl start caddy systemctl status caddy systemctl enable caddy ## 1.6 报错的处理 报错:Fix with ulimit -n 8192. vim /etc/security/limits.conf 在 # End of file 一行上面加入 * soft nofile 16384 * hard nofile 16384 然后reboot重启 # 二、安装PHP ## 2.1 PHP安装 不要直接`dnf install php -y`,这样安装完是php7.2版本,已失去支持,没有意义。 php --version PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies ### 2.1.1 安装EPEL存储库 dnf install epel-release ### 2.1.2 启用Remi存储库 dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm ### 2.1.3 搜索可下载的 PHP 模块 dnf module list php #显示如下信息 Last metadata expiration check: 2:16:13 ago on Thu 19 May 2022 07:07:37 PM EDT. Rocky Linux 8 - AppStream Name Stream Profiles Summary php 7.2 [d] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled ### 2.1.4 安装PHP8.0 php7.4版本2022年底中止支持,故安装8.0版本。 dnf module reset php #重置 PHP 模块 dnf module enable php:remi-8.0 #启用PHP 8.0模块 dnf install php php-cli php-curl php-mysqlnd php-gd php-opcache php-zip php-intl #安装php8.0及所需模块 小插曲 如果默认安装过php7.2或其它版本,执行dnf module enable php:remi-8.0 时报错 “The operation would result in switching of module 'php' stream '7.2' to stream 'remi-8.0' Error: It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch. It is recommended to rather remove all installed content from the module, and reset the module using 'dnf module reset ' command. After you reset the module, you can install the other stream” 问题的解决 dnf module reset php dnf module install php:remi-8.0 dnf update 再执行dnf install命令 ### 2.1.5 查看版本并增加开机启动 输入:php -v #查看PHP版本 systemctl status php-fpm #查看运行情况 systemctl start php-fpm #启动 systemctl enable php-fpm #开机自启 ## 2.2 建立与Caddy的连接 ###2.2.1 修改PHP的运行用户 vim /etc/php-fpm.d/www.conf #大约22-24行位置 1.大约25行处改为 user = nobody group = nobody 2.大约48行处将 listen.owner=www-data listen.nogroup=www-data 改为 listen.owner=nobody listen.nogroup=nogroup 3.将 listen.mode = 0660 取消注释 4.将listen.acl_users = apache,nginx改为 listen.acl_users = apache,nginx,nobody 5.大约25行位置 listen = /run/php-fpm/www.sock 复制出来待用 ### 2.2.2 修改Caddy配置文件 vim /etc/caddy/caddy.conf https://你的域名 { gzip browse tls xx@gmail.com #邮箱(自动申请证书)或cer、key路径 root /data/www/html fastcgi / /run/php-fpm/www.sock php { #上面复制的路径 ext .php split .php index index.php } #这组是caddy与php连接的桥梁 header / { Strict-Transport-Security "max-age=31536000;" } } chown -R nobody:nobody /data/www/html chown -R nobody:nobody /run/php-fpm/ systemctl restart php-fpm systemctl status php-fpm systemctl restart caddy systemctl status caddy - 如果php-fpm和cacaddy运行正常则进行下面测试。 - 如果运行失败,可能有权限问题,可改为chown -R nobody:root 。先查php能否正常运行,再查caddy能否正常运行,一一检查,慢慢测试。总之,不要心急。 - 最好还是新建www-data用户组吧,让PHP以www-data用户运行。 ### 2.2.3 测试PHP运行情况 wget https://github.com/kmvan/x-prober/raw/master/dist/prober.php -O /data/www/html/x.php chmod -R 777 /data/www/html/ #重新赋予权限 在浏览器中输入https://你的域名/x.php 不出意外,您将看到您服务器的信息。 # 三、下载个人版kodexplorer ## 3.1 下载并解压 注意:不要下载kodbox.1.18.zip cd /data/www/html wget https://static.kodcloud.com/update/download/kodexplorer4.45.zip unzip kodexplorer4.40.zip ## 3.2 试运行 - 在浏览器中输入你的域名,将会出现kod的登录页面。 ## 3.3 报错的处理 - 报错:须开启php GD库,否则验证码、缩略图使用将不正常。 过滤所需模块和库的名称 yum list|grep php|grep gd #过滤处理图片的gd库 yum list|grep php|grep string #过滤模块名称 yum install php-gd.x86_64 php-mbstring.x86_64 –y #安装模块和库 systemctl restart php-fpm systemctl restart caddy ## 3.4 正常运行 再次在浏览器中输入你的域名,出现如下画面: 运行环境检测: 您可以用如下账号登录 管理员:admin/(在下面设置密码) 普通用户:demo/demo 游客用户:guest/guest 恭喜您,Kod安装成功了! ## 3.5 存在的问题 **问题:** v4.45版本永中office预览,操作失败。 **原因:**`https://bbs.kodcloud.com/d/120`由于永中官方接口变更,之前kodexplorer版本都不能使用永中在线预览方案。 **人话:**docx等office文档不能预览。 # 四、结语 - 对PHP一窍不通,有些问题也不知道改如何解决(又不是不能用)。再加上终端出点状况,命令历史丢失。在搭建过程中可能存在一些未知问题,欢迎提出优化改进建议。 #五、参考网页如下 1. centos8 安装 LMAP(Linux+Apache+MySQL+PHP)环境` https://segmentfault.com/a/1190000021909457` 1. 小内存VPS Caddy+php 配置 图文教程`https://www.jiloc.com/43768.html` 1. Apache环境下搭建KodExplorer网盘`https://www.cnblogs.com/ssgeek/p/9223338.html` 标签: caddy, kod, PHP
评论已关闭