CentOS系统上搭建Git版本控制服务器的教程

CentOS系统上搭建Git版本控制服务器的教程,第1张

1yum安装Git服务器

代码如下:

[root@git ~]# cd src/

[root@git src]# wget http://dlfedoraprojectorg/pub/epel/5/x86_64/epel-release-5-4noarchrpm

[root@git src]# rpm -ivh epel-release-5-4noarchrpm

Preparing                ########################################### [100%]

  package epel-release-5-4noarch is already installed

[root@git ~]# yum list

[root@git ~]# yum install -y git

2创建一个git用户,用来运行git服务

代码如下:

[root@git ~]# adduser git

3创建客户端登录证书

注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsapub文件,把所有公钥复制到/home/git/ssh/authorized_keys文件里,一行一个。嘿嘿!

1)客户端生成id_rsapub文件的命令

代码如下:

$ ssh-keygen -t rsa

$ cat  ssh/id_rsapub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

注,一路回车即可,将生成的id_rsapub,复制给管理员,帮你在服务器上增加一下,下次你用git时就不需要输入用户名和密码了。

2)查看服务器上authorized_keys文件

代码如下:

[root@git ~]# cat /home/git/ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q== Administrator@WIN2003X323

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

说明:我这里有三个用户登录服务器,所以我这里就有三个ssh-rsa,大家可以看一下。

4初始化Git仓库

注,先选定一个目录作为Git仓库,这里是/data/git/projectgit。

代码如下:

[root@git ~]# cd /data/git/

[root@git git]# git init --bare projectgit

[root@git projectgit]# ls

branches  config  description  HEAD  hooks  index  info  objects  refs

执行以上命令 Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以git结尾。然后,把owner改为git:

代码如下:

[root@git git]# chown -R gitgit projectgit

[root@git git]# ls -l

总计 4

代码如下:

drwxr-xr-x 7 git git 4096 05-09 13:50 projectgit

5禁用shell登录

注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

代码如下:

[root@git ~]# cat /etc/passwd | grep git

git:x:1001:1001:git version control:/home/git:/bin/bash

改为:

代码如下:

[root@git ~]# vim /etc/passwd

git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

6克隆远程仓库

注,现在可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

注,$ git clone git@gitjjhhcom:/data/git/projectgit,其中git用户名,gitjjhhcom服务器,/data/git/prgjectgit是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。

7创建SSH Key

首先在用户主目录下,看看有没有ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsapub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

代码如下:

$ ssh-keygen -t rsa -C "youremail@examplecom"  

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到ssh目录,里面有id_rsa和id_rsapub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsapub是公钥,可以放心地告诉任何人。

8Git服务器打开RSA认证

然后就可以去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

1RSAAuthentication yes

2PubkeyAuthentication yes

3AuthorizedKeysFile ssh/authorized_keys

这里我们可以看到公钥存放在ssh/authorized_keys文件中。所以我们在/home/git下创建ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

代码如下:

Zhu@XXX/E/testgit/834

$ git clone git@192168834:/data/git/learngitgit

Cloning into 'learngit'

warning: You appear to have cloned an empty repository

Checking connectivity done

安装sendmail服务器的很简单,只需输入以下命令即可:

yum install sendmail

这个时候依然无法发邮件,还得修改一下phpini的配置,调用sendmail功能

第一步:输入 vi /usr/local/php/etc/phpini

第二步:找到有关sendmail_path的那一行,按i键,然后就可以修改代码了,

第三步:去掉行首注释(分号;),并改成:sendmail_path = /usr/sbin/sendmail -t –i

第四步:按 Esc键——shift+q ——wq(保存退出的意思)

第五步:重启vps  命令: reboot

重启完毕后可以发邮件了,但速度很慢, 此时可以输入如下命令查看一下解析文件:cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail

127001               localhostlocaldomain localhost

19919324826          wenran

因为sendmail监听的是127001,但却无法确认主机名weimtv (因为在服务器上/etc/sysconfig/network文件里记录的HOSTNAME是 wenran),所以发送邮件就非常慢了。那么我就 把 wenran 这个主机名同时也加到127001上面,变成:

# Do not remove the following line, or various programs

# that require network functionality will fail

127001               localhostlocaldomain localhost wenran

19919324826          wenran

修改方法依然是用vi命令,

然后重启sendmail服务:service sendmail restart

1. 用以下命令查看系统是否安装了sendmail:

[root@mail /root]# rpm –qa |grep sendmail

sendmail-8110-8

2. 卸载sendmail:

[root@mail /root]# rpm -e sendmail –nodeps

3. 用以下命令杀死运行中的sendmail进程:

[root@mail /root]# killall sendmail

如果系统提示:

sendmail: no process killed

则说明当前系统中没有sendmail进程。

4. 安装postfix:

[root@mail /root]# rpm -ivh postfix-20010228release-2i386rpm

若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)

5. 安装imap

rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-47c2-12rpm

imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)

若已经安装,则此步可以省略。

6. 检查系统中是否安装了cyrus-sasl

