顯示具有 CentOS 標籤的文章。 顯示所有文章
顯示具有 CentOS 標籤的文章。 顯示所有文章

2013年3月18日 星期一

將Click-Me imgur的圖片下載

將Click-Me imgur的圖片下載

#!/bin/bash
cat 'temp.txt' | while read line
do
    temp=$(echo $line | sed 's/^M//')
    index=$(echo $temp | awk -F "," '{ print $1 }')
    content=$(echo $temp | awk -F "," '{ print $2 }')
    picture=$(echo $temp | awk -F "," '{ print $3 }')
    flag=$(echo $temp | awk -F "," '{ print $4 }')

#如果等於1 就建一個資料夾
if [ ! -d /var/www/html/imgbackup/image/$index ]; then
    mkdir ./image/$index
fi

wget -t0 -O ./image/$index/$picture.jpg $content
echo "現在進行到-$index"
done

2013年3月12日 星期二

web禁止存取.git資料夾 (apache git folder deny)

『環境』
  CentOS 6.x , apache
===========================================

有時候你可能需要在web資料夾下使用git來拿取網頁資料

於是你會多了一個.git的資料夾,並且裡面有很多檔案

但是又希望別人不能存取這個資料夾底下的東西

解決方法

vim /etc/httpd/conf.d/git_deny.conf
(新增一個設定檔)

加入

<DirectoryMatch "^/.*/\.git/">
  Order allow,deny
  deny from all
</DirectoryMatch>

然後再重新啟動httpd即可


2013年3月11日 星期一

實作git server更新多台server


   Git

Q:什麼是Repository?
Ans:就是倉庫的意思
Q:需要做哪些基礎設定?
Ans:
git config --global user.name "Tsung"
git config --global user.email "username@email.com"
git config --global color.diff auto # git diff 要顯示顏色
git config --global color.status auto # git status 要顯示顏色
git config --global color.branch auto
git config --global color.log auto # git log --graph 會很漂亮, 感謝日落提供.
git config --global core.excludesfile ~/.gitignore # 設置忽略名單
相關連結
GitHub官網 - https://github.com/

下載git軟體  yum install git
(如有需要) 下載gitk軟體(以圖表方式顯示) yum install gitk

「server端」
  1. useradd git #新增git帳號
  2. cd /home/git/project #切換到git目錄底下的project資料夾
  3. git init --bare (單純repository)
  4. 無法在此新增檔案,只單純用在repository

「client端」

  1. useradd git #新增git帳號
  2. cd /home/git/ #切換到git目錄
  3. git clone git@192.168.10.130:/home/git/project #將server端的資料複製到client端
  4. vim test.php #新增檔案
  5. git add . #加入檔案
  6. git commit -m 'this is a test file.' #commit檔案
  7. git pull #更新server端資料
  8. git push # 將檔案上傳上去
  9. git status #查詢git狀況

注意事項:
  1. chown -R git:git /home/git/project #更改檔案目錄擁有者及群組為git
  2. git config receive.denyCurrentBranch ignore #發生錯誤,忽略server端的master
後面要加入的 re.local 以及新增機器自動判斷是否已有.git 及 拉檔案  新增排程。

# git clone 的時候會顯示資料夾是空的。
#必須新增檔案 vim test.php; git add .; git commit -a "this is a first file."; 才能push and pull
# 第一次push的時候要下 git push git@192.168.10.130:/var/www/html/project master
#

git.script
if [ -d /var/www/html/project/.git ] ; then
    echo "project存在,git資料夾有存在,開始更新網站內容。"
    cd /var/www/html/project
    git pull
else
    echo "資料夾不存在,建立網站資料"
    rm -rf /var/www/html/project
    cd /var/www/html/
    git clone git@192.168.10.130:/var/www/html/project
    exit 0
fi
service httpd start

push.script
cd /var/www/html/project
git push

#編輯排程
crontab -e 
*/1 * * * * /var/www/html/pull.script  #每1分鐘執行一次。


2013年3月7日 星期四

CentOS 指令大全

CentOS 指令大全

yum install php mysql mysql-server

chkconfig httpd on # 開機啟動
chkconfig mysqld on # 開機啟動




ps aux | grep httpd #查詢httpd是否正在執行。
chkconfig --list #列出現在的服務狀態。
chkconfig --level 345 httpd on #r將httpd服務在level 3.4.5 開啟。

讓開啟可以執行root權限的指令

Defaults:nobody !requiretty

管理防火牆 iptables

iptables-save #查看防火牆狀況。
iptables -F #刪除防火牆規則,只保留前三項。

vim /etc/sysconfig/iptables # 修改防火牆規則。
iptables-restore /etc/sysconfig/iptables #載入防火牆規則至設定。

2013年3月5日 星期二

CentOS 實作SSH連線

實作過程:
  1. 以一個使用者(asami)的身分產生密鑰在/home/asami/.ssh/底下 (/ssh-keygen -t rsa)
  2. id_rsa id_rsa.pub
  3. 將密鑰灌進去 authorized_keys (cat id_rsa.pub >> authorized_keys) =>灌公鑰進去。
  4. 然後chmod 400 authorized_keys,稍微保護一下。
  5. 設定sshd_config  (vim /etc/ssh/sshd_config)

    /etc/ssh/sshd_config
    Protocol 2
    ServerKeyBits 1024
    PermitRootLogin no  # 禁止root登錄。

    #以下三行沒什麼要改的,把默認的#註釋去掉就行了
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile    .ssh/authorized_keys

    PasswordAuthentication no # 如果不用key登入,一定要設yes,KEY與密碼一定要二選一
    PermitEmptyPasswords no # 禁止使用空密碼登入
  6. 重啓sshd (/sbin/service sshd restart)
  7. 下載使用Puttygen,load id_rsa檔案,轉換另存private key。
    id_rsa -> id.rsa.ppk 。(亞馬遜pem -> ppk)
    filezilla 也要轉ppk
    遇到Puttygen不能使用,將檔案及Puttygen丟在D槽解決。

    無法登入原因,可能是你把KEY驗證開啟,又開啟不用密碼驗證。PasswordAuthentication no改爲PasswordAuthentication yes
    service sshd restart
  8. 下指令執行囉。 ssh -i id_rsa root@192.168.10.130  #用root登入遠端。(選擇私鑰~)
  9. /etc/hosts.allow and hosts.deny 可加入IP防止使用SSH連線。 #sshd 192.168.10.134
觀念提醒:
  1. server 端用 public key,client 端用 private key
  2. key傳的方式mail or filezilla的方式傳輸
  3. pem, id_rsa 利用 puttygen 轉 .ppk
  4. .ssh的資料夾權限務必設成755
  5. id_rsa.pub and authorized_keys 設成644
  6. id_rsa 權限設成600
  7. 用戶目錄權限設成755 or 700