原创文章,转载请注明出处
https://qiedd.com/

环境

Caddy2

PHP8.0

操作系统这里我使用了ArchLinux,如果你用的是其他操作系统,在安装Caddy和PHP时可以参考官方文档

安装PHP

ArchLinux

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 安装需要的依赖
pacman -S php php-fpm tar zip ffmpeg imagemagick php-imagick php-gd caddy unzip --needed
# 安装需要的依赖 pacman -S php php-fpm tar zip ffmpeg imagemagick php-imagick php-gd caddy unzip --needed
# 安装需要的依赖
pacman -S php php-fpm tar zip ffmpeg imagemagick php-imagick php-gd caddy unzip --needed

接下来需要修改php的配置文件

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 修改配置文件
vim /etc/php/php-fpm.d/www.conf
# 使用vim搜索功能
# 输入 /listen.owner 然后回车,将
listen.owner = http
listen.group = http
# 改成 caddy
listen.owner = caddy
listen.group = caddy
# 修改配置文件
vim /etc/php/php.ini
# 使用vim搜索功能
# 输入 extension=exif 然后回车,将
# ;extension=exif 和 ;extension=gd 前面的分号去掉
extension=exif
extension=gd
# 修改配置文件
vim /etc/php/conf.d/imagick.ini
# 取消注释
extension = imagick
# 修改配置文件 vim /etc/php/php-fpm.d/www.conf # 使用vim搜索功能 # 输入 /listen.owner 然后回车,将 listen.owner = http listen.group = http # 改成 caddy listen.owner = caddy listen.group = caddy # 修改配置文件 vim /etc/php/php.ini # 使用vim搜索功能 # 输入 extension=exif 然后回车,将 # ;extension=exif 和 ;extension=gd 前面的分号去掉 extension=exif extension=gd # 修改配置文件 vim /etc/php/conf.d/imagick.ini # 取消注释 extension = imagick
# 修改配置文件
vim /etc/php/php-fpm.d/www.conf

# 使用vim搜索功能
# 输入 /listen.owner 然后回车,将
listen.owner = http
listen.group = http
# 改成 caddy
listen.owner = caddy
listen.group = caddy

# 修改配置文件
vim /etc/php/php.ini

# 使用vim搜索功能
# 输入 extension=exif  然后回车,将
# ;extension=exif 和 ;extension=gd 前面的分号去掉
extension=exif
extension=gd

# 修改配置文件
vim /etc/php/conf.d/imagick.ini

# 取消注释
extension = imagick

然后就可以启动PHP了

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 设置开机启动
systemctl enable php-fpm
# 启动PHP
systemctl start php-fpm
# 设置开机启动 systemctl enable php-fpm # 启动PHP systemctl start php-fpm
# 设置开机启动
systemctl enable php-fpm

# 启动PHP
systemctl start php-fpm

H5ai安装

创建网站目录

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 创建
mkdir /www/example.com
# 创建 mkdir /www/example.com
# 创建
mkdir /www/example.com

H5ai官网下载最新的包,我这里用的0.30.0的

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 进入目录
cd /www/example
# 下载
wget https://release.larsjung.de/h5ai/h5ai-0.30.0.zip
# 解压
unzip h5ai-0.30.0.zip
# 删除压缩包
rm h5ai-0.30.0.zip
# 进入目录 cd /www/example # 下载 wget https://release.larsjung.de/h5ai/h5ai-0.30.0.zip # 解压 unzip h5ai-0.30.0.zip # 删除压缩包 rm h5ai-0.30.0.zip
# 进入目录
cd /www/example

# 下载
wget https://release.larsjung.de/h5ai/h5ai-0.30.0.zip

# 解压
unzip h5ai-0.30.0.zip

# 删除压缩包
rm h5ai-0.30.0.zip 

安装Caddy

ArchLinux

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 安装caddy
pacman -S caddy
# 安装caddy pacman -S caddy
# 安装caddy
pacman -S caddy

Caddyfile配置

