CentOS v6.7 新装配置

从网上下载到 CentOS-6.7-x86_64-bin-DVD1.iso 完整版,并通过 Mac OSX 上的虚拟机应用 Parallels Desktop 安装 Basic Server后,根据自己的需要进行如下环境的配置:

  • 安装 git 版本控制工具
  • 安装 nvm 和 node.js
  • 安装 nginx
  • 安装 mysql

启用网络

但是刚装完的系统,发现无法解析域名,于是输入 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 代表第一个网口)。

发现其中 ONBOOTfalse,我们把它该为 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 端口请求。

安装 MySQL

现在 MySQL 支持使用 yum 安装,在这之前我们需要先下载 yum 的仓库文件

输入命令来安装仓库文件:

sudo yum localinstall mysql-community-release-el6-7.noarch.rpm  

然后直接安装 mysql-community-server 即可:

sudo yum install mysql-community-server  

安装完成后启动:

sudo service mysqld start  

新装后,root 账号的初始密码查询:

cat /var/log/mysqld.log | grep "temporary password"  

配置防火墙

在启动 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  

好了,到这里,基本的环境配置就完成了。