发布时间:2020-03-11 18:21:41来源:阅读:
现在使用ISPProtect扫描Web服务器的恶意软件。 免费试用
Git是一个免费的开源版本控制系统,可用于跟踪代码的更改。 Git允许您为同一应用程序创建许多存储库,并在多个人员之间协调这些文件的工作。 它主要用于软件开发中的源代码管理。
在本文中,我们将学习如何在Ubuntu 16.04上安装带有Nginx的HTTP Git服务器。
要求
新的Ubuntu 16.04服务器安装在您的系统上。 具有root权限的Sudo用户。 在您的服务器上配置静态IP地址192.168.15.189开始之前,您将需要使用最新的稳定版本来更新系统。
您可以通过运行以下命令来执行此操作:
sudo apt-get update -y
sudo apt-get upgrade -y
更新系统后,重新启动系统并使用sudo用户登录。
首先,您将需要安装一些所需的软件包,包括nginx,git,nano和fcgiwrap到您的系统。 您可以通过运行以下命令来安装它们:
sudo apt-get install nginx git nano fcgiwrap apache2-utils -y
一旦安装了所有必需的软件包,您将需要为Git存储库创建一个目录。 您可以通过运行以下命令来执行此操作:
sudo mkdir /var/www/html/git
接下来,给予Git目录的正确许可:
sudo chown -R www-data:www-data /var/www/html/git
完成后,您可以继续配置Nginx Web服务器。
首先,您需要配置Nginx将Git流量传递给Git。 您可以通过编辑Nginx默认配置文件来执行此操作:
sudo nano /etc/nginx/sites-available/default
更改文件如下所示:
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html/git;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ (/.*) {
client_max_body_size 0; # Git pushes can be massive, just to make sure nginx doesn't suddenly cut the connection add this.
auth_basic "Git Login"; # Whatever text will do.
auth_basic_user_file "/var/www/html/git/htpasswd";
include /etc/nginx/fastcgi_params; # Include the default fastcgi configs
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # Tells fastcgi to pass the request to the git http backend executable
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param GIT_PROJECT_ROOT /var/www/html/git; # /var/www/git is the location of all of your git repositories.
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param PATH_INFO $1; # Takes the capture group from our location directive and gives git that.
fastcgi_pass unix:/var/run/fcgiwrap.socket; # Pass the request to fastcgi
}
}
完成后保存并关闭文件。 然后使用以下命令测试Nginx的任何配置错误:
sudo nginx -t
如果一切正常,您应该看到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
接下来,您将需要创建一个用户帐户,您需要使用它来浏览提交到存储库。 您可以使用htpasswd实用程序创建名称为hitesh的用户:
sudo htpasswd -c /var/www/html/git/htpasswd hitesh
最后,重新启动Nginx以使用以下命令应用所有更改:
sudo systemctl restart nginx
您可以使用以下命令检查Nginx服务器的状态:
sudo systemctl status nginx
您应该看到以下输出:
?? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2017-06-20 23:00:11 IST; 51min ago
Process: 12415 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 7616 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
Process: 12423 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 12419 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 12427 (nginx)
CGroup: /system.slice/nginx.service
??????12427 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
??????12431 nginx: worker process
Jun 20 23:00:11 localhost systemd[1]: Stopped A high performance web server and a reverse proxy server.
Jun 20 23:00:11 localhost systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 20 23:00:11 localhost systemd[1]: nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument
Jun 20 23:00:11 localhost systemd[1]: Started A high performance web server and a reverse proxy server.
一旦配置正确,就可以建立Git仓库了。
您可以使用以下命令创建名称为repo.git的存储库:
cd /var/www/html/git
sudo mkdir hitesh.gitt
sudo git –bare initt
sudo git update-server-info
sudo chown -R www-data.www-data .
sudo chmod -R 777 .
接下来,您将需要通过UFW防火墙允许http服务。 默认情况下,UFW在系统中被禁用,因此您需要先启用它。 您可以使用以下命令启用它:
sudo ufw enable
一旦UFW防火墙启用,您可以通过运行以下命令来允许HTTP服务:
sudo ufw allow http
您现在可以通过运行以下命令检查UFW防火墙的状态:
sudo ufw status
好的,这是服务器端配置。 您现在可以转到客户端来测试Git。
在启动之前,您将需要在客户端系统上安装git。 您可以使用以下命令安装它:
sudo apt-get install git -y
首先,使用以下命令创建本地存储库:
sudo mkdir ~/testproject
接下来,将目录更改为testproject并使用以下命令启动新的远程存储库:
cd ~/testproject
git init
git remote add origin http://hitesh@192.168.15.189/hitesh.git
接下来,使用以下命令创建一些文件和目录:
mkdir test1 test2 test3
echo “This is my first repository” > test1/repo1
echo “This is my second repository” > test2/repo2
echo “This is my third repository” > test3/repo3
接下来,运行以下命令将所有文件和目录添加到存储库中:
git add .
git commit -a -m “Add files and directoires”
您应该看到以下输出:
[master 002fac9] Add files and directoires
3 files changed, 3 insertions(+)
create mode 100644 repo1
create mode 100644 repo2
create mode 100644 repo3
接下来,使用以下命令将所有文件和目录推送到Git服务器:
git push origin master
您应该看到以下输出:
Password for 'http://hitesh@192.168.15.189':
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (5/5), 422 bytes | 0 bytes/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To http://hitesh@192.168.15.189/hitesh.git
68f1270..002fac9 master -> master
现在,您的所有文件和目录已经提交到您的Git服务器。
您的Git存储库创建过程现已完成。 您将来可以轻松克隆您的存储库。 您可以使用远程系统上的以下命令克隆您的存储库:
git clone hitesh@192.168.15.189:/var/www/html/git/hitesh.git
您应该看到以下输出:
Cloning into 'hitesh'...
hitesh@192.168.15.189's password:
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (3/3), done.
Receiving objects: 100% (8/8), 598 bytes | 0 bytes/s, done.
remote: Total 8 (delta 0), reused 0 (delta 0)
Checking connectivity... done.
现在,使用以下命令将目录更改为克隆的存储库:
cd hitesh
tree
您应该看到以下输出:
.
|-- test1
| `-- repo1
|-- test2
| `-- repo2
`-- test3
`-- repo3
3 directories, 3 files
网络文件服务器(HTTP文件管理系统) 2.3 绿色版
837.6KB
服务器安全工具(服务器安全防护软件) 1.2.2.0 免费绿色版
329.2K
BIGEMAP离线地图服务器(离线地图开发者工具) v15.4.0.0 破解版
48.9M
C-Lodop云打印服务器(云打印工具)v4.115官方版
9.3M
Cerberus FTP Server Enterprise(FTP服务器软件) v12.0 免费版
28.7M
HeidiSQL(MySQL服务器数据管理工具) v11.0.0.6055 免费版
10.1M
windows server 2016(服务器操作系统)中文版
5.18G
xp iis(Web服务器)6.0 中文版
13.4M
护卫神主机大师(服务器软件) v3.2 最新版
222MB
Emby Server(流媒体服务软件,)v4.0.2.0 破解版
101M
HofoSetup(安装程序制作软件)v8.5.4 破解版
5.7M
pkpm2010破解版(建筑结构设计软件)附安装教程
1.56GB
华为浏览器(网页浏览服务软件)v6.1.2.1500 最新版
85.7M
硬盘安装器(系统安装工具) 1.6.10.6 中文版
17.35 MB
雨燕投屏(投屏办公服务软件) 3.10.16.0 最新版
3.5M
驱动总裁最新绿色免安装版 2.6.0.0 最新版
287.73M
360安全桌面下载
42.53M
3d蓝光播放器下载
36.8 MB
DesktopDiGitalClock
214 KB
DiGital Fusion(视频编辑工具)5.0 免费版
97.3M
2020-07-07
Jedis客户端以及redis中的pipeline批量操作
笔记本Realtek(HD)高保真声卡在Windows XP(SP2)下图文安装详解
ThinkPad随机Windows 7恢复光盘恢复系统的方法
E40预装WIN7系统,Realtek无线网卡合上盖子休眠后无法连接到无线网络,只能重启才会正常
摄像头无法使用
Windows 8.1系统在建立ReFS格式相关键值导致0x81000203报错
CentOS 7 rpm安装mysql 5.7.18
BIOS中显卡设置选项IGD,PCI,PEG的含义
天逸F31系列笔记本改装XP系统在安装电源管理软件后还有一个未知设备,如何解决?