GitLab在Centos下的安装步骤
第一步:(安装工具包)
- sudo yum install curl openssh-server postfix cronie
- sudo service postfix start
- sudo chkconfig postfix on
- sudo lokkit -s http -s ssh
第二步:(安装ruby,如果已安装则可跳过这个步骤)
- sudo yum install ruby ruby-irb
第三步:(下载并安装gitlab-ce-xx.rpm安装包)
- curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
- sudo yum install gitlab-ce
如果下载过于缓慢或下载失败,则可选择使用以下方式
http://pan.baidu.com/s/1kTzsCfX
如果已成功下载,则使用下面的命令安装
- rpm -i gitlab-ce-XXX.rpm
第四步:(修复软连接)
首先修复modprobe
- rm -f /sbin/modprobe
- ln -s /bin/true /sbin/modprobe
其次修复sysctl
- rm -f /sbin/sysctl
- ln -s /bin/true /sbin/sysctl
如果在配置使用过程中,出现了以下错误,一定要使用上述操作步骤进行修复
- error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
- error: "net.bridge.bridge-nf-call-iptables" is an unknown key
- error: "net.bridge.bridge-nf-call-arptables" is an unknown key
- error: permission denied on key 'net.ipv4.tcp_max_syn_backlog'
- error: permission denied on key 'net.core.netdev_max_backlog'
- error: permission denied on key 'net.core.wmem_default'
- error: permission denied on key 'net.core.rmem_default'
- error: permission denied on key 'net.core.rmem_max'
- error: permission denied on key 'net.core.wmem_max'
- error: permission denied on key 'net.ipv4.tcp_timestamps'
- error: permission denied on key 'net.ipv4.tcp_synack_retries'
- error: permission denied on key 'net.ipv4.tcp_syn_retries'
- error: permission denied on key 'net.ipv4.tcp_tw_recycle'
- error: permission denied on key 'net.ipv4.tcp_tw_reuse'
- error: permission denied on key 'net.ipv4.tcp_mem'
- error: permission denied on key 'net.ipv4.tcp_max_orphans'
- error: permission denied on key 'net.ipv4.ip_local_port_range'
第五步:(修改日志文件夹的访问权限)
- sudo chmod -R /var/log/gitlab
第六步:(配置gitlab.rb文件,主要看未注释掉的代码部分)
- sudo nano /etc/gitlab/gitlab.rb
修改后的文件如下
- ## Latest options listed at https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template
- ## Url on which GitLab will be reachable.
- ## For more details on configuring external_url see:
- ## https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#configuring-the-external-url-for-gitlab
- external_url 'http://localhost'
- ## Note: configuration settings below are optional.
- ## Uncomment and change the value.
- ############################
- # gitlab.yml configuration #
- ############################
- # gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'
- # gitlab_rails['time_zone'] = 'UTC'
- # gitlab_rails['gitlab_email_enabled'] = true
- gitlab_rails['gitlab_email_from'] = 'xxxxxxxx@163.com'
- # gitlab_rails['gitlab_email_display_name'] = 'Example'
- # gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
- # gitlab_rails['gitlab_default_can_create_group'] = true
- # gitlab_rails['gitlab_username_changing_enabled'] = true
- # gitlab_rails['gitlab_default_theme'] =
- # gitlab_rails['gitlab_restricted_visibility_levels'] = nil # to restrict public and internal: ['public', 'internal']
- # gitlab_rails['gitlab_default_projects_features_issues'] = true
- # gitlab_rails['gitlab_default_projects_features_merge_requests'] = true
- # gitlab_rails['gitlab_default_projects_features_wiki'] = true
- # gitlab_rails['gitlab_default_projects_features_snippets'] = false
- # gitlab_rails['gitlab_default_projects_features_visibility_level'] = 'private'
- # gitlab_rails['gitlab_repository_downloads_path'] = 'tmp/repositories'
- # gitlab_rails['gravatar_plain_url'] = 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
- # gitlab_rails['gravatar_ssl_url'] = 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
- # gitlab_rails['webhook_timeout'] =
- ## Reply by email
- # You need access to IMAP-enabled email account. For details
- # see http://doc.gitlab.com/ce/incoming_email/README.html
- # gitlab_rails['incoming_email_enabled'] = true
- # gitlab_rails['incoming_email_address'] = "incoming+%{key}@gitlab.example.com"
- # gitlab_rails['incoming_email_host'] = "imap.gmail.com" # IMAP server host
- # gitlab_rails['incoming_email_port'] = # IMAP server port
- # gitlab_rails['incoming_email_ssl'] = true # Whether the IMAP server uses SSL
- # gitlab_rails['incoming_email_start_tls'] = false # Whether the IMAP server uses StartTLS
- # gitlab_rails['incoming_email_email'] = "incoming@gitlab.example.com" # Email account username. Usually the full email address.
- # gitlab_rails['incoming_email_password'] = "password" # Email account password
- # gitlab_rails['incoming_email_mailbox_name'] = "inbox" # The name of the mailbox where incoming mail will end up.
- # gitlab_rails['incoming_email_log_directory'] = "/var/log/gitlab/mailroom"
- ## For setting up LDAP
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#setting-up-ldap-sign-in
- ## Be careful not to break the identation in the ldap_servers block. It is in
- ## yaml format and the spaces must be retained. Using tabs will not work.
- # gitlab_rails['ldap_enabled'] = false
- # gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
- # main: # 'main' is the GitLab 'provider ID' of this LDAP server
- # label: 'LDAP'
- # host: '_your_ldap_server'
- # port:
- # uid: 'sAMAccountName'
- # method: 'plain' # "tls" or "ssl" or "plain"
- # bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
- # password: '_the_password_of_the_bind_user'
- # active_directory: true
- # allow_username_or_email_login: false
- # block_auto_created_users: false
- # base: ''
- # user_filter: ''
- # ## EE only
- # group_base: ''
- # admin_group: ''
- # sync_ssh_keys: false
- #
- # secondary: # 'secondary' is the GitLab 'provider ID' of second LDAP server
- # label: 'LDAP'
- # host: '_your_ldap_server'
- # port:
- # uid: 'sAMAccountName'
- # method: 'plain' # "tls" or "ssl" or "plain"
- # bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
- # password: '_the_password_of_the_bind_user'
- # active_directory: true
- # allow_username_or_email_login: false
- # block_auto_created_users: false
- # base: ''
- # user_filter: ''
- # ## EE only
- # group_base: ''
- # admin_group: ''
- # sync_ssh_keys: false
- # EOS
- ## Setting up Kerberos (EE only)
- ## See http://doc.gitlab.com/ee/integration/kerberos.html#http-git-access
- # gitlab_rails['kerberos_enabled'] = true
- # gitlab_rails['kerberos_keytab'] = /etc/http.keytab
- # gitlab_rails['kerberos_service_principal_name'] = HTTP/gitlab.example.com@EXAMPLE.COM
- # gitlab_rails['kerberos_use_dedicated_port'] = true
- # gitlab_rails['kerberos_port'] =
- # gitlab_rails['kerberos_https'] = true
- ## For setting up omniauth
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#omniauth-google-twitter-github-login
- # gitlab_rails['omniauth_enabled'] = true
- # gitlab_rails['omniauth_allow_single_sign_on'] = false
- # gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml'
- # gitlab_rails['omniauth_block_auto_created_users'] = true
- # gitlab_rails['omniauth_auto_link_ldap_user'] = false
- # gitlab_rails['omniauth_providers'] = [
- # {
- # "name" => "google_oauth2",
- # "app_id" => "YOUR APP ID",
- # "app_secret" => "YOUR APP SECRET",
- # "args" => { "access_type" => "offline", "approval_prompt" => "" }
- # }
- # ]
- #
- # If you setup bitbucket importer under omniauth providers you will need to add the keys
- # which will allow connection between bitbucket and gitlab.
- # For details see http://doc.gitlab.com/ce/integration/bitbucket.html
- # gitlab_rails['bitbucket'] = {
- # 'known_hosts_key' => 'bitbucket.org,207.223.240.182 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==',
- # 'private_key' => '-----BEGIN RSA PRIVATE KEY-----
- # MIIEowIBAAKCAQEAyXxYHwz2KjcwSjTREwlhYHqrf/8U0UM8ej3cqQ551gE4Wo3t
- # -----END RSA PRIVATE KEY-----',
- # 'public_key' => 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJfFgfDPYqN git@gitlab.example.com'
- # }
- ## For setting up backups
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#backups
- # gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
- # gitlab_rails['backup_archive_permissions'] = # See: http://doc.gitlab.com/ce/raketasks/backup_restore.html#backup-archive-permissions
- # gitlab_rails['backup_pg_schema'] = 'public'
- # gitlab_rails['backup_keep_time'] =
- # gitlab_rails['backup_upload_connection'] = {
- # 'provider' => 'AWS',
- # 'region' => 'eu-west-1',
- # 'aws_access_key_id' => 'AKIAKIAKI',
- # 'aws_secret_access_key' => 'secret123'
- # }
- # gitlab_rails['backup_upload_remote_directory'] = 'my.s3.bucket'
- # gitlab_rails['backup_multipart_chunk_size'] =
- ## For setting up different data storing directory
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#storing-git-data-in-an-alternative-directory
- ## If you want to use a single non-default directory to store git data use
- ## a path that doesn't contain symlinks.
- # git_data_dir "/var/opt/gitlab/git-data"
- # gitlab_rails['satellites_timeout'] =
- ## GitLab Shell settings for GitLab
- # gitlab_rails['gitlab_shell_ssh_port'] =
- # gitlab_rails['git_max_size'] =
- # gitlab_rails['git_timeout'] =
- ## Extra customization
- # gitlab_rails['extra_google_analytics_id'] = '_your_tracking_id'
- # gitlab_rails['extra_piwik_url'] = '_your_piwik_url'
- # gitlab_rails['extra_piwik_site_id'] = '_your_piwik_site_id'
- # gitlab_rails['extra_sign_in_text'] = '|
- # 
- # [Learn more about CompanyName](http://www.companydomain.com/)'
- # gitlab_rails['env'] = {
- # 'BUNDLE_GEMFILE' => "/opt/gitlab/embedded/service/gitlab-rails/Gemfile",
- # 'PATH' => "/opt/gitlab/bin:/opt/gitlab/embedded/bin:/bin:/usr/bin"
- # }
- # gitlab_rails['rack_attack_git_basic_auth'] = {
- # 'enabled' => true,
- # 'ip_whitelist' => ["127.0.0.1"],
- # 'maxretry' => ,
- # 'findtime' => ,
- # 'bantime' =>
- # }
- # We do not recommend changing these directories.
- # gitlab_rails['dir'] = "/var/opt/gitlab/gitlab-rails"
- # gitlab_rails['log_directory'] = "/var/log/gitlab/gitlab-rails"
- ###############################
- # GitLab application settings #
- ###############################
- # gitlab_rails['uploads_directory'] = "/var/opt/gitlab/gitlab-rails/uploads"
- # gitlab_rails['rate_limit_requests_per_period'] =
- # gitlab_rails['rate_limit_period'] =
- # Change the initial default admin password.
- # Only applicable on inital setup, changing this setting after database is created and seeded
- # won't yield any change.
- # gitlab_rails['initial_root_password'] = "password"
- ############################
- # GitLab database settings #
- ############################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/database.md#database-settings
- ## Only needed if you use an external database.
- # gitlab_rails['db_adapter'] = "postgresql"
- # gitlab_rails['db_encoding'] = "unicode"
- # gitlab_rails['db_database'] = "gitlabhq_production"
- # gitlab_rails['db_pool'] =
- # gitlab_rails['db_username'] = "gitlab"
- # gitlab_rails['db_password'] = nil
- # gitlab_rails['db_host'] = nil
- # gitlab_rails['db_port'] =
- # gitlab_rails['db_socket'] = nil
- # gitlab_rails['db_sslmode'] = nil
- # gitlab_rails['db_sslrootcert'] = nil
- #########################
- # GitLab redis settings #
- #########################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/redis.md#redis-settings
- ## Connect to your own redis instance.
- # gitlab_rails['redis_host'] = "127.0.0.1"
- # gitlab_rails['redis_port'] = nil
- # gitlab_rails['redis_password'] = nil
- # gitlab_rails['redis_database'] =
- # gitlab_rails['redis_socket'] = "/var/opt/gitlab/redis/redis.socket"
- ################################
- # GitLab email server settings #
- ################################
- # see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/smtp.md#smtp-settings
- # Use smtp instead of sendmail/postfix.
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] =
- gitlab_rails['smtp_user_name'] = "xxxxxxxx@163.com"
- gitlab_rails['smtp_password'] = "mjaiuhvi"
- gitlab_rails['smtp_domain'] = "163.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = true
- gitlab_rails['smtp_tls'] = false
- gitlab_rails['smtp_openssl_verify_mode'] = 'none' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html
- # gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"
- # gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"
- ##########################
- # GitLab git http server #
- ##########################
- # see https://gitlab.com/gitlab-org/gitlab-git-http-server/blob/master/README.md
- # gitlab_git_http_server['enable'] = true
- # gitlab_git_http_server['ha'] = false
- # gitlab_git_http_server['repo_root'] = "/var/opt/gitlab/git-data/repositories"
- # gitlab_git_http_server['listen_network'] = "unix"
- # gitlab_git_http_server['listen_umask'] =
- # gitlab_git_http_server['listen_addr'] = "/var/opt/gitlab/gitlab-git-http-server/socket"
- # gitlab_git_http_server['auth_backend'] = "http://localhost:8080"
- # gitlab_git_http_server['pprof_listen_addr'] = "''" # put an empty string on the command line
- # gitlab_git_http_server['dir'] = "/var/opt/gitlab/gitlab-git-http-server"
- # gitlab_git_http_server['log_dir'] = "/var/log/gitlab/gitlab-git-http-server"
- ###############
- # GitLab user #
- ###############
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#changing-the-name-of-the-git-user-group
- ## Modify default git user.
- user['username'] = "gitlab"
- user['group'] = "gitlab"
- # user['uid'] = nil
- # user['gid'] = nil
- # # The shell for the git user
- #user['shell'] = "/bin/sh"
- # # The home directory for the git user
- #user['home'] = "/var/opt/gitlab"
- #user['git_user_name'] = "GitLab"
- user['git_user_email'] = "xxxxxxxx@163.com"
- ##################
- # GitLab Unicorn #
- ##################
- ## Tweak unicorn settings.
- # unicorn['worker_timeout'] =
- # unicorn['worker_processes'] =
- ## Advanced settings
- # unicorn['listen'] = '127.0.0.1'
- # unicorn['port'] =
- # unicorn['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'
- # unicorn['pidfile'] = '/opt/gitlab/var/unicorn/unicorn.pid'
- # unicorn['tcp_nopush'] = true
- # unicorn['backlog_socket'] =
- # Make sure somaxconn is equal or higher then backlog_socket
- # unicorn['somaxconn'] =
- # We do not recommend changing this setting
- # unicorn['log_directory'] = "/var/log/gitlab/unicorn"
- ## Only change these settings if you understand well what they mean
- ## see https://about.gitlab.com/2015/06/05/how-gitlab-uses-unicorn-and-unicorn-worker-killer/
- ## and https://github.com/kzk/unicorn-worker-killer
- # unicorn['worker_memory_limit_min'] = "200*(1024**2)"
- # unicorn['worker_memory_limit_max'] = "250*(1024**2)"
- ##################
- # GitLab Sidekiq #
- ##################
- # sidekiq['log_directory'] = "/var/log/gitlab/sidekiq"
- # sidekiq['shutdown_timeout'] =
- ################
- # gitlab-shell #
- ################
- # gitlab_shell['audit_usernames'] = false
- # gitlab_shell['log_level'] = 'INFO'
- # gitlab_shell['http_settings'] = { user: 'username', password: 'password', ca_file: '/etc/ssl/cert.pem', ca_path: '/etc/pki/tls/certs', self_signed_cert: false}
- # gitlab_shell['log_directory'] = "/var/log/gitlab/gitlab-shell/"
- ## If enabled, git-annex needs to be installed on the server where gitlab is setup
- # For Debian and Ubuntu systems this can be done with: sudo apt-get install git-annex
- # For CentOS: sudo yum install epel-release && sudo yum install git-annex
- # gitlab_shell['git_annex_enabled'] = false
- #####################
- # GitLab PostgreSQL #
- #####################
- postgresql['enable'] = true
- # postgresql['listen_address'] = nil
- postgresql['port'] =
- postgresql['data_dir'] = "/var/opt/gitlab/postgresql/data"
- postgresql['shared_buffers'] = "10MB" # recommend value is / of total RAM, up to 14GB.
- ## Advanced settings
- # postgresql['ha'] = false
- # postgresql['dir'] = "/var/opt/gitlab/postgresql"
- postgresql['dir'] = "/tmp"
- # postgresql['log_directory'] = "/var/log/gitlab/postgresql"
- # postgresql['username'] = "gitlab-psql"
- # postgresql['uid'] = nil
- # postgresql['gid'] = nil
- # postgresql['shell'] = "/bin/sh"
- postgresql['home'] = "/var/opt/gitlab/postgresql"
- # postgresql['user_path'] = "/opt/gitlab/embedded/bin:/opt/gitlab/bin:$PATH"
- postgresql['sql_user'] = "gitlab"
- postgresql['sql_ci_user'] = "gitlab_ci"
- postgresql['max_connections'] =
- # postgresql['md5_auth_cidr_addresses'] = []
- # postgresql['trust_auth_cidr_addresses'] = []
- # postgresql['shmmax'] = # or
- # postgresql['shmall'] = # or
- # postgresql['work_mem'] = "8MB"
- # postgresql['effective_cache_size'] = "1MB"
- # postgresql['checkpoint_segments'] =
- postgresql['checkpoint_timeout'] = "5min"
- # postgresql['checkpoint_completion_target'] = 0.9
- postgresql['checkpoint_warning'] = "60s"
- ################
- # GitLab Redis #
- ################
- ## Can be disabled if you are using your own redis instance.
- # redis['enable'] = true
- # redis['username'] = "gitlab-redis"
- # redis['uid'] = nil
- # redis['gid'] = nil
- #####################
- # GitLab Web server #
- #####################
- ## see: https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/nginx.md#using-a-non-bundled-web-server
- ## When bundled nginx is disabled we need to add the external webserver user to the GitLab webserver group.
- # web_server['external_users'] = []
- # web_server['username'] = 'gitlab-www'
- # web_server['group'] = 'gitlab-www'
- # web_server['uid'] = nil
- # web_server['gid'] = nil
- # web_server['shell'] = '/bin/false'
- # web_server['home'] = '/var/opt/gitlab/nginx'
- ################
- # GitLab Nginx #
- ################
- ## see: https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/nginx.md
- # nginx['enable'] = true
- # nginx['client_max_body_size'] = '250m'
- # nginx['redirect_http_to_https'] = false
- # nginx['redirect_http_to_https_port'] =
- # nginx['ssl_client_certificate'] = "/etc/gitlab/ssl/ca.crt" # Most root CA's are included by default
- # nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
- # nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
- # nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
- # nginx['ssl_prefer_server_ciphers'] = "on"
- # nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2" # recommended by https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
- # nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m" # recommended in http://nginx.org/en/docs/http/ngx_http_ssl_module.html
- # nginx['ssl_session_timeout'] = "5m" # default according to http://nginx.org/en/docs/http/ngx_http_ssl_module.html
- # nginx['ssl_dhparam'] = nil # Path to dhparams.pem, eg. /etc/gitlab/ssl/dhparams.pem
- # nginx['listen_addresses'] = ['*']
- # nginx['listen_port'] = nil # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
- # nginx['listen_https'] = nil # override only if your reverse proxy internally communicates over HTTP: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#supporting-proxied-ssl
- # nginx['custom_gitlab_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"
- # nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/example.conf;"
- # nginx['proxy_read_timeout'] =
- # nginx['proxy_connect_timeout'] =
- ## Advanced settings
- # nginx['dir'] = "/var/opt/gitlab/nginx"
- # nginx['log_directory'] = "/var/log/gitlab/nginx"
- # nginx['worker_processes'] =
- # nginx['worker_connections'] =
- # nginx['log_format'] = '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'
- # nginx['sendfile'] = 'on'
- # nginx['tcp_nopush'] = 'on'
- # nginx['tcp_nodelay'] = 'on'
- # nginx['gzip'] = "on"
- # nginx['gzip_http_version'] = "1.0"
- # nginx['gzip_comp_level'] = ""
- # nginx['gzip_proxied'] = "any"
- # nginx['gzip_types'] = [ "text/plain", "text/css", "application/x-javascript", "text/xml", "application/xml", "application/xml+rss", "text/javascript", "application/json" ]
- # nginx['keepalive_timeout'] =
- # nginx['cache_max_size'] = '5000m'
- ##################
- # GitLab Logging #
- ##################
- ## see: https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#logs
- # logging['svlogd_size'] = * * # rotate after MB of log data
- # logging['svlogd_num'] = # keep rotated log files
- # logging['svlogd_timeout'] = * * # rotate after hours
- # logging['svlogd_filter'] = "gzip" # compress logs with gzip
- # logging['svlogd_udp'] = nil # transmit log messages via UDP
- # logging['svlogd_prefix'] = nil # custom prefix for log messages
- # logging['logrotate_frequency'] = "daily" # rotate logs daily
- # logging['logrotate_size'] = nil # do not rotate by size by default
- # logging['logrotate_rotate'] = # keep rotated logs
- # logging['logrotate_compress'] = "compress" # see 'man logrotate'
- # logging['logrotate_method'] = "copytruncate" # see 'man logrotate'
- # logging['logrotate_postrotate'] = nil # no postrotate command by default
- # Enterprise Edition only
- # logging['udp_log_shipping_host'] = nil # remote host to ship log messages to via UDP
- # logging['udp_log_shipping_port'] = # remote host to ship log messages to via UDP
- #############
- # Logrotate #
- #############
- ## see: https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#logrotate
- ## You can disable built in logrotate feature.
- # logrotate['enable'] = true
- #############################
- # Users and groups accounts #
- #############################
- ## Should omnibus-gitlab package manage users and groups accounts.
- ## Only set if creating accounts manually
- ##
- #user['username'] = "gitlab"
- #user['group'] = "gitlab"
- # manage_accounts['enable'] = true
- #######
- # Git #
- #######
- ## Advanced setting for configuring git system settings for omnibus-gitlab internal git
- ## For multiple options under one header use array of comma separated values, eg.
- ## { "receive" => ["fsckObjects = true"], "alias" => ["st = status", "co = checkout"] }
- # omnibus_gitconfig['system'] = { "receive" => ["fsckObjects = true"] }
- ############################################
- # Url on which GitLab CI will be reachable #
- ############################################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/gitlab-ci/README.md
- # ci_external_url 'http://ci.example.com'
- #################################
- # application.yml configuration #
- #################################
- # gitlab_ci['gitlab_server'] = { "url" => 'http://gitlab.example.com', "app_id" => '', "app_secret" => 'QWERTY12345' }
- # gitlab_ci['gitlab_ci_email_from'] = 'gitlab-ci@example.com'
- # gitlab_ci['gitlab_ci_support_email'] = 'gitlab-ci@example.com'
- # gitlab_ci['gitlab_ci_all_broken_builds'] = true
- # gitlab_ci['gitlab_ci_add_pusher'] = true
- # gitlab_ci['builds_directory'] = '/var/opt/gitlab/gitlab-ci/builds'
- # gitlab_ci['gravatar_enabled'] = true
- # gitlab_ci['gravatar_plain_url'] = "http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm"
- # gitlab_ci['gravatar_ssl_url'] = "https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm"
- ## For setting up backups
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#backups
- # gitlab_ci['backup_path'] = "/var/opt/gitlab/ci-backups"
- # gitlab_ci['backup_keep_time'] =
- # gitlab_ci['backup_upload_connection'] = {
- # 'provider' => 'AWS',
- # 'region' => 'eu-west-1',
- # 'aws_access_key_id' => 'AKIAKIAKI',
- # 'aws_secret_access_key' => 'secret123'
- # }
- # gitlab_ci['backup_upload_remote_directory'] = 'my.s3.bucket'
- # gitlab_ci['backup_multipart_chunk_size'] =
- ###############################
- # GitLab CI database settings #
- ###############################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/database.md#database-settings
- ## Only needed if you use an external database.
- # gitlab_ci['db_adapter'] = "postgresql"
- # gitlab_ci['db_encoding'] = "unicode"
- # gitlab_ci['db_database'] = "gitlab_ci_production"
- # gitlab_ci['db_pool'] =
- # gitlab_ci['db_username'] = "gitlab_ci"
- # gitlab_ci['db_password'] = nil
- # gitlab_ci['db_host'] = nil
- # gitlab_ci['db_port'] =
- # gitlab_ci['db_socket'] = nil
- # gitlab_ci['db_sslmode'] = nil
- # gitlab_ci['db_sslrootcert'] = nil
- ############################
- # GitLab CI redis settings #
- ############################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/redis.md#redis-settings
- ## Connect to your own redis instance.
- # gitlab_ci['redis_host'] = "127.0.0.1"
- # gitlab_ci['redis_port'] = nil
- # gitlab_ci['redis_socket'] = "/var/opt/gitlab/ci-redis/redis.socket"
- ###################################
- # GitLab CI email server settings #
- ###################################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/smtp.md#smtp-settings
- # gitlab_ci['smtp_enable'] = true
- # gitlab_ci['smtp_address'] = "smtp.server"
- # gitlab_ci['smtp_port'] =
- # gitlab_ci['smtp_user_name'] = "smtp user"
- # gitlab_ci['smtp_password'] = "smtp password"
- # gitlab_ci['smtp_domain'] = "example.com"
- # gitlab_ci['smtp_authentication'] = "login"
- # gitlab_ci['smtp_enable_starttls_auto'] = true
- # gitlab_ci['smtp_tls'] = false
- # gitlab_ci['smtp_openssl_verify_mode'] = false
- #############
- # GitLab CI #
- #############
- # gitlab_ci['schedule_builds_minute'] = ""
- # gitlab_ci['env'] = {
- # 'BUNDLE_GEMFILE' => "/opt/gitlab/embedded/service/gitlab-ci/Gemfile",
- # 'PATH' => "/opt/gitlab/bin:/opt/gitlab/embedded/bin:/bin:/usr/bin"
- # }
- # gitlab_ci['username'] = "gitlab-ci"
- # gitlab_ci['uid'] = nil
- # gitlab_ci['gid'] = nil
- #####################
- # GitLab CI Unicorn #
- #####################
- ## Tweak unicorn settings.
- # ci_unicorn['worker_processes'] =
- # ci_unicorn['worker_timeout'] =
- ## Advanced settings
- # ci_unicorn['listen'] = '127.0.0.1'
- # ci_unicorn['port'] =
- # ci_unicorn['socket'] = '/var/opt/gitlab/gitlab-ci/sockets/gitlab.socket'
- # ci_unicorn['pidfile'] = '/opt/gitlab/var/ci-unicorn/unicorn.pid'
- # ci_unicorn['tcp_nopush'] = true
- # ci_unicorn['backlog_socket'] =
- ###################
- # GitLab CI Redis #
- ###################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/redis.md
- ## You can turn off bundled redis if you want to use your own redis instanance
- # ci_redis['enable'] = true
- ###################
- # GitLab CI NGINX #
- ###################
- ## see https://gitlab.com/gitlab-org/omnibus-gitlab/tree/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/nginx.md
- ## You can tell the bundled NGINX that it should not serve up GitLab CI by setting ci_nginx['enable'] to false.
- # ci_nginx['enable'] = false
- # ci_nginx['client_max_body_size'] = '250m'
- # ci_nginx['redirect_http_to_https'] = false
- # ci_nginx['redirect_http_to_https_port'] =
- # ci_nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
- # ci_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
- # ci_nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
- # ci_nginx['ssl_prefer_server_ciphers'] = "on"
- # ci_nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2" # recommended by https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
- # ci_nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m" # recommended in http://nginx.org/en/docs/http/ngx_http_ssl_module.html
- # ci_nginx['ssl_session_timeout'] = "5m" # default according to http://nginx.org/en/docs/http/ngx_http_ssl_module.html
- # ci_nginx['ssl_dhparam'] = nil # Path to ci_dhparams.pem, eg. /etc/gitlab/ssl/ci_dhparams.pem
- # ci_nginx['listen_addresses'] = ['*']
- # ci_nginx['listen_port'] = nil # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
- # ci_nginx['listen_https'] = nil # override only if your reverse proxy internally communicates over HTTP: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#supporting-proxied-ssl
- # ci_nginx['custom_gitlab_ci_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"
- # ci_nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/example.conf;"
- # ci_nginx['resolver'] = "8.8.8.8 8.8.4.4"
- ## Advanced settings
- # ci_nginx['dir'] = "/var/opt/gitlab/nginx"
- # ci_nginx['log_directory'] = "/var/log/gitlab/nginx"
- # ci_nginx['worker_processes'] =
- # ci_nginx['worker_connections'] =
- # ci_nginx['sendfile'] = 'on'
- # ci_nginx['tcp_nopush'] = 'on'
- # ci_nginx['tcp_nodelay'] = 'on'
- # ci_nginx['gzip'] = "on"
- # ci_nginx['gzip_http_version'] = "1.0"
- # ci_nginx['gzip_comp_level'] = ""
- # ci_nginx['gzip_proxied'] = "any"
- # ci_nginx['gzip_types'] = [ "text/plain", "text/css", "application/x-javascript", "text/xml", "application/xml", "application/xml+rss", "text/javascript", "application/json" ]
- # ci_nginx['keepalive_timeout'] =
- # ci_nginx['cache_max_size'] = '5000m'
- #####################
- # GitLab Mattermost #
- #####################
- # mattermost_external_url 'http://mattermost.example.com'
- #
- # mattermost['enable'] = false
- # mattermost['username'] = 'mattermost'
- # mattermost['group'] = 'mattermost'
- # mattermost['home'] = '/var/opt/gitlab/mattermost'
- # mattermost['database_name'] = 'mattermost_production'
- # mattermost['log_file_directory'] = '/var/log/gitlab/mattermost'
- # mattermost['log_console_enable'] = true
- # mattermost['log_console_level'] = 'INFO'
- # mattermost['log_file_enable'] = false
- # mattermost['log_file_level'] = 'INFO'
- # mattermost['log_file_format'] = nil
- # mattermost['service_site_name'] = "GitLab Mattermost"
- # mattermost['service_mode'] = 'beta'
- # mattermost['service_allow_testing'] = false
- # mattermost['service_use_ssl'] = false
- # mattermost['service_port'] = ""
- # mattermost['service_version'] = "developer"
- # mattermost['service_analytics_url'] = nil
- # mattermost['service_use_local_storage'] = true
- # mattermost['service_storage_directory'] = "/var/opt/gitlab/mattermost/data"
- # mattermost['service_allowed_login_attempts'] =
- # mattermost['service_disable_email_signup'] = true
- # mattermost['sql_driver_name'] = 'mysql'
- # mattermost['sql_data_source'] = "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8"
- # mattermost['sql_data_source_replicas'] = ["mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8"]
- # mattermost['sql_max_idle_conns'] =
- # mattermost['sql_max_open_conns'] =
- # mattermost['sql_trace'] = false
- # mattermost['oauth'] = {'gitlab' => {'Allow' => true, 'Secret' => "", 'Id' => "", "AuthEndpoint" => "aa", "TokenEndpoint" => "bb", "UserApiEndpoint" => "cc", "Scope" => "" }}
- # mattermost['aws'] = {'S3AccessKeyId' => '', 'S3SecretAccessKey' => '', 'S3Bucket' => 'aa', 'S3Region' => 'bb'}
- # mattermost['image_thumbnail_width'] =
- # mattermost['image_thumbnail_height'] =
- # mattermost['image_preview_width'] =
- # mattermost['image_preview_height'] =
- # mattermost['image_profile_width'] =
- # mattermost['image_profile_height'] =
- # mattermost['image_initial_font'] = 'luximbi.ttf'
- # mattermost['email_by_pass_email'] = true
- # mattermost['email_smtp_username'] = nil
- # mattermost['email_smtp_password'] = nil
- # mattermost['email_smtp_server'] = nil
- # mattermost['email_use_tls'] = false
- # mattermost['email_use_start_tls'] = false
- # mattermost['email_feedback_email'] = nil
- # mattermost['email_feedback_name'] = nil
- # mattermost['email_apple_push_server'] = nil
- # mattermost['email_apple_push_cert_public'] = nil
- # mattermost['email_apple_push_cert_private'] = nil
- # mattermost['ratelimit_use_rate_limiter'] = true
- # mattermost['ratelimit_per_sec'] =
- # mattermost['ratelimit_memory_store_size'] =
- # mattermost['ratelimit_vary_by_remote_addr'] = true
- # mattermost['ratelimit_vary_by_header'] = nil
- # mattermost['privacy_show_email_address'] = true
- # mattermost['privacy_show_phone_number'] = true
- # mattermost['privacy_show_skype_id'] = true
- # mattermost['privacy_show_full_name'] = true
- # mattermost['team_max_users_per_team'] =
- # mattermost['team_allow_public_link'] = true
- # mattermost['team_allow_valet_default'] = false
- # mattermost['team_terms_link'] = '/static/help/configure_links.html'
- # mattermost['team_privacy_link'] = '/static/help/configure_links.html'
- # mattermost['team_about_link'] = '/static/help/configure_links.html'
- # mattermost['team_help_link'] = '/static/help/configure_links.html'
- # mattermost['team_report_problem_link'] = '/static/help/configure_links.html'
- # mattermost['team_tour_link'] = '/static/help/configure_links.html'
- # mattermost['team_default_color'] = '#2389D7'
- # mattermost['team_disable_team_creation'] = true
- # mattermost['team_restrict_creation_to_domains'] = "gmail.com"
- ####################
- # Mattermost NGINX #
- ####################
- # mattermost_nginx['enable'] = false
- # mattermost_nginx['client_max_body_size'] = '250m'
- # mattermost_nginx['redirect_http_to_https'] = false
- # mattermost_nginx['redirect_http_to_https_port'] =
- # mattermost_nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
- # mattermost_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
- # mattermost_nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
- # mattermost_nginx['ssl_prefer_server_ciphers'] = "on"
- # mattermost_nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2" # recommended by https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
- # mattermost_nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m" # recommended in http://nginx.org/en/docs/http/ngx_http_ssl_module.html
- # mattermost_nginx['ssl_session_timeout'] = "5m" # default according to http://nginx.org/en/docs/http/ngx_http_ssl_module.html
- # mattermost_nginx['ssl_dhparam'] = nil # Path to ci_dhparams.pem, eg. /etc/gitlab/ssl/ci_dhparams.pem
- # mattermost_nginx['listen_addresses'] = ['*']
- # mattermost_nginx['listen_port'] = nil # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
- # mattermost_nginx['listen_https'] = nil # override only if your reverse proxy internally communicates over HTTP: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#supporting-proxied-ssl
- # mattermost_nginx['custom_gitlab_mattermost_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"
- # mattermost_nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/example.conf;"
- ## Advanced settings
- # mattermost_nginx['dir'] = "/var/opt/gitlab/nginx"
- # mattermost_nginx['log_directory'] = "/var/log/gitlab/nginx"
- # mattermost_nginx['worker_processes'] =
- # mattermost_nginx['worker_connections'] =
- # mattermost_nginx['sendfile'] = 'on'
- # mattermost_nginx['tcp_nopush'] = 'on'
- # mattermost_nginx['tcp_nodelay'] = 'on'
- # mattermost_nginx['gzip'] = "on"
- # mattermost_nginx['gzip_http_version'] = "1.0"
- # mattermost_nginx['gzip_comp_level'] = ""
- # mattermost_nginx['gzip_proxied'] = "any"
- # mattermost_nginx['gzip_types'] = [ "text/plain", "text/css", "application/x-javascript", "text/xml", "application/xml", "application/xml+rss", "text/javascript", "application/json" ]
- # mattermost_nginx['keepalive_timeout'] =
- # mattermost_nginx['cache_max_size'] = '5000m'
注:在这里唯一需要修改的就是把文件里xxxxxxxx@163.com这个邮件地址改为自己真实可用的邮箱地址即可,好像一共有三处;其次别忘了在这里修改自己的邮箱密码,如果是163邮箱,录入的密码不是真实的邮箱密码,而是代理密码,即一个加密后的密码串,具体情况自己可登录163邮箱查看。
- gitlab_rails['smtp_user_name'] = "xxxxxxxx@163.com"
- gitlab_rails['smtp_password'] = "mjaiuhvi"
第七步:(修改PostgreSQL的配置文件)
在这里需要依次修改两个文件(如果你需要远程访问PostgreSQL数据库,需要再额外的修改postgresql.conf文件),分别为pg_hba.conf与postgresql.conf文件
- sudo nano /var/opt/gitlab/postgresql/data/pg_hba.conf
- sudo nano /var/opt/gitlab/postgresql/data/postgresql.conf
1)配置待访问的主机IP(客户端)
- # This file is managed by gitlab-ctl. Manual changes will be
- # erased! To change the contents below, edit /etc/gitlab/gitlab.rb
- # and run `sudo gitlab-ctl reconfigure`.
- # PostgreSQL Client Authentication Configuration File
- # ===================================================
- #
- # Refer to the "Client Authentication" section in the
- # PostgreSQL documentation for a complete description
- # of this file. A short synopsis follows.
- #
- # This file controls: which hosts are allowed to connect, how clients
- # are authenticated, which PostgreSQL user names they can use, which
- # databases they can access. Records take one of these forms:
- #
- # local DATABASE USER METHOD [OPTION]
- # host DATABASE USER CIDR-ADDRESS METHOD [OPTION]
- # hostssl DATABASE USER CIDR-ADDRESS METHOD [OPTION]
- # hostnossl DATABASE USER CIDR-ADDRESS METHOD [OPTION]
- #
- # (The uppercase items must be replaced by actual values.)
- #
- # The first field is the connection type: "local" is a Unix-domain socket,
- # "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an
- # SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket.
- #
- # DATABASE can be "all", "sameuser", "samerole", a database name, or
- # a comma-separated list thereof.
- #
- # USER can be "all", a user name, a group name prefixed with "+", or
- # a comma-separated list thereof. In both the DATABASE and USER fields
- # you can also write a file name prefixed with "@" to include names from
- # a separate file.
- #
- # CIDR-ADDRESS specifies the set of hosts the record matches.
- # It is made up of an IP address and a CIDR mask that is an integer
- # (between and (IPv4) or (IPv6) inclusive) that specifies
- # the number of significant bits in the mask. Alternatively, you can write
- # an IP address and netmask in separate columns to specify the set of hosts.
- #
- # METHOD can be "trust", "reject", "md5", "crypt", "password", "gss", "sspi",
- # "krb5", "ident", "pam" or "ldap". Note that "password" sends passwords
- # in clear text; "md5" is preferred since it sends encrypted passwords.
- #
- # OPTION is the ident map or the name of the PAM service, depending on METHOD.
- #
- # Database and user names containing spaces, commas, quotes and other special
- # characters must be quoted. Quoting one of the keywords "all", "sameuser" or
- # "samerole" makes the name lose its special character, and just match a
- # database or username with that name.
- #
- # This file is read on server startup and when the postmaster receives
- # a SIGHUP signal. If you edit the file on a running system, you have
- # to SIGHUP the postmaster for the changes to take effect. You can use
- # "pg_ctl reload" to do that.
- # Put your actual configuration here
- # ----------------------------------
- #
- # If you want to allow non-local connections, you need to add more
- # "host" records. In that case you will also need to make PostgreSQL listen
- # on a non-local interface via the listen_addresses configuration parameter,
- # or via the -i or -h command line switches.
- #
- # TYPE DATABASE USER CIDR-ADDRESS METHOD
- # "local" is for Unix domain socket connections only
- local all all trust
- host all all 192.168.30.0/ trust
- host all all 192.168.10.0/ trust
- #map=gitlab
如果希望某个IP段的主机也可以访问数据库,只需再增加这个段就可以了,例如192.168.10.0~192.168.10.255,就可以写成以下的方式
- host all all 192.168.10.0/ trust
2)启用监听所有客户端
- # This file is managed by gitlab-ctl. Manual changes will be
- # erased! To change the contents below, edit /etc/gitlab/gitlab.rb
- # and run `sudo gitlab-ctl reconfigure`.
- # -----------------------------
- # PostgreSQL configuration file
- # -----------------------------
- #
- # This file consists of lines of the form:
- #
- # name = value
- #
- # (The "=" is optional.) Whitespace may be used. Comments are introduced with
- # "#" anywhere on a line. The complete list of parameter names and allowed
- # values can be found in the PostgreSQL documentation.
- #
- # The commented-out settings shown in this file represent the default values.
- # Re-commenting a setting is NOT sufficient to revert it to the default value;
- # you need to reload the server.
- #
- # This file is read on server startup and when the server receives a SIGHUP
- # signal. If you edit the file on a running system, you have to SIGHUP the
- # server for the changes to take effect, or use "pg_ctl reload". Some
- # parameters, which are marked below, require a server shutdown and restart to
- # take effect.
- #
- # Any parameter can also be given as a command-line option to the server, e.g.,
- # "postgres -c log_connections=on". Some parameters can be changed at run time
- # with the "SET" SQL command.
- #
- # Memory units: kB = kilobytes Time units: ms = milliseconds
- # MB = megabytes s = seconds
- # GB = gigabytes min = minutes
- # h = hours
- # d = days
- #------------------------------------------------------------------------------
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
- # The default values of these variables are driven from the -D command-line
- # option or PGDATA environment variable, represented here as ConfigDir.
- #data_directory = 'ConfigDir' # use data in another directory
- # (change requires restart)
- #hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
- # (change requires restart)
- #ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file
- # (change requires restart)
- # If external_pid_file is not explicitly set, no extra PID file is written.
- #external_pid_file = '(none)' # write an extra PID file
- # (change requires restart)
- #------------------------------------------------------------------------------
- # CONNECTIONS AND AUTHENTICATION
- #------------------------------------------------------------------------------
- # - Connection Settings -
- listen_addresses = '*' # what IP address(es) to listen on;
- # comma-separated list of addresses;
- # defaults to 'localhost', '*' = all
- # (change requires restart)
- port = # (change requires restart)
- max_connections = # (change requires restart)
- # Note: Increasing max_connections costs ~ bytes of shared memory per
- # connection slot, plus lock space (see max_locks_per_transaction).
- #superuser_reserved_connections = # (change requires restart)
- unix_socket_directory = '/var/opt/gitlab/postgresql' # (change requires restart)
- #unix_socket_group = '' # (change requires restart)
- #unix_socket_permissions = # begin with to use octal notation
- # (change requires restart)
- #bonjour = off # advertise server via Bonjour
- # (change requires restart)
- #bonjour_name = '' # defaults to the computer name
- # (change requires restart)
- # - Security and Authentication -
- #authentication_timeout = 1min # 1s-600s
- #ssl = off # (change requires restart)
- #ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
- # (change requires restart)
- #ssl_renegotiation_limit = 512MB # amount of data between renegotiations
- #password_encryption = on
- #db_user_namespace = off
- # Kerberos and GSSAPI
- #krb_server_keyfile = ''
- #krb_srvname = 'postgres' # (Kerberos only)
- #krb_caseins_users = off
- # - TCP Keepalives -
- # see "man 7 tcp" for details
- #tcp_keepalives_idle = # TCP_KEEPIDLE, in seconds;
- # selects the system default
- #tcp_keepalives_interval = # TCP_KEEPINTVL, in seconds;
- # selects the system default
- #tcp_keepalives_count = # TCP_KEEPCNT;
- # selects the system default
- #------------------------------------------------------------------------------
- # RESOURCE USAGE (except WAL)
- #------------------------------------------------------------------------------
- # - Memory -
- shared_buffers = 10MB # min 128kB
- # (change requires restart)
- #temp_buffers = 8MB # min 800kB
- #max_prepared_transactions = # zero disables the feature
- # (change requires restart)
- # Note: Increasing max_prepared_transactions costs ~ bytes of shared memory
- # per transaction slot, plus lock space (see max_locks_per_transaction).
- # It is not advisable to set max_prepared_transactions nonzero unless you
- # actively intend to use prepared transactions.
- work_mem = 8MB # min 64kB
- #maintenance_work_mem = 16MB # min 1MB
- #max_stack_depth = 2MB # min 100kB
- # - Kernel Resource Usage -
- #max_files_per_process = # min
- # (change requires restart)
- #shared_preload_libraries = '' # (change requires restart)
- # - Cost-Based Vacuum Delay -
- #vacuum_cost_delay = 0ms # - milliseconds
- #vacuum_cost_page_hit = # - credits
- #vacuum_cost_page_miss = # - credits
- #vacuum_cost_page_dirty = # - credits
- #vacuum_cost_limit = # - credits
- # - Background Writer -
- #bgwriter_delay = 200ms # -10000ms between rounds
- #bgwriter_lru_maxpages = # - max buffers written/round
- #bgwriter_lru_multiplier = 2.0 # -10.0 multipler on buffers scanned/round
- # - Asynchronous Behavior -
- #effective_io_concurrency = # -. disables prefetching
- #------------------------------------------------------------------------------
- # WRITE AHEAD LOG
- #------------------------------------------------------------------------------
- # - Settings -
- #wal_level = minimal # minimal, archive, or hot_standby
- # (change requires restart)
- #fsync = on # turns forced synchronization on or off
- #synchronous_commit = on # synchronization level; on, off, or local
- #wal_sync_method = fsync # the default is the first option
- # supported by the operating system:
- # open_datasync
- # fdatasync (default on Linux)
- # fsync
- # fsync_writethrough
- # open_sync
- #full_page_writes = on # recover from partial page writes
- #wal_buffers = - # min 32kB, - sets based on shared_buffers
- # (change requires restart)
- #wal_writer_delay = 200ms # - milliseconds
- #commit_delay = # range -, in microseconds
- #commit_siblings = # range -
- # - Checkpoints -
- checkpoint_segments = # in logfile segments, min , 16MB each, default
- checkpoint_timeout = 5min # range 30s-1h, default 5min
- checkpoint_completion_target = 0.9 # checkpoint target duration, 0.0 - 1.0, default 0.5
- checkpoint_warning = 60s # disables, default 30s
- # - Archiving -
- #archive_mode = off # allows archiving to be done
- # (change requires restart)
- #archive_command = '' # command to use to archive a logfile segment
- #archive_timeout = # force a logfile segment switch after this
- # number of seconds; disables
- #------------------------------------------------------------------------------
- # REPLICATION
- #------------------------------------------------------------------------------
- # - Master Server -
- # These settings are ignored on a standby server
- #max_wal_senders = # max number of walsender processes
- # (change requires restart)
- #wal_sender_delay = 1s # walsender cycle time, - milliseconds
- #wal_keep_segments = # in logfile segments, 16MB each; disables
- #vacuum_defer_cleanup_age = # number of xacts by which cleanup is delayed
- #replication_timeout = 60s # in milliseconds; disables
- #synchronous_standby_names = '' # standby servers that provide sync rep
- # comma-separated list of application_name
- # from standby(s); '*' = all
- # - Standby Servers -
- # These settings are ignored on a master server
- #hot_standby = off # "on" allows queries during recovery
- # (change requires restart)
- #max_standby_archive_delay = 30s # max delay before canceling queries
- # when reading WAL from archive;
- # - allows indefinite delay
- #max_standby_streaming_delay = 30s # max delay before canceling queries
- # when reading streaming WAL;
- # - allows indefinite delay
- #wal_receiver_status_interval = 10s # send replies at least this often
- # disables
- #hot_standby_feedback = off # send info from standby to prevent
- # query conflicts
- #------------------------------------------------------------------------------
- # QUERY TUNING
- #------------------------------------------------------------------------------
- # - Planner Method Configuration -
- #enable_bitmapscan = on
- #enable_hashagg = on
- #enable_hashjoin = on
- #enable_indexscan = on
- #enable_material = on
- #enable_mergejoin = on
- #enable_nestloop = on
- #enable_seqscan = on
- #enable_sort = on
- #enable_tidscan = on
- # - Planner Cost Constants -
- #seq_page_cost = 1.0 # measured on an arbitrary scale
- #random_page_cost = 4.0 # same scale as above
- #cpu_tuple_cost = 0.01 # same scale as above
- #cpu_index_tuple_cost = 0.005 # same scale as above
- #cpu_operator_cost = 0.0025 # same scale as above
- effective_cache_size = 2048MB # Default 128MB
- # - Genetic Query Optimizer -
- #geqo = on
- #geqo_threshold =
- #geqo_effort = # range -
- #geqo_pool_size = # selects default based on effort
- #geqo_generations = # selects default based on effort
- #geqo_selection_bias = 2.0 # range 1.5-2.0
- #geqo_seed = 0.0 # range 0.0-1.0
- # - Other Planner Options -
- #default_statistics_target = # range -
- #constraint_exclusion = partition # on, off, or partition
- #cursor_tuple_fraction = 0.1 # range 0.0-1.0
- #from_collapse_limit =
- #join_collapse_limit = # disables collapsing of explicit
- # JOIN clauses
- #------------------------------------------------------------------------------
- # ERROR REPORTING AND LOGGING
- #------------------------------------------------------------------------------
- # - Where to Log -
- #log_destination = 'stderr' # Valid values are combinations of
- # stderr, csvlog, syslog, and eventlog,
- # depending on platform. csvlog
- # requires logging_collector to be on.
- # This is used when logging to stderr:
- #logging_collector = off # Enable capturing of stderr and csvlog
- # into log files. Required to be on for
- # csvlogs.
- # (change requires restart)
- # These are only used if logging_collector is on:
- #log_directory = 'pg_log' # directory where log files are written,
- # can be absolute or relative to PGDATA
- #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
- # can include strftime() escapes
- #log_file_mode = # creation mode for log files,
- # begin with to use octal notation
- #log_truncate_on_rotation = off # If on, an existing log file with the
- # same name as the new log file will be
- # truncated rather than appended to.
- # But such truncation only occurs on
- # time-driven rotation, not on restarts
- # or size-driven rotation. Default is
- # off, meaning append to existing files
- # in all cases.
- #log_rotation_age = 1d # Automatic rotation of logfiles will
- # happen after that time. disables.
- #log_rotation_size = 10MB # Automatic rotation of logfiles will
- # happen after that much log output.
- # disables.
- # These are relevant when logging to syslog:
- #syslog_facility = 'LOCAL0'
- #syslog_ident = 'postgres'
- #silent_mode = off # Run server silently.
- # DO NOT USE without syslog or
- # logging_collector
- # (change requires restart)
- # - When to Log -
- #client_min_messages = notice # values in order of decreasing detail:
- # debug5
- # debug4
- # debug3
- # debug2
- # debug1
- # log
- # notice
- # warning
- # error
- #log_min_messages = warning # values in order of decreasing detail:
- # debug5
- # debug4
- # debug3
- # debug2
- # debug1
- # info
- # notice
- # warning
- # error
- # log
- # fatal
- # panic
- #log_min_error_statement = error # values in order of decreasing detail:
- # debug5
- # debug4
- # debug3
- # debug2
- # debug1
- # info
- # notice
- # warning
- # error
- # log
- # fatal
- # panic (effectively off)
- #log_min_duration_statement = - # - is disabled, logs all statements
- # and their durations, > logs only
- # statements running at least this number
- # of milliseconds
- # - What to Log -
- #debug_print_parse = off
- #debug_print_rewritten = off
- #debug_print_plan = off
- #debug_pretty_print = on
- #log_checkpoints = off
- #log_connections = off
- #log_disconnections = off
- #log_duration = off
- #log_error_verbosity = default # terse, default, or verbose messages
- #log_hostname = off
- #log_line_prefix = '' # special values:
- # %a = application name
- # %u = user name
- # %d = database name
- # %r = remote host and port
- # %h = remote host
- # %p = process ID
- # %t = timestamp without milliseconds
- # %m = timestamp with milliseconds
- # %i = command tag
- # %e = SQL state
- # %c = session ID
- # %l = session line number
- # %s = session start timestamp
- # %v = virtual transaction ID
- # %x = transaction ID ( if none)
- # %q = stop here in non-session
- # processes
- # %% = '%'
- # e.g. '<%u%%%d> '
- #log_lock_waits = off # log lock waits >= deadlock_timeout
- #log_statement = 'none' # none, ddl, mod, all
- #log_temp_files = - # log temporary files equal or larger
- # than the specified size in kilobytes;
- # - disables, logs all temp files
- #log_timezone = '(defaults to server environment setting)'
- #------------------------------------------------------------------------------
- # RUNTIME STATISTICS
- #------------------------------------------------------------------------------
- # - Query/Index Statistics Collector -
- #track_activities = on
- #track_counts = on
- #track_functions = none # none, pl, all
- #track_activity_query_size = # (change requires restart)
- #update_process_title = on
- #stats_temp_directory = 'pg_stat_tmp'
- # - Statistics Monitoring -
- #log_parser_stats = off
- #log_planner_stats = off
- #log_executor_stats = off
- #log_statement_stats = off
- #------------------------------------------------------------------------------
- # AUTOVACUUM PARAMETERS
- #------------------------------------------------------------------------------
- #autovacuum = on # Enable autovacuum subprocess? 'on'
- # requires track_counts to also be on.
- #log_autovacuum_min_duration = - # - disables, logs all actions and
- # their durations, > logs only
- # actions running at least this number
- # of milliseconds.
- #autovacuum_max_workers = # max number of autovacuum subprocesses
- # (change requires restart)
- #autovacuum_naptime = 1min # time between autovacuum runs
- #autovacuum_vacuum_threshold = # min number of row updates before
- # vacuum
- #autovacuum_analyze_threshold = # min number of row updates before
- # analyze
- #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum
- #autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
- #autovacuum_freeze_max_age = # maximum XID age before forced vacuum
- # (change requires restart)
- #autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
- # autovacuum, in milliseconds;
- # - means use vacuum_cost_delay
- #autovacuum_vacuum_cost_limit = - # default vacuum cost limit for
- # autovacuum, - means use
- # vacuum_cost_limit
- #------------------------------------------------------------------------------
- # CLIENT CONNECTION DEFAULTS
- #------------------------------------------------------------------------------
- # - Statement Behavior -
- #search_path = '"$user",public' # schema names
- #default_tablespace = '' # a tablespace name, '' uses the default
- #temp_tablespaces = '' # a list of tablespace names, '' uses
- # only default tablespace
- #check_function_bodies = on
- #default_transaction_isolation = 'read committed'
- #default_transaction_read_only = off
- #default_transaction_deferrable = off
- #session_replication_role = 'origin'
- #statement_timeout = # in milliseconds, is disabled
- #vacuum_freeze_min_age =
- #vacuum_freeze_table_age =
- #bytea_output = 'hex' # hex, escape
- #xmlbinary = 'base64'
- #xmloption = 'content'
- # - Locale and Formatting -
- datestyle = 'iso, mdy'
- #intervalstyle = 'postgres'
- #timezone = '(defaults to server environment setting)'
- #timezone_abbreviations = 'Default' # Select the set of available time zone
- # abbreviations. Currently, there are
- # Default
- # Australia
- # India
- # You can create your own file in
- # share/timezonesets/.
- #extra_float_digits = # min -, max
- #client_encoding = sql_ascii # actually, defaults to database
- # encoding
- # These settings are initialized by initdb, but they can be changed.
- lc_messages = 'C' # locale for system error message
- # strings
- lc_monetary = 'C' # locale for monetary formatting
- lc_numeric = 'C' # locale for number formatting
- lc_time = 'C' # locale for time formatting
- # default configuration for text search
- default_text_search_config = 'pg_catalog.english'
- # - Other Defaults -
- #dynamic_library_path = '$libdir'
- #local_preload_libraries = ''
- #------------------------------------------------------------------------------
- # LOCK MANAGEMENT
- #------------------------------------------------------------------------------
- #deadlock_timeout = 1s
- #max_locks_per_transaction = # min
- # (change requires restart)
- # Note: Each lock table slot uses ~ bytes of shared memory, and there are
- # max_locks_per_transaction * (max_connections + max_prepared_transactions)
- # lock table slots.
- #max_pred_locks_per_transaction = # min
- # (change requires restart)
- #------------------------------------------------------------------------------
- # VERSION/PLATFORM COMPATIBILITY
- #------------------------------------------------------------------------------
- # - Previous PostgreSQL Versions -
- #array_nulls = on
- #backslash_quote = safe_encoding # on, off, or safe_encoding
- #default_with_oids = off
- #escape_string_warning = on
- #lo_compat_privileges = off
- #quote_all_identifiers = off
- #sql_inheritance = on
- #standard_conforming_strings = on
- #synchronize_seqscans = on
- # - Other Platforms and Clients -
- #transform_null_equals = off
- #------------------------------------------------------------------------------
- # ERROR HANDLING
- #------------------------------------------------------------------------------
- #exit_on_error = off # terminate session on any error?
- #restart_after_crash = on # reinitialize after backend crash?
- #------------------------------------------------------------------------------
- # CUSTOMIZED OPTIONS
- #------------------------------------------------------------------------------
- #custom_variable_classes = '' # list of custom variable class names
在这个文件中主要是修改63行的listen_addresses = ''为listen_addresses = '*',这样就可以监听所有端口了。
最后一步:(启用所有配置并启动)
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
访问http://localhost即可。
gitlab默认的数据库为gitlabhq_production,数据库登录用户名为gitlab-psql,数据库密码为空;
gitlab的用户信息分别保存在namespaces表与users表中。
GitLab在Centos下的安装步骤的更多相关文章
- CentOS下一键安装Openstack
CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...
- centOS下yum安装配置samba
centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...
- CentOS下Mysql安装教程
CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...
- CentOS下php安装mcrypt扩展
CentOS下php安装mcrypt扩展 Posted on 2012-09-12 15:27 C'est la vie 阅读(48294) 评论(3) 编辑 收藏 (以下步骤均为本人实际操作,可能与 ...
- 转:在CentOS下编译安装GCC
转:https://teddysun.com/432.html 在CentOS下编译安装GCC 技术 秋水逸冰 发布于: 2015-09-02 更新于: 2015-09-02 6519 次围观 ...
- CentOS 下 redis 安装与配置
CentOS 下 redis 安装与配置 1.到官网上找到合适版本下载解压安装 [root@java src]# wget -c http://redis.googlecode.com/files ...
- centos下编译安装lnmp
centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...
- mac和centos下git安装
mac下面的git安装,这篇文章写的很详细了http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html 谈谈centos下的安装.我用的是 ...
- centos下apache安装后无法访问
2013.11.28遇到的问题: -------------------------------------- 一.centos下apache安装后无法访问 得查一下防火墙的问题 iptables添加 ...
随机推荐
- VS工具--GhostDoc
一.介绍: GhostDoc是Visual Studio的一个免费插件,可以帮助开发人员编写XML格式的注释文档. C#中XML格式的文档注释好处多多:Visual Studio会在很多地 ...
- How to fix the conflict between ROS Python and Conda
Problem: Ever since I have installed Conda, ROS does not seem to work. And predictably it is because ...
- XAF视频教程来啦,已出15课
第一到第七课在这里: http://www.cnblogs.com/foreachlife/p/xafvideo_1_6.html 视频地址:http://i.youku.com/i/UMTI5OTE ...
- java学习笔记----枚举测试题
定义义一个交通灯枚举类,包含红灯.绿灯.黄灯,需要有获得下一个灯的方法,并实现红灯出现5秒之后变成绿灯,绿灯3秒之后变成黄灯,黄灯2秒之后变成红灯,如此循环 public class Test5 { ...
- Java 中如何原样输出转义符号
Java 中的转义字符有好几种,常见的有: 八进制转义字符,格式:\ + 1到3位八进制数字,如\1, \20,范围为 \0 ~ \377,即最大值为255. Unicode转义字符,格式:\u + ...
- SCOI2005栅栏
Description 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购买木材.可是木材店老板说他这里只剩下少部分大规格的木板了.不过约翰可以购买这些木 ...
- OneSQL安装
下载 www.onexsoft.com -> 下载 -> OneSQL 安装 yum install onesql-<version>.rpm 配置 进入安装目录 cd /us ...
- mysql安装innodb插件
可以用 show engines;或者show plugins;来查看mysql> show plugins;+------------+--------+----------------+-- ...
- DTD的作用
在介绍DTD的作用之前先介绍一下SGML:SGML SGML(Standard Generalized Markup Language,标准通用标记语言),是一种定义电子文档结构和描述其内容的国际标准 ...
- Ubuntu Server 安装桌面untiy
1.安装 sudo apt-get install ubuntu-desktop sudo apt-get install unity sudo apt-get install unity-commo ...