CentOS v6.7 新裝配置
從網上下載到 CentOS-6.7-x86_64-bin-DVD1.iso 完整版,并通過 Mac OSX 上的虛擬機應用 Parallels Desktop 安裝 Basic Server 后,根據自己的需要進行如下環境的配置:
- 安裝 git 版本控制工具
- 安裝 nvm 和 node.js
- 安裝 nginx
啟用網絡
但是剛裝完的系統,發現無法解析域名,于是輸入 ifconfig 來查看網絡信息:
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
只有 loopback,看來是網口沒有啟動,于是我們去到代表我們網口設備的文件 /etc/sysconfig/network-scripts/ifcfg-eth0 ( eth0 代表第一個網口)。
發現其中 ONBOOT 為 false ,我們把它該為 true ,讓它啟用這個網口。隨后 service network restart 來重啟網絡服務,待 ip 被分配好后,即可上網。
開始安裝 git
先從 git 開始,我們用 yum install git 來快速安裝 git,不過查看下版本,是 v1.7.1,我希望可以升級到最新版本,那么我們需要做的是下載 git 源碼包并編譯。
源碼包可以到這里下載: https://www.kernel.org/pub/software/scm/git/ ,選擇一個自己想要的版本即可。
下載并解壓:
wget https://www.kernel.org/pub/software/scm/git/git-2.7.0.tar.gz tar -zxvf git-2.7.0.tar.gz
接下來安裝編譯時需要的依賴:
> yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc > yum install gcc perl-ExtUtils-MakeMaker
進入到 git 源碼的目錄中,開始編譯:
cd git-2.7.0 make configure ./configure make all doc make install install-doc install-html
git 升級完成,現在已經是 v2.7.0 的版本了。
安裝 nvm 和 node.js
git 安裝完成后開始裝 node.js,為了更好的控制和切換 node.js 的版本,我們首先安裝 nvm。
根據在 github 上的說明 ,我們執行以下命令即可完成安裝。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
之后我們分別安裝 node.js v4 和 v5 的最新版本。
nvm install 4 nvm install 5
node.js 安裝完畢,之后統一使用 nvm 來做 node.js 的版本管理。
安裝 nginx
直接使用 yum install nginx 并不能安裝,需要手動添加 nginx 的源,這個在 官網的文檔 中有說明,我們在這里選擇 CentOS 6 下的穩定版:
創建文件 /etc/yum.repos.d/nginx.repo 并填入以下內容:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
然后使用 yum install nginx 安裝即可。完成后查看版本,安裝的是 v1.8.0 。直接輸入 nginx 來開啟 nginx 服務,監聽 80 端口請求。
配置防火墻
在啟動 nginx 后,發現在本機的瀏覽器中輸入虛擬機 ip 并不能訪問,于是想到防火墻的問題。我們先查看防火墻的信息:
service iptables status
我們發現只有 22 端口是被打開的:
Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) num target prot opt source destination
于是我們修改文件 /etc/sysconfig/iptables ,添加上 80 和 443 端口。
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
然后重啟防火墻服務即可:
service iptables restart
好了,到這里,基本的環境配置就完成了。