1.如何换源

备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 

修改

sudo vim /etc/apt/sources.list

将source.list文件内容替换成对应的, 需根据系统获取对应的,来源链接ubuntu 24.04 (noble) 配置如下

deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse

更新

sudo apt-get update

2. Gitlab的安装

  • 参考:https://blog.miniasp.com/post/2023/04/24/Install-and-Configure-GitLab-on-Ubuntu-2204-LTS

  1. 安装依赖

sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
  1. 接下来,安装 Postfix(或 Sendmail)来发送通知邮件。如果您想使用其他解决方案发送电子邮件,请跳过此步骤,并在安装 GitLab 后配置外部 SMTP 服务器

sudo apt-get install -y postfix

在 Postfix 安装过程中,可能会出现配置屏幕。选择 'Internet Site' 并按 Enter。将服务器的外部 DNS 用于 'mail name' 并按 Enter。如果出现其他屏幕,请继续按 Enter 键以接受默认值。

  1. 安装gitlab

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
sudo bash /tmp/script.deb.sh
sudo apt install gitlab-ce

這個過程會自動安裝 PostgreSQL 起來,完全不用手動安裝設定,預設資料檔在 /var/opt/gitlab/postgresql/data/ 目錄。詳見 Database settings | GitLab 文件說明。

  1. 设置防火墙

sudo ufw status

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

sudo ufw enable
sudo ufw status
  1. (未修改的话无需操作)任何時候修改了 /etc/gitlab/gitlab.rb 檔案,就要執行這個命令重新套用新的設定:

sudo gitlab-ctl reconfigure
  1. 開啟 GitLab 管理介面,我這裡是 http://192.168.1.102

    登入帳號為 root,密碼則是寫在主機的 /etc/gitlab/initial_root_password 檔案中,注意:此密碼只能在 24 小時內使用!

    # WARNING: This value is valid only in the following conditions
    #          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
    #          2. Password hasn't been changed manually, either via UI or via command line.
    #
    #          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
    
    Password: BKovCkQOzjffKJn2GuI1bGZPHUe8v0ugnTWPJJCgbN4=
    
    # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

更新 root 帳號密碼,重新登陆即可,注意需要开放443 和 80端口

 

3. 常见的使用

更改web端口

第一步:修改/etc/gitlab/gitlab.rb文件,如果有如下参数直接修改,如果没有就新增
nginx['listen_port'] = 8088

第二步:修改默认的gitlab nginx的web服务80端 /var/opt/gitlab/nginx/conf/gitlab-http.conf
server { ## HTTPS server
  listen *:8088;

重启服务

gitlab-ctl reconfigure
gitlab-ctl restart

配置邮箱服务

gitlab配置163邮箱

gitlab配置163邮箱:

阿里云服务器,不用开启其它端口。

修改/etc/gitlab/gitlab.rb文件内容

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "163秘钥,不是密码" 
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '[email protected]'

 配置完毕后,

执行命令使配置生效,并重启gitlab

gitlab-ctl reconfigure
gitlab-ctl restart

执行命令进行测试

gitlab-rails console(单独输入 等待后再输入下面的)
  Notify.test_email('your email','test Gitlab Email','Test').deliver_now

  显示下面结果,则说明右键正常发送

配置中文主题

目前的17.9.2 的版本中文的匹配度为89(最低匹配值为90)导致无法显示中文切换选项,我们只需要修改最低值稍低即可

修改的位置如下 /opt/gitlab/embedded/service/gitlab-rails/app/helpers/preferred_language_switcher_helper.rb

重启服务 gitlab-ctl restart 即可配置中文本地化

添加ICP备案

修改文件 /opt/gitlab/embedded/service/gitlab-rails/app/views/devise/shared/_footer.html.haml ,参照如下代码即可

.footer-container.gl-w-full.gl-self-end
  %hr.gl-m-0
  .container.gl-py-5.gl-flex.gl-justify-between.gl-items-start
    .gl-hidden.md:gl-flex.gl-gap-5.gl-flex-wrap
      - unless public_visibility_restricted?
        = link_to _("测试备案号"),"http://beian.miit.gov.cn/", target:'_blank', class:'text-nowrap',rel:'noopener noreferrer'
    - if one_trust_enabled?
      = render Pajamas::ButtonComponent.new(category: :tertiary, size: :small, button_options: { class: 'ot-sdk-show-settings' }) do
        = _("Cookie Preferences")
    = render 'devise/shared/language_switcher'
= footer_message

重启服务 gitlab-ctl restart

Docker 的配置

使用APT安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

sudo apt update

sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

复制

$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg


# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

然后,我们需要向 sources.list 中添加 Docker 软件源

然后,我们需要向 sources.list 中添加 Docker 软件源

复制

$ echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


# 官方源
# $ echo \
#   "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
#   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

以上命令会添加稳定版本的 Docker APT 镜像源,如果需要测试版本的 Docker 请将 stable 改为 test。

安装 Docker

更新 apt 软件包缓存,并安装 docker-ce

复制

$ sudo apt update

$ sudo apt install docker-ce docker-ce-cli containerd.io

使用脚本自动安装

在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装,另外可以通过 --mirror 选项使用国内源进行安装:

若你想安装测试版的 Docker, 请从 test.docker.com 获取脚本

复制

# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 的稳定(stable)版本安装在系统中。

启动 Docker

$ sudo systemctl enable docker
$ sudo systemctl start docker

如果启动失败 请运行指令dockerd 成功运行后退出再次启动即可

建立 docker 用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

建立 docker 组:

复制

$ sudo groupadd docker

将当前用户加入 docker 组:

复制

$ sudo usermod -aG docker $USER

退出当前终端并重新登录,进行如下测试。

测试 Docker 是否安装正确

复制

$ docker run --rm hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

若能正常输出以上信息,则说明安装成功。

镜像加速

如果在使用过程中发现拉取 Docker 镜像十分缓慢,可以配置 Docker 国内镜像加速


本站由 困困鱼 使用 Stellar 创建。