Ubuntu 搭建 GitLab

1.首先是安装一些依赖服务

sudo apt-get install curl openssh-server ca-certificates postfix
2.官方的建议是使用脚本直接执行安装

sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

3.打开/etc/gitlab/gitlab.rb,将external_url = ‘http://git.example.com’修改为自己的域名地址:http://example.com,默认为80端口,如要使用其他端口后面加上端口号,如:http://127.0.0.1:8080。

然后执行:
sudo gitlab-ctl reconfigure
启动完成后浏览器访问配置好的地址,应该出现重置管理员密码的界面。

6.检查GitLab是否安装好并且已经正确运行,输入下面的命令

sudo gitlab-ctl status
如果得到类似下面的结果,则说明GitLab运行正常

run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s

汉化

1.下载社区提供的汉化包,在 https://gitlab.com/xhang/gitlab/ 中找到相应的汉化分支。
sudo wget wget -cO gitlab-9.0_zh.tar.gz https://gitlab.com/xhang/gitlab/repository/archive.tar.gz?ref=9-0-stable-zh

2.解压包
sudo tar zxvf gitlab-9.0_zh.tar.gz

3.停止 GitLab 服务
sudo gitlab-ctl stop

4.备份 gitlab-rails 目录,该目录下主要是web应用部分,也是当前项目仓库的起始版本,也是汉化包要覆盖的目录。
sudo tar zcvf /opt/gitlab/embedded/service/gitlab-rails-bak.tar.gz gitlab-rails

