一、Debian上搭建svn服务以及使用nginx作代理http访问的实现记录过程
之前在Centos上搭建过svn服务,之前也有一篇相关的博客,不过和以前不同,这次是在debian上,不过也没多少差异。不过到目前为止,nginx还是不能直接代理svn协议服务,仍然是要在后面架设apache作为中转。详细的搭建及配置过程如下:
#安装svn服务 root@us12:/data02# apt-get install subversion-tools ... Setting up svn2cl (0.14-1) ... Setting up subversion-tools (1.9.5-1+deb9u5) ... Processing triggers for libc-bin (2.24-11+deb9u4) .. root@us12:/data02# mkdir svndata; cd svndata #创建项目,可以创建多个 root@us12:/data02/svndata# svnadmin create /data02/svndata/tmu_main #创建配置目录,将多项目的配置都使用这个 root@us12:/data02/svndata# mkdir etc root@us12:/data02/svndata# ll total 12 drwxr-xr-x 2 root root 4096 Nov 27 10:38 etc drwxr-xr-x 6 root root 4096 Nov 27 10:37 tmu_main #修改配置后启动: root@us12:/data02/svndata# svnserve -d -r /data02/svndata/ --listen-port 8899 --log-file /data02/svndata/svn.log
关于svn的报错:170001 Authorization failed基本都是账号密码配置问题,定位到authz配置文件,检查关于项目[项目名称:/]的svn读写权限,
main ERR - 0 170001 Authorization failed main open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.8.9%20(x64-microsoft-windows) TortoiseSVN-1.8.7.25475.
另外在提交svn代码的时候常见的报错有:svn Can't open file '../db/txn-current-lock': Permission 基本是项目的目录权限问题,将项目目录文件夹权限改成0777即可。
#使用http访问svn root@us12:/data02/svndata# apt-get install httpd Package httpd is a virtual package provided by: apache2 2.4.25-3+deb9u9 You should explicitly select one to install. E: Package 'httpd' has no installation candidate root@us12:/data02/svndata# apt-get install apache2 #修改配置文件将端口改成其它的并启动 root@us12:/data02/svndata# vim /etc/apache2/ports.conf root@us12:/etc/apache2# service apache2 start #Invalid command 'DAV', perhaps misspelled or defined by a module not included in the server configuration #缺少mod_dav_svn模块(apache中配置了DAV svn) root@us12:/etc/apache2# apt search mod_dav_svn Sorting... Done Full Text Search... Done libapache2-mod-svn/oldstable 1.9.5-1+deb9u5 amd64 Apache Subversion server modules for Apache httpd root@us12:/etc/apache2# apt-get install libapache2-mod-svn #生成conf配置中的AuthUserFile项文件(由htpasswd生成) #使用-b选项直接将账号密码在命令中传入而不用promot提示中输入 root@us12:/etc/apache2# htpasswd -cb apache_auth.conf test_user test_password #apache配置下增加文件/etc/apache2/sites-enabled/svn_main.conf <Location /04007_main> DAV svn SVNPath /data02/svndata/main AuthType Basic AuthName "svn user check." AuthUserFile /etc/apache2/apache_auth.conf Satisfy all Require valid-user </Location>
今天把jenkins和svn以及nginx的代理都搭好了,但是在使用http代理svn的时候发现公司的阿里云服务器和公司的物理机竟然不能连通!郁闷,可能又得重新搞部分工作了。
二、以前在Debian服务器上常用的操作命令笔记整理以待备用
1. 全局先初始化安装模块:
apt-get install libpcre3-dev libssl-dev perl make build-essential curl libperl-dev libjpeg-dev libpng-dev libxml2-dev libmcrypt-dev libmhash-dev libfreetype6-dev libjpeg62-turbo-dev mlocate
2. 服务器初始化
updatedb;mkdir -p /opt/www-data/gaotie.007.cn; mkdir /data01/nginx/;mkdir -p /data01/php/{conf,log};mv /etc/modprobe.d/nf-blacklist.conf /etc/modprobe.d/nf-blacklist.conf_bak;
3. 安装docker gaotie.007.cn
apt-get install docker-ce; gpasswd -a 007user docker;
4. 从134复制php环境到其它服务器
cd /data01/php;rm -rf log;rm -rf conf; rm -f 25php.tar.gz ;tar zxvf 134php.tar.gz ;cd /data01;chown -R 007user:007user php;ll
5. 进入各服务器执行命令:
cd /data01/php;tar zxvf 25php.tar.gz; rm -f 25php.tar.gz;cd /data01/nginx/;tar zxvf 25.tar.gz; rm -f 25.tar.gz;cd ~;docker load -i kermit_nginx2.tar;docker load -i kermit_php2.tar;docker images;
6. docker安装启动nginx --user $(id -u 007user)
docker run --name nginx-007-gaotie -d --cap-add=SYS_PTRACE -p 80:80 \
-v /data01/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data01/nginx/conf.d:/etc/nginx/conf.d \
-v /data01/nginx/log:/var/log/nginx \
-v /opt/www-data/gaotie.007.cn/now_version:/usr/share/nginx/html \
-v /opt/www-data/gaotie.007.cn/007_share_dir:/home/007_share_dir \
-v /opt/www-data/gaotie.007.cn/007_fix_code:/home/007_fix_code \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
kermit_nginx
7. 平滑重启nginx:
docker exec -it nginx-container service nginx reload
8. docker启动php完整命令
docker run --name php-007-gaotie -d --cap-add=SYS_PTRACE -p 9000:9000 \
-v /opt/www-data/gaotie.007.cn/now_version:/var/www \
-v /data01/php/php-fpm.conf:/usr/local/etc/php-fpm.conf \
-v /data01/php/php-fpm.d:/usr/local/etc/php-fpm.d \
-v /data01/php/php:/usr/local/etc/php \
-v /data01/php/log:/var/log/php \
-v /opt/www-data/gaotie.007.cn/007_share_dir:/home/007_share_dir \
-v /opt/www-data/gaotie.007.cn/007_fix_code:/home/007_fix_code \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
php-007-swoole
9. 启动redis服务
docker run -d -p 6379:6379 --name redis6379 -u www-data \
-v /data00/redis3.2/data:/data \
-v /data00/redis3.2/conf:/etc/redis \
redis:3.2 redis-server /etc/redis/6379.conf
docker run -d -p 6380:6380 --name redis6380 -u www-data \
-v /data00/redis3.2/data:/data \
-v /data00/redis3.2/conf:/etc/redis \
redis:3.2 redis-server /etc/redis/6380.conf
10. 启用codis服务
docker run --name codis -d -p 8080:8080
-v `realpath logs`:/codis/log
-v `realpath config/codis.json`:/codis/codis.json menina/codis
codis-fe -l log/fe.log
--assets=/gopath/src/github.com/CodisLabs/codis/bin/assets
--dashboard-list=codis.json
--listen=0.0.0.0:8080
11. 启动mysql
docker run -d -p 3306:3306 --name mysql5.7 \
-v /data01/mysql57/conf:/etc/mysql/conf.d \
-v /data01/mysql57/logs:/logs \
-v /data01/mysql57/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=tmu.mysql57.2020 \
cd3ed0dfff7e
mysql
12. 从服务器目录挂载:
mount 10.147.26.25:/opt/www-data/gaotie.007.cn/007_share_dir/files /opt/www-data/gaotie.007.cn/007_share_dir/files
mount 10.147.26.25:/opt/www-data/gaotie.007.cn/007_share_dir/files /opt/www-data/gaotie.007.cn/007_share_dir/files nfs rsize=8192,wsize=8192,timeo=14,intr
/sbin/showmount -a
mount 10.147.26.25:/opt/www-data/gaotie.007.cn/007_share_dir/data/private_files /opt/www-data/gaotie.007.cn/007_share_dir/data/private_files
14. 视频转码
gswin64c -sDEVICE=pdfwrite -sOutputFile=C:\tmu\output\kkk.pdf -dNOPAUSE -dBATCH -dEmbedAllFonts=false -dSubsetFonts=true -dCompressFonts=true C:\tmu\input\abcd.pdf
c:\pdf2htmlEX\pdf2htmlEX C:\tmu\input\abcd.pdf --fit-width 720 --split-pages 1 --embed-font 0 --embed-css 0 --embed-image 0 --embed-javascript 0 --printing 0 --page-filename content-%d.page --dest-dir C:\tmu\output\"