在FreeBSD 12 里安装openwebmail

系统是FreeBSD 12 64位。

1.pkg install postfix # 安装postfix,替换默认的sendmail

2.vi /etc/rc.conf # 编辑配置文件,禁用sendmail

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
postfix_enable="YES"

3.service sendmail stop # 停掉sendmail

4.newaliases

5.service postfix start # 启动 postfix

6.vi /etc/periodic.conf # 编辑配置文件

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

7.pkg install apache24 # 安装 apache24

8.pkg install p5-CGI.pm # 安装Perl的cgi

9.pkg install openwebmail # 安装 openwebmail
freebsd-openwebmail-6.png

10.vi /usr/local/etc/apache24/httpd.conf # 编辑 apache 的配置文件,启用 mod_cgi.so 模块,添加一个新站点设置,如

<VirtualHost *:80>
    DocumentRoot "/usr/local/www/data"
    ServerName drs2.anqun.org
    ErrorLog "/var/log/dummy-drs2.anqun.org-error_log"
    
    <Directory />
        AllowOverride none
         Require all granted
    </Directory>
    
    <Directory "/usr/local/www/data">
        AllowOverride none
        Require all granted
    </Directory>

    ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"
    <Directory "/usr/local/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    
    AddHandler cgi-script .pl
    
    DirectoryIndex index.html openwebmail.pl
</VirtualHost>

11.sysrc apache24_enable="YES" # 启用 apache24 服务

12.service apache24 start # 启动 apache

13.adduser # 添加一个普通用户,加到wheel组中

14.在浏览器里访问cgi-bin目录,如 http://drs2.anqun.org/cgi-bin/openwebmail , 登录
freebsd-openwebmail-1.png

15.首次登录会提示设置基本信息
freebsd-openwebmail-2.png

16.发信正常
freebsd-openwebmail-4.png

17.收信正常
freebsd-openwebmail-5.png

参考:

在Ubuntu 16里安装 python 3.6 + uWSGI + Nginx

环境:Ubuntu 16 64位

1.apt update # 更新软件源

2.apt install software-properties-common # 为安装python3.6做准备,ubuntu16自带的是python3.5

3.add-apt-repository ppa:deadsnakes/ppa # 安装ppa

4.apt updat # 更新软件源

5.apt install python3.6 python3.6-dev # 安装python3.6及开发包

6.rm /usr/bin/python3 # 移除原有的python3.5链接

7.ln -s /usr/bin/python3.6 /usr/bin/python3 # 创建python3链接到python3.6

8.apt install mysql-server # 安装mysql数据库,设置密码

9.apt install mongodb # 安装 mongodb

10.apt install python3-pip # 安装 python3-pip

11.apt python3-mysql.connector # 安装 mysql.connector

12.cd /mys/street_app_server/ # 切换到 app_server 文件所在的根目录

13.pip3 install -r requirements.txt # 安装依赖的python3包

14.create database CWS_APP; # 在mysql的命令行中,或在phpmyadmin中,创建 CWS_APP 数据库

15.python3 manage.py init # 初始化,会自动创建openluat_user和street_machine数据库及相应的数据表

16.python3 manage.py runserver # 如需测试,可运行

17.pip3 install uWSGI # 安装 uWSGI

18.apt install supervisor # 安装 supervisor,用来管理uWSGI

19.vi /etc/supervisor/conf.d/mys.conf # 创建新的 supervisor 配置文件,配置uWSGI运行,内容如下:

[program:uwsgi]
command=uwsgi --ini /mys/street_app_server/config/uwsgi_config.ini --listen 128
environment=production="1",FLASK_CONFIG="production"
startretries=8                ; max # of serial start failures (default 3)
stdout_logfile=/mys/log/uwsgi.log        ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=10MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=8     ; # of stdout logfile backups (default 10)
stderr_logfile=/mys/log/uwsgi.log        ; stderr log path, NONE for none; default AUTO
stderr_logfile_maxbytes=10MB   ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=8     ; # of stderr logfile backups (default 10)

20.service supervisor start # 启动 supervisor 服务

21.apt install nginx # 安装 nginx

22.vi /etc/nginx/sites-enabled/mys # 创建新站配置文件,内容如下:

server {
        listen 80;

        server_name szt.anqun.org;
        root /mys/;
        error_log /mys/log/mafunginx.error;

        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:33410; # 这里与uwsgi中的端口号相同
        }

        location ~* .txt {
            root /mys/streetweb;
            index index.html;
        }

        location /assets {
            root    /mys/streetweb;
            index index.html;
            autoindex       on;
        }

        location /adminpage/assets {
            root    /mys/streetweb;
            index index.html;
            autoindex       on;
        }

        location /adminpage/ {
            root /mys/streetweb;
            index index.html;
        }
    }

23.nginx -s reload # 重载nginx配置文件

24.在浏览器里访问 http://域名/adminpage/ 应该会显示登录界面,默认用户名是 15300002713 ,密码是 888888

25.如需配置数据库密码等,配置文件在 /mys/street_app_server/config 目录里

26.cd /mys # 转到包含有 emqttd-ubuntu16-64.zip 文件的目录,解压

27../emqttd/bin/emqttd start # 启动emqttd

参考:https://www.jianshu.com/p/3fb071d55d4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

电脑

过年想赖床,打算撸LOL游戏,想起很久之前京东寄回一张报修的主板,可以组个电脑主机,凑和着玩一下。

先在网上淘了个二手的CPU(G2358),然后翻出撸友给的一个旧机箱,从另一个8GB内存的主机里拆出一条4G的内存条,加上旧的电源和在双十一时买的固态硬盘,这样东拼西凑,可以“召唤神龙”了。台面放着显示器和鼠标,懒得收拾,连个组装的台面也不想腾出,将机箱横卧在凳子上,开始动手。

