You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1158 lines
29 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Lednerb">
<meta name="description" content="Bilberry Premium Theme for Hugo.">
<meta name="keywords" content="blog,personal,responsive,search,font awesome,pages,posts,multilingual,highlight.js,syntax highlighting,premium,shortcuts">
<meta name="generator" content="Hugo 0.50" />
<title> [筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation | My cool new Blog</title>
<meta name="description" content="[筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation - Bilberry Premium Theme for Hugo.">
<meta itemprop="name" content="[筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation">
<meta itemprop="description" content="[筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation - Bilberry Premium Theme for Hugo.">
<meta property="og:title" content="[筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation">
<meta property="og:description" content="[筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation - Bilberry Premium Theme for Hugo.">
<meta property="og:image" content="https://www.gravatar.com/avatar/88188b6cc451928eba90e8400bc68086?size=200">
<meta property="og:url" content="https://h.cowbay.org/article/e7-ad-86-e8-a8-98-centos6-postfix-postfixadmin-dovecot-installation/">
<meta property="og:site_name" content="My cool new Blog">
<meta property="og:type" content="article">
<link rel="icon" type="image/png" href="https://h.cowbay.org/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://h.cowbay.org/favicon-16x16.png" sizes="16x16">
<link rel="stylesheet" href="https://h.cowbay.org/sass/combined.min.717098cb5503581e75f12e486a847ca410bf8367d4d8713f4c37affc868c5a1d.css">
</head>
<body class="bilberry-hugo-theme">
<nav>
<div class="container">
<ul class="topnav">
<li><a href="/page/about-bilberry/">About Bilberry</a></li>
<li><a href="https://github.com/Lednerb/bilberry-hugo-theme" target="_blank">Github</a></li>
</ul>
<div id="search-box" class="search">
<i class="fa fa-search"></i>
<input id="search" type="text" placeholder="Search ...">
</div>
</div>
</nav>
<header>
<div class="container">
<div class="logo">
<a href="/" class="logo">
<img src="https://www.gravatar.com/avatar/88188b6cc451928eba90e8400bc68086?d=mm&size=200" alt="">
<span class="overlay"><i class="fa fa-home"></i></span>
</a>
</div>
<div class="titles">
<h3 class="title"><a href="/">My cool new Blog</a></h3>
<span class="subtitle">Hello World! This is the most epic subtitle ever.</span>
</div>
<div class="languages">
<a href="/en" class="active">en</a>
<a href="/de">de</a>
</div>
<div class="toggler">
<i class="fa fa-bars" aria-hidden="true"></i>
</div>
</div>
</header>
<div class="main container">
<div class="article-wrapper u-cf single">
<a class="bubble" href="/article/e7-ad-86-e8-a8-98-centos6-postfix-postfixadmin-dovecot-installation/">
<i class="fa fa-fw fa-pencil"></i>
</a>
<article class="default article">
<div class="content">
<h3><a href="/article/e7-ad-86-e8-a8-98-centos6-postfix-postfixadmin-dovecot-installation/">[筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation</a></h3>
<div class="meta">
<span class="date moment">2016-08-01</span>
<span class="categories">
<a href="/categories/%E5%B7%A5%E4%BD%9C%E7%AD%86%E8%A8%98">工作筆記</a>
</span>
</div>
<p>原文:<a href="http://blog.csdn.net/air_penguin/article/details/47662941">http://blog.csdn.net/air_penguin/article/details/47662941</a></p>
<p>&nbsp;</p>
<h2 id="lamp">**LAMP</h2>
<p>**</p>
<p>#添加 vmail 帳號,做為郵件處理用, uid 2000 必須要和後面的設定一致
&gt; useradd -u 2000 -d /var/vmail -m -s /sbin/nologin vmail<span id="transmark"></span>
#安裝相關套件
&gt; yum -y install httpd mysql mysql-devel mysql-server php php-pecl-Fileinfo php-mcrypt php-devel php-mysql php-common php-mbstring php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc pcre pcre-devel
&gt;
&gt;
&gt; &nbsp;</p>
<hr />
<h2 id="整合-span-lang-en-us-apache-span-和-span-lang-en-us-php-span">整合<span lang="EN-US">Apache</span><span lang="EN-US">PHP</span></h2>
<pre><span class="hljs-comment"><span lang="EN-US">#vim /etc/httpd/conf/httpd.conf</span></span></pre>
<pre><span class="hljs-comment"><span lang="EN-US">#</span>增加以下參數</span></pre>
> <span lang="EN-US">AddType application/x-httpd-php .php </span>`</pre>
>
> <pre>`<span lang="EN-US">PHPIniDir </span>`<span class="hljs-string"><span lang="EN-US">"/etc/php.ini"</span></span></pre>
<pre><span class="hljs-comment"><span lang="EN-US">#</span>修改以下參數 p.s 有疑問為何apache 要改用 vmail 來啟動?</span></pre>
> <pre>`<span lang="EN-US">DirectoryIndex index.php index.html index.html.var</span>`</pre>
>
> <pre>`<span lang="EN-US">User vmail</span>`</pre>
>
> <pre>`<span lang="EN-US">Group vmail
>
>
> </span>`</pre>
測試 PHP
#vim /var/www/html/pfa/1.php
> &lt;?php
>
>
> phpinfo();
>
>
> ?&gt;
開啟 http://IP_ADDR/1.php 看看是不是可以正常顯示PHP環境
* * *
## **設定 postfixadmin**
**下載 postfixadmin**
> <pre>wget http://nchc.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.92/postfixadmin-2.92.tar.gz</pre>
**解壓縮、更名、移動到httpd 路徑**
> <pre>tar xvf postfixadmin-2.92.tar.gz
>
>
> mv postfixadmin-2.92 pfa
>
>
> mv pfa /var/www/html/</pre>
**安裝 dovecot套件**
> yum install -y  dovecot dovecot-devel dovecot-mysql
**修改 postfixadmin 設定**
#vim /var/www/html/pfa/config.inc.php
> $CONF['configured'] = true;
>
> $CONF['database_type'] = 'mysql';
>
> $CONF['database_host'] = 'localhost';
>
> $CONF['database_user'] = 'postfix';
>
> $CONF['database_password'] = 'postfix';
>
> $CONF['database_name'] = 'postfix';
>
> $CONF['admin_email'] = 'admin@email.com';
>
>
> **##底下這行原本是用 CRAM-MD5但是一開始沒有改他結果就造成錯誤**
>
>
> **#預設是$CONF['encrypt'] = 'md5crypt'; 就保留預設吧**
>
>
> $CONF['encrypt'] = 'md5crypt';
>
> #$CONF['encrypt'] = 'dovecot:CRAM-MD5';
>
> #底下修改密碼原則 ,原本有一些密碼原則設定,為了方便,都先取消
>
>
> $CONF['password_validation'] = array(
>
> #    '/regular expression/' =&gt; '$PALANG key (optional: + parameter)',
>
> '/.{0}/'                =&gt; 'password_too_short 5',      # minimum length 5 characters
>
> '/([a-zA-Z].*){0}/'     =&gt; 'password_no_characters 3',  # must contain at least 3 characters
>
> '/([0-9].*){0}/'        =&gt; 'password_no_digits 2',      # must contain at least 2 digits
>
> );
>
>
> #系統預設信箱,看要不要改一改
>
>
> $CONF['default_aliases'] = array (
>
> 'abuse' =&gt; 'abuse@change-this-to-your.domain.tld',
>
> 'hostmaster' =&gt; 'hostmaster@change-this-to-your.domain.tld',
>
> 'postmaster' =&gt; 'postmaster@change-this-to-your.domain.tld',
>
> 'webmaster' =&gt; 'webmaster@change-this-to-your.domain.tld'
>
> );
>
>
> // Default Domain Values
>
> // Specify your default values below. Quota in MB.
>
> $CONF['aliases'] = '0';
>
> $CONF['mailboxes'] = '0';
>
> $CONF['maxquota'] = '0';
>
> $CONF['domain_quota_default'] = '40960';
>
> <pre><span class="hljs-comment">
>
> **在MySQL中建立帳號並設定權限給 postfixadmin使用**
>
>
> mysql -u root -p
>
> </span>`<span lang="EN-US">grant all on postfix.* to 'postfix'@'localhost' identified by 'postfix';</span>`</pre>
>
> <pre>`<span lang="EN-US">flush privileges;
>
> quit;
>
> </span>`</pre>
**測試登入 mysql**
> mysql -u postfix -ppostfix
>
>
> use postfix;
>
>
> show tables;
>
>
> quit;
<pre><span class="hljs-comment"><span lang="EN-US">#</span>**修改所有者和所有组**</span></pre>
> <pre>`<span lang="EN-US">chown -R vmail.vmail /var/www/html/pfa</span>`</pre>
>
> <pre>`<span lang="EN-US">chown -R vmail.vmail /var/lib/php/session/</span>`</pre>
登入postfixadmin設定參考之前寫的文章中postfiadmin 設定的部分,主要就是修改 setup password
[http://wp.cowbay.org/2016/01/27/%e7%ad%86%e8%a8%98-centos-6-6-iredmail-0-9-4-%e5%ae%89%e8%a3%9d%e7%ad%86%e8%a8%98/](http://wp.cowbay.org/2016/01/27/%e7%ad%86%e8%a8%98-centos-6-6-iredmail-0-9-4-%e5%ae%89%e8%a3%9d%e7%ad%86%e8%a8%98/)
在完成設定後會取得setup_password 的hash值像是這樣
<pre><span class="hljs-variable"><span lang="EN-US">$CONF</span></span>`<span lang="EN-US">[</span>`<span class="hljs-string"><span lang="EN-US">'setup_password'</span></span>`<span lang="EN-US">] = </span>`<span class="hljs-string"><span lang="EN-US">'fd16d423a537fa766a501d089823c8be:a23d10bad95c883c98c817ea37afaeae1d186624'</span></span>`<span lang="EN-US">;
修改 config.inc.php 把得到的值替換掉原本的設定
開啟 http://IP_ADDR/pfa/login.php
用剛剛建立的管理者帳號、密碼登入,並新增網域、帳號 測試看看
</span>`</pre>
<pre><code>* * *
## `&lt;span lang=&quot;EN-US&quot;&gt; **修改 Postfix** &lt;/span&gt;`
#vim /etc/postfix/main.cf
&gt; #基本設定
</code></pre>
<blockquote>
<pre><code>myhostname = mail.abc.com
mydomain = abc.com
myorigin = $mydomain
inet_interfaces = all
mynetworks_style = host
mynetworks = 192.168.10.0/24, 127.0.0.0/8
#Virtual Domain
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
# Additional for quota support
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, this user has exceeded their disk space quota, please try again later.
virtual_overquota_bounce = yes
#Specify the user/group that owns the mail folders. I'm not sure if this is strictly necessary when using Dovecot's LDA.
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
#Specifies which tables proxymap can read: http://www.postfix.org/postconf.5.html#proxy_read_maps
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
#SASL SUPPORT FOR CLIENTS
# Turns on sasl authorization
smtpd_sasl_auth_enable = yes
#Use dovecot for authentication
smtpd_sasl_type = dovecot
# Path to UNIX socket for SASL
smtpd_sasl_path = /var/run/dovecot/auth-client
#Disable anonymous login. We don't want to run an open relay for spammers.
smtpd_sasl_security_options = noanonymous
#Adds support for email software that doesn't follow RFC 4954.
#This includes most versions of Microsoft Outlook before 2007.
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =  permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
# TRANSPORT MAP
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
**修改 master.cf**
</code></pre>
</blockquote>
<pre><code>**#vim /etc/postfix/master.cf**
**#注意flags前面要空兩個空白**
dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
`&lt;span lang=&quot;EN-US&quot;&gt;
#**建立Virtual Mail 的script**
#**vim /etc/postfix/mysql_virtual_domains_maps.cf**
&lt;/span&gt;`
&gt; `&lt;span lang=&quot;EN-US&quot;&gt;
</code></pre>
<blockquote>
<pre><code>user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
#optional query to use when relaying for backup MX
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
&lt;/span&gt;`
&amp;nbsp;
</code></pre>
</blockquote>
<pre><code># **vim /etc/postfix/mysql_virtual_alias_maps.cf**
&gt; user = postfix
</code></pre>
<blockquote>
<pre><code>password = postfix
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
#**vim /etc/postfix/mysql_virtual_mailbox_maps.cf**
&gt; user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
#**vim /etc/postfix/mysql_virtual_mailbox_limit_maps.cf**
&gt; user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
</code></pre>
</blockquote>
<pre><code>* * *
## **設定Dovecot**
#**vim /etc/dovecot/dovecot.conf**
&gt; protocols = imap pop3
</code></pre>
<blockquote>
<pre><code>listen = *
dict {
quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
!include conf.d/*.conf
#**vim /etc/dovecot/conf.d/10-auth.conf**
&gt; disable_plaintext_auth = no
auth_mechanisms = plain login cram-md5
!include auth-sql.conf.ext
#**vim /etc/dovecot/conf.d/10-mail.conf**
&gt; mail_location = maildir:%hMaildir
mbox_write_locks = fcntl
#**vim /etc/dovecot/conf.d/10-master.conf**
&gt; service imap-login {
inet_listener imap {
}
inet_listener imaps {
}
}
service pop3-login {
inet_listener pop3 {
}
inet_listener pop3s {
}
}
service lmtp {
unix_listener lmtp {
}
}
service imap {
}
service pop3 {
}
service auth {
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
#新增
unix_listener auth-client {
mode = 0600
user = postfix
group = postfix
}
}
service auth-worker {
}
service dict {
unix_listener dict {
mode = 0600
user = vmail
group = vmail
}
}
&amp;nbsp;
</code></pre>
</blockquote>
<pre><code>#這邊我就沒有設定了
#**vim /etc/dovecot/conf.d/15-lda.conf**
&gt; protocol lda {
</code></pre>
<blockquote>
<pre><code>mail_plugins = quota
postmaster_address = admin@abc.com
}
&amp;nbsp;
</code></pre>
</blockquote>
<pre><code>#這個也沒有設定
#**vim /etc/dovecot/conf.d/20-imap.conf**
&gt; protocol imap {
</code></pre>
<blockquote>
<pre><code>mail_plugins = quota imap_quota
}
#這個有設定不過沒設定quota
#**vim /etc/dovecot/conf.d/20-pop3.conf**
&gt; protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = quota
}
#沒有設定
#**vim /etc/dovecot/conf.d/90-quota.conf**
&gt; plugin {
quota_rule = *:storage=1G
}
plugin {
}
plugin {
quota = dict:User quota::proxy::quota
}
plugin {
}
新增Dovecot 的 MYSQL 設定檔
</code></pre>
</blockquote>
<pre><code>#**vim /etc/dovecot/dovecot-sql.conf.ext**
&gt; driver = mysql
</code></pre>
<blockquote>
<pre><code>connect = host=localhost dbname=postfix user=postfix password=postfix
##原文是用 CRAM-MD5 但是因為我設定錯誤導致認證失敗所以我改用MD5-CRYPT
default_pass_scheme = MD5-CRYPT
#default_pass_scheme = CRAM-MD5
user_query = SELECT CONCAT('/var/vmail/', maildir) AS home, 2000 AS uid, 2000 AS gid, CONCAT('*:bytes=', quota) as quota_rule FROM mailbox WHERE username = '%u' AND active='1'
password_query = SELECT username AS user, password, CONCAT('/var/vmail/', maildir) AS userdb_home, 2000 AS userdb_uid, 2000 AS userdb_gid, CONCAT('*:bytes=', quota) as userdb_quota_rule FROM mailbox WHERE username = '%u' AND active='1'
&amp;nbsp;
</code></pre>
</blockquote>
<pre><code>#**vim /etc/dovecot/dovecot-dict-sql.conf.ext**
&gt; connect = host=localhost dbname=postfix user=postfix password=postfix
</code></pre>
<blockquote>
<pre><code>map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}
重起 postfix / dovecot 看看有沒有錯誤
</code></pre>
</blockquote>
<pre><code>* * *
## 用telnet 測試 SMTP/POP3/IMAP 有沒有錯誤
**測試 SMTP**
&gt; telnet localhost 25
</code></pre>
<blockquote>
<pre><code>Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.abc.com.tw ESMTP Postfix
ehlo me #輸入 ehlo me ,應該會有底下的回應
250-mail.abc.com.tw
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN CRAM-MD5
250-AUTH=PLAIN LOGIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
按 ctrl + ] 離開
</code></pre>
</blockquote>
<pre><code>**測試POP3** ,當然要先用 postfixadmin 建立帳號
&gt; telnet localhost 110
</code></pre>
<blockquote>
<pre><code>Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user admin@abc.com #輸入 user mail@address.com 的格式
+OK
pass password #輸入明文密碼
+OK Logged in. #出現OK代表驗證通過
按 ctrl + ] 離開
</code></pre>
</blockquote>
<pre><code>**測試 IMAP**
&gt; telnet localhost 143
</code></pre>
<blockquote>
<pre><code>Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5] Dovecot ready.
A LOGIN &quot;admin@abc.com&quot; &quot;password&quot; #輸入 A LOGIN &quot;帳號&quot; &quot;密碼&quot; 進行登入測試
A OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in #成功登入
到此基本郵件設定已經OK
</code></pre>
</blockquote>
<pre><code>* * *
UPDATE
要發信的時候會發生錯誤
要在 main.cf 裡補上這一行
&gt; mailbox_command = /usr/libexec/dovecot/deliver
這樣才可以
* * *
接下來要弄 RoundCubeMail  / Letsencrypt
yum install roundcubemail
修改安裝路徑的目錄擁有者和權限 (所以我說嘛,為啥一開始要把 httpd 的執行者改成 vmail ? )
開啟 roundcubemail 登入會發生錯誤
LOG裡面有提示
PHP Error: Access denied for new user  'auto_create_user' is disabled in /usr/share/roundcubemail/program/include/rcmail.php on line 622 (POST /roundcubemail/?_task=login?_task=login&amp;amp;_action=login)
打開這個選項就可以了!
* * *
Postfix / Dovecot with LETSENCRYPT
File: /etc/dovecot/conf.d/10-ssl.conf
&lt;pre&gt;`ssl_cert = &amp;lt;/etc/letsencrypt/live/abc.com/fullchain.pem
ssl_key = &amp;lt;/etc/letsencrypt/live/abc.com/privkey.pem`&lt;/pre&gt;
File: /etc/postfix/main.cf
&lt;pre&gt;`smtpd_tls_cert_file=/etc/letsencrypt/live/abc.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/abc.com/privkey.pem
smtpd_use_tls=yes
</code></pre>
<hr />
<h2 id="outlook-相關設定">OUTLOOK 相關設定</h2>
<p><a href="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-40-55.png"><img src="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-40-55.png" alt="2016-08-02_08-40-55" /></a></p>
<p>SMTP 寄信需要驗證</p>
<p><a href="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-41-23.png"><img src="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-41-23.png" alt="2016-08-02_08-41-23" /></a></p>
<p>&nbsp;</p>
<p>IMAP/SMTP 都有加密,也不會跳出提示加密資訊不合法的視窗!</p>
<p><a href="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-41-41.png"><img src="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-41-41.png" alt="2016-08-02_08-41-41" /></a></p>
<p>&nbsp;</p>
<p><a href="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-48-08.png"><img src="http://wp.cowbay.org/wp-content/uploads/2016/08/2016-08-02_08-48-08-1024x375.png" alt="2016-08-02_08-48-08" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<div class="footer no-tags">
</div>
</article>
</div>
<div id="disqus_thread"></div>
<script type="application/javascript">
var disqus_config = function () {
};
(function() {
if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) {
document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.';
return;
}
var d = document, s = d.createElement('script'); s.async = true;
s.src = '//' + "bilberry-hugo-theme" + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
<footer>
<div class="container">
<div class="recent-posts">
<strong>Latest posts</strong>
<ul>
<li>
<a href="/article/google-550-5-7-1-sloution/">寄信給google被退信 錯誤 550-5.7.1的解法</a>
</li>
<li>
<a href="/article/netdata-linux-system-performance-monitor-dashboard/">Netdata Linux System Performance Monitor Dashboard</a>
</li>
<li>
<a href="/article/linux-performance-monitor-dashboard-netdata-md/">Linux 底下極其詳細的System performace Monitor Dashboard - Netdata</a>
</li>
<li>
<a href="/article/syntax-test/">Syntax Test</a>
</li>
<li>
<a href="/article/psql-create-role-and-assign-priviledges/">psql create role and assign priviledges</a>
</li>
<li>
<a href="/article/study-url/">Study URL</a>
</li>
<li>
<a href="/article/rsync-time-backup/">[筆記] Linux 底下好用的備份工具 rsync-time-backup</a>
</li>
</ul>
</div>
<div class="categories">
<a href="/categories/"><strong>Categories</strong></a>
<ul>
<li>
<a href="/categories/%E6%9C%AA%E5%88%86%E9%A1%9E">未分類 (86)</a>
</li>
<li>
<a href="/categories/%E5%B7%A5%E4%BD%9C%E7%AD%86%E8%A8%98">工作筆記 (68)</a>
</li>
<li>
<a href="/categories/%E5%85%B6%E4%BB%96">其他 (46)</a>
</li>
<li>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記 (30)</a>
</li>
<li>
<a href="/categories/%E5%89%AA%E5%A0%B1">剪報 (18)</a>
</li>
<li>
<a href="/categories/starting">Starting (5)</a>
</li>
<li>
<a href="/categories/blog">Blog (4)</a>
</li>
</ul>
</div>
<div class="right">
<div class="external-profiles">
<strong>Social media</strong>
<a href="https://twitter.com/TheRealLednerb" target="_blank"><i class="fa fa-twitter-adblock-proof"></i></a>
<a href="https://github.com/Lednerb" target="_blank"><i class="fa fa-github"></i></a>
</div>
<div class="languages">
<strong>Other languages</strong>
<a href="/en" class="active">en</a>
<a href="/de">de</a>
</div>
</div>
</div>
</footer>
<div class="credits">
<div class="container">
<div class="copyright">
<a href="https://github.com/Lednerb" target="_blank">
&copy;
2017
by Lednerb
</a>
</div>
<div class="author">
<a href="https://github.com/Lednerb/bilberry-hugo-theme" target="_blank">Bilberry Hugo Theme</a>
</div>
</div>
</div>
<script type="text/javascript" src="https://h.cowbay.org/js/externalDependencies.39c47e10e241eae2947b3fe21809c572.js" integrity="md5-OcR&#43;EOJB6uKUez/iGAnFcg=="></script>
<script type="text/javascript" src="https://h.cowbay.org/js/theme.ff50ae6dc1bfc220b23bf69dbb41b54e.js" integrity="md5-/1CubcG/wiCyO/adu0G1Tg=="></script>
<script>
$(".moment").each(function() {
$(this).text(
moment( $(this).text() )
.locale( "en" )
.format('LL')
);
});
$(".footnote-return sup").html("");
</script>
<script>
var client = algoliasearch("Y2C4RWMPXW", "50ea7f8c41c0ad233926e0be2b769ed1");
var index = client.initIndex("default-content");
$('#search').autocomplete({ hint: false, autoselect: true, debug: false },
[
{
source: $.fn.autocomplete.sources.hits(index, { hitsPerPage: 5, filters: 'language: en' }),
displayKey: function(suggestion) {
return suggestion.title || suggestion.author
},
templates: {
suggestion: function(suggestion) {
return "<span class='entry " + suggestion.type + "'>"
+ "<span class='title'>" + suggestion.title + "</span>"
+ "<span class='fa fa-fw " + suggestion.iconClass + "'></span>"
+ "</span>"
;
},
empty: function() {
return "<span class='empty'>Nothing found.</span>"
},
footer: function() {
return '<div class="branding">Powered by <img src="https:\/\/h.cowbay.org\/dist\/algolia-logo-light.svg" /></div>'
}
},
}
])
.on('autocomplete:selected', function(event, suggestion, dataset) {
window.location = (suggestion.url);
})
.keypress(function (event, suggestion) {
if (event.which == 13) {
window.location = (suggestion.url);
}
});
</script>
</body>
</html>