执行以下命令查看系统中是否安装了cyrus-sasl:

rpm –qa |grep cyurs

如果您看到以下提示,则说明已经安装了cyrus-sasl

[root@test bye2000]# rpm -qa |grep sasl

cyrus-sasl-devel-1524-17

cyrus-sasl-1524-17

否则,请用rpm –ivh 命令先安装所需sasl-cyrus包。

7.修改postfix用户

同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用

的用户宿主目录。

编辑/etc/passwd文件中的相关条目如下所示:

postfix:x:89:89::/no/where:/no/shell [编辑后,只修改蓝色部分就可以了]

即:修改用户的Home directory和Shell 参照 /etc/passwd文件

8.编辑postfix的主要配置文件/etc/postfix/maincf,根据需求只需修改以下几个参数:

1)mydomain

指明你的域名,在这里我们指定:

mydomain = xxcom

2)myorigin

myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domaincom,则该参数指定@后面的域名。在这里我们指定:

myorigin = $mydomain

3)inet_interfaces

inet_interfaces = all 监听所有端口

4)mydestination

mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix

系统要接收什么样的邮件。通常与myorigin一样:

mydestination = $mydomain

5)mynetworks_style

设置网络类型,我们指定:

mynetworks_style = subnet

6)ynetworks

定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们

指定:

mynetworks = 19216810/24

注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:101010~101019,101030~101039等等更细。根据需要,该项可以不设置。

7)SMTP的配置

为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/maincf文件的最后添加以下几行:

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions = permit_sasl_authenticated

permit_auth_destination reject

broken_sasl_auth_clients = yes

smtpd_sasl_security_options = noanonymous

说明如下:

smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。

smtpd_recipient_restrictions = permit_sasl_authenticated

permit_auth_destination reject

仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。

broken_sasl_auth_clients = yes

有一些Microsoft 的SMTP客户端,比如Outlook Express 4X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。

smtpd_sasl_security_options = noanonymous

控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。

9.配置SASL

进入/usr/lib/sasl/目录,用touch新建这样一个文件:

[root@test sasl]# touch smtpdconf

在该文件中加入以下内容:

[root@test sasl]# more smtpdconf

pwcheck_method:pam

也就是指定通过PAM来进行用户认证。

10.配置PAM

进入/etc/pamd/目录,用touch新建这样一个文件:

[root@test pamd]# touch smtp

在该文件中加入如下内容:

[root@test pamd]# more smtp

#%PAM-10

auth required /lib/security/pam_stackso service=system-auth

account required /lib/security/pam_stackso service=system-auth

也即和/etc/pamd/pop文件的内容是一致的。

11.修改/etc/shadow文件权限

因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件

权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。

执行以下命令,让root组也可以读取shadow:

[root@test /etc]# chmod 640 /etc/shadow

然后再将postfix用户加入root组,采用以下命令:

[root@test /etc]# usermod -G root postfix

12.编辑postfix的主要配置文件/etc/postfix/mastercf

# ==========================================================================

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (100)

# ==========================================================================

smtp inet n - n - - smtpd

这里开始

#smtps inet n - n - - smtpd

# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

#submission inet n - n - - smtpd

# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

这里结束

#628 inet n - n - - qmqpd

把我标的注释部分去掉即可。

13.配置pop3

RedHat70已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑

/etc/xinetdd/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3

服务。

为了使改动生效,执行以下命令:

/etc/rcd/initd/xinetd reload

14.启动postfix

执行以下命令启动postfix:

/etc/rcd/initd/postfix start

这样,一个支持SMTP认证的postfix邮件服务器就配好了。

一、概述:

在配置邮件服务器之前,先解释几个概念。

通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail等都是用来收信和发信的,称之为MUA:Mail User Agent,邮件用户代理。

MUA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,Sendmail和Postfix就是扮演MTA的角色。

一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。

一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。

所以一封邮件的流程是:

发件人:MUA --发送--> MTA -> 若干个MTA -> MTA -> MDA <--收取-- MUA:收件人

MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。

需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。

Linux系统下邮件服务器的搭建(Postfix+Dovecot)

对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。

但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何

邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。

所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。

Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是该服务器IP的发信频率超过腾讯邮箱限制。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。

经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。

好了,下面开始进入正题,教你搭建一个简单的邮件服务器。

用于搭建的服务器信息

阿里云 Centos 65 32位

Postfix-2812targz      Postfix MTA(邮件传输代理)

Dovecot-218targz      IMAP 和 POP3 邮件服务器

Postfixadmin-235targz    采用PHP编写的开源WEB邮箱及域名账号管理工具

Roundcubemail-081targz  采用php编写的开源IMAP邮件WEB客户端

安装过程

1安装Postfix

yum -y install postfix

安装完成还需要替换系统自带的sendmail:

rpm -e sendmail

或者

yum remove sendmail

修改MTA(默认邮件传输代理)

alternatives --config mta

然后直接回车即可。

检查一下是不是已经设置成功了。

alternatives --display mta

