﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Alpha</title><link>http://www.blogjava.net/Alpha/</link><description>多少春秋风雨改 多少崎岖不变爱</description><language>zh-cn</language><lastBuildDate>Sat, 13 Jun 2026 03:37:17 GMT</lastBuildDate><pubDate>Sat, 13 Jun 2026 03:37:17 GMT</pubDate><ttl>60</ttl><item><title>Centos7安装Nginx+PHP+MySQL</title><link>http://www.blogjava.net/Alpha/archive/2019/08/13/434429.html</link><dc:creator>Alpha</dc:creator><author>Alpha</author><pubDate>Tue, 13 Aug 2019 09:37:00 GMT</pubDate><guid>http://www.blogjava.net/Alpha/archive/2019/08/13/434429.html</guid><wfw:comment>http://www.blogjava.net/Alpha/comments/434429.html</wfw:comment><comments>http://www.blogjava.net/Alpha/archive/2019/08/13/434429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Alpha/comments/commentRss/434429.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Alpha/services/trackbacks/434429.html</trackback:ping><description><![CDATA[一、准备

正式开始前，编译环境gcc、g++等开发库需要提前安装。<br />nginx依赖以下模块：

gzip模块需要 zlib 库

rewrite模块需要 pcre 库

ssl 功能需要openssl库
<br />
源码目录为：/usr/local/src
<br />
1、安装make

yum -y install gcc automake autoconf libtool make
<br />
2、安装g++

yum install gcc gcc-c++
<br />
3、安装PCRE库

cd /usr/local/src

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz

tar -zxvf pcre-8.42.tar.gz

cd pcre-8.42/

./configure

make &amp;&amp; make install

出现如下报错：

