本來測試安裝 Python3.8.2,但很3.8.2無法安裝 Pandas,因此退而求其次選擇 3.7.7
由於未安裝compile工具,從此開始安裝
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
*** 接著一定要記著先裝好 openssl ,否則 pip 不能用,又要重新 build
wget https://www.openssl.org/source/openssl-1.1.1e.tar.gz
tar -xzf openssl-1.1.1e.tar.gz
cd openssl-1.1.1e
./config --prefix=/usr/local/openssl no-zlib
make
make install
放置openssl lib
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
echo /usr/local/lib >> /etc/ld.so.conf.d/openssl.conf
下載Python 及解壓縮
wget --no-check-certificate https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
tar -xzvf Python-3.7.7.tgz
cd Python-3.7.7
安裝。
./configure --with-openssl=/usr/local/openssl/
make
make install
安裝完畢,執行檔位於 /usr/local/bin 下面, python3 & pip3
2020年3月18日 星期三
2020年3月5日 星期四
使用 letsencrypt 與 Certbot 申請網頁 ssl 憑證
近日透過 nctu.me 免費申請了一個 domain name,想讓家裡的桌機網頁可以透過 https 連線。
於是選擇了 https://letsencrypt.org/zh-tw/ 免費的 ssl 的申請機制。
依照 letsencrypt 官網推薦的方式,使用Certbot 來自動建立憑證。但很不幸的 Certbot 並不支援windows 環境,因此耍了點小手段,先在桌機run了 VM,執行了 CentOS7,然後調整寬頻分享器,先把 CentOS7 的 web server 對應到對外的 web server,如此可以讓 CentOS7 自動建立憑證。完成之後,再把憑證 copy 到桌機的 apache server 來用。
PS : 但原本的自動更新憑證機制,則無法在本機執行,所以憑證僅有3個月效期,之後還是得再透過 VM 來更新。
CentOS 獲得的憑證,權限如下:
drwxr-xr-x /etc/pki/site/certs/
-rw-r--r--. 1 root root 1911 2020-03-04 22:19 cert.pem
-rw-r--r--. 1 root root 1647 2020-03-04 22:19 chain.pem
-rw-r--r--. 1 root root 3558 2020-03-04 22:19 fullchain.pem
-rw-------. 1 root root 1708 2020-03-04 22:19 privkey.pem
若要直接搬移到其他 CentOS機器,請注意 SELinux 的安全性,可能讓 apache server 找不到憑證。若有發生設定正確,卻始終找不到憑證的情況,可以試著設定整個目錄的權限:
restorecon -Rv /etc/pki/site/certs/
接著複製到windows上,將apache server 的設定指向這些憑證,也就成功了。
補充:
要開啟 apache server 的 https service,設定動作如下:
conf/httpd.conf
打開 mod_ssl.so 與 socache_shmcb_module (與ssl cache有關) 模組
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
引入 httpd-ssl.conf,打開下面設定。
Include conf/extra/httpd-ssl.conf
於是選擇了 https://letsencrypt.org/zh-tw/ 免費的 ssl 的申請機制。
依照 letsencrypt 官網推薦的方式,使用Certbot 來自動建立憑證。但很不幸的 Certbot 並不支援windows 環境,因此耍了點小手段,先在桌機run了 VM,執行了 CentOS7,然後調整寬頻分享器,先把 CentOS7 的 web server 對應到對外的 web server,如此可以讓 CentOS7 自動建立憑證。完成之後,再把憑證 copy 到桌機的 apache server 來用。
PS : 但原本的自動更新憑證機制,則無法在本機執行,所以憑證僅有3個月效期,之後還是得再透過 VM 來更新。
CentOS 獲得的憑證,權限如下:
drwxr-xr-x /etc/pki/site/certs/
-rw-r--r--. 1 root root 1911 2020-03-04 22:19 cert.pem
-rw-r--r--. 1 root root 1647 2020-03-04 22:19 chain.pem
-rw-r--r--. 1 root root 3558 2020-03-04 22:19 fullchain.pem
-rw-------. 1 root root 1708 2020-03-04 22:19 privkey.pem
若要直接搬移到其他 CentOS機器,請注意 SELinux 的安全性,可能讓 apache server 找不到憑證。若有發生設定正確,卻始終找不到憑證的情況,可以試著設定整個目錄的權限:
restorecon -Rv /etc/pki/site/certs/
接著複製到windows上,將apache server 的設定指向這些憑證,也就成功了。
補充:
要開啟 apache server 的 https service,設定動作如下:
conf/httpd.conf
打開 mod_ssl.so 與 socache_shmcb_module (與ssl cache有關) 模組
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
引入 httpd-ssl.conf,打開下面設定。
Include conf/extra/httpd-ssl.conf
conf/extra/httpd-ssl.conf
設定憑證檔還有 Key 的位置
SSLCertificateFile "D:/Program/Apache24/conf/site/certs/cert.pem"
SSLCertificateKeyFile "D:/Program/Apache24/conf/site/certs/privkey.pem"
執行 bin/ApacheMonitor.exe
用監控程式,重新啟動 apache
訂閱:
文章 (Atom)