标签: debian buster

  • 在树莓派上启用 PostgreSQL 对外服务

    在树莓派上启用 PostgreSQL 对外服务

    以前写过一篇笔记《树莓派4 安装 OpenResty + PostgreSQL》,记录如何在树莓派上装 PostgreSQL,不过那时候只是为了在上面做开发,没有考虑过对外服务。如今为了能够在别的机器上做开发,所以要想办法配置一下对外服务。

    0. 系统

    • Raspberry Pi 4B
    • Debian 10 buster 更新到最新
    • 如上篇文章所述安装和配置 PostgrSQL

    1. 判断本地运行状态。

    # 查看服务状态
    sudo service --status-all
    # [ + ]  postgresql
    
    # 查看端口
    sudo netstat -plunt | grep postgres
    # tcp        0      0 127.0.0.1:5432            0.0.0.0:*               LISTEN      6629/postgres

    服务在运行,端口也在侦听,直接连接,失败,被服务器拒绝。

    2. 安装防火墙工具调整规则

    猜测可能跟防火墙有关,iptables 我不熟,所以安装 ufw 帮忙:

    # 安装
    sudo apt install ufw
    
    # 启动端口
    sudo ufw allow 5432
    sudo ufw allow from 10.0.0.10 # 我的 iMac

    3. 修改侦听端口

    修改防火墙后还是连不上。使用 Telnet 工具可以本地连接,但不能远程连接,推断应该是侦听端口的问题。回去仔细看了一下端口状态,觉得应该是端口没配好,所以修改配置,侦听 0.0.0.0,然后重启 PostgreSQL 服务,再连接就成功了。

    listen_addresses = '0.0.0.0' 
    port = 5432
    host    all             all              0.0.0.0/0                       md5
    host    all             all              ::/0                            md5

    参考链接:

  • 解决 Raspberry Pi 4 安装 php-mbstring/php-curl 的问题

    解决 Raspberry Pi 4 安装 php-mbstring/php-curl 的问题

    最近要在 flarum 上做二次开发,尝试直接用 php -S localhost:8080 未果,于是打算在树莓派上搭个开发环境,省得它整日落灰。

    因为在本地创建过仓库,所以这次直接从 GitHub clone 项目下来,然后打算执行 composer install 安装依赖。结果提示差了 php-mbstring(解决汉字等多字节字符)和 php-curl(用于远程请求)两个模块。然后我就打算用 apt install php-curl 安装模块,没想到失败了,仔细看错误信息,因为这个模块依赖 libcurl3,但是系统里是 libcurl4,所以不行。

    那就安装 libcurl3 呗,结果系统认为明显 libcurl4 更新,不给装 3,哪怕删了重装都不行。

    后来查了半天,找到答案。原来我添加的源是 stretch 的,也就是面向 Debian 9 的;而 Raspberry Pi 的系统是基于 Debian 10,也就是 buster 的,所以依赖处理上,两方面就冲突了。

    这个时候,需要用 sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' 把属于“buster”的源添加进系统,接着删掉之前 stretch 的源,然后 apt update 之后,就可以正常安装了。


    参考链接:https://github.com/oerdnj/deb.sury.org/issues/1193