将/etc/caddy/Caddyfile的默认文件注释掉只剩最后一行

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# The Caddyfile is an easy way to configure your Caddy web server.
#
# https://caddyserver.com/docs/caddyfile
#
# The configuration below serves a welcome page over HTTP on port 80.
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace the line below with your
# domain name.
#
# https://caddyserver.com/docs/caddyfile/concepts#addresses
#{
# Restrict the admin interface to a local unix file socket whose directory
# is restricted to caddy:caddy. By default the TCP socket allows arbitrary
# modification for any process and user that has access to the local
# interface. If admin over TCP is turned on one should make sure
# implications are well understood.
# admin "unix//run/caddy/admin.socket"
#}
#http:// {
# Set this path to your site's directory.
# root * /usr/share/caddy
# Enable the static file server.
# file_server
# 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 directive documentation for more options.
# https://caddyserver.com/docs/caddyfile/directives
#}
# Import additional caddy config files in /etc/caddy/conf.d/
import /etc/caddy/conf.d/*
# The Caddyfile is an easy way to configure your Caddy web server. # # https://caddyserver.com/docs/caddyfile # # The configuration below serves a welcome page over HTTP on port 80. # To use your own domain name (with automatic HTTPS), first make # sure your domain's A/AAAA DNS records are properly pointed to # this machine's public IP, then replace the line below with your # domain name. # # https://caddyserver.com/docs/caddyfile/concepts#addresses #{ # Restrict the admin interface to a local unix file socket whose directory # is restricted to caddy:caddy. By default the TCP socket allows arbitrary # modification for any process and user that has access to the local # interface. If admin over TCP is turned on one should make sure # implications are well understood. # admin "unix//run/caddy/admin.socket" #} #http:// { # Set this path to your site's directory. # root * /usr/share/caddy # Enable the static file server. # file_server # 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 directive documentation for more options. # https://caddyserver.com/docs/caddyfile/directives #} # Import additional caddy config files in /etc/caddy/conf.d/ import /etc/caddy/conf.d/*
# The Caddyfile is an easy way to configure your Caddy web server.
#
# https://caddyserver.com/docs/caddyfile
#
# The configuration below serves a welcome page over HTTP on port 80.
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace the line below with your
# domain name.
#
# https://caddyserver.com/docs/caddyfile/concepts#addresses

#{
        # Restrict the admin interface to a local unix file socket whose directory
        # is restricted to caddy:caddy. By default the TCP socket allows arbitrary
        # modification for any process and user that has access to the local
        # interface. If admin over TCP is turned on one should make sure
        # implications are well understood.
#       admin "unix//run/caddy/admin.socket"
#}

#http:// {
        # Set this path to your site's directory.
#       root * /usr/share/caddy

        # Enable the static file server.
#       file_server

        # 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 directive documentation for more options.
        # https://caddyserver.com/docs/caddyfile/directives
#}

# Import additional caddy config files in /etc/caddy/conf.d/
import /etc/caddy/conf.d/*

然后在 /etc/caddy/conf.d 中新建一个conf,随意命名

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 示例 /etc/caddy/conf.d/h5ai
example.com {
log {
output file /var/log/caddy/h5ai.log
}
root * /www/example.com
encode zstd gzip
file_server
php_fastcgi unix//run/php-fpm/php-fpm.sock {
index /_h5ai/public/index.php
}
@redirected {
path /_h5ai/private/*
}
redir @redirected /
}
# 示例 /etc/caddy/conf.d/h5ai example.com { log { output file /var/log/caddy/h5ai.log } root * /www/example.com encode zstd gzip file_server php_fastcgi unix//run/php-fpm/php-fpm.sock { index /_h5ai/public/index.php } @redirected { path /_h5ai/private/* } redir @redirected / }
# 示例 /etc/caddy/conf.d/h5ai

example.com {
        log {
                output file /var/log/caddy/h5ai.log
        }
        root * /www/example.com
        encode zstd gzip
        file_server 
        php_fastcgi unix//run/php-fpm/php-fpm.sock {
                index /_h5ai/public/index.php
        }
        @redirected {
                path /_h5ai/private/*
        }
        redir @redirected /
}

启动caddy

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 设置caddy开机启动
systemctl enable caddy
# 启动caddy
systemctl start caddy
# 设置caddy开机启动 systemctl enable caddy # 启动caddy systemctl start caddy
# 设置caddy开机启动
systemctl enable caddy

# 启动caddy
systemctl start caddy

H5ai配置

为了你的网站安全,请将权限更改至caddy

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 将网站权限更改为caddy
chown -R caddy /www/example.com
chgrp -R caddy /www/example.com
# 将网站权限更改为caddy chown -R caddy /www/example.com chgrp -R caddy /www/example.com
# 将网站权限更改为caddy
chown -R caddy /www/example.com
chgrp -R caddy /www/example.com

访问你的网站 example.com/_h5ai/public/index.php,没有密码,直接登录,看看有没有缺什么,装就是了

编辑 /www/example.com/_h5ai/private/conf/option.conf
以下为建议修改的地方

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
vim _h5ai/private/conf/options.json
vim _h5ai/private/conf/options.json
vim _h5ai/private/conf/options.json

设置密码

为 /_h5ai/public/index.php 设置密码,去http://md5hashing.net/hashing/sha512,算一个,然后替换到passhash

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Password hash.
SHA512 hash of the info page password, the preset password is the empty string.
Online hash generator: http://md5hashing.net/hashing/sha512
*/
"passhash": "你的sha512",
Password hash. SHA512 hash of the info page password, the preset password is the empty string. Online hash generator: http://md5hashing.net/hashing/sha512 */ "passhash": "你的sha512",
 Password hash.

    SHA512 hash of the info page password, the preset password is the empty string.
    Online hash generator: http://md5hashing.net/hashing/sha512
    */
    "passhash": "你的sha512",

多选下载

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
"download": {
"enabled": true,
"type": "php-tar",
"packageName": null,
"alwaysVisible": false
},
"download": { "enabled": true, "type": "php-tar", "packageName": null, "alwaysVisible": false },
"download": {
    "enabled": true,
    "type": "php-tar",
    "packageName": null,
    "alwaysVisible": false
},

默认语言

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
"l10n": {
"enabled": true,
"lang": "zh-cn",
"useBrowserLang": true
},
"l10n": { "enabled": true, "lang": "zh-cn", "useBrowserLang": true },
    "l10n": {
        "enabled": true,
        "lang": "zh-cn",
        "useBrowserLang": true
    },

搜索功能

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
"search": {
"enabled": true,
"advanced": true,
"debounceTime": 300,
"ignorecase": true
},
"search": { "enabled": true, "advanced": true, "debounceTime": 300, "ignorecase": true },
    "search": {
        "enabled": true,
        "advanced": true,
        "debounceTime": 300,
        "ignorecase": true
    },

自定义页头

找到 _h5ai/private/php/pages/index.php

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
修改 <title></title> 中的内容即可
修改 <title></title> 中的内容即可
修改 <title></title> 中的内容即可

分类: Linux

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理