hp-jia-dian-nao-1.jpg

我用的第一台“电脑”,是接电视的一个键盘————“电脑学习机”。学习机还带有游戏手柄,可以插卡玩坦克大战、魂斗罗之类的游戏。1997年左右的初中电脑课,是学汉字输入,记五笔字根和排版。学习机那时要258元,挺贵的了。平时很节俭的老妈出钱给我买的。为了练汉字输入,我翻出小学的语文课本,对着一篇篇课文来逐字输入。还特意到书店买了一个巴掌大小的五笔反查字典,遇到打不出来的字,就查五笔字典。这样,坚持一段时间,慢慢地,输入汉字可以不看键盘,将双手的食指定位到F和J键,就可以凭着手指的位置打出相应的字根了。

我高考被录取的专业是护理学,且是外省的,家里人不建议读,返回高三复读。开始复读时,情绪较低落,因为熟悉的同学都外出读大学了,而我还在和平,虽然还是同一所中学,但老师是陌生的,坐在周围的同学也是陌生的。有时甚至不想去上课。周末会到附近的网吧上网。那时上网,基本就两个动作:登录QQ,加新好友,收看好友的留言;打开IE浏览器,登录邮箱,收发邮件。

大学时,对自己的证券专业不感兴趣,老往学校机房跑。舍友们在打CS时,我可能在测试免费的socks5,因为机房的网络在高峰时,QQ聊天会灰头像掉线。记得以前学校行政大楼“白宫”大厅入口侧摆放着一台可触摸的查询机,查询机默认显示学校的主页。我为了省钱,就“霸着”这查询机玩,将QQ目录复制到查询机里登录,还安装了网景浏览器看网页,交互输入用Windows 2000自带的屏幕键盘程序。班里的“歌神”看我一整天都挂在网上,宿舍里找不着我,来到行政楼大厅,强拉我到饭堂里吃东西。第二学期,我哥把他的奔腾二电脑给我用,显示器是美格的,Windows 98系统。第二学年的暑假我没回老家,呆在宿舍里玩电脑,平时热闹的宿舍楼,在暑假显得很静,这时打开电脑,听周惠的《约定》,偶尔拨号上网,登录下QQ,很享受。为了更近更方便地用电脑,和舍长走到学校附近的农民房里,花75元买了一张床上电脑桌,舍不得花钱坐摩托,是和舍长把电脑桌扛回来的。暑假买豆腐乳吃,省生活费。之后,舍长和上铺也有电脑了,我们就商量着拉网线。因为那时学校还没在宿舍楼里布网线,所以我们向中国电信报装宽带,512K的,不记得具体多少钱了,反正就是不便宜,幸好是几个人一起用(用路由器),可以分摊费用。天冷时,宿舍几个人,窝在同一个床铺里一集接一集地看《七龙珠》,或闹着要在舍长的新电脑上看日本爱情片,吓得舍长连忙摆手说不,说怕中电脑病毒。有宽带后,我几乎都粘在网上,除了聊QQ,还用雅虎通。在雅虎通上认识了不少的网友,如76、老太婆、月儿、leiyan、anan和claire。毕业前,没收入,但很想要一个刻录机,那时还厚着脸皮向76借钱买刻录机呢。毕业后,在找工业的彷徨日子里,anan没跟我说大道理,只是鼓励我,要坚持按着自己的个性争取往向好的方向发展。

时间较得真快,现在宽带是光纤可报装到家,速率是以前的百倍、千倍了。相对于时下流行的智能手机,电脑也不再是获取信息的便捷工具了,但我有的时候很想以前的网友。以前的网友显得真诚,热心。如教我要正确态度上网的macheng,从老远地方寄围巾给我的小姑娘,甚至还有在玉树地震时,问我有没事的美国网友"小乌鸦"。当雅虎中国停止邮箱业务时,我没及时导出邮件和联系人,现在找不着这些可爱的网友了。当我注册工商时,填写了一个已经确定千百次的名字————安群(电脑),心中曾许诺为进店的用户提供 部分免费人工服务(如装系统),希望藉此能让我记得这些真诚网友曾给予过我的帮助。祝福这些网友们。

在FreeBSD里扩容磁盘

使用dd命令向2TB容量的硬盘还原了一个31GB固定大小的vhd虚拟机磁盘文件,需将磁盘扩容。过程如下:

1.df -h # 查看当前磁盘使用情况,29GB
growing-disk-1.png

2.gpart show ada0 # 查看当前磁盘分区情况,显示 CORRUPT
growing-disk-2.png

3.gpart recover ada0 # 尝试修复,修改后剩余未分配容量显示正确
growing-disk-3.png

4.gpart resize -i 3 ada0 # 扩展第3分区,将所有未分配容量加到第3分区里
growing-disk-4.png

5.service growfs onestart # 启动 growfs 服务,自动完成扩展
growing-disk-5.png

6.再次使用df查看,正常显示系统可用容量
growing-disk-6.png

参考:

在FreeBSD里设置静态IP地址

环境是FreeBSD 12

1.ifconfig igb0 inet 144.172.126.32 netmask 255.255.255.0 # 为名称是 igb0 的网卡设置 144.172.126.32 的静态IPv4,掩码是255.255.255.0

2.route add default 144.172.126.1 # 设置默认网关为144.172.126.1

3.如需开机自动设置,请执行以下命令

echo 'ifconfig_igb0="inet 144.172.126.32 netmask 255.255.255.0"' >> /etc/rc.conf
echo 'defaultrouter="144.172.126.1"' >> /etc/rc.conf
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf

参考: