惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Cloudbric
Cloudbric
C
CERT Recently Published Vulnerability Notes
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
C
Cisco Blogs
T
Tenable Blog
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
I
Intezer
AWS News Blog
AWS News Blog
IT之家
IT之家
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 【当耐特】
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Spread Privacy
Spread Privacy
S
SegmentFault 最新的问题
博客园 - Franky
人人都是产品经理
人人都是产品经理
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Visual Studio Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Hacker News: Front Page
Latest news
Latest news
Scott Helme
Scott Helme
腾讯CDC
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
Arctic Wolf
S
Securelist
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
Project Zero
Project Zero
Google DeepMind News
Google DeepMind News
P
Palo Alto Networks Blog
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Security Archives - TechRepublic
Security Archives - TechRepublic
The Last Watchdog
The Last Watchdog
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 最新话题
S
Schneier on Security
NISL@THU
NISL@THU
Jina AI
Jina AI
M
MIT News - Artificial intelligence

山月

在VS Code配置Obsidian風格Markdown編輯環境 – 山月 在Windows通过LM Studio使用Zotero MCP – 山月 禁用WordPress中Jetpack的AI助手按钮 – 山月 WordPress/MCP Adapter安装与维护指南 – 山月 WordPress服务器权限与所有权配置详解 – 山月 在Windows上為GnuCash啟用線上報價 (Finance::Quote) – 山月 Gitea Docker /var/empty 权限问题除错总结 – 山月 Bookwyrm由0.7.5升级至Production(e217a17)完整过程及疑难解答 – 山月 用正则表达式修改ruby标签 – 山月 为WordPress Syndication Links插件添加新的站点与图标的实现方法 – 山月 进入不断重启的Docker容器的命令行之方法 – 山月 自建Bookwyrm无法查询远端用户?——开启数据库扩展 – 山月 BookWyrm无法增添书本、作者、阅读进度……?——解决数据库自增序列问题 – 山月 俾Docker容器中的应用访问宿主机上的数据库服务 – 山月 QNAP NAS使用者注意!千万莫对MariaDB做这件事…… – 山月 解决Wikibase手动导入数据后无法新建实体之问题 – 山月 辰年再訪神保町 – 山月 PHP-FPM站点池配置调优以解决WordPress过度占用系统资源之问题 – 山月 如果Linux软件包常规升级失败——以python3-update-manager为例 – 山月 解决站点526报错:SSL证书配置错误 – 山月 風挾着陽光來 – 山月 和A.N.R.GHG插件说bye-bye – 山月 WordPress页面链接末尾出现“?swcfpc=1”后缀,是怎么回事? – 山月 清理服务器空间的着手点 – 山月 关于Joplin Server文件上传大小上限 – 山月 如何优化PHP文件上传大小:完整指南 – 山月 WordPress站点部分地出现“严重错误”的一些可能的解法 – 山月 批量更改WordPress媒体URL – 山月 自托管WordPress编辑文章出现问题的排查法 – 山月 於Docker安裝sudo之方法 – 山月 于YunoHost网页版后台装pgAdmin4失败之解决方法 – 山月 解决WordPress多站点网络下异域名子站登录失败的问题 – 山月 Linux的SWAP配置建议与方法 – 山月 如何从一个.sql文件中恢复(导入)数据到MySQL数据库 – 山月 橙色的天,金色的鯉魚 – 山月 設置SoftBank光IP地址固定分配時MAC地址報錯之解決方法 – 山月 解决自托管WordPress与Jetpack通信之不畅 – 山月 解决WordPress上传超过100M文件失败的问题——用Cloudflare作为CDN服务时 – 山月 自托管WordPress迁至新服务器时可能遇到的一些问题 – 山月 Jetpack server port value报错之解决方法 – 山月 Nextcloud服务器目录中/data/updater-(12个英数字)文件夹可删除 – 山月 使WP IndieBlocks、Webmention两插件配合工作 – 山月 导致WordPress钩子(hooks)重复调用的一个可能性——插件重复安装 – 山月 为WordPress自定义贴文类型设置默认格式(post format) – 山月 为Micropub客户端所发内容设置默认post type – 山月 让WordPress的自定义post type支持post formats – 山月 在WordPress通过古腾堡块编辑器验证您的Mastodon身份 – 山月 如何将Mastodon上关注的人导入至Friendica – 山月 在WordPress上发Mastodon的一个选项:Shortnotes+Share on Mastodon – 山月 祝WordPress 20周年快乐!(节译) – 山月 更改IndieBlocks札记(note)、喜欢(like)slug之方法 – 山月 改变Friendica域名之方法 – 山月 爲WordPress添上在線Markdown、HTML互轉工具 – 山月 內排散記 – 山月 长毛象(Mastodon)简介:多中心化、细粒度公开、多样时间轴 – 山月 教ChatGPT讲福州话 – 山月 WordPress项目管理插件使用心得 – 山月 汉字词“地震”之前,日语中表达地震的本土词 – 山月 “幸”与“福”的区别 – 山月 Koha 22.05安装教程(于Ubuntu 20.04 LTS) – 山月 《日本外來語辭典》讀書筆記 – 山月 “传毒”——童年游戏回忆一则 – 山月 WordPress多站点网络分布于不同主域名时登录管理后台出现cookie错误的解决方案 – 山月 如何为WordPress多站点设置不同的子目录、子域名,甚至主域名? – 山月 重温《日语的历史》 – 山月 东京教父:关于爱与救赎 – 山月 2021年末,豆瓣更新了它的条款…… – 山月 WordPress报错“Briefly unavailable for scheduled maintenance.”的解决方法 – 山月 日语里的「原形」「辞书形」「终止形」是什么? – 山月 《福州方言大词典》读后感 – 山月 一種美觀的由Hubzilla分享RSS資訊的方法 – 山月 《我们仨》中与《宋诗选注》相关的记载 – 山月 亂彈文忠公宴番仔事 – 山月 一本清代土腔谜语集引发的回忆 – 山月 迎圣火 – 山月 凝滞在方言里的时光 – 山月 站在新庄园门前 – 山月 长星照耀州府 – 山月 虚拟币与赛博矿难 – 山月 记忆、记录与创造 – 山月 几日来写作微信推文的反思 – 山月 对OKR工作管理法的归纳总结 – 山月 同人誌之夢 – 山月 那里人很爱诗词 – 山月 从语言学看两性语言差异 – 山月 南门兜素菜馆 – 山月 闽海痛史 – 山月 东京的西方建筑遗产 – 山月 真实的华人电影 – 山月 记观《只有野兽知道》 – 山月 记早稻田祭 – 山月 《鬼灭之刃》日语札记 – 山月 颱風前夜的仙草凍 – 山月 首篇博文 – 山月 我到底是转厝了 – 山月 CM96暴走记 – 山月 薄暮逐島 – 山月 人与神的共振 – 山月 逐集罔讲罔听 – 山月 以往不谏 – 山月
安装、维护Monica PRM的一些笔记 – 山月
2023-10-25 · via 山月

