2016年7月21日 星期四

apache 無法啟動的錯誤處理


最近客戶的的apache的憑證有問題,後來有更換新的憑證,但是沒多久會發生一些錯誤,而且httpd服務可以正常啟動、網路也正常,但是就是無法顯示任何頁面,到/var/log/httpd看了下error_log,會發現有一大堆的錯誤訊息如下:

NSS_Initialize failed. Certificate database: /etc/httpd/alias.

最後是因為套件mod_nss安裝後新的憑證錯誤造成的,解決方法很簡單,只需要變更/etc/http/alias下*.db檔案的權限即可解決:

# chmod g+r /etc/httpd/alias/*.db
# chgrp apache /etc/httpd/alias/*.db

執行完成以後再重新啟動httpd:

#service httpd restart

參考出處 Frank的生活札記



2016年7月20日 星期三

apahce 無法啟動問題

因為客戶有一台非常的網站,只要一有問題就會一直叫,好像世界未日

查了一下最近的確都沒去改任何東西及文件,最後在apache的error log發現問題

Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved

用這個指令查了一下

# certutil -d /etc/httpd/alias -L -n Server-Cert

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 3 (0x3)
        Signature Algorithm: PKCS #1 MD5 With RSA Encryption
        Issuer: "CN=Certificate Shack,O=example.com,C=US"
        Validity:
            Not Before: Mon Dec 01 10:43:20 2012
            Not After : Sat Dec 18 10:43:20 2016

憑證早就過4年了

1. 如果不需要用到mod_nss 模組的,就把/etc/httpd/conf.d/nss.conf 文件删掉
2. 不需驗證過期時間,那就在nss.conf 中加入NSSEnforceValidCerts off 配置就可以

重新產生新的憑證
# cd /etc/httpd/alias
# rm -f *.db
# /usr/sbin/gencert /etc/httpd/alias > /etc/httpd/alias/install.log 2>&1
# certutil -d /etc/httpd/alias -L -n Server-Cert
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 3 (0x3)
        Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
        Issuer: "CN=Certificate Shack,O=example.com,C=US"
        Validity:
             Not Before: Wed Jul 20 20:19:35 2016
             Not After : Mon Jul 20 20:19:35 2020

2016年7月16日 星期六

FreeBSD Portsnap 升級(在FreeBSD上架設IMAP/POP3)

想到以前UNIX系統剛開始的時候,是Redhat及FreeBSD,所以必須二選一的學習,因為FreeBSD的小魔鬼比紅色帽子的企鵝可愛,就選擇了FreeBSD。

但是這2年大多使用CentOS的系統,FreeBSD已經很少用,有些指令已經變得很陌生了。

剛好最近因為一些問題,必須使用FreeBSD系統,但是發覺以前用的Port指令不能用,而且CSV的程式不能更新,上網查了一下才知道FreeBSD在2013年之後就改用Portsnap的方式,原先的CVSUP已經停止使用了,所以又要重新學習。


Ports Collection 更新工具

#cd /var/db/portsnap/
# portsnap fetch 
 (第一次使用,必須先執行這個指令)

# portsnap extract
(第一次使用,必須先執行這個指令)

# portsnap fetch update
(更新全部的Ports程式)

# portsnap update
(日後要更新Ports的程式的指令)
=================================
在FreeBSD上架設IMAP/POP3 Server

#cd /usr/ports/mail/dovcot/ && make install clean
出現下列的問題

To switch to pkg:
    1) Install ports-mgmt/pkg
       cd ports-mgmt/pkg && make UPGRADEPKG=1 install clean
    2) Convert your package database by running pkg2ng


#cd /usr/ports/ports-mgmt/pkg
#make UPGRADEPKG=1 install clean
完成後,再執行dovcot的程式安裝

#cd /usr/ports/mail/dovcot/ && make install clean
#cd /usr/ports/mail/dovecot-sieve && make install clean
#cd /usr/ports/mail/dovecot-managesieve && make install clean

修改/etc/rc.conf加上:
dovecot_enable="YES"

# /usr/local/etc/rc.d/dovecot start