开发者社区> 余二五> 正文

postfix+mysql+courier-authlib+extmail+extman搭建企业邮箱

简介:
+关注继续查看

因为公司规模要扩大,然后经理要求公司应该有自己的邮件系统。然后主动请命说我来搭建,因为以前没有搭建过,或者学过原理搭建起来很费劲,看着人家的文档做,也是不知道什么意思,还还常出错。在纠结两天之后,开始静下心来学习一下邮件服务器的工作原理:

wKiom1Ry8vjSw6zjAAD21bkILPQ802.jpg

1、mail服务器是遵循c/s架构的模型。我们先来了解一下mail这个的工作过程(MTA要开启中继):

(1)本地客户端(MUA)编写邮件地址。然后发送到哪个域名,

(2)发送到邮件服务器(MTA).邮件服务器判断是否是本地的主机。是的话就投递本地(MDA).

(3)要是是不是本地的主机。那么就通过SMTP协议发送到远端。(SMTP带有路由功能)

(4)对方的SMTP接收邮件,并放到一个固定的目录下面。

(5)客户端通过pop3协议把邮件从固定目录,放到自己的目录下、进行读取。

2、好了上面就是一个简单的工作过程,下面我们看一下每一个过程分别需要什么软件来实现。

MUA:outlook.foxmail.mutt(选择poxmail--我们的QQ邮箱)

MTA:qmail、postfix、exim、exchange(选择postfix)

     选项用户登录的人在方式:SASL:v2

                cyrus-sasl

                courier-authlib

MDA:procmail、maildrop

企业基于网页认证:

        openwebmail、Extmail(Extman)

当然我们保存用户信息。这里选择的是Mysql。

3、下面就可以开始搭建这个环节了:

(1)首先搭建好LAMP环境,这里我选择的是源码编译安装(这一步大家都了解,忽略):

mysql =/usr/local/mysql

apache=/usr/local/apache

php=/usr/local/php

(2)搭建bind。做域名解析,因为邮件要用到MX记录,所以要搭建一个DNS服务器,要有MX、A记录和PTR记录。当然在现实环境中要是你能有环境解析可以不用搭建,这里我是为了测试,先搭建环境,然后再放到公网上面应用。

直接用yum安装的方式。具体的步骤大家可以自己安装,这里我给出自己的两个库的配置文件:

wKioL1Ry-S2xKIe2AAD2R6aN-P0756.jpg


第二个:反省解析文件:

wKioL1Ry-ZzRSnafAAD2R6aN-P0469.jpg

然后自己做解析设置看看能不能解析到这个地址。注意/etc/resolv.conf的nameserver要指向自己。

(3)编译安装postfix。这里我选择的是postfix-2.2.10.tar.gz这个版本:

1、操作的用户和组:

1
2
3
4
groupadd -g 2525 postfix  
useradd -g postfix -u 2525 -s /sbin/nologin -M postfix 
groupadd -g 2526 postdrop 
useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop

2、编译安装postfix:

1
[root@localhost postfix-2.2.10]#  make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include -DUSE_SASL_AUTH - DUSE_CYRUS_SASL - I/usr/include/sasl  -DUSE_TLS ' 'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2  -lssl -lcrypto'

[root@localhost postfix-2.2.10]# make  

[root@localhost postfix-2.2.10]# make  install 

wKioL1Ry-8-iBDfGAAFbFMnsNSs627.jpg

会出现上面这种信息,一直选默认就好。然后记得按照自己的mysql的安装的头文件的库文件的路径来,有时候会提示找不到头文件或者库文件,自己做个链接过去就好。

2、启动:postfix  start即可。

3、在shell界面下使用newaliases 将 /etc/aliases 转换成一个 sendmail 所能了解的数据库.不然后面测试时用不了的。

4、测试:新建两个用户user1和user2分别给他们密码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@mail src]# telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
helo localhost
250 mail.shihuasuan.com
mail from:xiaoluo@shikee.com
250 Ok
rcpt to:user2@shikee.com
250 Ok
data
354 End data with <CR><LF>.<CR><LF>

1
2
3
4
250 Ok: queued as AE2FE262964
quit
221 Bye
Connection closed by foreign host.


不报错的话一般都是表示成功了:我们看一下日志:tail /var/local/maillog

