$cat /etc/redhat-release CentOS release 5.11 (Final)
2017年4月18日 星期二
2016年4月14日 星期四
在CentOS 6安裝Requests及openpyxl 2.4 模組(Python 2.6.x)
最近突然想學swift及python,正好想做個小功能來玩玩,因為需要用到網路及Excel的功能,網路功能在python本身是有很多module可用,如下
不過想用方便點的,所以安裝requests模組,官網是Python Module - Requests
Excel的話則是選openpyxl,不過這個套件只支援Excel 2007以後的文件,也要注意版本,如openpyxl 1.x支援Excel 2007,但openpyxl 2.4.0是支援Excel 2010,以及Python至少要2.6以後的版本。
先使用下列指令確認Python版本
下載setuptools(若沒安裝,在安裝openpyxl會出現找不到setuptools套件的訊息)
再來就可以安裝openpyxl 2.4.0
這樣兩個都可以用了
參考網址:
Python Network Programming
Python Module - Requests
openpyxl 2.4.0-a1
How To Set Up Python 2.7.6 and 3.3.3 on CentOS 6.4
不過想用方便點的,所以安裝requests模組,官網是Python Module - Requests
#安裝requests ref: http://docs.python-requests.org/en/v1.0.0/community/out-there/ $ yum install python-requests oaded plugins: fastestmirror, replace Setting up Install Process Determining fastest mirrors epel/metalink | 3.9 kB 00:00 * base: centos.cs.nctu.edu.tw * epel: ftp.cuhk.edu.hk * extras: centos.cs.nctu.edu.tw * updates: centos.cs.nctu.edu.tw * webtatic: sp.repo.webtatic.com base | 3.7 kB 00:00 dag | 1.9 kB 00:00 epel | 4.3 kB 00:00 epel/primary_db | 5.9 MB 00:01 extras | 3.4 kB 00:00 extras/primary_db | 37 kB 00:00 kbs-CentOS-Misc | 1.9 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 4.6 MB 00:00 webtatic | 3.6 kB 00:00 webtatic/primary_db | 191 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package python-requests.noarch 0:2.6.0-3.el6 will be installed --> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-3.el6.noarch ............ ............ Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Installing: python-requests noarch 2.6.0-3.el6 base 95 k Installing for dependencies: python-backports x86_64 1.0-5.el6 base 5.5 k python-backports-ssl_match_hostname noarch 3.4.0.2-4.el6.centos extras 13 k python-chardet noarch 2.2.1-1.el6 base 230 k python-six noarch 1.9.0-2.el6 base 28 k python-urllib3 noarch 1.10.2-1.el6 base 101 k Transaction Summary ==================================================================================================== Install 6 Package(s) Total download size: 472 k Installed size: 1.9 M Is this ok [y/N]: y ............ ............ Complete!這樣就完成了。
Excel的話則是選openpyxl,不過這個套件只支援Excel 2007以後的文件,也要注意版本,如openpyxl 1.x支援Excel 2007,但openpyxl 2.4.0是支援Excel 2010,以及Python至少要2.6以後的版本。
先使用下列指令確認Python版本
$ python -V Python 2.6.6
下載setuptools(若沒安裝,在安裝openpyxl會出現找不到setuptools套件的訊息)
$ wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz $ tar -xvf setuptools-1.4.2.tar.gz $ cd setuptools-1.4.2 $ python setup.py install #安裝動作必須是root權限
再來就可以安裝openpyxl 2.4.0
$ wget https://pypi.python.org/packages/source/o/openpyxl/openpyxl-2.4.0-a1.tar.gz $ tar -xvf openpyxl-2.4.0-a1.tar.gz $ cd openpyxl-2.4.0-a1 $ python setup.py install #安裝動作必須是root權限
這樣兩個都可以用了
參考網址:
Python Network Programming
Python Module - Requests
openpyxl 2.4.0-a1
How To Set Up Python 2.7.6 and 3.3.3 on CentOS 6.4
2016年3月14日 星期一
centos 6中設SSL加密Apache server
之前在Mac上設置了SSL加密Apache server:Mac學習筆記-開啟HTTPS,這陣子正好也要在自己運行中的Cent OS主機上設置,決定如法泡製,不過卻一直不成功,後來發現主要兩個問題
第一個問題是Cent OS 6預設就是開啟的

