MaraDNS 輕量級 DNS Server 安裝

MaraDNS 是一套 OpenSource 開放源碼、輕量級、容易設定且跨平台的 DNS Server,由 Sam Trenholme 所開發。
MaraDNS 官方網站:http://maradns.samiam.org/index.html
目前最新的版本是 2.0.11 版,2015.1.19 釋出。

底下是安裝的方式:
1. 使用 rpm 安裝
官方網站上有提供 for CentOS 6.x 版的 rpm 可以下載
CentOS 6.x 下載:http://maradns.samiam.org/download/2.0/2.0.11/rpmlist.html
下載:
# wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11-1.i686.rpm
進行安裝
# rpm -ivh maradns-2.0.11-1.i686.rpm[@more@]CentOS 7.x 的部份,因為官方網站上的 rpm 是 for CentOS 6.x,所以要重新編譯後才能使用
這裡是我重新編譯過的程式:從 此處 下載
# wget https://2blog.ilc.edu.tw/wp-content/uploads/sites/985/25793/25793-3010188.rpm -O /root/maradns-2.0.11-1.x86_64.rpm
安裝:
# rpm -ivh /root/maradns-2.0.11-1.x86_64.rpm

2. 使用 tar.gz 原始碼安裝
安裝 gcc 編譯程式
# yum install gcc
下載 MaraDNS 原始碼
# wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2
解壓縮
# tar xvjf maradns-2.0.11.tar.bz2
進行編譯及安裝
# cd maradns-2.0.1
# make;make install

3. 啟動 maradns
CentOS 6.x
# chkconfig –level 35 maradns on
# service maradns start
CentOS 7.x
# chkconfig –level 35 maradns on
# systemctl start maradns

客製化 CentOS 7.1.1503 Server 安裝光碟

主要是為了安裝 Server 時可以更加方便,預設只要三個步驟:分割硬碟、設定網路、設定 root 密碼。

光碟開機畫面,以 Install CentOS 7 為預設選項,取消時間倒數
[@more@]分割硬碟

設定網路

開始安裝

設定 root 密碼

完成安裝

客製化內容:
1. 預設啟動 Apache Web Server / PHP / MariaDB SQL Server
2. 新增一些 Apache Web Server 的安全性設定
3. MariaDB MySQL Server 修改成 UTF-8 的使用環境
4. 修改 php 設定,包含:上傳的檔案大小到 200M,時區改成 Asis/Taipei……等等。
5. 套件更新到 2015_04_03
6. 套件更新伺服器改成臺灣
7. 每天早上 6 點對時
8. 加入第三方套件庫 rpmforge / epel /remi,但預設不啟動

試裝 CentOS 7.1.1503

試裝  CentOS 7.1.1503

1. 光碟開機畫面,選擇 Install CentOS 7
[@more@]2. 選擇語言

3. 軟體選擇(S)

4. 視需求來安裝

5. 安裝目的地(D)

6. 硬碟分割

7. 網路&主機名稱(N)

8. 網路設定

9. 開始安裝(B)

10. 設定 root 密碼

11. 設定 root 密碼,如果是使用 weak password 要按二下完成

12. 安裝過程

13. 安裝完成,選擇 重新開機(R)

CentOS Linux 的安裝一直以來都沒有太大的變化,不過感覺愈來愈難用,在安裝套件選擇時,無法一次挑選自己所需套件,也就是沒有自定安裝的選項。

安裝完成的版本
# cat /etc/redhat-release
Derived from Red Hat Enterprise Linux 7.1 (Source)

CentOS 7.1.1503 ISO?

在 CentOS 7.1.1503 ISO 的下載目錄中,有些檔案檔名相差不多的檔案,究竟是下載哪一個呢?
一般我都是選擇 DVD 版本,不過這裡的 DVD 版本二個,差別只有一個檔案名稱多了 -01 及檔案日期比較新,-01 的檔案也比較大。
CentOS-7-x86_64-DVD-1503-01.iso 
CentOS-7-x86_64-DVD-1503.iso
CentOS-7-x86_64-Everything-1503-01.iso 
CentOS-7-x86_64-Everything-1503.iso
CentOS-7-x86_64-Minimal-1503-01.iso  
CentOS-7-x86_64-Minimal-1503.iso
[@more@]根據 0_README.txt  中的檔案說明,以我的需求,應該是選擇有 -01 的版本。

CentOS 7.1.1503

CentOS 7.1.1503 版釋出,關於新版本的說明,可以參考:CentOS-7(1503)发行注记

CentOS 7.0.1406 版使用者可以直接使用 yum update 來更新到最新版本。
# yum update

更新後版本代號
# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