1
2
3
4
5
Nov 24 17:39:16 mail postfix/smtpd[10425]: AE2FE262964: client=localhost[127.0.0.1]
Nov 24 17:39:23 mail postfix/cleanup[10430]: AE2FE262964: message-id=<20141124093916.AE2FE262964@mail.shihuasuan.com>
Nov 24 17:39:23 mail postfix/qmgr[10175]: AE2FE262964: from=<xiaoluo@shikee.com>, size=337, nrcpt=1 (queue active)
Nov 24 17:39:25 mail postfix/smtpd[10425]: disconnect from localhost[127.0.0.1]
Nov 24 17:39:27 mail postfix/smtp[10432]: AE2FE262964: to=<user2@shikee.com

可以看到是不成功的,因为我是用我的线上环境些出来的。我关闭了中继的功能,只有通过认证才实现,这里我从别人那里截了一个图过来:

wKiom1Ry_mSRGey3AAUMY4jSnEA891.jpg这里没有编辑配置文件照样是能够测试成功的。当时当我们用别的计算机telnet到这个地方来的时候是不能发送邮件的,因为postfix默认是给localhost做中继的,要是局域网内的计算机都能使用。这里还要做如下配置:

5、

1
2
3
4
5
6
7
[root@localhos~]# vim /etc/postfix/main.cf  
myhostname = mail.shikee.com  
myorigin = shikee.com  
mydomain =shikee.com  
mydestination = $myhostname, localhost.$mydomain,  localhost, $mydomain  
mynetworks = 192.168.10.0/24, 127.0.0.0/8  
inet_interfaces = all

6、现在可以局域网的机器.tenlnet访问看看是否已经可以了。

7、 为postfix开启基于cyrus-sasl的认证功能(注:有的可能没有-a这个选项,不过没有关系,你自己编译的时候有加这个就好了。)

1
2
3
[root@mail ~]# postconf  -a  
cyrus  
dovecot

8、验正postfix是否支持cyrus风格的sasl认证,如果您的输出为以上结果,则是支持的,其实很简单,在main.cf中添加如下内容。

1
2
3
4
5
6
7
8
9
10
11
vi /etc/postfix/mail.rc
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!
[root@mail /]# vi /usr/lib64/sasl2/smtpd.conf 
  pwcheck_method: saslauthd  
   mech_list: PLAIN LOGIN

9、测试用户认证。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@mail ~]# telnet localhost 25  
Trying 192.168.10.205...  
Connected to mail.shihuasuan.com (192.168.10.205).  
Escape character is '^]'.  
220 Welcome to our mail.shihuasuan.com ESMTP,Warning: Version not Available!  
AUTH LOGIN      #注意一定要加这个,不然验证不通过。我在这里纠结了好久
334 VXNlcm5hbWU6  
aGFkb29w            #使用base64编码 echo -n "hadoop" | openssl base64  (这里是用户。下一个是密码)
334 UGFzc3dvcmQ6  
aGFkb29w 
235 2.7.0 Authentication successful  
mail from:hadoop@shihuasuan.com  
250 2.1.0 Ok  
rcpt to:xiaoluo@shiahusuan.com  
250 2.1.5 Ok  
data  
354 End data with <CR><LF>.<CR><LF>  
hello

1
2
3
4
250 2.0.0 Ok: queued as 7B98E13DADA  #基于验证,并能发信成功 
quit  
221 2.0.0 Bye  
Connection closed by foreign host.



到了这一部,初步的postfix基于。sasl认证我们已经做完了,下面就开始搭建courier-authlib基于mysql的用户登录认证:

10、安装courier-authlib:(安装之前要确保libtool-ltdl, libtool-ltdl-devel,已安装上。)

1
2
[root@mail courier-authlib-0.62.4]# ./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc --without-authpam  --without-authshadow --without-authvchkpw --without-authpgsql --with-authmysql  --with-mysql-libs=/usr/local/mysql/lib --with-mysql-includes=/usr/local/mysql/include --with-redhat  --with-authmysqlrc=/etc/authmysqlrc   --with-authdaemonrc=/etc/authdaemonrc --with-mailuser=postfix --with-mailgroup=postfix 
[root@mail courier-authlib-0.62.4]# make && make install

这里一定注意的是要记得加--with-mailuser和--with-mailgroup。不然到后面安装maildrop接收邮件的时候会报这个类似权限不够的错误。

如:temporary failure. Command output: ERR: authdaemon: s_connect() failed: Permission denied /usr/local/bin/maildrop: Temporary authentication failure.

 mysql的头文件和库文件的路径根据自己的需求改。我这里是源码安装。yum安装的话自己改路径。

10.1、修改文件支持mysql认证:

1
2
3
4
[root@mail ~]# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon/ #(soket路径)
[root@mail ~]# cp /etc/authdaemonrc.dist  /etc/authdaemonrc 
[root@mail ~]# cp /etc/authmysqlrc.dist  /etc/authmysqlrc 
[root@mail ~]# vim /etc/authdaemonrc
1
2
authmodulelist="authmysql"  #认证机制为mysql
authmodulelistorig="authmysql"


10.2基于mysql来认证用户的账号和密码

请参照下边内容进行修改

1
<span style="font-family:arial, helvetica, sans-serif;font-size:16px;">[root@mail ~]# vim /etc/authmysqlrc <br>MYSQL_SERVER localhost <br>MYSQL_PORT 3306               <br>MYSQL_USERNAME  extmail      <br>MYSQL_PASSWORD extmail        <br>MYSQL_SOCKET  /tmp/mysql.sock <br>MYSQL_DATABASE  extmail <br>MYSQL_USER_TABLE  mailbox <br>MYSQL_CRYPT_PWFIELD  password <br>MYSQL_UID_FIELD  '2525'       <br>#GID 一定要与前边的组ID相一致  MYSQL_GID_FIELD  '2525' <br>MYSQL_LOGIN_FIELD  username <br>MYSQL_HOME_FIELD  concat('/var/mailbox/',homedir) <br>MYSQL_NAME_FIELD  name<br>MYSQL_MAILDIR_FIELD  concat('/var/mailbox/',maildir)# 邮件存放路径自己按需求修改。<br></span>

根据上面的模板修改就可以了,注意不要把库弄错了,因为后面我新建的库是extmail,大家可以自己指定。

为了方便复制脚本到./etc/init.d/目录下。

1
2
3
4
5
6
7
[root@mail ~]# cd courier-authlib-0.64.0 
[root@mail courier-authlib-0.62.4]# cp courier-authlib.sysvinit  /etc/rc.d/init.d/courier-authlib 
[root@mail courier-authlib-0.62.4]#  chmod +x   /etc/rc.d/init.d/courier-authlib 
[root@mail courier-authlib-0.62.4]# chkconfig  --add courier-authlib 
[root@mail courier-authlib-0.62.4]# chkconfig  courier-authlib on 
[root@mail courier-authlib-0.62.4]# service courier-authlib start 
不报错的话启动成功。

10.3、建立存放文件目录,也配置认证:(smtpd文件不一定存在,要自己创建)

1
2
3
4
5
6
7
[root@mail ~]# mkdir -pv /var/mailbox 
[root@mail ~]# chown -R postfix /var/mailbox 
[root@mail ~]# vim /usr/lib64/sasl2/smtpd.conf  
  pwcheck_method: authdaemond 
  log_level: 3 #日志级别,先调试为3,方便查看调试信息,成功后设为1
  mech_list:PLAIN LOGIN 
  authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

10.4、编辑postfix文件,让用户支持虚拟用户:(直接复制即可)

1、编辑/etc/postfix/main.cf,添加如下内容: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
##Virtual Mailbox Settings### 
virtual_mailbox_base = /var/mailbox 
virtual_mailbox_maps =  mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf 
virtual_mailbox_domains =  mysql:/etc/postfix/mysql_virtual_domains_maps.cf 
virtual_alias_domains = 
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf 
virtual_uid_maps = static:2525 
virtual_gid_maps = static:2525 
virtual_transport = virtual 
maildrop_destination_recipient_limit = 1 
maildrop_destination_concurrency_limit = 1 
###QUOTA Settings### 
message_size_limit = 14336000 
virtual_mailbox_limit = 20971520 
virtual_create_maildirsize = yes 
virtual_mailbox_extended = yes 
virtual_mailbox_limit_maps =  mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf 
virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Sorry, the user's maildir has  overdrawn his diskspace quota, please Tidy your mailbox and try again  later. 
virtual_overquota_bounce = yes


这里会看到mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf 、mysql:/etc/postfix/mysql_virtual_domains_maps.cf 、

mysql:/etc/postfix/mysql_virtual_alias_maps.cf 现在目录下面是没有这个文件的。可以从以后网页下面的extman-1.1/docs/文件下复制过来,这一部要注意,不然不能收发邮件。

10、5:导入数据库:

1
2
3
[root@mail ~]# tar xf extman-1.1.tar.gz  
[root@mail ~]# cd extman-1.1/docs   
[root@mail docs]# mysql -u root -p < extmail.sql

#导入的时候会遇到报错,是因为在数据库好像5.几之后存储引擎用的是ENGINE了,所以把extmail.sql里面所以的TYPE都换成ENGINE。然后把刚才建立的数据删除,再执行就好了