基本上,安装、维护Monica PRM(笔者安装的是v4.0.0)的时候,循着官方教程,不会出什么错。不过由于不同的自托管环境条件之复杂,每个人都可能遇到各不一样的问题:此官方文档之不能备也。是故笔者姑将自己所遇到的,陈诸此文,幸能为博雅网友参考而已。

Monica是什么

先简单介绍下Monica这款软件。

Monica是一个开源的个人关系管理系统(PRM),可以由用户自托管。它帮助用户通过记录与他们生活中的人有关的信息和交互来管理他们的个人关系。用户可以记录重要的日期,如生日和纪念日,以及与朋友和家人的交往,包括他们的偏好和生活中的重大事件。

Monica的目的是帮助用户保持与他们关心的人的联系,并通过提供有意义的个人互动来增强这些关系。通过一个中心化的在线平台,Monica旨在成为用户社交互动的可靠记录和提醒系统。

因缺失PHP扩展而无法运行Composer安装命令

循官方文档而安装Monica的过程中遇到的问题,基本可以通过阅读报错信息而解决。例如在本桩例子中,运行完composer install --no-interaction --no-dev报错:

Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - Root composer.json requires PHP extension ext-gmp * but it is missing from your system. Install or enable PHP's gmp extension.
  Problem 2
    - Root composer.json requires PHP extension ext-redis * but it is missing from your system. Install or enable PHP's redis extension.

