CodeFever 项目从零开始安装指南:构建企业级代码托管平台
前言
CodeFever 是一款功能强大的企业级代码托管平台,提供类似主流代码托管服务的功能体验。对于需要进行深度定制或技术研究的用户,从零开始安装是更好的选择。本文将详细介绍在 Linux 系统上从零开始安装 CodeFever 的完整流程。
适用场景
从零开始安装方式特别适合以下情况:
- 需要进行二次开发和功能定制
- 研究学习代码托管平台的实现原理
- 当前系统架构不支持容器化部署
- 需要调试和修复系统问题
系统环境准备
硬件要求
- 最低内存要求:1800MB
- 如果物理内存不足,可通过创建交换分区临时补充:
# 创建1GB交换分区
dd if=/dev/zero of=/root/swap bs=1024 count=1000000
mkswap /root/swap
swapon /root/swap
软件依赖安装
推荐使用 CentOS 7.x 系统,安装基础依赖包:
yum install -y sudo tcl tk gettext autoconf gcc cmake3 wget initscripts \
openssh-server crontabs mailx sendmail pcre pcre-devel libcurl libcurl-devel \
libxml2 libxml2-devel openssl openssl-devel sqlite sqlite-devel libpng \
libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libXpm libXpm-devel \
freetype freetype-devel oniguruma oniguruma-devel libyaml libyaml-devel
libzip 安装
CodeFever 需要 libzip 1.7+ 版本,需手动编译安装:
cd libzip-1.x.x
mkdir build
cd build
cmake3 ../
make && make install
export PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig/:/usr/local/lib/pkgconfig/"
核心组件安装
Nginx 安装
编译安装 Nginx 到 /usr/local/nginx:
cd nginx-1.x.x
./configure --prefix=/usr/local/nginx
make && make install
PHP 安装
推荐使用 PHP 7.4 版本,编译安装到 /usr/local/php:
cd php-7.4.x
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
--enable-fpm --enable-bcmath=shared --with-pdo_sqlite --with-gettext=shared \
--with-iconv --enable-ftp=shared --with-sqlite3 --enable-mbstring=shared \
--enable-sockets=shared --enable-soap=shared --with-openssl --with-zlib \
--with-curl=shared --enable-gd --with-freetype --with-jpeg --with-xpm \
--with-webp --with-mhash --enable-opcache --with-mysqli --without-pear \
--with-libdir=lib64 --with-zip --enable-mbstring --enable-pcntl
make && make install
安装必要的 PHP 扩展:
cd yaml-2.x.x
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
Git 安装
编译安装 Git v2 到 /usr/local/git:
cd git-2.x.x
./configure --prefix=/usr/local/git
make && make install
ln -s /usr/local/git/bin/git /usr/local/bin/
Go 环境安装
安装 Go 1.16+ 版本:
cp -R go /usr/local
ln -s /usr/local/go/bin/go /usr/local/bin/go
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
NodeJS 环境安装
安装 NodeJS 16.10+ LTS 版本:
cp -R node-v16.x.x-os-arch /usr/local/node
ln -s /usr/local/node/bin/node /usr/local/bin/node
ln -s /usr/local/node/bin/npm /usr/local/bin/npm
ln -s /usr/local/node/bin/npx /usr/local/bin/npx
ln -s /usr/local/node/bin/corepack /usr/local/bin/corepack
启用 Yarn:
corepack enable
数据库安装
推荐使用 MariaDB 或 MySQL 5.7+ 版本。安装后需执行安全初始化:
service mariadb start
mariadb-secure-installation
对于 MySQL 5.7,需要调整 SQL 模式:
set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
CodeFever 安装与配置
获取源代码
mkdir -p /data/www
cd /data/www
git clone codefever.git codefever-community
cd codefever-community
编译网关服务
HTTP 网关编译:
cd /data/www/codefever-community/http-gateway
export GO111MODULE=off
export GOPROXY=https://mirrors.aliyun.com/goproxy
go get gopkg.in/yaml.v2
go build main.go
SSH 网关编译:
cd /data/www/codefever-community/ssh-gateway/shell
export GO111MODULE=off
export GOPROXY=https://mirrors.aliyun.com/goproxy
go get gopkg.in/yaml.v2
go build main.go
执行安装脚本
cd /data/www/codefever-community/misc
sh ./install.sh
根据提示修改 env.yaml 配置文件后,初始化数据库:
sh ./create_db.sh
可选删除测试数据:
sh ./remove_test_data.sh
设置开机启动
chkconfig mariadb on
chkconfig sendmail on
chkconfig nginx on
chkconfig php-fpm on
chkconfig codefever on
chkconfig crond on
系统访问与初始配置
安装完成后,可通过以下方式访问:
- 本地访问:http://127.0.0.1
- 网络访问:http://<服务器IP>
默认管理员账号:
- 用户名:root@codefever.cn
- 密码:123456
安全提示:首次登录后请立即修改默认密码并启用多因素认证(MFA)。
常见问题解决
- 内存不足:确保系统有足够内存或配置交换分区
- 依赖缺失:根据编译错误提示安装缺少的依赖包
- 数据库连接问题:检查 env.yaml 中的数据库配置是否正确
- 服务启动失败:查看对应服务的日志文件排查问题
后续维护
系统正常运行后,建议定期:
- 检查服务状态
- 备份重要数据
- 更新系统安全补丁
- 监控系统资源使用情况
通过以上步骤,您已成功从零开始安装 CodeFever 代码托管平台。如需进一步定制或优化,可参考官方文档进行深入配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