1
2
[root@mail docs]# mysql -u root -p < init.sql 
[root@mail docs]# mysql

然后use extmail这个库show tables.发现里面有几张表了:

1
2
3
4
5
6
7
8
9
mysql> show tables;
+-------------------+
| Tables_in_extmail |
+-------------------+
alias             |
| domain            |
| domain_manager    |
| mailbox           |
| manager

授权访问的用户和密码,这个和前面配置的/etc/authmysqlrc的用户名密码是一一对应的。

1
2
mysql> GRANT all privileges on extmail.* TO extmail@localhost  IDENTIFIED BY 'extmail'
mysql>flush privileges;

成功。启动postfix.  

postfix start  #(注意查看是否启动成功,或者报错信息)

此时就可以给予虚拟域发送邮件了,为了验证成功性我们把里面的中继关闭。main.cf注释掉myhostname, mydestination, mydomain, myorigin几个以前的配置,然后重新发送邮件。

11、安装dovecot:

11.1、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@mail courier-authlib-0.62.4]# yum install dovecot -y
mail_location = maildir:/var/mailbox/%d/%n/Maildir # 宏 %d 代表域名  %n 代表用户名   
auth default { 
    mechanisms = plain 
    passdb sql { 
        args = /etc/dovecot/dovecot-mysql.conf 
    
    userdb sql { 
        args = /etc/dovecot/dovecot-mysql.conf 
    
vim /etc/dovecot/dovecot-mysql.conf                  
driver = mysql  # 数据库驱动为mysql
connect = host=localhost dbname=extmail user=extmail password=extmail 
default_pass_scheme = CRYPT 
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'                             
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'

两个配置文件直接copy负责下来放到对应路径下

接下来启动dovecot服务: 

1
2
# service dovecot start 
# chkconfig dovecot on

#如果不成功,我们可以启动日志,通过日志来排除错误原因,以后的工作中也要建立这样的思想哦。

#启用日志很简单,只要启用log_path= ;即可 

12、安装extmail:

12。1、解压并文件并放到自己网站对于得根目录下。

1
2
3
4
# tar zxvf extmail-1.2.tar.gz 
# mkdir -pv /usr/local/apache/htdocs/extsuite 
# mv extmail-1.2 /usr/local/apache/htdocs/extsuite/extmail 
# cp /usr/local/apache/htdocs/extsuite/extmail/webmail.cf.default  /usr/local/apache/htdocs/extsuite/extmail/webmail.cf

12.2、修改配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
[root@mail extmail-1.2]# vi /usr/local/apache/htdocs/extsuite/extmail/webmail.cf
部分修改选项的说明: 
SYS_MESSAGE_SIZE_LIMIT = 5242880 
用户可以发送的最大邮件 
SYS_USER_LANG = en_US 
语言选项,可改作: 
SYS_USER_LANG = zh_CN 
SYS_MAILDIR_BASE = /home/domains 
此处即为您在前文所设置的用户邮件的存放目录,可改作: 
SYS_MAILDIR_BASE = /var/mailbox 
SYS_MYSQL_USER = db_user 
SYS_MYSQL_PASS = db_pass
1
2
3
4
5
6
7
8
9
10
11
12
以上两句句用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库,这里修改为: 
SYS_MYSQL_USER = extmail 
SYS_MYSQL_PASS = extmail 
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock 
修改为: 
SYS_MYSQL_SOCKET = /tmp/mysql.sock 
SYS_MYSQL_HOST = localhost 
指明数据库服务器主机名,这里默认即可 
SYS_MYSQL_TABLE = mailbox 
SYS_MYSQL_ATTR_USERNAME = username 
SYS_MYSQL_ATTR_DOMAIN = domain 
SYS_MYSQL_ATTR_PASSWD = password

以上用来指定验正用户登录里所用到的表,以及用户名、域名和用户密码分别对应的表中列的名称;这里默认即可 

SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket 

此句用来指明authdaemo socket文件的位置,这里修改为: 

SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket 

12.2、编译httpd.conf配置文件支持。虚拟主机:

1
2
3
4
5
6
7
8
[root@mail conf]# vim /etc/httpd/conf/httpd.conf 
<VirtualHost *:80> 
ServerName mail.zzu.com 
DocumentRoot /var/www/extsuite/extmail/html/ 
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi 
Alias /extmail /var/www/extsuite/extmail/html 
SuexecUserGroup postfix postfix 
</VirtualHost>

#修改 cgi执行文件属主为apache运行身份用户

[root@mail conf]# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/ 

如果您没有打开apache服务器的suexec功能,也可以使用以下方法解决: 

1
2
3
4
5
6
7
8
9
10
# vi /etc/httpd/httpd.conf 
User postfix 
Group postfix 
  
<VirtualHost *:80> 
ServerName mail.zzu.com 
DocumentRoot /var/www/extsuite/extmail/html/ 
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi 
Alias /extmail /va
</VirtualHost>

12.3、编译安装 Unix-Syslog-1.1.tar.gz .(extmail和extmand的perl以来包)

1
2
3
[root@mail extmail-1.2]# cd /usr/local/src/Unix-Syslog-1.1
[root@mail Unix-Syslog-1.1]# perl Makefile.PL
[root@mail Unix-Syslog-1.1]# make && make install

重启httpd服务。

12.4、安装extman

1、解压并放到网址跟目录下。

mv extman-1.1 /usr/local/apache/htdocs/extsuite/extman

2、修改配置文件:

1
2
3
# cp webman.cf.default webman.cf 
# vim /var/www/extsuite/extman/webman.cf 
SYS_MAILDIR_BASE = /home/domains

此处即为您在前文所设置的用户邮件的存放目录,可改作: 

1
2
3
SYS_MAILDIR_BASE = /var/mailbox 
SYS_DEFAULT_UID = 1000 
SYS_DEFAULT_GID = 1000

此两处后面设定的ID号需更改为前而创建的postfix用户和postfix组的id号,本文使用的是2525,因此,上述两项需要修改为: 

1
2
3
4
5
6
7
SYS_DEFAULT_UID = 2525 
SYS_DEFAULT_GID = 2525 
SYS_MYSQL_USER = webman 
SYS_MYSQL_PASS = webman 
修改为: 
SYS_MYSQL_USER = extmail 
SYS_MYSQL_PASS = extmail

修改cgi目录的属组为postfix,并脚本别名添加至虚拟主机以便能正常访问extman

[root@mail src]# chown -R postfix.postfix /usr/local/apache/htdocs/extsuite/extman/cgi/

在httpd.conf的配置文件的虚拟目录下面添加如下两行:

1
2
3
4
5
ScriptAlias /extman/cgi /usr/local/apache/htdocs/extsuite/extman/cgi
Alias /extman /usr/local/apache/htdocs/extsuite/extman/html
然后在给extman的临时文件创建权限:
[root@mail src]# mkdir -pv /tmp/extman/
[root@mail src]# chown postfix.postfix /tmp/extman/

重启apache之后就可以访问了。(这里可能会提示确实什么包之类的,各种各样问题可以百度一下把包安装上就可以访问了。)

wKiom1R35uHDTCQWAAHrDM9_-ms041.jpg

可以使用默认的用户名和密码进入extman后台管理页面 ,可以对虚拟域和用户账号的管理,默认管理帐号为:root@extmail.org  密码为:extmail*123*    然后自己可以创建自己的域,然后新建账户,这里就不演示。

过两天更新,杀毒和邮件过滤的功能.这段时间为了搭建邮件服务器耗费了我不少精力,因为还要去学原理。在马哥视频的学习终于搭建成功了,这里的话要感谢马哥的视频,帮我完成了这项工作。马哥教育你值得拥有。(为了感谢,帮打个广告)










本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1583919,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
zbm
视觉AI训练营-DAY 2 身份证识别系统搭建
身份证识别系统搭建-达摩院视觉智能实验室
117 0
视觉AI训练营-DAY 2 身份证识别系统搭建
视觉AI训练营-DAY 2 身份证识别系统搭建
116 0
直播揭秘飞冰 | 淘系中后台负责人教你快速搭建企业微前端架构
主题:微前端 + icejs 助力企业级中后台开发 时间:3月5日 19:00-20:00 嘉宾:大果 阿里巴巴淘系技术前端技术专家
1024 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25046 0
Dubbo-admin+Zookeeper 的环境搭建实操与 Could-not-extract-archive 报错踩坑
``` $ brew install zookeeper ==&gt; Downloading https://homebrew.bintray.com/bottles/zookeeper-3.4.13.mojave.bottle.tar.gz ... ``` 先来看dubbo-admin的安装;我们先找到它在apache下的官方GitHub,官方也有相关介绍,中英文版都有(毕竟原本
29 0
使用cnpm搭建企业内部私有NPM仓库
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
120 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18626 0
+关注
20381
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载