To enable extensions, verify that they are enabled in your .ini files:
(从略)
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-gmp --ignore-platform-req=ext-redis` to temporarily ignore these required extensions.

以上段报错文字为例,则说明在运行Composer安装命令时遇到了一些问题,提示缺少ext-gmpext-redis这两个PHP扩展。下面是一些可能的解决步骤:

  1. 安装缺失的PHP扩展:
    • 需要在服务器上安装gmpredis这两个 PHP 扩展。在Ubuntu上,可以通过下面的命令来安装它们:
      bash sudo apt-get install php-gmp php-redis
      在其他操作系统或包管理器上,安装命令可能会有所不同。
  2. 检查PHP配置:
    • 确保上述的扩展已经在php.ini文件中启用。可以通过运行php --ini命令来找到php.ini文件的位置,然后在文件中查看extension=gmpextension=redis是否存在并取消注释。
    • 或者,可以在命令行中运行php -m来检查这些扩展是否已被正确加载。
  3. 使用Composer忽略平台要求(不推荐):
    • 如果仅仅是想快速绕过这个问题,可以使用--ignore-platform-req选项来临时忽略这些扩展要求:
      bash composer install --no-interaction --no-dev --ignore-platform-req=ext-gmp --ignore-platform-req=ext-redis
      但是,这可能会导致应用在运行时出现问题,因为这些扩展是Monica项目依赖的。
  4. 更新Composer(不推荐):
    • 如果上述步骤都无法解决问题,尝试运行composer update来更新composer.lock文件和依赖关系。但是,请注意,这可能会更新依赖库到新的版本,可能会有破坏性的变更。

另外,在运行Composer安装命令时会收到提示信息:

Do not run Composer as root/super user! See https://getcomposer.org/root for details

它的意思是说,最好不要以root用户身份运行Composer,因为这可能会导致安全问题。可以创建一个新的用户,或者使用现有的非root用户来运行Composer。

运行yarn run production不顺利

首先要强调的是,一定要yarn install命令顺利运行以后再运行yarn run production

然后,该命令运行的不顺利可能由以下原因导致:

Browserslist数据库过时

运行yarn run production后,报错信息如包括:

Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme

则说明Browserslist数据库过时了,可以按照提示运行以下命令来更新它:

npx update-browserslist-db@latest

JavaScript堆内存耗尽

运行yarn run production后,报错信息如包括:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

则说明在构建过程中,JavaScript堆内存耗尽了。可以尝试增加Node.js的堆内存限制来解决这个问题。

例如,可以在运行yarn run production命令前设置NODE_OPTIONS环境变量来增加内存限制:

export NODE_OPTIONS="--max-old-space-size=4096"
yarn run production

这会将Node.js的堆内存限制设置为4GB。

使修改完的.env生效

网站的配置,在服务器上Monica项目的根目录中的.env这一配置文件内进行修改。

而通常,在Laravel(Monica所用的框架)项目中,当.env文件被修改后,可能需要清除配置缓存以使更改生效。这可以通过运行以下命令来完成:

php artisan config:clear

在一些情况下,可能还需要重新启动web服务器(例如Apache或Nginx)和/或PHP-FPM服务来确保新的配置被正确加载。不过笔者所做的大部分修改,执行完php artisan config:clear后都能够立即生效。

S3配置的.env变量

在设置S3的时候,官方文档与GitHub repo的issue区里所提及的变量名时有出入。不过经过检查软件源代码(v4.0.0)发现:

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID', env('AWS_KEY')),
            'secret' => env('AWS_SECRET_ACCESS_KEY', env('AWS_SECRET')),
            'region' => env('AWS_DEFAULT_REGION', env('AWS_REGION')),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT', env('AWS_SERVER', '') ? 'https://'.env('AWS_SERVER') : null),
            'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', env('S3_PATH_STYLE', false)),
            'throw' => true,
        ],

不同名称都能指向各自的同一个设定。所以确保每个必要的设定都得到妥善的填写即可。

Also on / Aussi sur / También en / Cē̤-sē̤ iâ ô / 亦可見於 / こちらも: