CentOS compila Gogs

Gogs es un servicio de Git de autoservicio que es extremadamente fácil de construir.
El proyecto Gogs tiene como objetivo crear un servicio Git de autoservicio simple, estable y escalable de la manera más fácil. El uso del desarrollo del lenguaje Go permite que Gogs se distribuya a través de un binario independiente y es compatible con todas las plataformas compatibles con el lenguaje Go, incluidas las plataformas Linux, macOS, Windows y ARM.

1. Construcción ambiental

Instalar git y base de datos

1. Instalar git

Yum se puede instalar, use el siguiente comando

yum install -y git 

2. Instale la base de datos

Utilizo el
método de instalación mariadb 10.0.33 :
CentOS7 offline install mariadb

Dos, instala gogs

1. Descarga el paquete de instalación de gogs

wget https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.tar.gz

Si se le indica que no se encuentra el comando wget, puede usar yum para instalar

yum install -y wget

2. Descomprimir

tar –xzvf gogs_0.11.86_linux_amd64.tar.gz

3. Crea un usuario de git

 useradd  git

4. Cambie el propietario del paquete de instalación de gogs a git

chown -R git:git /home/gogs

Tres, crear un usuario de gogs en la base de datos y otorgar permisos

1. Inicie sesión en mariadb como root

mysql -uroot -p123456

2. Crear una base de datos de gogs

create database gogs default charset utf8 collate utf8_general_ci;

3. Cree un usuario de gogs y otorgue al usuario todos los permisos para la base de datos de gogs.

GRANT ALL PRIVILEGES ON gogs.* TO  'gogs'@'%' IDENTIFIED BY '123456';

4. Actualizar permisos

flush privileges;

Cuarto, ejecute gos y configúrelo para que se inicie automáticamente

1. Ingrese la ruta de instalación de gogs

cd /home/gogs

2. Ejecutar gogs

#默认端口启动
su git  
./gogs web
#指定端口启动
su git  
./gogs web –port 3001

El uso de este método pertenece al inicio de anteayer y siempre se ejecutará en primer plano. Si cierras el terminal, se cerrará automáticamente, así que usa el método de inicio en segundo plano.

3. Configurar para que se inicie automáticamente

  • Copie el script de inicio de gogs en la ruta /etc/init.d/:
#gogs自己提供了默认的启动脚本,在gogs安装包的scripts/init/路径下,可以根据自己的操作系统选择不同的脚本
cp /home/gogs/scripts/init/centos/gogs /etc/rc.d/init.d/
  • Editar secuencia de comandos de inicio
vim /etc/init.d/gogs

Modifique GOGS_HOME y GOGS_USER del script de inicio, que son la ruta de instalación de gogs y el usuario de inicio de gogs respectivamente. Por ejemplo, cambié GOGS_HOME a / home / gogs y GOGS_USER a git

  • Ingrese la ruta /etc/init.d
cd /etc/init.d
  • Otorgue permisos ejecutables al script de inicio
chmod +x gogs
  • Probar secuencia de comandos de inicio
#启动gogs
service gogs start 
#关闭gogs
service gogs stop
#重启gogs
service gogs restart
  • Configurar gogs para que comiencen en el arranque
chkconfig gogs on
  • Compruebe si la unión es exitosa
chkconfig --list gogs

Consulte el siguiente contenido para explicar que entra en vigor
Inserte la descripción de la imagen aquí

Cinco, instale gogs en la parte delantera

Si el puerto predeterminado 3000 ya está ocupado por otros puertos, el método de inicio en segundo plano no puede iniciarse normalmente, porque el inicio en segundo plano no puede especificar el puerto sin la instalación de front-end. El puerto correspondiente solo se puede generar después de la instalación de front-end de gogs Archivo de configuración. Por lo tanto, antes de configurar el puerto para que comience en segundo plano, debe comenzar en primer plano e instalar el programa en la página principal.
1. Ingrese IP + puerto especificado en el navegador. Por
ejemplo: http://192.168.134.159:3001,
ingresará automáticamente a la siguiente interfaz de instalación:
Inserte la descripción de la imagen aquí

2. Complete la información relevante de acuerdo con los requisitos. Si necesita cambiar el puerto, complete la IP y el puerto reales en la URL de la aplicación y
Inserte la descripción de la imagen aquíhaga clic en Aceptar después de completar el llenado. La siguiente interfaz indica que la instalación se realizó correctamente

Inserte la descripción de la imagen aquí

Seis, archivo de configuración

