Linux全套开发环境搭建

背景

已有一台主力笔记本电脑,后又翻出来了5年前大学时候用的笔记本电脑,为发挥出其剩余价值,安装了ubuntu24-server系统,用于本地开发环境搭建,内网服务器,软件开发测试使用。内容较多,缓慢持续更新

注:由于国内镜像站关闭,文章内全程使用官方库+魔法,也可以预先下载镜像包,导入docker使用

组件:
docker + docker compose + nginx + GitLab + Jenkins + SonarQube + Nexus IQ Server + Kubernetes + Prometheus + Grafana + Cyberflows

笔记本配置:

cpu:i7 5500u
运行内存: 12G
存储盘:120G SSD + 1T HDD

Ubuntu24 系统安装

推荐视频(抖音):https://www.douyin.com/video/7336034392797629746

iso 下载

官网地址:https://releases.ubuntu.com/
server版下载地址:https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso

安装系统

官方完整说明,包含U盘引导盘制作,系统安装等:https://help.ubuntu.com/community/Installation/FromUSBStick#Booting_the_Computer_from_USB

建议:安装过程中连接网线,配置proxy进行

系统配置

如果根据视频一步一步安装完毕,进入系统,那么接下来进行一些简单的系统配置

建议切换到root用户继续

sudo -i

SSH

1、在系统安装过程中,已经选择了预装SSH,不确定的可以使用命令确认一下:

sudo apt update
sudo apt install vim     # 安装vim
sudo apt install openssh-server

2、检查SSH服务是否运行

sudo systemctl status ssh

image

如果不是 active (running),可以执行启动命令:

sudo systemctl start ssh
sudo systemctl enable ssh  # 开机自启动

3、查看本机IP地址
用以下命令查看Ubuntu的局域网IP:

ip a

一般是192.168.x.x或10.x.x.x类似的内网IP,记下这个IP。

4、 检查防火墙设置
Ubuntu的UFW防火墙如果开启了,要允许SSH端口(默认22端口)通过:

sudo ufw status # 如果是active执行下面命令,否则跳过即可
sudo ufw allow ssh
sudo ufw enable   # 如果防火墙原本是关闭状态,需谨慎开启
sudo ufw status

至此,可以通过主力机SSH直接连接操作ubuntu24-server。

切换无线连接

至此,依旧是使用网线连接笔记本操作,如果想要切换为无线连接,按照本步骤操作:
用netplan配置Wi-Fi(适用于没有NetworkManager的纯Server)
1、查看无线网卡

ip link

通常是wlan0、wlp2s0之类的。

2、编辑Netplan配置

sudo vim /etc/netplan/01-netcfg.yaml

如果这个文件名不同(如00-installer-config.yaml),用实际文件编辑即可。

3、添加Wi-Fi配置(参考模板):

network:
  version: 2
  renderer: networkd
  wifis:
    wlan0:                # 根据你的无线网卡名称修改
      dhcp4: true         # true 为动态ip
      access-points:
        "你的WiFi名称":
          password: "你的WiFi密码"

注意:

wlan0 改成你的网卡名。
你的WiFi名称 要用引号包住。
缩进要用空格,不能用Tab。

4、应用配置

sudo netplan apply

然后用:

ip a
ping www.baidu.com

确认是否联网成功。

ip固定

至此,完成了wifi连接配置
但是此时ip并不是固定的,而是动态分配的,可按照以下方式解决:

在Netplan中配置静态IP(推荐)

1、编辑你的 Netplan 配置文件:

sudo vim/etc/netplan/01-netcfg.yaml

2、将 dhcp4 改为 false,并指定固定 IP 配置:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
      dhcp4: false
      addresses:
        - 192.168.1.100/24     # 固定IP,按你的局域网调整
      gateway4: 192.168.1.1     # 路由器地址
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]   # DNS服务器
      access-points:
        "你的WiFi名称":
          password: "你的WiFi密码"

注意事项:

  • addresses 中的 192.168.1.100/24 表示固定的IP和子网掩码(/24通常是255.255.255.0)。

  • gateway4 是你的路由器网关地址。

  • nameservers 可以写常用DNS服务器。

  • 你需要根据你局域网的实际网段调整上面参数。

3、 保存并应用:

sudo netplan apply

在路由器上设置DHCP静态绑定