make[2]: *** [install-libLTLIBRARIES] Error 1
make[2]: Leaving directory `/usr/local/src/pcre-8.42'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/usr/local/src/pcre-8.42'
make: *** [install] Error 2
权限不够，切换到root，重新make install即可。
<br />4、安装zlib库
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make &amp;&amp; make install
<br />5、安装OpenSSL库
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar -zxvf openssl-fips-2.0.16.tar.gz
cd openssl-fips-2.0.16/
./config
make &amp;&amp; make install

编译安装 Openssl 1.1.1 支持国密标准
https://blog.51cto.com/1012682/2380553

6、创建用户及用户组
一般为了服务器安全，会指定一个普通用户权限的账号做为Nginx的运行角色，这里使用www用户做为Nginx工作进程的用户。后续安装的PHP也以www用户作为工作进程用户。
groupadd -r www
useradd -r -g www www
 
二、NGINX
1、下载
cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar &#8211;zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
2、配置
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module  --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi

make &amp;&amp; make install
nginx编译选项说明：
--prefix表示nginx要安装到哪个路径下，这里指定刚才新建好的/alidata/server目录下的nginx-1.12.2；
--sbin-path表示nginx的可执行文件存放路径
--conf-path表示nginx的主配置文件存放路径，nginx允许使用不同的配置文件启动，通过命令行中的-c选项
--pid-path表示nginx.pid文件的存放路径，将存储的主进程的进程号。安装完成后，可以随时改变的文件名 ， 在nginx.conf配置文件中使用 PID指令。默认情况下，文件名 为prefix/logs/nginx.pid
--error-log-path表示nginx的主错误、警告、和诊断文件存放路径
--http-log-path表示nginx的主请求的HTTP服务器的日志文件的存放路径
--user表示nginx工作进程的用户
--group表示nginx工作进程的用户组
--with-select_module或--without-select_module表示启用或禁用构建一个模块来允许服务器使用select()方法
--with-poll_module或--without-poll_module表示启用或禁用构建一个模块来允许服务器使用poll()方法
--with-http_ssl_module表示使用https协议模块。默认情况下，该模块没有被构建。建立并运行此模块的OpenSSL库是必需的
--with-pcre表示pcre的源码路径，因为解压后的pcre是放在root目录下的，所以是/root/pcre-8.41；
--with-zlib表示zlib的源码路径，这里因为解压后的zlib是放在root目录下的，所以是/root/zlib-1.2.11
--with-openssl表示openssl库的源码路径
配置OK：
Configuration summary
  + using PCRE library: /usr/local/src/pcre-8.42
  + using OpenSSL library: /usr/local/src/openssl-1.1.0h
  + using zlib library: /usr/local/src/zlib-1.2.11
 
  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx"
  nginx configuration file: "/usr/local/nginx/nginx.conf"
  nginx pid file: "/usr/local/nginx/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "/var/tmp/nginx/client/"
  nginx http proxy temporary files: "/var/tmp/nginx/proxy/"
  nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi/"
  nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi"
  nginx http scgi temporary files: "/var/tmp/nginx/scgi"
3、安装
make &amp;&amp; make install
4、启动
/usr/local/nginx/sbin/nginx
启动时报错：
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
手动创建该目录即可：mkdir -p /var/tmp/nginx/client
再次启动，打开浏览器访问此机器的IP，浏览器出现Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
<br />5、设置软连接
ln -sf /usr/local/nginx/sbin/nginx /usr/sbin
这样就可以直接执行nginx来启动了。
<br />6、检测nginx
nginx -t
显示：
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful 
 
三、PHP
1、安装PHP需要的常用库
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
2、下载
cd /usr/local/src
wget http://cn2.php.net/downloads.php/php-7.2.5.tar.gz
tar -zxvf php-7.2.5.tar.gz
3、配置
./configure  --prefix=/usr/local/php \
--with-mysql=mysqlnd \
--enable-mysqlnd \
--with-gd \
--enable-gd-jis-conv \
--enable-fpm  
4、安装
make &amp;&amp; make install
安装信息如下：
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/php/sbin/
Installing PHP FPM defconfig:     /usr/local/php/etc/
Installing PHP FPM man page:      /usr/local/php/php/man/man8/
Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
Installing phpdbg binary:         /usr/local/php/bin/
Installing phpdbg man page:       /usr/local/php/php/man/man1/
Installing PHP CGI binary:        /usr/local/php/bin/
Installing PHP CGI man page:      /usr/local/php/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:          /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php/lib/php/
[PEAR] Archive_Tar: upgrade to a newer version (1.4.3 is not newer than 1.4.3)
[PEAR] Console_Getopt: upgrade to a newer version (1.4.1 is not newer than 1.4.1)
[PEAR] Structures_Graph: upgrade to a newer version (1.1.1 is not newer than 1.1.1)
[PEAR] XML_Util: upgrade to a newer version (1.4.2 is not newer than 1.4.2)
[PEAR] PEAR: upgrade to a newer version (1.10.5 is not newer than 1.10.5)
/usr/local/src/php-7.2.5/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/
5、添加环境变量
vim /etc/profile  
在末尾加入  
export PHP_HOME=/usr/local/php
export PATH=/bin:/usr/bin:/usr/sbin:/sbin:$PATH:PHP_HOME/bin:$PHP_HOME/sbin
保存修改后，使用source命令重新加载配置文件：
source /etc/profile  
查看环境变量：
echo $PATH
6、配置php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
cp www.conf.default www.conf
使用vim命令对php-fpm.conf的内容进行如下修改:
pid = /usr/local/php/var/run/php-fpm.pid
使用vim命令对php-fpm.conf的内容进行如下修改：
user = www
group = www
其他配置可根据需求进行修改，比如pm.max_children（php-fpm 能启动的子进程的最大数量）、pm.start_servers（php启动时，开启的子进程的数量）、pm.min_spare_servers（动态方式空闲状态下的最小php-fpm进程数量）、pm.max_spare_servers（动态方式空闲状态下的最大php-fpm进程数量）等。
7、启动php-fpm
/usr/local/php/sbin/php-fpm
可以通过ps aux | grep php查看php进程。

 https://www.cnblogs.com/sunshineliulu/p/8991957.html

三、MySQL 


https://blog.csdn.net/weixin_33859844/article/details/90948191

https://www.cnblogs.com/yangchunlong/p/8477743.html<img src ="http://www.blogjava.net/Alpha/aggbug/434429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Alpha/" target="_blank">Alpha</a> 2019-08-13 17:37 <a href="http://www.blogjava.net/Alpha/archive/2019/08/13/434429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu完美安装搭建Git服务器</title><link>http://www.blogjava.net/Alpha/archive/2018/03/13/433097.html</link><dc:creator>Alpha</dc:creator><author>Alpha</author><pubDate>Tue, 13 Mar 2018 07:35:00 GMT</pubDate><guid>http://www.blogjava.net/Alpha/archive/2018/03/13/433097.html</guid><wfw:comment>http://www.blogjava.net/Alpha/comments/433097.html</wfw:comment><comments>http://www.blogjava.net/Alpha/archive/2018/03/13/433097.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Alpha/comments/commentRss/433097.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Alpha/services/trackbacks/433097.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">一、安装git服务器所需软件</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">打开终端输入以下命令：</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ sudo apt-get install git-core openssh-server openssh-client<br />git-core是git版本控制核心软件</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">安装openssh-server和openssh-client是由于git需要通过ssh协议来在服务器与客户端之间传输文件</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">然后中间有个确认操作，输入Y后等待系统自动从镜像服务器中下载软件安装，安装完后会回到用户当前目录。如果</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">安装提示失败，可能是因为系统软件库的索引文件太旧了，先更新一下就可以了，更新命令如下：</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ sudo apt-get update&nbsp;</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">更新完软件库索引后继续执行上面的安装命令即可。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">安装python的setuptools和gitosis，由于gitosis的安装需要依赖于python的一些工具，所以我们需要先安装python</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">的setuptools。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">执行下面的命令：</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ sudo apt-get install python-setuptools<br />这个工具比较小，安装也比较快，接下来准备安装gitosis，安装gitosis之前需要初始化一下服务器的git用户信息,这个随便填。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ git config --global user.name "myname"<br />ubuntu:~$ git config --global user.email "******@gmail.com"</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">初始化服务器用户信息后，就可以安装gitosis了，gitosis主要是用于给用户授权，设置权限也算是很方便的。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">可以通过以下命令获取gitosis版本文件</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ git clone https://github.com/res0nat0r/gitosis.git<br />注意：中间有两个是数字零</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">获取gitosis文件后，进入到文件目录下面</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/tmp$ cd gitosis/</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">接着使用python命令安装目录下的setup.py的python脚本进行安装</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/tmp/gitosis$ sudo python setup.py install</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">到这里，整个安装步骤就完成了，下面就开始对git进行一些基本的配置。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">二、创建git管理员账户、配置git</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">创建一个账户（git）作为git服务器的管理员，可以管理其他用户的项目权限。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/tmp/gitosis$ sudo useradd -m git<br />ubuntu:/tmp/gitosis$ sudo passwd git</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">然后再/home目录下创建一个项目仓库存储点，并设置只有git用户拥有所有权限，其他用户没有任何权限。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/tmp/gitosis$ sudo mkdir /home/gitrepository<br />ubuntu:/tmp/gitosis$ sudo chown git:git /home/gitrepository/<br />ubuntu:/tmp/gitosis$ sudo chmod 700 /home/gitrepository/</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">由于gitosis默认状态下会将仓库放在用户的repositories目录下，例如git用户的仓库地址默认在/home/git/repositories/目录下，这里我们需要创建一个链接映射。让他指向我们前面创建的专门用于存放项目的仓库目录/home/gitrepository。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/tmp/gitosis$ sudo ln -s /home/gitrepository /home/git/repositories</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">这里我将在服务器端生成ssh公钥，如果想在其他机器上管理也可以在其他机器上生成一个ssh的公钥。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/home/git$ ssh-keygen -t rsa</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">这里会提示输入密码，我们不输入直接回车即可。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">然后用刚生成公钥id_rsa.pub来对gitosis进行初始化。<br /></p><p style="font-size: 13px; background-color: #ffffff; margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #111111; font-family: Verdana, Arial, Helvetica, sans-serif;">向gitosis添加公钥并初始化：<br /><br />$ cp ~/.ssh/id_rsa.pub /tmp</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;"></p><p style="font-size: 13px; background-color: #ffffff; margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #111111; font-family: Verdana, Arial, Helvetica, sans-serif;">$ sudo -H -u gitadmin gitosis-init &lt; /tmp/id_rsa.pub</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;"><img src="https://www.linuxidc.com/upload/2015_07/15072620256211.jpg" alt="Ubuntu完美搭建Git服务器" align="middle" width="705" vspace="5" style="border: 0px; cursor: pointer; display: block;" /></p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">出现如上信息说明gitosis已经初始化成功。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">gitosis主要是通过gitosis-admin.git仓库来管理一些配置文件的，如用户权限的管理。这里我们需要对其中的一个post-update文件添加可执行的权限。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/home/git$ sudo chmod 755 /home/gitrepository/gitosis-admin.git/hooks/post-update</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">三、服务器上创建项目仓库</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">使用git账户在服务器上创建一个目录（mytestproject.git）并初始化成git项目仓库。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:/home/git$ su git<br />$ cd /home/gitrepository<br />$ mkdir mytestproject.git<br />$ git init --bare mytestproject.git<br />$ exit</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">如果出现以下信息就说明已经成功创建了一个名为mytestproject.git的项目仓库了，新建的这个仓库暂时还是空的，不能被客户端clone，还需要对gitosis进行一些配置操作。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">四、使用gitosis管理用户操作项目的权限</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">首先需要在前面生成ssh公钥（用来初始化gitosis）的机器上将gitosis-admin.git的仓库clone下来。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">在客户端机器上新建一个目录用于存放gitosis-admin.git仓库</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ mkdir gitadmin<br />ubuntu:~$ cd gitadmin/<br />ubuntu:~/gitadmin$ git clone git@192.168.1.106:gitosis-admin.git</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">clone正确会显示以下信息</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;"><img src="https://www.linuxidc.com/upload/2015_07/15072620261826.jpg" alt="Ubuntu完美搭建Git服务器" align="middle" width="705" vspace="5" style="border: 0px; cursor: pointer; display: block;" /></p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">clone下来会有一个gitosis.conf的配置文件和一个keydir的目录。gitosis.conf用于配置用户的权限信息，keydir主要用户存放ssh公钥文件（一般以&#8220;用户名.pub&#8221;命名，gitosis.conf配置文件中需使用相同用户名），用于认证请求的客户端机器。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">现在让需要授权的用户使用前面的方式各自在其自己的机器上生成相应的ssh公钥文件，管理员把他们分别按用户名命名好，复制到keydir目录下。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ cp /home/aaaaa/Desktop/zhangsan.pub /home/aaaaa/gitadmin/gitosis-admin/keydir/</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~$ cp /home/aaaaa/Desktop/lisi.pub /home/aaaaa/gitadmin/gitosis-admin/keydir/</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">继续编辑gitosis.conf文件</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">[gitosis]</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">[group gitosis-admin]&nbsp;<br />####管理员组<br />members = charn@ubuntu&nbsp;<br />####管理员用户名，需要在keydir目录下找到相应的.pub文件，多个可用空格隔开（下同）<br />writable = gitosis-admin####可写的项目仓库名，多个可用空格隔开（下同）</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">[group testwrite]&nbsp;<br />####可写权限组<br />members = zhangsan####组用户<br />writable = mytestproject####可写的项目仓库名</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">[group<br />&nbsp;testread] ####只读权限组<br />members =lisi####组用户<br />readonly= mytestproject####只读项目仓库名</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">因为这些配置的修改只是在本地修改的，还需要推送到服务器中才能生效。</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~/gitadmin/gitosis-admin$ git add .<br />ubuntu:~/gitadmin/gitosis-admin$ git commit -am "add a user permission"<br />ubuntu:~/gitadmin/gitosis-admin$ git push origin master</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">推送成功会显示下面提示信息</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;"><img src="https://www.linuxidc.com/upload/2015_07/15072620278987.jpg" alt="Ubuntu完美搭建Git服务器" align="middle" width="705" vspace="5" style="border: 0px; cursor: pointer; display: block;" /></p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">又是后新增的用户不能立即生效，这时候需要重新启动一下sshd服务</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">ubuntu:~/gitadmin/gitosis-admin$ sudo /etc/init.d/ssh restart</p><p style="color: #333333; font-family: tahoma, 宋体; text-align: justify; background-color: #fafafc;">现在，服务端的git就已经安装和配置完成了，接下来就需要有权限的组成员在各自的机器上clone服务器上的相应</p><p style="color: #333333; font-family: tahoma, 宋体; 