创建项目文件夹 mkdir -p ~/services/bits && cd ~/services/bits
创建配置文件 nano .env
内容为
MYSQL_DATABASE=wordpress MYSQL_USER=wordpress MYSQL_PASSWORD=数据库密码 MYSQL_ROOT_PASSWORD=数据库root密码
创建 docker copmose.yml 文件,包含 wordpress 容器 bits-wordpress 和数据库容器 bits-db
services: wordpress: image: wordpress:latest container_name: bits-wordpress restart: unless-stopped environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: ${MYSQL_DATABASE} WORDPRESS_DB_USER: ${MYSQL_USER} WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD} volumes: - ./wordpress:/var/www/html networks: - web - bits-net-int db: image: mariadb:11 container_name: bits-db restart: unless-stopped environment: MARIADB_DATABASE: ${MYSQL_DATABASE} MARIADB_USER: ${MYSQL_USER} MARIADB_PASSWORD: ${MYSQL_PASSWORD} MARIADB_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} volumes: - ./db:/var/lib/mysql networks: - bits-net-int networks: web: external: true bits-net-int: internal: true
运行
docker compose up -d
nano ~/services/caddy/Caddyfile
在文件中添加
bits.xiaobenmao.win {
reverse_proxy bits-wordpress:80
}
重启 caddy
cd ~/services/caddy && docker compose restart
大功告成
可以进入网页配置默认账号了
搜索安装 OpenID Connect Generic Client 插件并启用。
在 Authentik 管理页面中添加 provider 和 application
在 WordPress 设置 - OpenID Connect Client 里对应配置 login type、client ID、client secret、openID scope、login endpoint、userinfo endpoint、token validation endpoint、end session endpoint、JKWS URI、issuer、identity key、nickname key、email formatting。也可以通过 discovery URL 自动填入,只需将 Authentik provider 的 OpenID Configuration URL 粘贴进 Discovery URL 一栏即可。
用于连接 OpenID 认证服务。
欲想直接透过 OpenID 认证登录而不使用 WordPress 内置登录方式,可设置登录方式为 Auto Login - SSO。此时 WordPress 内置登录方式将完全被禁用,原生账号(含 admin)无法登录。
亦可在 WPCode Lite 中添加如下代码片段(务必将上方设置恢复为默认)以便使用 /wp-login.php?local_login=1 链接访问 WordPress 内置登录页面。
add_action('login_init', function () { return; } return; } if ( ) { return; } $action = $_REQUEST['action'] ?? 'login'; if (in_array($action, ['logout', 'lostpassword', 'retrievepassword', 'rp', 'resetpass', 'postpass'], true)) { return; } if ($action !== 'login') { return; } wp_safe_redirect(add_query_arg('force_redirect', '1', wp_login_url())); exit; });
通过缓存提高网页性能。推荐配置页面缓存及延迟加载。除非数据库支持 Redis 或 Memcached,否则不建议配置数据库缓存。
窥视每一位来访者。
记得勾选“绕过广告拦截器”~
可在任意地方执行任意代码。
方便地重命名已上传的文件。