如果你不想在Ubuntu上固定IP,可以进入家用路由器的后台管理页面,以小米路由器AX3000T为例。
访问登陆路由器后台:192.168.311
image

设置合盖不睡眠、不关机

笔记本当作服务器使用,最方便的便是合上盖子放到角落持续稳定运行,但是笔记本默认合上盖子进入休眠模式,按照如下方式解除:
1、编辑 /etc/systemd/logind.conf:

HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore

2、重启 logind:

sudo systemctl restart systemd-logind

3、屏蔽休眠机制:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

5、验证
查看 logind 的生效配置

cat /etc/systemd/logind.conf | grep HandleLidSwitch

确认是否配置如下(注意是取消注释的):

HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore

image

查看是否屏蔽休眠机制:

sudo systemctl status sleep.target suspend.target

显示: Loaded: masked 即可

image

魔法

设置系统全局代理(永久生效)
1、编辑环境变量文件:

sudo nano /etc/environment

2、在文件末尾添加:

http_proxy="http://xxxx:xxxx"
https_proxy="http://xxxx:xxxx"
no_proxy="localhost,127.0.0.1"

3、保存后执行:

source /etc/environment

4、验证

curl -I https://download.docker.com/linux/ubuntu/gpg

image

安装docker

1、 安装必要的依赖

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

2、添加Docker官方GPG密钥

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3、设置Docker官方仓库

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4、更新软件包索引(包含Docker仓库)

sudo apt update

5、安装Docker Engine

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

6、启动并设置Docker开机自启

sudo systemctl start docker
sudo systemctl enable docker

7、验证Docker是否安装成功

docker search --limit 10 mysql  

docker前置

1、检查 docker compose 版本

docker compose version

2、如果有输出则已安装

  • docker compose v2 版本命令: docker compose up -d
  • docker compose 旧 版本命令: docker-compose up -d

3、如果你仍需用传统命令 docker-compose,可以按以下步骤安装:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

4、安装完成后,测试:

docker-compose --version

5、通过包管理器安装(可能版本较旧)

sudo apt update
sudo apt install docker-compose

但官方仓库版本可能比较老,不建议用于生产环境。

  1. 安装完成使用示例
    传统命令:
docker-compose up -d

新版 Docker CLI 命令:

docker compose up -d

安装 GitLab

1、创建挂载目录

mkdir -p /D/software/gitlab/data
mkdir -p /D/software/gitlab/config
mkdir -p /D/software/gitlab/logs

cd /D/software/gitlab/

2、拉取官方镜像

docker pull gitlab/gitlab-ce:latest

说明:gitlab-ce 为GitLab Community Edition(社区版),免费且功能完整。

3、使用 Docker 运行 GitLab
方法一:直接运行

docker run -d \
  --hostname gitlab.example.com \
  --publish 443:443 \
  --publish 80:80 \
  --publish 2222:22 \
  --name gitlab \
  --restart always \
  -v /D/software/gitlab/config:/etc/gitlab \
  -v /D/software/gitlab/logs:/var/log/gitlab \
  -v /D/software/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

方法二:docker compose 启动

vim docker-compose.yml
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: gitlab.local                # 可改为服务器IP或自定义域名
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.local'   # 访问地址(IP或域名)
    ports:
      - "80:80"
      - "443:443"
      - "2222:22"   # 注意,22端口已经被SSH占用,所以映射时不可以使用22:22
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab

external_url 必须设置为实际访问的地址(局域网内用IP也可以)。

数据卷直接映射到当前文件夹,方便管理。

4、启动 GitLab

docker compose up -d

5、查看启动日志:

docker-compose logs -f

6、首次访问与初始化
访问:

http://服务器IP/  或  http://gitlab.local/

第一次访问时:

设置 root 密码;

默认账号是:

root

默认密码

vim /D/software/gitlab/config/initial_root_password

image

安装jenkins

1、创建挂载目录

mkdir -p /D/software/jenkins/{data,logs}

cd /D/software/jenkins/

2、拉取官方 Jenkins 镜像

docker pull jenkins/jenkins:lts

lts 为长期支持版(推荐)。

3、直接运行jenkins

docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /D/software/jenkins/data:/var/jenkins_home \
  -v /D/software/jenkins/logs:/var/log/jenkins \
  --restart always \
  jenkins/jenkins:lts

4、docker compose 运行jenkins