CentOS 7.1.1503 ISO 檔下載:
樹德科技大學
元智大學
交通大學資訊工程學系
南臺科技大學
中山大學
國家高速網路與計算中心
崑山科技大學
義守大學
中華電信
頭城國小

忘了 CentOS 7 root 密碼

有一台之前測試安裝的 CentOS 7,後來要使用時,發現已經忘了 root 的密碼,使用之前的忘了 root 密碼的方式處理,發現無法重設密碼,在網路搜尋了一下,終於找到 你不一定知道,如何重置CentOS 7的Root密码 — Linux中国 — 传送门

重新設定方式:
1. 在開機時隨意按一個鍵,讓開機選單能顯示出來,通常選擇 最上方,並按 e 進行編輯
[@more@]
2. 按 e 編輯出現的畫面

3. 使用往下的游標鍵,找到 linux16 那一行將 ro 改成 rw init=/sysroot/bin/,並按 Ctrl+x 開機

4. 開完機畫面

5. chrrot 到 /sysroot 目錄
    chroot /sysroot

6. 輸入 passwd 修改密碼

7.
touch /.autorelabel

8. exit 退出

9. reboot 重新開機

RedHat/CentOS、Debian/Ubuntu、Arch Linux、Gentoo 套件管理比較

1. 更新套件庫
ReHat/CentOS
# yum update
Debian/Ubuntu
# apt-get update
Arch Linux
# pacman -Sy
Gentoo Linux
# emerge –sync[@more@]2. 更新整個系統
ReHat/CentOS
# yum -y update
Debian/Ubuntu
# apt-get upgrade
# apt-get dist-upgrade
Arch Linux
# pacman -Syu
Gentoo Linux
# emerge -u world

3. 搜尋套件
ReHat/CentOS
# yum search pkg_filename
Debian/Ubuntu
# apt-cache search pkg_filename
Arch Linux
# pacman -Ss pkg_filename
Gentoo Linux
# emerge -s pkg_filename

4. 安裝套件
ReHat/CentOS
# yum install pkg_filename
# rpm -ivh pkg_filename.rpm
Debian/Ubuntu
# apt-get install pkg_filename
# dpkg -i pkg_filename.deb
Arch Linux
# pacman -S pkg_filename
Gentoo Linux
# emerge pkg_filename
# emerge -k pkg_filename

5. 移除套件
ReHat/CentOS
# yum remove pkg_filename
# rpm -e pkg_filename
Debian/Ubuntu
# apt-get remove –purge pkg_filename
# dpkg -P pkg_filename.deb
Arch Linux
# pacman -Rn pkg_filename
Gentoo Linux
# emerge -C pkg_filename

清除佇列 Queue 中的信件

# mailq
-Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——-
B1C9B217921A*     458 Sun Jan 25 01:17:14  root@PC111.test.ilc.edu.tw
                                         tester@gmail.com

C1BC72179219*   98915 Sun Jan 25 01:06:44  root@PC111.test.ilc.edu.tw
                                         tester@gmail.com

— 97 Kbytes in 2 Requests.

有二封寄不出的信

查看一下紀錄
# grep C1BC72179219 /var/log/maillog
Jan 25 01:06:44 PC111 postfix/cleanup[31640]: C1BC72179219: message-id=<20150124170644.ABA122018DD0@PC111.test.ilc.edu.tw>
Jan 25 01:06:44 PC111 postfix/qmgr[30282]: C1BC72179219: from=<root@PC111.test.ilc.edu.tw>, size=98915, nrcpt=1 (queue active)

清除佇列 queue
# postsuper -d ALL
postsuper: Deleted: 2 messages

CentOS 7 – 使用 Google Mail 來寄信

1. 先停止 postfix 服務
# systemctl stop postfix
# systemctl disable postfix
rm ‘/etc/systemd/system/multi-user.target.wants/postfix.service'[@more@]2. 安裝 ssmtp 套件
# yum install ssmtp –enablerepo=epel

3. 備份原設定檔 /etc/ssmtp/ssmtp.conf
# cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.$(date +%F)

4. 修改設定檔

CentOS 7 – 提示可以更新的套件

1. 可以使用 yum info updates 指令來查詢可以可升級的套件
# yum info updates | grep Name | awk ‘{print $3}’
jasper-libs
或是
[@more@]2. 使用 yum-cron
# yum install yum-cron

3. 修改設定檔
# vim /etc/yum/yum-cron.conf
# Whether a message should be emitted when updates are available,
# were downloaded, or applied.
update_messages = yes

# Whether updates should be downloaded when they are available.
download_updates = no

# Whether updates should be applied when they are available.  Note
# that download_updates must also be yes for the update to be applied.
apply_updates = no

4. 啟動 yum-cron 服務
# systemctl start yum-cron

5. 設定開機時啟動 yum-cron 服務
# systemctl enable yum-cron