Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the simply-static domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6121
2022 年 12 月

树莓派动态ipv6安装邮件服务器sendmail

在树莓派上安装和配置sendmail,搭建自己的邮件服务器

对于绑定自定义域名的邮箱,需要在域名解析里面增加mx记录,注意:记录值要填写已经解析过的地址,具体如下:

安装sendmail

sudo apt install -y install sendmail sendmail-cf

sendmail的smtp认证配置(不需要认证的可滤过)

设置sendmail服务的网络访问权限

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 

改为

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl 

生成sendmail配置文件

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf  #需在root权限下

添加域名

sudo nano /etc/mail/local-host-names
#添加 buryin.com

修改submit.cf文件

sudo nano /etc/mail/submit.cf

找到行 #Dj$w.Foo.COM,修改为

Djburyin.com

重启服务使能已配置参数

sudo service sendmail restart

测试一下邮件发送

echo “这是树莓派的sendmail测试” | mail -s 测试 up@up.day

其它可参数配置

centos安装sendmail服务及设置【亲测好用!】_Gavin Matthew的博客-CSDN博客_centos sendmail

树莓派下打包自己的安装程序

以打包codon为例
mkdir codon && cd codon
mkdir DEBIAN usr && cd usr && mkdir bin
cd DEBIAN
nano control


Package: codon
Version: 1.0.0
Architecture: arm64
Maintainer: jack
Secion: utils
Priority: optional
Installed_Size: #可以空白
Description: codon package
#此处要空一行

sudo dpkg -b codon
dpkg-name codon.deb #改名
sudo dpkg -i codon_1.0.0_arm64.deb  #安装
sudo dpkg -r codon #卸载,或者sudo dpkg -P codon

注意:
打包过程中,执行文件放入bin目录,usr的lib目录下放入so文件,同时在usr下拷贝stdlib目录

https://blog.csdn.net/qq_50998481/article/details/127788849

树莓派系统的codon编译程序

作为目前地表最强的python编译器,codon将python的执行速度提升了10-100倍并提供本地可执行二进制代码,遗憾的是官方并未照顾到广大树莓派爱好者的感受,未提供Raspberry OS环境下的执行程序,这里我从源码做了编译,提供给大家使用

sudo ./codon build -release -exe x.py

标准树莓派环境下编译codon

https://docs.exaloop.io/codon/advanced/build

http://cloud.buryin.com/wp-content/uploads/2022/12/codon-develop-2.zip

编译需要大量的交换空间,否则容易出错,因此先增加交换空间

sudo dd if=/dev/zero of=/swapfile bs=1G count=6
#count的大小就是增加的swap空间的大小,1G是块大小为1G,所以空间大小是bs*count=6G
sudo mkswap /swapfile  #把刚才空间格式化成swap格式
su
chmod 0600 /swapfile  
sudo swapon /swapfile  #使用刚才创建的swap空间
sudo pip install Ninja --break-system-packages
sudo apt install cmake
git clone --depth 1 -b codon https://github.com/exaloop/llvm-project
cmake -S llvm-project/llvm -B llvm-project/build -G Ninja \
    -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_INCLUDE_TESTS=OFF \
    -DLLVM_ENABLE_RTTI=ON \
    -DLLVM_ENABLE_ZLIB=OFF \
    -DLLVM_ENABLE_TERMINFO=OFF \
    -DLLVM_TARGETS_TO_BUILD=all
cmake --build llvm-project/build -j4
cmake --install llvm-project/build
sudo apt-get install clang
cd llvm-project
cd llvm
sudo su
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_DIR=$(llvm-config --cmakedir) \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++
cmake --build build --config Release
cmake --install build --prefix=install

编译完成,释放临时增加的交换空间

swapoff -a

在树莓派上利用apache2建立多站点服务

https://www.jianshu.com/p/8a4a045da03d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

cd /etc/apache2/sites-available
cp 000-default.conf vhosts.conf
nano vhost.conf
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName cloud.nestpi.com
        ServerAlias cloud.nestpi.com
        DocumentRoot /var/www/cloud

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>


<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName www.nestpi.com
        ServerAlias nestpi.com
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>


# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
sudo ln -s  /etc/apache2/sites-available/vhosts.conf /etc/apache2/sites-enabled/
service apache2 restart

修改ddns解析配置config.json

{
  "$schema": "https://ddns.newfuture.cc/schema/v2.8.json",
  "debug": false,
  "dns": "alidns",
  "id": "LTAI",
  "index4": "default",
  "index6": "default",
  "ipv4": [],
  "ipv6": [
    "nestpi.com",
    "cloud.nestpi.com"
  ],
  "proxy": null,
  "token": "ZOGs",
  "ttl": null
}

如需改变默认网站根目录(/var/www),则需要修改文件apache2.conf 和000-default.conf(注意html目录)