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
好了,到这里,基本的环境配置就完成了。