邮件系统extmail搭建手册

基础环境

系统环境:Centos6.10(本文主机名为mail.laokuoteng.com)

前提条件:

  1. 准备EMOS镜像,后续要挂载本地源使用(本文使用EMOS1.6)

    下载地址

  2. 内网已部署DNS服务器,可以正确解析出对应域名的MX记录、A记录
    3. 已完成时间校准(NTP)

  3. 创建vuser用户、vgroup组

    [root@mail ~]# groupadd -g 1000 vgroup
    [root@mail ~]# useradd -u 1000 -g 1000 -M vuser
    

搭建过程

一、安装httpd

先把其他yum配置文件全部备份

[root@mail ~]# cd /etc/yum.repos.d/ ;for i in $(ls);do mv $i $i.bak; done
[root@mail yum.repos.d]# ls
CentOS-Base.repo.bak  CentOS-Debuginfo.repo.bak  CentOS-fasttrack.repo.bak  CentOS-Media.repo.bak  CentOS-Vault.repo.bak

本文使用搜狐的网络源,或使用Centos6 iso文件作为本地源也可以

[root@mail yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.sohu.com/centos/6.10/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.sohu.com/centos/6.10/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.sohu.com/centos/6.10/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.sohu.com/centos/6.10/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-6
[root@mail yum.repos.d]# yum clean all
[root@mail yum.repos.d]# yum makecache

安装httpd

[root@mail ~]# yum -y install httpd

备份网络源并挂载EMOS作为本地源使用

[root@mail yum.repos.d]# ls
CentOS-Base.repo  CentOS-Base.repo.bak  CentOS-Debuginfo.repo.bak  CentOS-fasttrack.repo.bak  CentOS-Media.repo.bak  CentOS-Vault.repo.bak
[root@mail yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak1
[root@mail ~]# mount -o loop EMOS_1.6_x86_64.iso /mnt
[root@mail ~]# vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
[root@mail yum.repos.d]# yum clean all && yum makecache

二、配置postfix(邮件系统核心)

先卸载perl、mysql-libs,否则安装时会报错

PS:卸载之后vim会失效,可以卸载vim-common后重新安装vim

[root@mail ~]# yum remove perl perl-devel mysql-libs
[root@mail ~]# yum -y install postfix mysql-server

修改postfix配置

[root@mail ~]# postconf -n > /etc/postfix/main2.cf       ##查看当前配置
[root@mail ~]# mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
[root@mail ~]# mv /etc/postfix/main2.cf /etc/postfix/main.cf
[root@mail ~]# vim /etc/postfix/main.cf
————————————————————————添加内容————————————————————————
mynetworks = 127.0.0.1,192.168.60.0/22     ##表示信任网段
myhostname = mail.laokuoteng.com           ##主机名
mydestination = $mynetworks $myhostname        ##只接受收件人来自自己域名的邮件
mail_name = Postfix - by laokuoteng            ##显示在headers、SMTP 问候横幅和退回邮件中的邮件系统名称
smtpd_banner = $myhostname ESMTP $mail_name    ##SMTP 问候横幅中 220 状态代码之后的文本
smtpd_error_sleep_time = 0s            ##SMTP 服务器在发送拒绝(4xx 或 5xx)响应之前的延迟
message_size_limit = 5242880       ##邮件最大尺寸
mailbox_size_limit = 5242880       ##任何本地个人邮箱或 maildir 文件的最大大小,或零(无限制)
show_user_unknown_table_name = no  ##在“User unknown”响应中显示收件人表的名称
bounce_queue_lifetime = 1d         ##退回的邮件重新投递的最长时间
maximal_queue_lifetime = 1d            ##postfix在放弃投递而返回不可投递信息前,被延迟邮件再deferred邮件队列中的生存时间
maildrop_destination_recipient_limit = 1   ##maildrop投递消息的最大收件人数virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf   ##虚拟别名数据库
virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf##SMTP服务器使用此参数验证收件人地址, 并拒绝不存在的收件人的邮件
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf  ###虚拟邮箱查询表
virtual_transport=maildrop:            ##用于投递邮件到虚拟邮箱地址的默认传输服务(虚拟mda)
smtpd_recipient_restrictions=      ##反垃圾邮件相关permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_hostname,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unauth_destination,reject_unauth_pipelining,reject_invalid_hostname,
smtpd_sender_restrictions=         ##反垃圾邮件相关permit_mynetworks,reject_sender_login_mismatch,reject_authenticated_sender_login_mismatch,reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps=           ##设定寄件地址与sasl登录身份的对应关系,只能使用本域地址避免使用其他寄件地址mysql:/etc/postfix/mysql_virtual_sender_maps.cf,mysql:/etc/postfix/mysql_virtual_alias_maps.cf
broken_sasl_auth_clients = yes     ##支持非标准验证规定的行为
smtpd_sasl_auth_enable = yes       ##启动sasl 验证
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous  ##指定密码验证机制(除noanonymous) 所有可用机制
————————————————————————done————————————————————————
[root@mail ~]# chkconfig postfix on

三、配置courier(postfix的认证模块)

安装并配置courier

[root@mail ~]# yum -y install courier-authlib courier-authlib-mysql
[root@mail ~]# echo "" > /etc/authlib/authmysqlrc
[root@mail ~]# vim  /etc/authlib/authmysqlrc
————————————————————————添加内容————————————————————————
MYSQL_SERVER            localhost       ##数据库地址
MYSQL_USERNAME          extmail         ##数据库用户名
MYSQL_PASSWORD          extmail         ##数据库密码
MYSQL_SOCKET            /var/lib/mysql/mysql.sock   ##数据库套接字文件路径
MYSQL_PORT              3306            ##数据库端口
MYSQL_DATABASE          extmail         ##数据库名称
MYSQL_USER_TABLE        mailbox         ##存放用户数据表名称
MYSQL_CRYPT_PWFIELD     password        ##用户密码字段
MYSQL_UID_FIELD         uidnumber       ##指定访问进程的UID
MYSQL_GID_FIELD         gidnumber       ##指定访问进程的GID
MYSQL_LOGIN_FIELD       username        ##用户账号字段
MYSQL_HOME_FIELD        homedir         ##指定用户家目录位置
MYSQL_NAME_FIELD        name            ##用户名称字段
MYSQL_MAILDIR_FIELD     maildir         ##用户邮箱目录字段
MYSQL_QUOTA_FIELD       quota           ##用户邮箱限额字段
MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,\CONCAT('/home/domains/',homedir),\CONCAT('/home/domains/',maildir),\quota,name FROM mailbox \                                                WHERE username = '$(local_part)@$(domain)'
##数据库查询语句,PS:此处的 \ 需删除,拼成一条查询语句
————————————————————————done————————————————————————
[root@mail ~]# vim /etc/authlib/authdaemonrc
————————————————————————修改内容————————————————————————
(命令模式):27
authmodulelist="authmysql"           ##指定认证模块
(命令模式):34
authmodulelistorig="authmysql"       ##指定认证原始模块
————————————————————————done————————————————————————

启动courier

[root@mail ~]# service courier-authlib start
[root@mail ~]# chkconfig courier-authlib on
[root@mail ~]# chmod 755 /var/spool/authdaemon/

四、配置maildrop(本地邮件投递代理)

安装并配置maildrop

[root@mail ~]# yum -y install maildrop
[root@mail ~]# vim /etc/postfix/master.cf
————————————————————————新增内容————————————————————————
maildrop  unix  -       n       n       -       -       pipeflags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}
————————————————————————done————————————————————————

五、配置httpd

修改httpd配置文件

[root@mail ~]# vim /etc/httpd/conf/httpd.conf
————————————————————————新增内容————————————————————————
(命令模式):$
NameVirtualHost *:80
Include conf/extmailweb.conf
————————————————————————done————————————————————————
[root@mail ~]# vim /etc/httpd/conf/extmailweb.conf
————————————————————————新增内容————————————————————————
<VirtualHost *:80>ServerName mail.laokuoteng.com      ##按实际修改主机名ServerAlias 192.168.60.112            ##按实际修改网卡IPDocumentRoot /var/www/extsuite/extmail/html/ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi/Alias /extmail /var/www/extsuite/extmail/html/ScriptAlias /extman/cgi/ /var/www/extsuite/extman/cgi/Alias /extman /var/www/extsuite/extman/htmlSuexecUserGroup vuser vgroup
</VirtualHost>
————————————————————————done————————————————————————
[root@mail ~]# chkconfig httpd on

六、配置extmail web界面

[root@mail ~]# yum -y install extsuite-webmail
[root@mail ~]# cd /var/www/extsuite/extmail/
[root@mail extmail]# cp webmail.cf.default webmail.cf
[root@mail extmail]# vim webmail.cf
————————————————————————修改内容————————————————————————
(命令模式):139
SYS_MYSQL_USER = extmail
(命令模式):140
SYS_MYSQL_PASS = extmail
(命令模式):141
SYS_MYSQL_DB = extmail
————————————————————————done————————————————————————
[root@mail extmail]# chown -R vuser:vgroup /var/www/extsuite/extmail/cgi
[root@mail extmail]# yum -y install extsuite-webman
[root@mail extmail]# chown -R vuser:vgroup /var/www/extsuite/extman/cgi/
[root@mail extmail]# mkdir /tmp/extman
[root@mail extmail]# chown -R vuser:vgroup /tmp/extman
[root@mail extmail]# service mysqld start
[root@mail extmail]# chkconfig mysqld on

七、数据库配置

修改init.sql里面的默认域名,导入数据库。

[root@mail extmail]# sed -i 's#extmail\.org#laokuoteng\.com#g' /var/www/extsuite/extman/docs/init.sql     ##此处laokuoteng和后缀修改成想要的域名
[root@mail extmail]# mysql -uroot -p < /var/www/extsuite/extman/docs/extmail.sql
[root@mail extmail]# mysql -uroot -p < /var/www/extsuite/extman/docs/init.sql

拷贝mysql功能配置文件到postfix。给extmail用户分配数据库权限

[root@mail docs]# cd /var/www/extsuite/extman/docs/
[root@mail docs]# cp mysql_virtual_alias_maps.cf /etc/postfix/
[root@mail docs]# cp mysql_virtual_domains_maps.cf /etc/postfix/
[root@mail docs]# cp mysql_virtual_mailbox_maps.cf /etc/postfix/
[root@mail docs]# cp mysql_virtual_sender_maps.cf /etc/postfix/
[root@mail docs]# mysql -uroot -p
mysql> grant all privileges on extmail.* to 'extmail'@'localhost';
mysql> flush privileges;
[root@mail docs]# service postfix start

生成邮件存放目录结构

[root@mail ~]# /var/www/extsuite/extman/tools/maildirmake.pl /home/domains/laokuoteng.com/postmaster/Maildir
[root@mail ~]# chown -R vuser:vgroup /home/domains

验证数据库授权

[root@mail ~]# authtest -s login postmaster@laokuoteng.com extmail
Authentication succeeded.Authenticated: postmaster@laokuoteng.com  (uid 1000, gid 1000)Home Directory: /home/domains/laokuoteng.com/postmasterMaildir: /home/domains/laokuoteng.com/postmaster/Maildir/Quota: 104857600S
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmailOptions: (none)

此时可以使用浏览器访问mail.laokuoteng.com,加上后缀 /extman 则可以访问控制台

控制台登录账号为 root@laokuoteng.com,密码默认为 extmail*123*

登录控制台后若提示Connection refused,解决方法如下:

[root@mail ~]# pkill cmdserver && /var/www/extsuite/extman/daemon/cmdserver --daemon

八、配置图形化日志

初始化图形日志

[root@mail ~]# /usr/local/mailgraph_ext/mailgraph-init start
[root@mail ~]# pkill cmdserver && /var/www/extsuite/extman/daemon/cmdserver --daemon

加入计划任务

[root@mail ~]# crontab -e
————————————————————————新增内容————————————————————————
0 4 * * * /var/www/extsuite/extman/tools/expireusers.pl -all postmaster@laokuoteng.com
30 4 * * * /var/www/extsuite/extman/tools/reportusage.pl -all /home/domains postmaster@laokuoteng.com
————————————————————————done————————————————————————

九、配置cyrus-sasl(smtp授权认证)

卸载原有cyrus-sasl,从本地源中安装cyrus-sasl

[root@mail ~]# rpm -qa | grep cyrus | xargs rpm -e --nodeps
[root@mail ~]# rpm -ivh /mnt/EMOS/cyrus-sasl/RPMS/cyrus-sasl-*

修改配置文件

[root@mail ~]# vim /usr/lib64/sasl2/smtpd.conf
————————————————————————修改内容,若无则新增————————————————————————
pwcheck_method:authdaemond      ##认证模式
log_level:3         ##日志级别
mech_list:PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
————————————————————————done————————————————————————

测试smtp认证,先生成加密后的账号密码用于登录

[root@mail ~]# perl -e 'use MIME::Base64;print encode_base64("postmaster\@laokuoteng.com")'
cG9zdG1hc3RlckBsYW9rdW90ZW5nLmNvbQ==
[root@mail ~]# perl -e 'use MIME::Base64;print encode_base64("extmail")'
ZXh0bWFpbA==
[root@mail ~]# telnet localhost 25
ehlo demo.domail.tld
#输入后有反馈内容才是正常
#250-mail.laokuoteng.com
#250-PIPELINING
#250-SIZE 5242880
#250-VRFY
#250-ETRN
#250-AUTH PLAIN LOGIN
#250-AUTH=PLAIN LOGIN
#250-ENHANCEDSTATUSCODES
#250-8BITMIME
#250 DSN
auth login
cG9zdG1hc3RlckBsYW9rdW90ZW5nLmNvbQ==
ZXh0bWFpbA==
#出现235 2.7.0 Authentication successful时表示认证成功

十、配置POP3认证

安装courier-imap,并屏蔽IMAP协议(由于Courier-imap的IMAP目录是按UTF-7编码的,Extmail目前还没有正式支持IMAP目录)

[root@mail ~]# vim /usr/lib/courier-imap/etc/imapd
————————————————————————修改内容————————————————————————
IMAPDSTART=NO
————————————————————————done————————————————————————
[root@mail ~]# vim /usr/lib/courier-imap/etc/imapd-ssl
————————————————————————修改内容————————————————————————
IMAPDSSLSTART=NO
————————————————————————done————————————————————————
[root@mail ~]# service courier-imap restart
[root@mail ~]# telnet localhost 110
#Trying 127.0.0.1...
#Connected to localhost.
#Escape character is '^]'.
#+OK Hello there.
user xrq@laokuoteng.com
#+OK Password required.
pass xrq
#+OK logged in.表示认证成功

十一、配置邮件过滤

tips:amavisd工作流程

Postfix在25端口接收一封电子邮件,将其传递到端口10024上的amavisd-new,然后调用ClamAV和SpamAssassin,之后,amavisd-new将邮件重新注入到端口10025上的Postfix,然后终端提供邮件(如果是干净的)

安装、配置amavis

[root@mail ~]# yum -y install amavisd-new perl-Convert-BinHex
[root@mail ~]# chown -R amavis.amavis /var/spool/vscan/
[root@mail ~]# service amavisd start
[root@mail ~]# chkconfig amavisd on

安装、配置ClamAV

[root@mail ~]# yum -y install clamav clamd clamav-db
[root@mail ~]# gpasswd -a clamav amavis        ##将clamav用户加入amavis组
[root@mail ~]# usermod -G amavis clamav        ##修改clamav的附加组
[root@mail ~]# chown amavis.amavis /var/spool/vscan
[root@mail ~]# chmod 750 /var/spool/vscan
[root@mail ~]# chown amavis.amavis /var/spool/vscan/tmp
[root@mail ~]# chmod 750 /var/spool/vscan/tmp
[root@mail ~]# service clamd start
[root@mail ~]# freshclam --daemon      ##设置clamd开机自启

修改amavisd配置,

配置文件详解

[root@mail ~]# vim /etc/amavisd/amavisd.conf
————————————————————————修改内容,若无则新增————————————————————————
$mydomain = 'laokuoteng.com';
$db_home   = "$MYHOME/db";
$lock_file = "$MYHOME/amavisd.lock";
$pid_file  = "$MYHOME/amavisd.pid";
$myhostname = 'mail.laokuoteng.com';
@local_domains_maps = qw(.);
@mynetworks = qw( 127.0.0.0/8 );
$policy_bank{'MYNETS'} = {originating => 1,
os_fingerprint_method => undef,
allow_disclaimers => 1,
bypass_spam_checks_maps => [1],
bypass_banned_checks_maps => [1],
bypass_header_checks_map => [1],
};
$sa_spam_modifies_subj = 0;
$remove_existing_x_scanned_headers = 1;
$remove_existing_spam_headers = 1;
$final_virus_destiny      = D_DISCARD;
$final_banned_destiny     = D_DISCARD;
$final_spam_destiny       = D_PASS;
$final_bad_header_destiny = D_PASS;
@av_scanners = (['ClamAV-clamd',\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],qr/\nOK$/, qr/\bFOUND$/,qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
————————————————————————done————————————————————————

配置postfix集成amavisd-new

[root@mail ~]# vim /etc/postfix/aliases
————————————————————————新增内容————————————————————————
virusalert:     root
spam.police:    root
————————————————————————done————————————————————————
[root@mail ~]# newaliases
[root@mail ~]# service amavisd restart
[root@mail ~]# vim /etc/postfix/master.cf
————————————————————————新增内容————————————————————————
smtp-amavis  unix  -       -       n       -       3       smtp-o smtp_data_done_timeout=1200-o smtp_send_xforward_command=yes-o disable_dns_lookups=yes-o max_use=10127.0.0.1:10025  inet  n       -       n       -       -       smtpd-o content_filter=-o local_recipient_maps=-o relay_recipient_maps=-o smtpd_restriction_classes=-o smtpd_client_restrictions=-o smtpd_helo_restrictions=-o smtpd_sender_restrictions=-o smtpd_recipient_restrictions=permit_mynetworks,reject-o mynetworks=127.0.0.0/8-o strict_rfc821_envelopes=yes-o smtpd_error_sleep_time=0-o smtpd_soft_error_limit=1001-o smtpd_hard_error_limit=1000-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
————————————————————————done————————————————————————
[root@mail ~]# vim /etc/postfix/main.cf
————————————————————————新增内容————————————————————————
content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
————————————————————————done————————————————————————
[root@mail ~]# service postfix restart
[root@mail ~]# service amavisd restart

排错帮助

一、常用日志

[root@mail ~]# tail -f /var/log/messages        ##系统日志
[root@mail ~]# tail -f /var/log/maillog            ##邮件日志
[root@mail ~]# tail -f /var/log/clamav/clamd.log   ##clamav相关
[root@mail ~]# tail -f /var/log/clamav/freshclam.log   ##clamav相关

二、postfix常用命令

[root@mail ~]# postqueue -p     ##信件列表
[root@mail ~]# postcat -q Queue_ID         ##信件内容
[root@mail ~]# postsuper -d Queue_ID   ##删除信件
[root@mail ~]# postsuper -d ALL    ##删除全部信件
[root@mail ~]# postsuper -h Queue_ID   ##扣住信件
[root@mail ~]# postsuper -H Queue_ID   ##回复信件
[root@mail ~]# postconf -n     ##查看当前生效配置

三、部件测试命令

 [root@mail ~]# amavisd -d config debug     ##测试amavisd[root@mail ~]# spamassassin -D --lint       ##测试spam[root@mail ~]# maildrop -V 10 -d [email\]test@test.com[/email]        ##测试maildrop

邮件系统extmail搭建手册相关推荐

  1. 服务器搭建邮件自动回复,在postfix邮件系统上搭建自动回复邮件系统

    在postfix邮件系统上搭建自动回复邮件系统 一, 修改Postfix 的相关配置文件 1, 修改master.cf vi /etc/postfix/master.cf 添加如下两行(添加一服务) ...

  2. gitee如何搭建mysql_MySQL高可用架构集群环境搭建手册.md

    # MySQL高可用架构集群环境搭建手册 ## 环境准备 ### 机器规划 | 节点 | IP | 配置 | 角色 | | -------- | -------------- | ---- | --- ...

  3. 基于虚拟帐号的邮件系统extmail(1)

    基于虚拟帐号的邮件系统extmail 如果你经常使用邮箱的话, 你发现像网易.163等邮箱都是通过使用网页直接申请并且使用的,它提供给用户一种更快捷方便的操作,但我们前面所讲的sendmail与pos ...

  4. K8S 1.8 平台搭建手册

    K8s平台搭建手册 1搭建环境说明 2安装步骤 2.1初始化环境 在每台服务器上执行 #编辑每台服务器的 /etc/hosts 文件,配置hostname 通信 vi /etc/hosts192.16 ...

  5. MySQL 5.7.17 Group Relication(组复制)搭建手册【转】

    本博文介绍了Group Replication的两种工作模式的架构. 并详细介绍了Single-Master Mode的部署过程,以及如何切换到Multi-Master Mode. 当然,文末给出了G ...

  6. XuperChain多节点搭建手册

    XuperChain多节点搭建手册 相关环境配置 Github源码下载及版本切换 多节点搭建 POW多节点到tdpos多节点的共识切换 相关环境配置 1.docker安装 2.g++.gcc安装 3. ...

  7. Kubernatesv1.21.2集群搭建手册

    Kubernatesv1.21.2集群搭建手册 Kubernetes安装及相关环境搭建手册,以下步骤所有机器都要执行 一.前期准备 1)前提条件 三台兼容的 Linux 主机.Kubernetes 项 ...

  8. Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)

    Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本) 0 安装前准备工作 0.1 安装包下载 组件 安装包 下载地址 es elasticsearch-8 ...

  9. postfix邮件系统搭建手册(openldap)

    1 Postfix邮件系统介绍 1.1 Postfix邮件系统介绍 Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix是Wietse V ...

  10. 流行的邮件系统--extmail

    目前邮件服务器中,想要拥有自己的邮件服务器,单单使用senmail,postfix已经不能满足用户的需求了,越来越多的企业使用extmail在搭建企业级的邮件服务器. 而我们使用的邮件服务器需要满足什 ...

最新文章

  1. linux中system清屏命令,Linux磁盘管理命令
  2. iptables基础知识.详解
  3. 忽然看懂了《大话西游》
  4. python——前端常用的标签
  5. linux下安装rar解压包
  6. 2021年中国船舶甲板市场趋势报告、技术动态创新及2027年市场预测
  7. ASP.NET配置FCKeditor文本编辑器
  8. 如何检查linux 下是否安装java(jdk)环境
  9. Python读取 csv文件中文乱码处理
  10. [云原生专题-3]:云平台 - 云计算平台快速入门
  11. 云优CMS批量翻译插件
  12. 星际争霸环境旧版本replay回放无法观看问题
  13. 基于vue+百度地图的多车实时运动及轨迹追踪实现(上帝视角篇)
  14. js 判断手势_JS触摸与手势事件详解
  15. 挖个大坑:挑战用纯micropython写一个nes模拟器(一)
  16. boost入门(一):boost简介
  17. Python Flask 学习笔记 —— 二(路由,视图函数,jinjia2语法)
  18. 如何给PDF文件加密?PDF加密的3种方法
  19. C语言算法题:一只小蜜蜂...
  20. 台湾科技挣扎,人祸大于天灾?

热门文章

  1. 数据结构与算法(总结)
  2. c语言编写转动惯量的数据处理函数,【物理实验】C语言处理刚体惯量数据,上物理实验的戳进.省90......
  3. 家里计算机网络布局图,图解八种家庭网络常规布局优缺点
  4. linux每周2 4 6执行定时任务,linux计划任务crontab例子
  5. Couchbase使用入门
  6. ember.js mysql_Ember.js 入门指南——控制器(controller)
  7. 九种流行木马的发现和清除
  8. 基于BP神经网络的PID控制器
  9. HTML代码 网页设置 QQ空间等分享
  10. 视频格式转换软件哪个快又好用?视频转换器苹果mac版推荐