5.将解压后的汉化补丁覆盖原来的
sudo cp -rf gitlab-9-0-stable-zh/* gitlab-rails/

6.启动服务
sudo gitlab-ctl start

7.重新执行配置命令
sudo gitlab-ctl reconfigure

汉化完成

owncloud简单的优化

1、查看回收站的文件大小
du -sh /var/www/html/files/hfhleo/files_trashbin/*

2、修改回收站保存的时间
vim /var/www/html/yunpan/config/config.php

'trashbin_retention_obligation' => 'auto,5',

2、修改版本保存的时间
vim /var/www/html/yunpan/config/config.php

'versions_retention_obligation' => 'auto,5',

centos6.5搭建ownCloud

1、用yum安装基本的LAMP环境:
[code]
yum -y install httpd mysql mysql-server
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
[/code]
由于最新版本owncloud-7.0.2.tar.bz2要求php版本在5.3.8以上,centos 6.5 64bit默认Yum是5.3.3,所以要改yum源
[code]
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
[/code]
2、安装php5.5以及扩展
[code]
yum install php55w php55w-bcmath php55w-cli php55w-common php55w-devel php55w-fpm php55w-gd php55w-imap php55w-ldap php55w-mbstring php55w-mcrypt php55w-mysql php55w-odbc php55w-pdo php55w-pear php55w-pecl-igbinary php55w-xml php55w-xmlrpc php55w-opcache php55w-intl php55w-pecl-memcache
[/code]
3、启动httpd和mysqld
[code]
/etc/init.d/httpd start
/etc/init.d/mysqld start
[/code]
4、创建一个名为’ownclouddb’和数据库用户’ownclouduser’以及密码是’password’的数据库
[code]
mysql -uroot -p
mysql> CREATE DATABASE ownclouddb;
mysql>GRANT ALL ON ownclouddb.* TO ownclouduser@localhost IDENTIFIED BY ‘password’;
[/code]
5、下载最新版本的owncloud
[code]
wget https://download.owncloud.org/community/owncloud-9.1.1.tar.bz2
[/code]
6、解压和设置权限
[code]
tar xvf owncloud-7.0.2.tar.bz2
mv owncloud /var/www/html
chown -R apache:apache /var/www/html/owncloud
chmod 777 /var/www/html/owncloud/
[/code]
7、启用apache重写模式
[code]
vi /etc/httpd/conf/httpd.conf
[/code]
查找并修改 AllowOverride None 为 Allowoverride All
[code]
Options FollowSymLinks
AllowOverride All
[/code]
8、重启httpd
[code]
/etc/init.d/httpd restart
[/code]
9、owncloud开始安装和配置,浏览器打开网址执行安装步骤:
http://IP地址/owncloud/
为了配置数据库,点“Advanced” 选择MySQL,然后输入MySQL的数据库名ownclouddb、用户名ownclouduser和密码password。
你要建立一个管理员帐号,输入必填的用户名和密码。然后点击“finish”完成安装过程。

10、如果https不能连接,需要安装sll
[code]
yum install mod_ssl
[/code]

svn搭建

检查已安装版本
#检查是否安装了低版本的SVN
[root@localhost /]# rpm -qa subversion

#卸载旧版本SVN
[root@localhost modules]# yum remove subversion

安装SVN
[root@localhost modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

确认已安装了svn模块
[root@localhost /]# cd /etc/httpd/modules
[root@localhost modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

验证安装
检验已经安装的SVN版本信息
[root@localhost modules]# svnserve –version

[code]
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用:

* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。
[/code]

代码库创建
SVN软件安装完成后还需要建立SVN库
[root@localhost modules]# mkdir -p /var/www/html/svn/sites
[root@localhost modules]# svnadmin create /var/www/html/svn/sites
执行上面的命令后,自动建立sites库,查看/var/www/html/svn/sites 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库
进入上面生成的文件夹conf下,进行配置
[root@localhost modules]# cd /var/www/html/svn/sites/conf

用户密码passwd配置
[root@localhost password]# cd /var/www/html/svn/sites/conf
[root@admin conf]# vi + passwd
修改passwd为以下内容:
[code]
[users]
# harry = harryssecret
# sally = sallyssecret
hfhleo=hfh12345
[/code]

权限控制authz配置
[root@admin conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[code]
#设置[/]代表根目录下所有的资源
[/]
zhoulf=rw
[/code]

服务svnserve.conf配置
[root@admin conf]# vi + svnserve.conf

追加以下内容:

[code]
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/var/www/html/svn/repositories
[/code]

配置防火墙端口
[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]# service iptables restart

启动SVN(注意,创建sites库,启动必须是前一个目录)
svnserve -d -r /var/www/html/svn/

查看SVN进程
[root@localhost conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /var/www/html/svn/

检测SVN 端口
[root@localhost conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

停止重启SVN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /var/www/html/svn/ // 启动

测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://url/sites
用户名/密码: hfhleo/hfh12345

centos常用命令

####vi编辑
i //进入编辑模式
esc+:wq //保存退出

#####系统服务
//检查服务状态:
service –status-all
service –status-all | grep ntpd
service –status-all | less
service httpd status

chkconfig –list //列出所有服务启动级别
chkconfig xx on //添加服务开机启动
service pptpd restart //重启服务
service pptpd restart-kill //先杀死再重启

######端口操作
netstat -tulpn //列出服务和他们对应的端口:
netstat –apn //查看所有的进程和端口使用情况
netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况
ps -aux | grep xxx //查看xx进程具体使用情况

#文件操作
~ //代表/root目录
/ //代表根目录
# //代表超级管理员
$ //当前登陆的用户是普通用户
pwd //查看当前路径
ls //查看当前目录下的文件和文件夹
mkdir //创建文件夹mkdir /tmp/test
touch //创建文件touch /tmp/a.txt
rm //删除文件或文件夹(f,r参数)
cp //复制文件(cp [参数] 源文件 目标文件)
mv //移动和改名 移动:(mv [参数] 源文件 目地文件);改名:移动mv dir/ directory
find //查找
cat //查看文件()
cat //重定向,需要将一些文件信息不是输出到屏幕上,而是让其输出到指定的文件或其它位置 (cat /etc/services > a.txt)

###防火墙操作
iptables -A INPUT -p tcp –dport 1723 -j ACCEPT //开放对应端口
iptables -t nat -A POSTROUTING -o venet0:0 -s 192.168.7.0/24 -j SNAT –to-source 45.124.67.22 //添加网卡转发( 192.168.7.0/24的客户机,通过本机网卡venet0:0转发)
/etc/init.d/iptables save //保存修改
/sbin/service iptables restart //重启服务

vps搭建pptpd

###ppp和pptpd对应的版本库
#安装ppp
yum install ppp
#查看当前的ppp版本 (ppp 2.4.4——————>pptpd 1.3.4,ppp 2.4.5——————>pptpd 1.4.0)
yum list installed ppp

#安装对应的pptpd版本
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
#安装
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
//////或者
#加入yum源:
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
#安装pptpd
yum install -y pptpd
chkconfig pptpd on //开机启动pptp vpn服务

1、
#配置文件/etc/ppp/options.pptpd
cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
vi /etc/ppp/options.pptpd
#加入dns
ms-dns 8.8.8.8
ms-dns 8.8.4.4

2、
#配置文件/etc/ppp/chap-secrets
cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
vi /etc/ppp/chap-secrets

# Secrets for authentication using CHAP
# client server secret IP addresses
myusername pptpd mypassword *
//myusername是你的vpn帐号,mypassword是你的vpn的密码,*表示对任何ip,记得不要丢了这个星号。我这里根据这个格式,假设我的vpn的帐号是ksharpdabu,密码是 sky。那么,应该如下:
ksharpdabu pptpd sky *

3、
#配置文件/etc/pptpd.conf
cp /etc/pptpd.conf /etc/pptpd.conf.bak
vi /etc/pptpd.conf
#添加:
localip 127.16.36.1
remoteip 127.16.36.11-30 //表示vpn客户端获得ip的范围
////////pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!

4、
配置文件/etc/sysctl.conf
vi /etc/sysctl.conf //修改内核设置,使其支持转发
将net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
保存修改后的文件:
/sbin/sysctl -p

5、启动pptp vpn服务和iptables
/sbin/service pptpd start 或者 #service pptpd start
/sbin/service iptables start

6、添加转发规则
#开启端口
iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
iptables -A INPUT -p tcp –dport 47 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p UDP –dport 53 -j ACCEPT //开启dns

iptables -t nat -A POSTROUTING -o venet0:0 -s 192.168.7.0/24 -j SNAT –to-source 45.124.67.22
iptables -t nat -A POSTROUTING -s 127.16.36.0/24 -j SNAT –to-source 45.124.67.22

##出现某些网站不能访问(一般不用添加)
iptables -A FORWARD -s 127.16.36.0/24 -p tcp -m tcp –tcp-flags SYN,RST SYN -j TCPMSS –set-mss 1400(mss可以连接vpn后通过netstat -i,看看mtu;mss=mtu-20字节的IP头部+20字节的TCP 头部)

/etc/init.d/iptables save
/sbin/service iptables restart
//重启
service pptpd restart

//查看全部连接
netstat -antp