Linux 搭建SVN服务器(CS模式)

Linux 搭建SVN服务器(CS模式),第1张

Linux System Environment

一、配置阿里云yum源和epel源

提示: 阿里云yum源官网 https://developer.aliyun.com/mirror/

二、yum安装SVN软件

三、创建SVN版本库目录

提示: 自定义此目录为版本库目录,为后面创建版本库提供存位置

四、创建SVN版本库

五、创建用户并设置用户权限

六、配置SVN服务器配置文件

提示: 每一项目参数前面都不要留空格,否则会报错

七、关闭防火墙及SElinux

提示: 防火墙可以不关闭,放行SVN端口(SVN默认端口3690)

八、启动SVN服务

九、测试SVN客户端访问SVN服务

1、Windows使用TortoiseSVN 客户端测试

输入 svn://192.168.201.56:3690/xiaoming (xiaoming是自定义的版本库名称)

2、Linux SVN客户端操作命令

获取服务器mac 复制代码 代码如下: <?php /** 获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetmacAddr{ var $result = array()// 返回带有MAC地址的字串数组 var $macAddr/*构造*/ function __construct($osType){ switch ( strtolower($osType) ){ case "unix": breakcase "solaris": breakcase "aix": breakcase "linux": { $this->for_linux_os()}breakdefault: { $this->for_windows_os()}break} $temp_array = array()foreach($this->result as $value){ if(preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value, $temp_array ) ){ $this->macAddr = $temp_array[0]break} } unset($temp_array)return $this->macAddr} /*linux系统中获取方法*/ function for_linux_os(){ @exec("ifconfig -a", $this->result)return $this->result} /*win系统中的获取方法*/ function for_windows_os(){ @exec("ipconfig /all", $this->result)if ( $this->result ) { return $this->result} else { $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe"if(is_file($ipconfig)) { @exec($ipconfig." /all", $this->result)} else { @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->result)return $this->result} } } } ?> 获取客户端mac地址: 复制代码 代码如下: @exec("arp -a",$array)//执行arp -a命令,结果放到数组$array中 foreach($array as $value){ //匹配结果放到数组$mac_array if(strpos($value,$_SERVER["REMOTE_ADDR"]) &&preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){ $mac = $mac_array[0]break} } echo $mac 注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出

OK

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/ip.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <stdio.h>

#include <stdlib.h>

#include <strings.h>

#include <unistd.h>

#include <string.h>

int main(int argc,char *argv[])

{

int sockfd,new_socket

int sock_value

char buf[] = "hello! China!I Love You\n"

struct sockaddr_in client_

struct sockaddr_in server_

int SIZE = sizeof(struct sockaddr_in)

if(argc != 2){

fprintf(stderr,"The two number!\n")

exit(1)

}

if((sock_value = atoi(argv[1])) <0){

fprintf(stderr,"socket error!\n")

exit(1)

}

if((sockfd = socket(PF_INET,SOCK_STREAM, 0)) == -1){

perror("socket")

exit(1)

}

bzero(&server_,SIZE)

server_.sin_family = PF_INET

server_.sin_port = htons(sock_value)

server_.sin_addr.s_addr = INADDR_ANY

if(bind(sockfd,(struct sockaddr *)(&server_),SIZE) == -1){

perror("bind")

exit(1)

}

if(listen(sockfd, 12) == -1){

perror("listen")

exit(1)

}

printf("Waiting ... ...\n")

while(1){

if((new_socket = accept(sockfd,(struct sockaddr *)(&client_),&SIZE)) == -1){

perror("accept")

exit(1)

}

printf("The client IP is %s\n",inet_ntoa(client_.sin_addr))

printf("The socket is %d\n",ntohs(client_.sin_port))

if(write(new_socket,buf,strlen(buf)) == -1){

perror("write")

exit(1)

}

int my

char mybuf[1024]

if((my = read(new_socket, mybuf,1024)) == -1){

perror("read")

exit(1)

}

mybuf[my] = '\0'

printf("#++++#++++#:%s\n",mybuf)

close(new_socket)

}

close(sockfd)

return 0

}

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/ip.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <stdio.h>

#include <stdlib.h>

#include <strings.h>

#include <unistd.h>

int main(int argc,char *argv[])

{

int sockfd

int sock_value

char buf[1024]

char mybuf[] = "Linux\n"

int read_count

struct sockaddr_in client_

struct sockaddr_in server_

int SIZE = sizeof(struct sockaddr_in)

if(argc != 3){

fprintf(stderr,"The two number!\n")

exit(1)

}

if((sock_value = atoi(argv[2])) <0){

fprintf(stderr,"socket error!\n")

exit(1)

}

if((sockfd = socket(PF_INET,SOCK_STREAM, 0)) == -1){

perror("socket")

exit(1)

}

bzero(&client_,SIZE)

bzero(&server_,SIZE)

client_.sin_family = PF_INET

client_.sin_port = htons(52252)

client_.sin_addr.s_addr = INADDR_ANY

server_.sin_family = PF_INET

server_.sin_port = htons(sock_value)

server_.sin_addr.s_addr = inet_addr(argv[1])

if(connect(sockfd,(struct sockaddr *)(&server_),SIZE) == -1){

perror("connect")

exit(1)

}

if((read_count = read(sockfd,buf,1024)) == -1){

perror("read")

exit(1)

}

buf[read_count] = '\0'

printf("#----#----#:%s\n",buf)

if(write(sockfd, mybuf,6) == -1){

perror("write")

exit(1)

}

close(sockfd)

exit(0)

return 0

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/181048.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存