第一行可以看到mta的状态。 例如:mat - status is manual

2安装Dovecot

yum -y install dovecot

3配置Postfix

编辑/etc/postfix/maincf,可以下载下来修改,也可以使用vi进行编辑:

vi /etc/postfix/maincf

修改如下:

# 75行: 取消注释,设置hostname

myhostname = maillomume

# 83行: 取消注释,设置域名

mydomain = lomume

# 99行: 取消注释

myorigin = $mydomain

# 116行: 修改

inet_interfaces = all

# 119行: 推荐ipv4,如果支持ipv6,则可以为all

inet_protocols = ipv4

# 164行: 添加

mydestination = $myhostname, localhost$mydomain, localhost, $mydomain

# 264行: 取消注释,指定内网和本地的IP地址范围

mynetworks = 127000/8, 10000/24

# 419行: 取消注释,邮件保存目录

home_mailbox = Maildir/

# 571行: 添加

smtpd_banner = $myhostname ESMTP

# 添加到最后

# 规定邮件最大尺寸为10M

message_size_limit = 10485760

# 规定收件箱最大容量为1G

mailbox_size_limit = 1073741824

# SMTP认证

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_local_domain = $myhostname

smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

修改好了之后使用/etc/rcd/initd/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。

4配置Dovecot

修改如下:

[root@mail ~]# vi /etc/dovecot/dovecotconf

# 26行: 如果不使用IPv6,请修改为

listen =

[root@mail ~]# vi /etc/dovecot/confd/10-authconf

# 9行: 取消注释并修改

disable_plaintext_auth = no

# 97行: 添加

auth_mechanisms = plain login

[root@mail ~]# vi /etc/dovecot/confd/10-mailconf

# 30行: 取消注释并添加

mail_location = maildir:~/Maildir

[root@mail ~]# vi /etc/dovecot/confd/10-masterconf

# 88-90行: 取消注释并添加

# Postfix smtp验证

unix_listener /var/spool/postfix/private/auth {

mode = 0666

user = postfix

group = postfix

}

[root@mail ~]# /etc/rcd/initd/dovecot start

Starting Dovecot Imap:     [ OK ]

[root@mail ~]# chkconfig dovecot on

到这里,我们的邮件服务器就已经搭建成功了。

5域名解析

最后别忘了还需要进行域名解析工作。

添加一个子域名mail,A记录解析到服务器IP。

再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名maillomume,优先级10。

注意:解析生效可能需要一段时间。

6防火墙设置

/sbin/iptables -A INPUT  -p tcp --dport 25 -j ACCEPT

/sbin/iptables -A INPUT  -p tcp --dport 110 -j ACCEPT

/sbin/iptables -A INPUT  -p tcp --dport 143 -j ACCEPT

突破封锁25口的转发

/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25

7邮箱使用

一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domaincom,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。

好了,假如我们创建一个admin的用户:

# 创建用户

useradd admin

#设置密码,会要求输入两次密码

passwd admin

接下来登录Foxmail,如图:

点击创建,进入:

这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。

这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器。我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务。在这篇文章里,我们将配置 VNC 来提供一个连接我们 CentOS 7 服务器的方法。VNC 允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。VNC 服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC 服务器需要使用 VNC viewer 这个客户端。一些 VNC 服务器的优点:远程的图形管理方式让工作变得简单方便。剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。比 ssh 图形转发和 RDP 连接更可靠。那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,当然不包括双引号(“”)1 安装 X-Window首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。# yum check-update# yum groupinstall "X Window System"#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts### 设置默认启动图形界面# unlink /etc/systemd/system/defaulttarget# ln -sf /lib/systemd/system/graphicaltarget /etc/systemd/system/defaulttarget# reboot在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。现在,我们要在服务器上安装 VNC 服务器了。2 安装 VNC 服务器现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。# yum install tigervnc-server -y3 配置 VNC然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/vncserver@service 拷贝一份配置文件范例过来。# cp /lib/systemd/system/vncserver@service /etc/systemd/system/vncserver@:1service接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :ExecStart=/sbin/runuser -l <USER>-c "/usr/bin/vncserver %i"PIDFile=/home/<USER>/vnc/%H%ipid替换成ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"PIDFile=/home/linoxide/vnc/%H%ipid如果是 root 用户则ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"PIDFile=/root/vnc/%H%ipid好了,下面重启 systemd 。# systemctl daemon-reload最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。# su linoxide$ sudo vncpasswd确保你输入的密码多于6个字符4 开启服务用下面的命令(永久地)开启服务:$ sudo systemctl enable vncserver@:1service启动服务。$ sudo systemctl start vncserver@:1service5 防火墙设置我们需要配置防火墙来让 VNC 服务正常工作。$ sudo firewall-cmd --permanent --add-service vnc-server$ sudo systemctl restart firewalldservice现在就可以用 IP 和端口号(LCTT 译注:例如 19216811:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。6 用 VNC 客户端连接服务器好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » CentOS系统上搭建Git版本控制服务器的教程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情