Después de la instalación exitosa de gogs en la página de inicio, el archivo de configuración app.ini se generará bajo el paquete de instalación. La ruta de app.ini es gogs / custom / conf / app.ini
Inserte la descripción de la imagen aquí
. El contenido del archivo de configuración es como sigue:

Inserte la descripción de la imagen aquíDespués de editar el archivo de configuración y guardarlo, debe reiniciar gogs para que surta efecto

service gogs restart

Inserte la descripción de la imagen aquí

Interpretación de cada parámetro del archivo de configuración

1. Información general:

  1. APP_NAME: nombre de la aplicación, puede cambiar el nombre de la organización o la empresa
  2. RUN_USER: el nombre del usuario que ejecuta la aplicación. Si este valor no se establece correctamente, es posible que la aplicación se bloquee.
  3. RUN_MODE: El valor predeterminado es prod. En vista del rendimiento y otras consideraciones, se recomienda no modificarlo a otros valores.

2. Servidor

  1. PROTOCOLO: protocolo, seleccione http o https
  2. DOMINIO: nombre de dominio del servidor
  3. ROOT_URL: ruta de URL completa pública
  4. HTTP_ADDR: dirección de escucha HTTP de la aplicación
  5. HTTP_PORT: número de puerto de escucha HTTP de la aplicación
  6. LOCAL_ROOT_URL: la URL local (DMZ) que se usa para que el proceso de trabajo de Gogs (como SSH) vuelva a la aplicación. Por lo general, mantenga el valor predeterminado, a menos que el nodo del servidor SSH y HTTP no sean la misma entrada de nodo.
  7. DISABLE_SSH: se puede desactivar cuando la función SSH no está disponible
  8. START_SSH_SERVER: habilite esta opción para iniciar el servidor SSH integrado
  9. SSH_DOMAIN: el nombre de dominio que permite que las redes públicas accedan a SSH
  10. SSH_PORT: número de puerto SSH, el valor predeterminado es 22, si el número de puerto SSH no es 22, cámbielo al número de puerto real
  11. SSH_LISTEN_HOST: la dirección supervisada por el servidor SSH integrado
  12. SSH_LISTEN_PORT: el puerto monitoreado por el servidor SSH incorporado
  13. SSH_ROOT_PATH: directorio raíz SSH, generalmente ~ / .ssh, pero debe completarse como /home/git/.ssh
  14. SSH_KEY_TEST_PATH: directorio temporal para probar las claves públicas SSH
  15. SSH_KEYGEN_PATH: la ruta del programa ssh-keygen, el valor predeterminado es ssh-keygen, lo que significa buscar a través de la ruta del sistema
  16. MINIMUM_KEY_SIZE_CHECK: especifique el tamaño mínimo de clave de diferentes tipos de claves públicas
  17. DISABLE_ROUTER_LOG: active esta opción para deshabilitar la impresión del registro de enrutamiento
  18. CERT_FILE: ruta del archivo de autorización HTTPS
  19. KEY_FILE: ruta del archivo de claves HTTPS
  20. STATIC_ROOT_PATH: el directorio principal de archivos de plantilla y archivos estáticos, el valor predeterminado es la ubicación del binario de la aplicación
  21. APP_DATA_PATH: el directorio de almacenamiento de datos internos de la aplicación
  22. LANDING_PAGE: establece la página de inicio predeterminada para los usuarios que no han iniciado sesión, que puede ser Inicio o Explorar (página de descubrimiento)

3. Almacén (repositorio)

  1. ROOT: el directorio raíz del almacenamiento del almacén de usuarios, que debe ser una ruta absoluta, el valor predeterminado es ~ // gogs-repositories
  2. SCRIPT_TYPE: tipo de script del sistema, generalmente bash
  3. ANSI_CHARSET: el juego de caracteres predeterminado que se usa cuando se encuentra un juego de caracteres no reconocido
  4. FORCE_PRIVATE: Es obligatorio que todos los almacenes de nueva creación sean privados
  5. MAX_CREATION_LIMIT: el límite predeterminado global para que cada usuario cree un almacén, -1 significa ilimitado
  6. PREFERRED_LICENSES: recomendar el tipo de autorización preferido del usuario
  7. DISABLE_HTTP_GIT: active esta opción para prohibir a los usuarios interactuar con el repositorio de Git a través de HTTP, es decir, los usuarios solo pueden operar a través de SSH
  8. ENABLE_LOCAL_PATH_MIGRATION: Active esta opción para habilitar la función de almacén de migración de ruta local. Después del inicio, solo el administrador puede usarlo de forma predeterminada, y los usuarios normales deben estar autorizados por el administrador

