deceit黑屏为什么总黑屏

&&&您需要以后才能回答,未注册用户请先。博客访问: 259556
博文数量: 38
博客积分: 455
博客等级: 下士
技术积分: 435
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 敏捷开发
基于配置简单的原则,先试用一下&&
看主页介绍:Very easy installation 安装简单,配置方便,不需要额外的web服务器
一、服务器配置
到这里来依照文档开始使用
首先下载最新版本的服务器版本
直接解压缩后,目录如下
E:\git\scm-server
在运行之前,注意本机要首先安装好java环境,并配置好,这个略过
运行bin\scm-server.bat
在浏览器中键入地址&http://localhost:8080/scm/ 进入登录页面
(话说tomcat和jetty服务器都喜欢默认使用8080端口,
如果想要修改的话,就在config\server-config.xml文件中修改端口那一部分即可
&SystemProperty name="jetty.port" default="8080" /&)
用户名/密码:&scmadmin/scmadmin
登录进去之后,发现好像很强大的样子,居然还支持Subversion,还能安装各种各样的插件
不管复杂的功能
首先配置一下
Repository directory 修改到服务器目录下&E:\git\scm-server\repositories\git
再去新建一个用户,并注意设置可写权限(对所有仓库)
blankerer/123456
然后新建一个仓库
于是得到一个url:&http://localhost:8080/scm/git/ci&
二、客户端运行
回到我们之前本地git管理的项目根目录下
添加远程仓库:
$ git remote add ci_local http://localhost:8080/scm/git/ci
blank@BLANK-PC /e/lamp/Apache24/www/ci (master)
查看远程仓库
$ git remote -v
http://localhost:8080/scm/git/ci (fetch)
http://localhost:8080/scm/git/ci (push)
向远程仓库推送项目
$ git push ci_local master
Username for 'http://localhost:8080': blankerer
Password for 'http://blankerer@localhost:8080':
Counting objects: 226, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (217/217), done.
Writing objects: 100% (226/226), 3.37 MiB | 433.00 KiB/s, done.
Total 226 (delta 53), reused 0 (delta 0)
remote: Resolving deltas: 100% (53/53)
remote: Updating references: 100% (1/1)
To http://localhost:8080/scm/git/ci
* [new branch]
master -& master
查看远程仓库信息
$ git remote show ci_local
Username for 'http://localhost:8080': blankerer
Password for 'http://blankerer@localhost:8080':
* remote ci_local
Fetch URL: http://localhost:8080/scm/git/ci
URL: http://localhost:8080/scm/git/ci
HEAD branch: master
Remote branch:
master tracked
Local ref configured for 'git push':
master pushes to master (up to date)
以上两步骤,在输完命令敲回车之后,要等待很久(有好几分钟呢)才会提示输入用户名和密码,不知道什么缘故
特别提示:
最后经过我的精密检查,发现,原来一开始运行scm服务器的java版本是32位的
后来,换了64为的java7来运行服务器,速度就不是问题了,运行命令后,马上就提示输入用户名密码了
另外,如果不想每次输入用户名的话
在添加远程仓库时,把用户名放在url中即可:
git remote add ci_local http://blankerer@localhost:8080/scm/git/ci
当然了,如果连密码也不想每次输入,那么把密码也放在url中
git remote add ci_local http://blankerer:123456@localhost:8080/scm/git/ci
删除远程仓库
$ git remote rm ci_local
blank@BLANK-PC /e/lamp/Apache24/www/ci (master)
$ git remote -v
blank@BLANK-PC /e/lamp/Apache24/www/ci (master)
阅读(13392) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。使用git下载项目,然后部署到本地和远程服务器上的流程
来源:博客园
一.配置Git1.下载安装2.安装好后桌面鼠标右键多出三个分支3.git clone从git上弄下代码:
1&指定url和directory(一般是工作空间),如果不填写Branch,则默认下载下来的是master主干部分,一般的都会通过Branch指定需要下载下来的的分支
2&点击ok输入用户名和密码二.发布到服务器上1.配置maven  配置使用本地maven,指定为开发环境development,去掉test,然后clean,package,如果项目有错误,一般的通过reimport重新引入各个pom.xml文件,maven打包完成后,就可以把项目发布到远程测试服务器上了2.发布到远程测试服务器  1&clean,package  2&target下找到相应war包,拷贝出来解压  3&xshell连接服务器,在xshell中打开xftp,用刚才解压文件覆盖/export/App/auction.路径下文件,文件上传完毕  4&xshell重启tomcat(部署在linux上的测试服务器),  5&重启流程:进入相应目录----&stop----&start----&查看日志  6&注意:如果stop后出现进程存在,可以通过ps -ef|grep tomcat 命令查看tomcat进程,找到相应的进程使用 kill [pid]杀掉该进程,再 ./start.sh(有时候提示existing pid也不一定出错,不妨访问试试,很大几率已经启动成功)3.部署到本地服务器  如果要在本地部署项目访问则需要重新配置tomcat(每添加一个项目都要重新配置tomcat),点+号,添加tomcat,配置端口80,development菜单下将项目部署到tomcat上,配置完毕,clean,package,然后就可以启动debug了.三.火狐访问(注意更换host,前提是火狐安装了HostAdmin插件,并配置好host)
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动I am in the process of setting up a Git server (1.7.2.3) on a WS 2008 machine using Apache and git-http-backend.exe.
I have been following a good tut .
I have the GUI working, I can annoymously clone and if I put the following in the config of a repo I can annoymously push:
receivepack = true
I have added the following to the httpd.conf file:
SetEnv GIT_PROJECT_ROOT C:/GIT/Repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"C:/Program Files (x86)/git/libexec/git-core/git-http-backend.exe/$1"
&Directory /&
Allow from all
&/Directory&
&LocationMatch "^/git/.*/git-receive-pack$"&
AuthType Basic
AuthName "Git Access"
AuthUserFile C:/GIT/ApacheConfig/users
AuthGroupFile
C:/GIT/ApacheConfig/groups
Require group repogeneral
&/LocationMatch&
When I add the "LocationMatch" I can still clone annoymously or by specifying a name in the URL, git clone
It will prompt for a password and clone.
but when I try to push back to the repo I get the following:
error: Cannot access URL , return code 22
fatal: git-http-push failed
I have been looking at the
for examples but can not get them to work.
here is my groups file, (this is just testing out examples so nothing that would be used in prod):
admin: jon steve admin
webview: jon steve web
repogeneral: jon steve
testrepo: jon admin
testrepo2: jon steve web
here is the users file:
jon:$apr1$kEKVExYx$guIF9oYV8buGhFLZr16XN0
steve:$apr1$jvgjF9nv$PvWsHH.cSOBN5ymk6NT1B0
admin:$apr1$vzXgDskN$oszCei3tkHNUgtLj2HkHF/
web:$apr1$wS0do7hb$VA9tsc9c9LwY5PcjfhdwK0
I know the username jon works as if I put the directory requirement on the gui section I can login with the username jon no problem, (points at the same user and group files as the locationmatch does).
I am not sure what configuration I have missed off at this point, (assuming its a configuration issue).
Any advice on getting over this last hurdle would be fantastic.
I have been playing some more and here is the information I have:
if I clone a repo with:
git clone /remotetest.git
I can get the repository out, but when I try and push back with:
git push origin master
I get asked for my password, I enter it, then it asks for it again, then I get the following error:
C:\temp\remotetest\remotetest>git push origin master
error: Cannot access URL , return code 22
fatal: git-http-push failed
In my Apache access.log I get the following:
192.168.1.2 - - [29/Sep/:19 +0100] "GET /remotetest.git/info/refs?service=git-upload-pack HTTP/1.1" 200 38
192.168.1.2 - - [29/Sep/:51 +0100] "GET /remotetest.git/info/refs?service=git-receive-pack HTTP/1.1" 403 -
192.168.1.2 - - [29/Sep/:51 +0100] "GET /remotetest.git/info/refs HTTP/1.1" 200 -
192.168.1.2 - - [29/Sep/:51 +0100] "GET /remotetest.git/HEAD HTTP/1.1" 200 23
Interestingly when I clone with the username in the URL it doesn't matter what password I put in, it will still work.
I am assuming this is because I should be able to pull anonymously.
Not sure why it asks for a password at all at that point.
I also see this in the logs error:
[Wed Sep 29 22:33:00 2010] [error] [client 192.168.1.2] client denied by server configuration: C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe
[Wed Sep 29 22:33:00 2010] [error] [client 192.168.1.2] client denied by server configuration: C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe
I tried recreating the password file by doing:
htpasswd -c -m C:/git/apacheconfig/users jon
but this didn't help.
the PHP config in httpd.conf where it uses the same users file for basic auth:
&Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"&
AuthName "GitUsers"
AuthType Basic
AuthUserFile C:/GIT/ApacheConfig/users
AuthGroupFile
C:/GIT/ApacheConfig/groups
require group webview
&/Directory&
OK so I can get to cloning and pushing in annoymous mode happily, but authentication fails for the push.
C:\temp\test2\temp\test&git push origin master
error: Cannot access URL http://jon@192.168.10.97:8000/repositories/test.git/, return code 22
fatal: git-http-push failed
I changed the httpd.conf to use the following:
&VirtualHost *:80&
SetEnv GIT_PROJECT_ROOT "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/repositories"
SetEnv GIT_HTTP_EXPORT_ALL
&Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/repositories"&
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride None
Order allow,deny
Allow from all
&/Directory&
&LocationMatch "^/repositories/.*/git-receive-pack$"&
AuthType Basic
AuthName "Git Access"
AuthUserFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/repositories/.htpasswd"
Require valid-user
&/LocationMatch&
ScriptAliasMatch \
"(?x)^/repositories/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"C:/Program Files (x86)/Git/libexec/git-core/git-http-backend/$1"
ErrorLog C:/GIT/error_log
CustomLog C:/GIT/access_log combined
&/VirtualHost&
Interestingly, when I created a new repo (git init --bare newrepo.git)
It didn't create a info/refs file.
I had to do the "git update-server-info" command to create that.
The Apache Access logs have something interesting that could be a clue:
192.168.10.97 - - [05/Oct/:26 +0100] "GET /repositories/test.git/info/refs?service=git-receive-pack HTTP/1.1" 200 -
192.168.10.97 - - [05/Oct/:26 +0100] "GET /repositories/test.git/HEAD HTTP/1.1" 200 23
192.168.10.97 - - [05/Oct/:28 +0100] "PROPFIND /repositories/test.git/ HTTP/1.1" 405 248
That is when I was trying to "push" back to the repo, but they are GET commands and no POST.
not sure what the PROPFIND is, not found much info on that yet.
I think, (reading around), there might be some sort of rewrite going on, that is changing the POST to a GET and killing it, or something.
I am out of my depth at this point though.
解决方案 OK, so hell has frozen over and I have finally got this working!
I believe there were two things that were fundamentally wrong with my setup.
1) The user was not getting authentication passed through, I found this helped:
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
Secondly I couldn't get the physical "Directory" to work.
&Directory "C:/GIT/Apache/repositories"&
Options +ExecCGI
AuthType Basic
AuthName intranet
AuthUserFile "C:/GIT/Apache/config/users"
Require valid-user
&/Directory&
To resolve this I used locationMatch for both the pull and push.
This means you have to authenticate to pull and push.
If you wanted annoy pulling you can remove the "git-upload-pack" section.
Hope this may help someone else.
Here is my final httpd.conf file:
DocumentRoot "C:/GIT/Apache/www"
&Directory /&
Options +ExecCGI
Allow from all
&/Directory&
&Directory "C:/GIT/Apache/www"&
Allow from all
&/Directory&
&Directory "C:/GIT/Apache/www/secure"&
AuthType Basic
AuthName intranet
AuthUserFile "C:/GIT/Apache/config/users"
require valid-user
&/Directory&
SetEnv GIT_PROJECT_ROOT C:/GIT/Apache/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"C:/Program Files/git/libexec/git-core/git-http-backend.exe/$1"
&LocationMatch "^/.*/git-receive-pack$"&
Options +ExecCGI
AuthType Basic
AuthName intranet
AuthUserFile "C:/GIT/Apache/config/users"
Require valid-user
&/LocationMatch&
&LocationMatch "^/.*/git-upload-pack$"&
Options +ExecCGI
AuthType Basic
AuthName intranet
AuthUserFile "C:/GIT/Apache/config/users"
Require valid-user
&/LocationMatch&
本文地址: &
我在使用Apache和git-HTTP-backend.exe一个WS 2008计算机上设置一个Git服务器(1.7.2.3)的过程。我一直在关注一个良好的啧啧here.我有GUI的工作,我可以annoymously克隆,如果我把一个回购协议,我可以annoymously推的配置如下:
[HTTP] receivepack =真 我已经添加了以下到httpd.conf文件:
SETENV GIT_PROJECT_ROOT C:/ GIT /存储库SETENV GIT_HTTP_EXPORT_ALLScriptAliasMatch \\
(?X)。“^ /(* /(HEAD | \\
信息/裁判| \\
对象/(信息/ [^ /] + | \\
[0-9A-F] {2} / [0-9A-F] {38} | \\
包/封装[0-9A-F] {40} \\。(包| IDX))| \\
git-(上传|接收)-pack))$“\\
“C:/ Program Files文件(x86)的/git/libexec/git-core/git-http-backend.exe/$1”<目录/>
所有允许< /目录>< LocationMatch“^ /混帐混帐/.*/
- 接收包$”>
AuthType选项基本
AuthName指令“混帐访问”
的AuthUserFile C:/ GIT / ApacheConfig /用户
目录AuthGroupFile C:/ GIT / ApacheConfig /组
要求组repogeneral< / LocationMatch> 当我添加“LocationMatch”我仍然可以克隆annoymously或通过在URL,克隆的git
它会提示输入密码,并克隆。但是当我尝试推回回购我得到以下几点:错误:无法访问的网址,回报code 22
致命的:混帐-HTTP-推失败。我一直在寻找的了解例子,但不能让他们的工作。这是我的组文件,(这只是测试了例子,让没有什么会在督促使用): 管理员:乔恩史蒂夫管理网页流量:乔恩史蒂夫网repogeneral:乔恩史蒂夫testrepo:乔恩管理testrepo2:乔恩史蒂夫网 下面是用户文件: 乔恩:$ apr1 $ kEKVExYx $ guIF9oYV8buGhFLZr16XN0史蒂夫:$ apr1 $ jvgjF9nv $ PvWsHH.cSOBN5ymk6NT1B0管理员:$ apr1 $ vzXgDskN $ oszCei3tkHNUgtLj2HkHF /网址:$ apr1 $ wS0do7hb $ VA9tsc9c9LwY5PcjfhdwK0 我知道用户名乔恩的工作原理,如果我穿上了GUI部分我可以用用户名乔恩没有问题登录目录的要求,(作为处理locationmatch做同样的用户和组的文件分)。我不知道我在这一点上错过了什么样的配置,(假设它的配置问题)。在得到在这个最后一关任何意见将是梦幻般的。 修改 我一直在玩一些更多,这里是我的信息有:如果我克隆一个与回购:
git的克隆HTTP:///remotetest.git 我可以得到的资料库,但是当我试图推回来:混帐推主产地我得到问我密码,我输入它,然后它再要求它,然后我得到了以下错误: C:\\ TEMP \\ remotetest \\ remotetest>混帐推主产地密码:密码:错误:无法访问的网址,回报code 22致命的:混帐-HTTP-推失败。在我的Apache的access.log我得到以下几点:
192.168.1.2
[29 / SEP / :19 +0100]“GET /remotetest.git/info/refs?service=git-upload-pack HTTP / 1.1“200 38192.168.1.2
[29 /月/ :51 +0100]“GET /remotetest.git/info/refs?service=git-receive-pack HTTP / 1.1”403
- 192.168.1.2
[29 /月/ :51 +0100]“GET /remotetest.git/info/refs HTTP / 1.1”200
- 192.168.1.2
[29 /月/ :51 +0100]“GET /remotetest.git/HEAD HTTP / 1.1”200 23 有趣的是,当我在不要紧,我把什么密码,它仍然会工作的URL的用户名克隆。我假设这是因为我应该能够匿名拉。不知道为什么它在这一点上要求输入密码的。我也看到这个日志错误:
[星期三9月29日22时33分零零秒2010] [错误] [客户192.168.1.2]客户端通过服务器配置否认:C:/ Program Files文件(86)/混帐/ libexec目录/git-core/git-http-backend.exe[星期三9月29日22时33分○○秒2010] [错误] [客户192.168.1.2]客户否认了服务器配置:C:/ Program Files文件(x86)的/Git/libexec/git-core/git-http-backend.exe
我试图做重新创建密码文件: 的htpasswd -c -m C:/ git的/ apacheconfig /用户乔恩 但这并没有帮助。 编辑3
在httpd.conf的PHP配置它使用相同的用户文件的基本身份验证: <目录“C:/ Program Files文件(86)/ Apache软件基金会/的Apache2.2 / htdocs目录”>
AuthName指令“GitUsers”
AuthType选项基本
的AuthUserFile C:/ GIT / ApacheConfig /用户目录AuthGroupFile C:/ GIT / ApacheConfig /组
要求组的WebView< /目录>
OK,所以我可以克隆和annoymous模式愉快推搡,但对于推送身份验证失败。
C:\\ TEMP \\ TEST2 \\ TEMP \\试验&混帐推主产地密码:密码:错误:无法访问URL为http://jon@192.168.10.97:8000 /库/ test.git /,回报code 22致命的:混帐-HTTP-推失败 我改为使用以下httpd.conf中: <虚拟主机*:80>
SETENV GIT_PROJECT_ROOT“C:/ Program Files文件(86)/ Apache软件基金会/的Apache2.2 / htdocs中/库”
SETENV GIT_HTTP_EXPORT_ALL
<目录“C:/ Program Files文件(86)/ Apache软件基金会/的Apache2.2 / htdocs中/库”>
选择了FollowSymLinks指标多视图包括ExecCGI
设置AllowOverride无
为了允许,拒绝
< /目录>
< LocationMatch“^ /库/.*/混帐接收包$”>
AuthType选项基本
AuthName指令“混帐访问”
的AuthUserFile的“C:/ Program Files文件(86)/ Apache软件基金会/的Apache2.2 / htdocs中/库/ htpasswd的”
需要有效的用户
< / LocationMatch>
ScriptAliasMatch \\
(?X)。“^ /库/(* /(HEAD | \\
信息/裁判| \\
对象/(信息/ [^ /] + | \\
[0-9A-F] {2} / [0-9A-F] {38} | \\
包/封装[0-9A-F] {40} \\。(包| IDX))| \\
git-(上传|接收)-pack))$“\\
“C:/ Program Files文件(86)/混帐/ libexec目录/ git的核心/ GIT-HTTP后端/ $ 1”
错误日志C:/ GIT / error_log中
的CustomLog C:/ GIT /访问日志合并< /虚拟主机> 有趣的是,当我创建了一个新的回购协议(git的初始化--bare newrepo.git),它没有建立一个信息/文件裁判。我不得不这样做的“混帐更新服务器-info”命令来创建。 Apache的访问日志有一些有趣的事情,可能是一个线索:
192.168.10.97
[05 /八/ :26 +0100]“GET /repositories/test.git/info/refs?service=git-receive -pack HTTP / 1.1“200
- 192.168.10.97
[05 /月/ :26 +0100]“GET /repositories/test.git/HEAD HTTP / 1.1”200 23192.168.10.97
[05 /月/ :28 +0100]“PROPFIND /repositories/test.git/ HTTP / 1.1”405 248 这是当我试图“推”回回购,但他们是GET命令和POST没有。不知道什么是PROPFIND,未发现很多信息上呢。我认为,(读左右),可能有某种重写的事情,即改变POST到GET和杀害,或者什么的。我走出我的深度在这一点上,虽然感谢解决方案 好了,地狱已冻结了,我终于得到这个工作!我认为有迹象表明,是根本性的错误我的设置两件事情。 1)用户没有得到认证穿过,我发现这个帮助:
SETENV REMOTE_USER = $ REDIRECT_REMOTE_USER 其次我不能让身体“目录”工作。 <目录“C:/ GIT /阿帕奇/库”>选项+ ExecCGIAuthType选项基本AuthName指令内部网的AuthUserFile的“C:/ GIT /阿帕奇/配置/用户”需要有效的用户< /目录> 要解决这个我用locationMatch的推拉两者。这意味着您必须验证到推拉。如果你想惹恼拉着你可以删除“混帐上传包”一节。希望这可以帮助别人。下面是我最后的httpd.conf文件: 的DocumentRoot“C:/ GIT /阿帕奇/ WWW”<目录/>选项+ ExecCGI所有允许< /目录><目录“C:/ GIT /阿帕奇/ WWW”>
所有允许< /目录><目录“C:/ GIT /阿帕奇/网络/安全”>AuthType选项基本AuthName指令内部网的AuthUserFile的“C:/ GIT /阿帕奇/配置/用户”需要有效的用户< /目录>SETENV GIT_PROJECT_ROOT C:/ GIT /阿帕奇/库SETENV GIT_HTTP_EXPORT_ALLSETENV REMOTE_USER = $ REDIRECT_REMOTE_USERScriptAliasMatch \\
(?X)。“^ /(* /(HEAD | \\
信息/裁判| \\
对象/(信息/ [^ /] + | \\
[0-9A-F] {2} / [0-9A-F] {38} | \\
包/封装[0-9A-F] {40} \\。(包| IDX))| \\
git-(上传|接收)-pack))$“\\
“C:/ Program Files文件/ git的/的libexec / git的核心/的git-HTTP-backend.exe / $ 1”< LocationMatch“^ / * /混帐接收包$。”>选项+ ExecCGIAuthType选项基本AuthName指令内部网的AuthUserFile的“C:/ GIT /阿帕奇/配置/用户”需要有效的用户< / LocationMatch>< LocationMatch“^ / * /混帐上传包$”>选项+ ExecCGIAuthType选项基本AuthName指令内部网的AuthUserFile的“C:/ GIT /阿帕奇/配置/用户”需要有效的用户< / LocationMatch>
本文地址: &
扫一扫关注官方微信

我要回帖

更多关于 deceit为什么打不开 的文章

 

随机推荐