vim docker-compose.yml
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    restart: always
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - ./data:/var/jenkins_home
      - ./logs:/var/log/jenkins

5、获取初始密码

vim /D/software/jenkins/data/secrets/initialAdminPassword

6、访问 Jenkins,浏览器打开:

http://服务器IP:8080

7、Jenkins 安装后,建议安装:

  • Docker 插件(方便在 Jenkins 内部直接管理 Docker 容器)

  • Pipeline 插件(实现流水线构建)

  • Jenkins 运行过程中建议将数据卷备份,以便于灾难恢复

挂载其他复盘到系统盘

1、查看盘符信息

lsblk

image

2、格式化盘->ext4

ext4 是Linux下最常用的本地文件系统。支持权限、软硬链接、较少的碎片。性能和兼容性比ntfs好。一般windows使用的是ntfs格式,如果没有数据可以选择格式化为ext4,如果不想,也可以根据第三步直接挂载ntfs
第一步:先卸载B盘(如果已挂载):

sudo umount /dev/sdb5

第二步:执行格式化(⚠️会清空所有数据):

sudo mkfs.ext4 /dev/sdb5

第三步:创建挂载点:

sudo mkdir /mnt/bdisk

第四步:挂载:

sudo mount /dev/sdb5 /mnt/bdisk

第五步:查看是否成功:

df -h | grep /mnt/bdisk

3、直接挂载ntfs
安装ntfs支持:

sudo apt update
sudo apt install ntfs-3g

然后挂载:

sudo mkdir /mnt/bdisk
sudo mount -t ntfs-3g /dev/sdb5 /mnt/bdisk

4、开机自动挂载B盘(可选)

第一步:确认文件系统类型
先确认B盘(/dev/sdb5)的文件系统类型(ext4、ntfs等):

sudo blkid /dev/sdb5

你会看到类似这样的输出:

/dev/sdb5: UUID="xxxx-xxxx" TYPE="ext4"
  • UUID:磁盘的唯一标识,建议用它挂载更稳定。
  • TYPE:文件系统类型(比如ext4、ntfs)。

第二步:创建挂载目录

sudo mkdir /mnt/bdisk

这是B盘挂载后的访问路径。

第三步:编辑 /etc/fstab 配置
打开fstab文件:

sudo nano /etc/fstab

在文件末尾添加一行:

UUID=xxxx-xxxx  /mnt/bdisk   ext4    defaults    0    0

UUID=xxxx-xxxx:替换成你刚才通过blkid看到的UUID。

  • /mnt/bdisk:你的挂载路径。
  • ext4:如果你的磁盘是ext4类型,保持这样。ntfs则改成ntfs。
  • defaults:使用默认挂载参数。

示例(假设UUID是1234-ABCD,文件系统是ext4):

UUID=1234-ABCD  /mnt/bdisk   ext4    defaults    0    0

第四步:验证是否配置正确
在不重启的情况下,可以用下面的命令测试fstab配置是否正常:

sudo mount -a

如果没有任何错误提示,说明fstab配置正确。

第五步:开机自动挂载生效
重启后,系统会自动把B盘挂载到 /mnt/bdisk,你可以这样确认:

df -h | grep /mnt/bdisk

看到B盘出现在列表中,说明自动挂载成功。

切换开机允许使用root用户登陆

Ubuntu Server(包括24版)默认禁止root账户直接通过SSH登录,这是为了安全考虑。
如果你确实需要允许root用户通过SSH直接登录,可以按以下步骤操作(注意风险):

1、开启SSH允许root登录,编辑SSH配置文件

sudo vim /etc/ssh/sshd_config

2、找到以下配置项:

#PermitRootLogin prohibit-password

修改为:

PermitRootLogin yes
# (如果前面有#,请去掉注释;如果是without-password或prohibit-password,改为yes)

3、保存文件并重启SSH服务

sudo systemctl restart ssh

4、确保root用户已设置密码
(你已经设置过)

sudo passwd root

5、现在就可以用root账户+密码通过SSH客户端直接登录了。
⚠️ 不建议直接用root远程登录的原因:
root权限过高,易受攻击。
日常操作建议使用普通账户,通过sudo提升权限。
如果实在需要root远程管理,建议改用SSH密钥登录并禁用密码登录

posted @ 2025-07-20 15:32  德华。  阅读(162)  评论(0)    收藏  举报