4. Base de datos

  1. DB_TYPE: tipo de base de datos, puede ser mysql, postgres, mssql o sqlite3
  2. HOST: dirección y puerto del host de la base de datos
  3. NOMBRE: nombre de la base de datos
  4. USUARIO: nombre de usuario de la base de datos
  5. PASSWD: contraseña de usuario de la base de datos

5. Seguridad

  1. INSTALL_LOCK: se utiliza para indicar si se permite el acceso a la página de instalación (esta página puede configurar la cuenta de administrador, por lo que esta opción es muy importante)
  2. SECRET_KEY: la clave de cifrado global. Asegúrese de modificar este valor para garantizar la seguridad de su servidor (se generará automáticamente una cadena aleatoria durante cada instalación)
  3. LOGIN_REMEMBER_DAYS: Registre el número de días que inició sesión
  4. COOKIE_USERNAME: el nombre de la cookie que registra el nombre de usuario
  5. COOKIE_REMEMBER_NAM: el nombre de la cookie que registra la información de inicio de sesión automático del usuario

6. Servicio

  1. ACTIVE_CODE_LIVE_MINUTES: el período de validez del código de activación, en minutos
  2. RESET_PASSWD_CODE_LIVE_MINUTES: el período de validez de la contraseña restablecida, en minutos
  3. REGISTER_EMAIL_CONFIRM: active esta opción para solicitar a los usuarios registrados que verifiquen su buzón de correo y solicitar que Mailer esté habilitado
  4. DISABLE_REGISTRATION: Active esta opción para prohibir la función de registro de usuario, solo el administrador puede crear una cuenta
  5. SHOW_REGISTRATION_BUTTON: se utiliza para indicar si se muestra el botón de registro
  6. REQUIRE_SIGNIN_VIEW: active esta opción para solicitar a los usuarios que inicien sesión para ver cualquier página
  7. ENABLE_CACHE_AVATAR: active esta opción para almacenar en caché el avatar de Gravatar
  8. ENABLE_NOTIFY_MAIL: Active esta opción para enviar correos electrónicos de notificación a los seguidores, por ejemplo, al crear un problema, el Mailer debe estar habilitado
  9. ENABLE_REVERSE_PROXY_AUTHENTICATION: active esta opción para habilitar la autenticación de usuario de proxy inverso, obtenga más información en https://github.com/gogits/gogs/issues/165
  10. ENABLE_REVERSE_PROXY_AUTO_REGISTRATION: Active esta opción para habilitar la función de registro automático de la autenticación de usuario de proxy inverso
  11. DISABLE_MINIMUM_KEY_SIZE_CHECK: active esta opción para prohibir la verificación de la longitud mínima de la clave del tipo de respuesta
  12. ENABLE_CAPTCHA: Active esta opción para solicitar un código de verificación cuando el usuario se registre

7. Web hook (webhook)

  1. TIPOS: el tipo de gancho web para comenzar, que puede ser lento, flojo o discordia
  2. DELIVER_TIMEOUT: el período de tiempo de espera para enviar notificaciones, en segundos
  3. SKIP_TLS_VERIFY: indica si se permite la notificación a direcciones con certificados que no son de confianza
  4. PAGING_NUM: el número de registros que se muestran en cada página de la página del historial de enlaces web

8. Caché

  1. ADAPTADOR Adaptador de motor de caché, que puede ser momery, redis o memcache. Si está usando redis o memcache, asegúrese de reconstruir todas las dependencias usando la opción -tags, por ejemplo: go build -tags = 'redis'
  2. INTERVAL es solo para uso de la memoria caché, el ciclo de GC, en segundos
  3. HOST solo está disponible para redis y memcache, configure la dirección del host y el número de puerto

9. Sesión

  1. PROVIDER Session: proveedor del motor, que puede ser memoria, archivo, redis o mysql
  2. PROVIDER_CONFIG: Si el proveedor es file, es el directorio raíz del archivo; si es otro proveedor, es la dirección del host y el número de puerto
  3. COOKIE_SECURE: active esta opción para requerir que todas las operaciones de sesión pasen HTTPS
  4. GC_INTERVAL_TIME GC: período, en segundos

10. Registro

  1. ROOT_PATH: el directorio raíz del archivo de registro
  2. MODO: modo de registro, el predeterminado es consola. Si desea habilitar varios modos, use comas para separar, por ejemplo: "consola, archivo"
  3. LEVEL nivel de registro básico, el valor predeterminado es Trace

Supongo que te gusta

Origin blog.csdn.net/xiguashixiaoyu/article/details/108766606
Recomendado
Clasificación