以上轉貼自在 CentOS 設置一個 SSL 加密的網頁伺服器
很多人是都關閉它可以省掉很多權限運行上的問題,很多設定上的看不出的錯誤都是因這個而發生,關閉是比較輕鬆,不過我沒關閉,所以需要注意這類的問題。
第二個問題就不特別說了,只要有防火牆設定都要注意。
底下就將整個過程都記錄下來(轉自在 CentOS 設置一個 SSL 加密的網頁伺服器)
參考網址:
在 CentOS 設置一個 SSL 加密的網頁伺服器
CentOS Apache使用SSL
- SELinux設定問題
- 防火牆設定忘了開(畢竟是運行中的主機)
第一個問題是Cent OS 6預設就是開啟的

以上轉貼自在 CentOS 設置一個 SSL 加密的網頁伺服器
很多人是都關閉它可以省掉很多權限運行上的問題,很多設定上的看不出的錯誤都是因這個而發生,關閉是比較輕鬆,不過我沒關閉,所以需要注意這類的問題。
第二個問題就不特別說了,只要有防火牆設定都要注意。
底下就將整個過程都記錄下來(轉自在 CentOS 設置一個 SSL 加密的網頁伺服器)
$>yum install mod_ssl openssl #安裝ssl套件 $>openssl genrsa -out ca.key 2048 #產生私鑰 $>openssl req -new -key ca.key -out ca.csr #產生 CSR $>openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt #產生自我簽署的金鑰 #複製檔案至正確位置 $>cp ca.crt /etc/pki/tls/certs $>cp ca.key /etc/pki/tls/private/ca.key $>cp ca.csr /etc/pki/tls/private/ca.csr #假如你遷移了這些檔案而不是複製它們,你可以用以下的指命來矯正這些檔案的 SELinux 脈絡 $>restorecon -RvF /etc/pki $>vi /etc/httpd/conf.d/ssl.conf #找到SSLCertificateFile 改成 /etc/pki/tls/certs/ca.crt SSLCertificateFile /etc/pki/tls/certs/ca.crt #找到SSLCertificateKeyFile 改成 /etc/pki/tls/private/ca.key SSLCertificateKeyFile /etc/pki/tls/private/ca.key #重啟http server $>service httpd restart
參考網址:
在 CentOS 設置一個 SSL 加密的網頁伺服器
CentOS Apache使用SSL
2015年6月26日 星期五
不同的系統(mac及linux)間的網站檔案移動,最好別用tar打包上傳
今天的移機學到一項很重要的事,若是不同的作業系統的網站檔案做移動,別使用tar做打包後。
因為現今大家大多都使用虛擬空間,替人做案子時,測試機及正式上線機是不同虛擬空間廠商也是有可能的事,可能出現類似底下的樣子
Linux(CentOS) -> Mac OS X(我的機器) -> Linux(Ubuntu)
常發生的問題就是無法讀取檔案,推測的原因是跟SELinux有關,簡單講就是檔案除了本身權限,有些支援SELinux的OS(如:CentOS)有另外的安全設定,以我的經驗來講Mac似乎是沒有或是關閉,所以若是下載完,用Mac做tar,然後再放上有開啟SELinux的主機中,然後untar,就會發生Apache無法讀取,但權限卻沒問題的狀況,最好的方法是一個個檔案上傳,系統會自行建立相關的資訊,就不會有這問題了,但另外的問題就是傳很久.....
因為現今大家大多都使用虛擬空間,替人做案子時,測試機及正式上線機是不同虛擬空間廠商也是有可能的事,可能出現類似底下的樣子
Linux(CentOS) -> Mac OS X(我的機器) -> Linux(Ubuntu)
常發生的問題就是無法讀取檔案,推測的原因是跟SELinux有關,簡單講就是檔案除了本身權限,有些支援SELinux的OS(如:CentOS)有另外的安全設定,以我的經驗來講Mac似乎是沒有或是關閉,所以若是下載完,用Mac做tar,然後再放上有開啟SELinux的主機中,然後untar,就會發生Apache無法讀取,但權限卻沒問題的狀況,最好的方法是一個個檔案上傳,系統會自行建立相關的資訊,就不會有這問題了,但另外的問題就是傳很久.....
2015年6月1日 星期一
強制刪除目錄下特定名稱的檔案或目錄
今天處理個舊專案,原本是用svn,現在要改用git,要先將每個目錄下原關於svn的目錄都刪除掉,以前都傻傻一個個刪除,想想沒有這麼笨吧,找了下相關資料,只要使用底下的shell script即可搞定
這樣就ok了,若要刪除檔案,type後的d就改成f
參考網址:
Linux: remove file extensions for multiple files
cd 你的目錄 find . -type d -name '.svn' <--先確認檔案 find . -type d -name '.svn' | while read f;do rm -rf "$f"; done <-- 全部強制刪除
這樣就ok了,若要刪除檔案,type後的d就改成f
參考網址:
Linux: remove file extensions for multiple files
2014年12月22日 星期一
CentOS筆記-CentOS 6.5 安裝MySQL 5.5
CentOS內定的yum server連結的是mysql 5.1,若要改用mysql 5.5則要先取得新的server。安裝步驟如下:
Cent OS 6.X使用底下指令
Cent OS 5.X使用底下指令
若是安裝過舊mysql server
----------------------------------
執行底下指令,會先安裝舊版再用5.5取代掉
再來執行安裝及設定安全性
完成!
參考網址:
MySQL 5.5 on CentOS/RHEL 6.5 and 5.10 via Yum
新安裝 CentOS 6.5 筆記
Cent OS 6.X使用底下指令
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
Cent OS 5.X使用底下指令
rpm -Uvh https://mirror.webtatic.com/yum/el5/latest.rpm
若是安裝過舊mysql server
yum remove mysql mysql-*
#rpm -q mysql mysql-server //這個也行
----------------------------------
執行底下指令,會先安裝舊版再用5.5取代掉
yum install mysql.`uname -i` yum-plugin-replace yum replace mysql --replace-with mysql55w----------------------------------
再來執行安裝及設定安全性
yum install mysql55w mysql55w-server service mysqld start /usr/bin/mysql_secure_installation
完成!
參考網址:
MySQL 5.5 on CentOS/RHEL 6.5 and 5.10 via Yum
新安裝 CentOS 6.5 筆記
2014年7月11日 星期五
CentOS筆記-grep指令
grep指令在查log時非常好用,以前不知道時都寫程式去parse,不過用grep後就不再寫了,它可以和cut或wc等一塊用,不過這邊就只紀錄一下grep簡單用法,免得我老是要查找
暫時記到這裡!
參考網址:
鳥哥的 Linux 私房菜-第十一章、認識與學習 BASH -grep
鳥哥的 Linux 私房菜-第十二章、正規表示法與文件格式化處理-grep
grep 'test' xxx.log //找單一檔案中的test那幾行 grep -v 'test' xxx.log //找單一檔案中的沒有test的那幾行 grep --color=auto 'test' xxx.log //找單一檔案,且字用顏色標起來 grep -n --color=auto 'test' xxx.log //找單一檔案,標出行號 grep -n -A3 -B2 --color=auto 'test' xxx.log //找單一檔案,有這個字的前2行後3行 grep -n -A3 -B2 --color=auto 'test' xxx.log.2014-07* //找多個檔案 grep -n -A3 -B2 --color=auto 't[a-z]st' xxx.log.2014-07* //找多個檔案中,t(任意小寫)st的字,使用正規表示式
暫時記到這裡!
參考網址:
鳥哥的 Linux 私房菜-第十一章、認識與學習 BASH -grep
鳥哥的 Linux 私房菜-第十二章、正規表示法與文件格式化處理-grep
2014年5月9日 星期五
CentOS筆記-Postfix fail: connect to aspmx2.googlemail.com[2607:f8b0:4001:c03::1b]:25: Network is unreachable
出現底下的問題:
connect to aspmx2.googlemail.com[2607:f8b0:4001:c03::1b]:25: Network is unreachable
Google了一下看到這篇[SOLVED] Postfix Connection failure (outbound)?,看起來是CentOS 6才有問題,修改了vim /etc/postfix/main.cf裡頭的資訊
重新啟動即可
參考網址:
[SOLVED] Postfix Connection failure (outbound)?
connect to aspmx2.googlemail.com[2607:f8b0:4001:c03::1b]:25: Network is unreachable
Google了一下看到這篇[SOLVED] Postfix Connection failure (outbound)?,看起來是CentOS 6才有問題,修改了vim /etc/postfix/main.cf裡頭的資訊
vim /etc/postfix/main.cf inet_interfaces = all //原設定為localhost inet_protocols = ipv4 //原設定為all
重新啟動即可
/sbin/service postfix restart
參考網址:
[SOLVED] Postfix Connection failure (outbound)?
2013年7月25日 星期四
CentOS筆記-安裝LAMP
前陣子用阿里雲的系統:CentOS 6.3,建好是一整個空的系統,連Apache、MySQL都沒有,真的空空如也,只能自己加上去,這邊記一下步驟:
安裝Apache http server
修改/etc/httpd/conf/httpd.conf中
原
改成
安裝Mysql Server
若要安裝5.5版,可以看CentOS筆記-CentOS 6.5 安裝MySQL 5.5
最後一個指令可以設定root密碼,將一些用不到的table及權限去除(link: MySQL Server 安裝後的設定)
安裝PHP
重啟
或
service httpd restart
service mysqld restart
這樣一個基本的LAMP就架起來了
架phpMyAdmin
我習慣用phpMyAdmin,所以再到PhpMyAdmin Home下載最新的tar檔,上傳到/var/www底下解開後,我是都會改目錄名稱為myadmin,用http://{hostname或ip}/myadmin,就可以用了,不過這次卻發生CentOS筆記-PHP Fatal error: Call to undefined function mb_detect_encoding()中提到的問題,就再依文中所提處理即可。
若有要安裝wordpress,是要再注意/etc/httpd/conf/httpd.conf中
檔案最後再加上底下幾行(主要是Rewrite那幾行)
記得再重啟http server
參考網址:
How to Install Linux, Apache, MySQL, PHP (LAMP) stack on CentOS 6
新安裝 CentOS 6.5 筆記
安裝Apache http server
yum install httpd
service httpd start修改/etc/httpd/conf/httpd.conf中
<Directory "/var/www/html">下的Options原
Options Indexes FollowSymLinks改成
Options -Indexes FollowSymLinks安裝Mysql Server
yum install mysql-server
service mysqld start
/usr/bin/mysql_secure_installation若要安裝5.5版,可以看CentOS筆記-CentOS 6.5 安裝MySQL 5.5
最後一個指令可以設定root密碼,將一些用不到的table及權限去除(link: MySQL Server 安裝後的設定)
安裝PHP
yum install php php-mysql php-mysqli php-mbstring重啟
chkconfig httpd on
chkconfig mysqld on或
service httpd restart
service mysqld restart
這樣一個基本的LAMP就架起來了
架phpMyAdmin
我習慣用phpMyAdmin,所以再到PhpMyAdmin Home下載最新的tar檔,上傳到/var/www底下解開後,我是都會改目錄名稱為myadmin,用http://{hostname或ip}/myadmin,就可以用了,不過這次卻發生CentOS筆記-PHP Fatal error: Call to undefined function mb_detect_encoding()中提到的問題,就再依文中所提處理即可。
若有要安裝wordpress,是要再注意/etc/httpd/conf/httpd.conf中
LoadModule rewrite_module modules/mod_rewrite.so <-- 這個要有檔案最後再加上底下幾行(主要是Rewrite那幾行)
AddType application/x-httpd-php .php .phtml
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]記得再重啟http server
參考網址:
How to Install Linux, Apache, MySQL, PHP (LAMP) stack on CentOS 6
新安裝 CentOS 6.5 筆記
2013年7月19日 星期五
CentOS筆記-安裝GIT
CentOS 5:
發現沒有GIT,只好自行下載,大概步驟如下:
測試一下能不能用,打入
可以看到GIT的版本,不過我實際使用是從網路上取得,打上
卻出現:fatal: Unable to find remote helper for 'https'
查了下發現可能是curl的問題,所以GIT要再compile進curl,指令如下:
再輸入
CentOS 6:yum上面有git可用
參考網址:
Centos 5.8 install your own git server
repo下载android出现fatal: Unable to find remote helper for 'https'问题的方法
git clone: fatal: Unable to find remote helper for 'https'
>yum install git發現沒有GIT,只好自行下載,大概步驟如下:
>wget https://git-core.googlecode.com/files/git-1.7.11.1.tar.gz
>tar zxvf git-1.7.11.1.tar.gz
>cd git-1.7.11.1
>yum install zlib-devel openssl-devel cpio expat-devel gettext-devel
>./configure
>make
>make install測試一下能不能用,打入
>git --verion可以看到GIT的版本,不過我實際使用是從網路上取得,打上
git clone https://xxx.com/xxx/new.git卻出現:fatal: Unable to find remote helper for 'https'
查了下發現可能是curl的問題,所以GIT要再compile進curl,指令如下:
>yum install curl*
>cd git-1.7.11.1
>./configure
>make再輸入
git clone https://xxx.com/xxx/new.git,發現可以取得code了CentOS 6:yum上面有git可用
>yum install git參考網址:
Centos 5.8 install your own git server
repo下载android出现fatal: Unable to find remote helper for 'https'问题的方法
git clone: fatal: Unable to find remote helper for 'https'
2013年7月13日 星期六
CentOS筆記-PHP Fatal error: Call to undefined function mb_detect_encoding()
安裝phpmyadmin時,發現有底下的error
PHP Fatal error: Call to undefined function mb_detect_encoding() in /var/www/html/mysqladmin/libraries/php-gettext/gettext.inc on line 177
猜測是少了某個套件,一查下果然,是少了mbstring
使用底下指令安裝php這套件後,就好了
參考網址:
Simple HTML Dom - Fatal error when using load_file
PHP Fatal error: Call to undefined function mb_detect_encoding() in /var/www/html/mysqladmin/libraries/php-gettext/gettext.inc on line 177
猜測是少了某個套件,一查下果然,是少了mbstring
使用底下指令安裝php這套件後,就好了
> yum install php-mbstring參考網址:
Simple HTML Dom - Fatal error when using load_file
2013年7月4日 星期四
CentOS筆記-設定https
Step1. 確定有Apache server
Step 2. 確定有openssl,沒有的話執行
yum install openssl
(記得用/sbin/service httpd configtest檢查)
Step 3. 確定有安裝mod_ssl,沒有的話執行
yum install mod_ssl
Step 4. 產生認證
1. cd /etc/pki/tls/private
2. 產生2048的key: openssl genrsa -out private.key 2048
3. 產生憑證檔請求檔: openssl req -new -key private.key -out https.csr
4. 自行產生x509憑證檔:open x509 -req -days 365 -in https.csr -signkey private key -out server.crt
(正常下是要請CA用憑證檔請求檔來產生x509憑證檔,要花錢)
這樣這兩個檔都放在/etc/pki/tls/private(可以自行放在想要的位置)
Step 5. 編輯ssl.conf,找到
SSLCertificateFile /etc/pki/tls/private/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.key
Step 6. 檢查設定及重啟
/sbin/service httpd configtest
/sbin/service httpd restart
這樣就行了
參考網址:
Apache 開啟 HTTPS
http://disp.cc/b/11-3UNW
DER vs. CRT vs. CER vs. PEM Certificates and How To Convert Them
Step 2. 確定有openssl,沒有的話執行
yum install openssl
(記得用/sbin/service httpd configtest檢查)
Step 3. 確定有安裝mod_ssl,沒有的話執行
yum install mod_ssl
Step 4. 產生認證
1. cd /etc/pki/tls/private
2. 產生2048的key: openssl genrsa -out private.key 2048
3. 產生憑證檔請求檔: openssl req -new -key private.key -out https.csr
4. 自行產生x509憑證檔:open x509 -req -days 365 -in https.csr -signkey private key -out server.crt
(正常下是要請CA用憑證檔請求檔來產生x509憑證檔,要花錢)
這樣這兩個檔都放在/etc/pki/tls/private(可以自行放在想要的位置)
Step 5. 編輯ssl.conf,找到
SSLCertificateFile /etc/pki/tls/private/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.key
Step 6. 檢查設定及重啟
/sbin/service httpd configtest
/sbin/service httpd restart
這樣就行了
參考網址:
Apache 開啟 HTTPS
http://disp.cc/b/11-3UNW
DER vs. CRT vs. CER vs. PEM Certificates and How To Convert Them
2013年6月25日 星期二
CentOS筆記-fsockopen()被SELinux擋掉
裝好centOS 6後,預設SeLinux是開啟的,我懶的關掉他,不過他倒是造成了像我這篇CentOS筆記-postfix服務與php mail()所述的問題,今天又發現用fsocketopen會有問題,查到Enable remote fsockopen() in PHP on Fedora (SELinux)這篇,才發現又有個要設定,如下述指令,打開後就ok了
可以用底下這個來看剛才的動作有沒有成功(查詢server上有哪些動作的message)
參考網址:
Enable remote fsockopen() in PHP on Fedora (SELinux)
SELinux, Apache/httpd, PHP establishing socket connections using fsockopen() et al
setsebool -P httpd_can_network_connect 1可以用底下這個來看剛才的動作有沒有成功(查詢server上有哪些動作的message)
tail /var/log/messages參考網址:
Enable remote fsockopen() in PHP on Fedora (SELinux)
SELinux, Apache/httpd, PHP establishing socket connections using fsockopen() et al
2012年12月24日 星期一
CentOS筆記-開機自動啟動httpd及mysqld
主機放在公司,停電就活生生的被關機了,開機後一堆服務都不在,還是設定一下,開機自動啟動httpd及mysqld
參考網址:
第十八章、認識系統服務 (daemons)-chkconfig
Author 說: phpmailer使用經驗(解決無法寄信的問題)
/sbin/chkconfig httpd on/sbin/chkconfig mysqld on
chkconfig --list |more //可以查看每個服務在哪些level有開參考網址:
第十八章、認識系統服務 (daemons)-chkconfig
Author 說: phpmailer使用經驗(解決無法寄信的問題)
2012年11月1日 星期四
CentOS筆記-修改防火牆
做個記錄
修改防火牆的規則
重啟防火牆
這樣就可以用載入剛才寫的了
下次再來寫防火牆的規則寫法好了....太多事情要做了 orz
修改防火牆的規則
vim /etc/sysconfig/iptables重啟防火牆
/sbin/service iptables restart這樣就可以用載入剛才寫的了
下次再來寫防火牆的規則寫法好了....太多事情要做了 orz
2012年9月24日 星期一
CentOS筆記-postfix服務與php mail()
最近在解決送信的問題,CentOS 6上執行PHP 5.3的mail(),要利用postfix來送信,明明 postfix己經啟動,但仍然是無法送信。說實在我不熟悉mail server的設定,但所有的事情都一樣,有問題就先找log,所以先找找log在何處,搜尋網路上的資料,才知在/var/log/maillog。看到底下這個錯誤:
postfix/sendmail[10710]: fatal: chdir /var/spool/postfix: Permission denied
蠻怪的,怎會是權限問題,再找了找資料,看到這個Posftix Permission denied problem
嗯,我也是要fast solution。
先用getsebool -a | grep httpd_can_sendmail看看目前設定,果然結果是:httpd_can_sendmail --> off
就用setsebool httpd_can_sendmail 1,再/sbin/service postfix restart及/sbin/service httpd restart
就可以發送了。
不過,因為是fast solution,沒考慮到什麼資安問題,預設是off,也許要注意一下有什麼狀況
參考網址:
建置 POSTFIX 伺服器
[請益]postfix之log解析問題
請問postfix怎樣查錯呀?
Posftix Permission denied problem
setsebool指令
SELinux Booleans
postfix/sendmail[10710]: fatal: chdir /var/spool/postfix: Permission denied
蠻怪的,怎會是權限問題,再找了找資料,看到這個Posftix Permission denied problem
嗯,我也是要fast solution。
先用getsebool -a | grep httpd_can_sendmail看看目前設定,果然結果是:httpd_can_sendmail --> off
就用setsebool httpd_can_sendmail 1,再/sbin/service postfix restart及/sbin/service httpd restart
就可以發送了。
不過,因為是fast solution,沒考慮到什麼資安問題,預設是off,也許要注意一下有什麼狀況
參考網址:
建置 POSTFIX 伺服器
[請益]postfix之log解析問題
請問postfix怎樣查錯呀?
Posftix Permission denied problem
setsebool指令
SELinux Booleans
2012年9月22日 星期六
CentOS筆記-php執行在正確的使用者下,仍回應permission deny的原因之一
今天真的學到一課了!!!!
明明網站的目錄權限是770,user及group都apache的情況下,無法在此目錄建立任何資料,可以看到不能建立、修改、刪除。
利用echo `whoami`來取得php的執行user,看是不是有錯,但仍是apache,是沒有問題的,雖然如此但設定成777也無法存取,只好猜測是否有多出來的權限設定,先試用了getfacl,也沒問題,最後找到File permissions with no sense (Linux, Apache)這篇,猜測是restorecon的問題,再找到鳥哥-restorecon文中所提到重設 SELinux 安全性本文,執行步驟如下:
Step 1: 將安全性文本都回到預設值
restorecon -Rv {目錄}
Step 2: 將類型改成httpd_sys_content_t
chcon -R -t httpd_sys_content_t {目錄} //-R是目錄下所有目錄都要更動
這樣就可以回復成正常的apache可讀取權限
耗了我3個小時的時間去處理~~~@@"
參考網址:
File permissions with no sense (Linux, Apache)
鳥哥-restorecon
明明網站的目錄權限是770,user及group都apache的情況下,無法在此目錄建立任何資料,可以看到不能建立、修改、刪除。
利用echo `whoami`來取得php的執行user,看是不是有錯,但仍是apache,是沒有問題的,雖然如此但設定成777也無法存取,只好猜測是否有多出來的權限設定,先試用了getfacl,也沒問題,最後找到File permissions with no sense (Linux, Apache)這篇,猜測是restorecon的問題,再找到鳥哥-restorecon文中所提到重設 SELinux 安全性本文,執行步驟如下:
Step 1: 將安全性文本都回到預設值
restorecon -Rv {目錄}
Step 2: 將類型改成httpd_sys_content_t
chcon -R -t httpd_sys_content_t {目錄} //-R是目錄下所有目錄都要更動
這樣就可以回復成正常的apache可讀取權限
耗了我3個小時的時間去處理~~~@@"
參考網址:
File permissions with no sense (Linux, Apache)
鳥哥-restorecon
2012年9月19日 星期三
CentOS筆記-查詢目錄所用空間
最近需要看下每個網站的使用空間,突然就傻了,啊在linux中怎用,詢問下才知道超簡單
du -sh {目標folder}
du -h --max-depth=N {目標folder} //N是目標folder下幾層要列出
有夠easy,但~還是做下筆記
du -sh {目標folder}
du -h --max-depth=N {目標folder} //N是目標folder下幾層要列出
有夠easy,但~還是做下筆記
2012年9月3日 星期一
CentOS筆記-載入flahs(隨身碟)
先用底的指令查看剛才放上的隨身碟的名稱
fdisk -l
可以看到類似
Disk /dev/sdc: 16.2 GB, 16225665024 bytes
256 heads, 51 sectors/track, 2427 cylinders
Units = cylinders of 13056 * 512 = 6684672 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 2428 15842392 c W95 FAT32 (LBA)
可以看出是/dev/sdc1,這時在你想mount的地方建個folder,我是在/mnt
mkdir /mnt/flash
mount -t vfat -o iocharset=cp950 /dev/sdc1 /mnt/flash
這樣就成功了,可以做你想要的事了
參考網址:
第八章、Linux 磁碟與檔案系統管理
fdisk -l
可以看到類似
Disk /dev/sdc: 16.2 GB, 16225665024 bytes
256 heads, 51 sectors/track, 2427 cylinders
Units = cylinders of 13056 * 512 = 6684672 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 2428 15842392 c W95 FAT32 (LBA)
可以看出是/dev/sdc1,這時在你想mount的地方建個folder,我是在/mnt
mkdir /mnt/flash
mount -t vfat -o iocharset=cp950 /dev/sdc1 /mnt/flash
這樣就成功了,可以做你想要的事了
參考網址:
第八章、Linux 磁碟與檔案系統管理
2012年8月30日 星期四
Deploy前必備
最近一件事,讓我想起剛創業時在某大電信業的機房Deploy的日子,做到清晨4點所有人都還在辦公室,而幫忙的機房人員在家等待我們做好的好日子。若你跟我一樣是沒有好的系統工程師幫忙,要自己進機房或進入Server去Deploy的苦命工程師,那我分享幾件事吧....(有個預感,我可能又要進機房了....Orz)
進機房Deploy前,有幾件事要注意
雖然都會確認owner及權限,但常常在測試站上是沒問題,進了Server就開始這邊權限不對,那邊owner怪怪的,不然就是都正確,但你還是不能用,尤其是目錄,所以常常就是還原這個目錄,裡頭的檔案手動一個個換掉,神奇的是,有時還不能用usb上的,得ftp去測試環境拿,有時我在用我的mac時,也多少有這類狀況,我相信windows也可能有
我只能說我不是系統工程師~~我不是系統工程師~~我不是系統工程師~~,我的專業不在此啊~~ 麻煩找專業的來
謎之音:專業的看了看,可能會說這是程式的問題,要問那個工程師,問他是怎麼搞出來的
進機房Deploy前,有幾件事要注意
- 新程式碼記得先壓縮備份好,確認目錄owner及權限是沒有問題的
- 程式碼備份在要帶去的usb、Server的ftp或某個目錄(可以http下載或scp可以找到的地方),最差的狀況可能要從測試站的目錄拿取更動的程式碼檔案,而不是預備好的程式碼
- 要熟悉Command line操作,別認為機房內的主機有GUI介紹操作
這部分當然要看你的系統環境,若是Linux系統,就好好練習命令列操作吧 - 非系統工程師不用懂太多指令,但基本的tar、 ftp、scp、ssh、wget、chown、 chmod,若程式有version control使用,至少要會直接匯出的指令,例如svn的co或export,git的clone,之前寫了篇CentOS筆記-scp用法,之後再補充其他的好了,重點是想要檔案時,可以用command line的方式就很快取得
- 到達現場時,第一件事備份所有舊程式、檔案資料及DB資料,Deploy最重要的永遠是備份、備份、備份、備份、備份~~最好是能備份到另一台Server去或先上傳到測試站上測試過
- 除非必要,否則別刪掉原目錄,直接覆蓋通常是最安全的做法(這點純是個人經驗,有些人好像是反過來)
雖然都會確認owner及權限,但常常在測試站上是沒問題,進了Server就開始這邊權限不對,那邊owner怪怪的,不然就是都正確,但你還是不能用,尤其是目錄,所以常常就是還原這個目錄,裡頭的檔案手動一個個換掉,神奇的是,有時還不能用usb上的,得ftp去測試環境拿,有時我在用我的mac時,也多少有這類狀況,我相信windows也可能有
我只能說我不是系統工程師~~我不是系統工程師~~我不是系統工程師~~,我的專業不在此啊~~ 麻煩找專業的來
謎之音:專業的看了看,可能會說這是程式的問題,要問那個工程師,問他是怎麼搞出來的
訂閱:
文章 (Atom)
