【伺服器】安裝完 CentOS 7 的 7 項基本工作

CentOS7_S_1

在前一篇「【伺服器】大改版的 CentOS 7 及基本安裝說明」之後,接下來我們必需要為這台伺服器作一些基本的設定,否則伺服器裝好了也不知道要幹什麼,接下來筆者將以「網頁伺服器 + PHP」為主軸,舉例說明在安裝完基本系統後所要完成的 7 大設定工作。

安裝完伺服器後,基本上這台主機應該是可以上網了,不過還得多做一些設定讓它發揮基本的伺服器作用,以下針對幾個項目來做一些說明:

  • 網路設定
  • 升級官方伺服服器套件
  • 安裝第三方伺服器套件庫
  • 安裝網站及 php 套件
  • 關閉 selinux 和有點機車的防火牆
  • 啟用及關閉必要及不需要的服務

看起來好像還頗多的ㄟ,就讓筆者帶各位一步步來進行設定工作囉~

1.網路設定

先前安裝系統的時候,由於還不知道網路環境,當時是採用 DHCP 的模式先將網路啟動以便進行網路校時,這樣的設定在桌面環境是沒有問題的,但是對伺服器來說,並不是那麼 OK,因為伺服器通常需要一組固定的 IP 和 hostaname 讓外界固定來拜訪,而預載的 NetWorkManager 在個人的經驗中常常會不大正常(這個版本正常多了 XD)所以本文會說明如何關掉原有的 NetWorkManager,採並用原有的 network 指令來啟動網路。

首先關掉 NetworkManager (開始採用新的指令):

#systemctl disable NetworkManager.service
#systemctl stop NetworkManager.service
#chkconfig network on #因為network不是標準的 systemd 的程序
#systemctl stop network

接下來請編輯 /etc/sysconfig/network-scripts/ifcfg-你的網路卡編號(請利用 vim 編輯器,或是 gedit),修改內容如下:

原有的內容:

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="eno16777736"
UUID=3d7877b7-24e0-40fc-ac67-f2552f3ef664
ONBOOT=yes
HWADDR=00:0C:29:5B:84:12

修改成以下內容:

TYPE="Ethernet"
BOOTPROTO=none       #改成none
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="b06e0794-79ce-4d9d-9703-4eff3dc7e38d"
ONBOOT="yes"
HWADDR=00:0C:29:5B:84:12
IPADDR0=192.168.1.40 #這台伺服器的固定IP,實際IP依照自有環境
GATEWAY=192.168.1.2  #這台伺服器的gateway 請注意不要加「0」
DNS1=168.95.1.1      #這台伺服器的DNS(中華電信DNS IP,也可以加在 /etc/resolv.conf 中)

刪掉由 NetworkManager 所產生的設定檔,並啟動網路:

#rm -rf /etc/systemconfig/network-scripts/ifcfg-自動使用乙太網路
#systemctl start network

完成之後存檔,重開機一次測試看能不能正常的上網~

2.升級官方套件

因為 CentOS 7 已經出來一陣子了(大約已經 1 個半月),所以會有相當多的套件已列入更新,請使用具 root 群組權限的使用者登入(筆者都很懶,直接用 root XD),執行以下的指令:

#yum update -y

其中「-y」的參數是直接自動升級,也可以選擇在看完升級清單後,按下「y」鍵繼續升級。

.......................
xorg-x11-drv-synaptics x86_64 1.7.1-10.el7_0.1 updates 81 k
yum-plugin-fastestmirror noarch 1.1.31-25.el7_0 updates 28 k
yum-utils noarch 1.1.31-25.el7_0 updates 111 k

Transaction Summary
================================================================================
Install 1 Package
Upgrade 78 Packages

Total size: 152 M
Is this ok [y/d/N]: y ------>打y後會繼續更新
Downloading packages:
警告:/var/cache/yum/x86_64/7/updates/packages/gnutls-3.1.18-9.el7_0.x86_64.rpm: 表頭 V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package : centos-release-7-0.1406.el7.centos.2.3.x86_64 (@anaconda)
 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Is this ok [y/N]: y ------------->匯入驗證的key

3.安裝第三方伺服器套件庫

雖然官方套件已經涵蓋了完整的應用,但仍舊有些「特殊應用」沒有放在官方的套件庫中,此時就需要第三方的套件庫,就免去自已還要編譯的痛苦,也較好管理,但是要注意還是避免使用不知名的套件庫,免得變成後門的來源呀~目前比較知名的有:rpmfusionEPEL兩大套件庫。

EPEL延伸套件庫的安裝:

#yum install http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

20141230更新:新的位置如下。

#yum install http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

rpmfusion 目前還沒有出針對 CentOS 的延伸套件庫,可先參考這裡

4.安裝網站及 php 套件

基本上我們暫時只需要 httpd、php 的一些基本套件,安裝的指令如下:

#yum install httpd php -y
#systemctl enable httpd.service
#systemctl start httpd.service

5.關閉 selinux

SELinux有時很麻煩,會讓伺服器的某些服務失效,請修改 /etc/sysconfig/selinux,將 SELINUX 那行改為 disabled。

SELINUX=disabled

然後重新開機後就生效了。

6.關閉 firewalld.service

#systemctl disable firewalld.service
#systemctl stop firewalld.service

7.systemd 基本管理方式

#systemctl --help              #查詢systemctl指令用法
#systemctl list-units          #查詢目前所有啟動中的服務
#systemctl list-units -a       #查詢目前所有已啟動及未啟動的服務
#systemctl enable xxx.service  #設定開機啟動xxx.service
#systemctl disable xxx.service #設定開始不啟動xxx.service
#systemctl stop xxx.service    #立即停止xxx.service
#systemctl start xxx.service   #立即啟動xxx.service
#ssytemctl status xxx.service  #查詢xxx.serivce目前的狀態

20141230更新:

#systemctl --list-units [--type=[service|socket|path]   #依不同類型查詢啟動中的服務
#systemctl is-enabled sshd                              #查詢服務是否設定開機啟動
#systemctl is-active sshd                               #查詢服務是否正常啟動
#systemctl list-unit-files                              #查詢服務啟動或是關閉狀態,以檔名顯示

結束~最基本的伺服器即已架構完成~之後就會陸續的說架如何在 CentOS 7 上架設各式的應用服務~

CentOS7_S_2

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *