Commit c07bf47e authored by Evan Read's avatar Evan Read

Merge branch 'notes-installation-docs' into 'master'

Reduce the number of notes in the source installation

See merge request gitlab-org/gitlab!44931
parents 071aea87 ee901338
...@@ -69,7 +69,6 @@ of this page: ...@@ -69,7 +69,6 @@ of this page:
maintained for all projects. **This area contains critical data for projects. maintained for all projects. **This area contains critical data for projects.
[Keep a backup](../raketasks/backup_restore.md).** [Keep a backup](../raketasks/backup_restore.md).**
NOTE: **Note:**
The default locations for repositories can be configured in `config/gitlab.yml` The default locations for repositories can be configured in `config/gitlab.yml`
of GitLab and `config.yml` of GitLab Shell. of GitLab and `config.yml` of GitLab Shell.
...@@ -101,8 +100,9 @@ apt-get upgrade -y ...@@ -101,8 +100,9 @@ apt-get upgrade -y
apt-get install sudo -y apt-get install sudo -y
``` ```
NOTE: **Note:** During this installation, some files need to be edited manually. If you are familiar
During this installation, some files need to be edited manually. If you are familiar with vim, set it as default editor with the commands below. If you are not familiar with vim, skip this and keep using the default editor. with vim, set it as default editor with the commands below. If you are not familiar
with vim, skip this and keep using the default editor:
```shell ```shell
# Install vim and set as default editor # Install vim and set as default editor
...@@ -122,15 +122,13 @@ sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdb ...@@ -122,15 +122,13 @@ sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdb
Ubuntu 14.04 (Trusty Tahr) doesn't have the `libre2-dev` package available, but Ubuntu 14.04 (Trusty Tahr) doesn't have the `libre2-dev` package available, but
you can [install re2 manually](https://github.com/google/re2/wiki/Install). you can [install re2 manually](https://github.com/google/re2/wiki/Install).
If you want to use Kerberos for user authentication, install `libkrb5-dev`: If you want to use Kerberos for user authentication, install `libkrb5-dev`
(if you don't know what Kerberos is, you can assume you don't need it):
```shell ```shell
sudo apt-get install libkrb5-dev sudo apt-get install libkrb5-dev
``` ```
NOTE: **Note:**
If you don't know what Kerberos is, you can assume you don't need it.
Make sure you have the right version of Git installed: Make sure you have the right version of Git installed:
```shell ```shell
...@@ -202,8 +200,11 @@ needs to be installed. ...@@ -202,8 +200,11 @@ needs to be installed.
sudo apt-get install -y graphicsmagick sudo apt-get install -y graphicsmagick
``` ```
NOTE: **Note:** In order to receive mail notifications, make sure to install a mail server.
In order to receive mail notifications, make sure to install a mail server. By default, Debian is shipped with exim4 but this [has problems](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/12754) while Ubuntu does not ship with one. The recommended mail server is postfix and you can install it with: By default, Debian is shipped with `exim4` but this
[has problems](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/12754) while
Ubuntu does not ship with one. The recommended mail server is `postfix` and you
can install it with:
```shell ```shell
sudo apt-get install -y postfix sudo apt-get install -y postfix
...@@ -221,10 +222,8 @@ sudo apt-get install -y libimage-exiftool-perl ...@@ -221,10 +222,8 @@ sudo apt-get install -y libimage-exiftool-perl
## 2. Ruby ## 2. Ruby
The Ruby interpreter is required to run GitLab. The Ruby interpreter is required to run GitLab.
See the [requirements page](requirements.md#ruby-versions) for the minimum
NOTE: **Note:** Ruby requirements.
The current supported Ruby (MRI) version is 2.6.x. GitLab 12.2
dropped support for Ruby 2.5.x.
The use of Ruby version managers such as [RVM](https://rvm.io/), [rbenv](https://github.com/rbenv/rbenv) or [chruby](https://github.com/postmodern/chruby) with GitLab The use of Ruby version managers such as [RVM](https://rvm.io/), [rbenv](https://github.com/rbenv/rbenv) or [chruby](https://github.com/postmodern/chruby) with GitLab
in production, frequently leads to hard to diagnose problems. Version managers in production, frequently leads to hard to diagnose problems. Version managers
...@@ -410,7 +409,6 @@ Starting from GitLab 12.1, only PostgreSQL is supported. Since GitLab 13.0, we [ ...@@ -410,7 +409,6 @@ Starting from GitLab 12.1, only PostgreSQL is supported. Since GitLab 13.0, we [
## 7. Redis ## 7. Redis
NOTE: **Note:**
See the [requirements page](requirements.md#redis-versions) for the minimum See the [requirements page](requirements.md#redis-versions) for the minimum
Redis requirements. Redis requirements.
...@@ -555,11 +553,9 @@ sudo -u git -H cp config/resque.yml.example config/resque.yml ...@@ -555,11 +553,9 @@ sudo -u git -H cp config/resque.yml.example config/resque.yml
sudo -u git -H editor config/resque.yml sudo -u git -H editor config/resque.yml
``` ```
CAUTION: **Caution:**
Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup. Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup.
If you want to use the Unicorn web server, see [Using Unicorn](#using-unicorn) for the additional steps. If you want to use the Unicorn web server, see [Using Unicorn](#using-unicorn) for the additional steps.
NOTE: **Note:**
If you want to use HTTPS, see [Using HTTPS](#using-https) for the additional steps. If you want to use HTTPS, see [Using HTTPS](#using-https) for the additional steps.
### Configure GitLab DB Settings ### Configure GitLab DB Settings
...@@ -599,13 +595,13 @@ Make sure you have `bundle` (run `bundle -v`): ...@@ -599,13 +595,13 @@ Make sure you have `bundle` (run `bundle -v`):
- `>= 1.5.2`, because some [issues](https://devcenter.heroku.com/changelog-items/411) were [fixed](https://github.com/rubygems/bundler/pull/2817) in 1.5.2. - `>= 1.5.2`, because some [issues](https://devcenter.heroku.com/changelog-items/411) were [fixed](https://github.com/rubygems/bundler/pull/2817) in 1.5.2.
- `< 2.x`. - `< 2.x`.
Install the gems (if you want to use Kerberos for user authentication, omit
`kerberos` in the `--without` option below):
```shell ```shell
sudo -u git -H bundle install --deployment --without development test mysql aws kerberos sudo -u git -H bundle install --deployment --without development test mysql aws kerberos
``` ```
NOTE: **Note:**
If you want to use Kerberos for user authentication, omit `kerberos` in the `--without` option above.
### Install GitLab Shell ### Install GitLab Shell
GitLab Shell is an SSH access and repository management software developed specially for GitLab. GitLab Shell is an SSH access and repository management software developed specially for GitLab.
...@@ -619,10 +615,8 @@ sudo -u git -H bundle exec rake gitlab:shell:install RAILS_ENV=production ...@@ -619,10 +615,8 @@ sudo -u git -H bundle exec rake gitlab:shell:install RAILS_ENV=production
sudo -u git -H editor /home/git/gitlab-shell/config.yml sudo -u git -H editor /home/git/gitlab-shell/config.yml
``` ```
NOTE: **Note:**
If you want to use HTTPS, see [Using HTTPS](#using-https) for the additional steps. If you want to use HTTPS, see [Using HTTPS](#using-https) for the additional steps.
NOTE: **Note:**
Make sure your hostname can be resolved on the machine itself by either a proper DNS record or an additional line in `/etc/hosts` ("127.0.0.1 hostname"). This might be necessary, for example, if you set up GitLab behind a reverse proxy. If the hostname cannot be resolved, the final installation check fails with `Check GitLab API access: FAILED. code: 401` and pushing commits are rejected with `[remote rejected] master -> master (hook declined)`. Make sure your hostname can be resolved on the machine itself by either a proper DNS record or an additional line in `/etc/hosts` ("127.0.0.1 hostname"). This might be necessary, for example, if you set up GitLab behind a reverse proxy. If the hostname cannot be resolved, the final installation check fails with `Check GitLab API access: FAILED. code: 401` and pushing commits are rejected with `[remote rejected] master -> master (hook declined)`.
### Install GitLab Workhorse ### Install GitLab Workhorse
...@@ -641,7 +635,7 @@ You can specify a different Git repository by providing it as an extra parameter ...@@ -641,7 +635,7 @@ You can specify a different Git repository by providing it as an extra parameter
sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse,https://example.com/gitlab-workhorse.git]" RAILS_ENV=production sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse,https://example.com/gitlab-workhorse.git]" RAILS_ENV=production
``` ```
### Install GitLab-Elasticsearch-indexer on Enterprise Edition ### Install GitLab-Elasticsearch-indexer on Enterprise Edition **(STARTER ONLY)**
GitLab-Elasticsearch-Indexer uses [GNU Make](https://www.gnu.org/software/make/). The GitLab-Elasticsearch-Indexer uses [GNU Make](https://www.gnu.org/software/make/). The
following command-line installs GitLab-Elasticsearch-Indexer in `/home/git/gitlab-elasticsearch-indexer` following command-line installs GitLab-Elasticsearch-Indexer in `/home/git/gitlab-elasticsearch-indexer`
...@@ -660,9 +654,6 @@ sudo -u git -H bundle exec rake "gitlab:indexer:install[/home/git/gitlab-elastic ...@@ -660,9 +654,6 @@ sudo -u git -H bundle exec rake "gitlab:indexer:install[/home/git/gitlab-elastic
The source code first is fetched to the path specified by the first parameter. Then a binary is built under its `bin` directory. The source code first is fetched to the path specified by the first parameter. Then a binary is built under its `bin` directory.
You then need to update `gitlab.yml`'s `production -> elasticsearch -> indexer_path` setting to point to that binary. You then need to update `gitlab.yml`'s `production -> elasticsearch -> indexer_path` setting to point to that binary.
NOTE: **Note:**
Elasticsearch is a feature of GitLab Enterprise Edition and isn't included in GitLab Community Edition.
### Install GitLab Pages ### Install GitLab Pages
GitLab Pages uses [GNU Make](https://www.gnu.org/software/make/). This step is optional and only needed if you wish to host static sites from within GitLab. The following commands install GitLab Pages in `/home/git/gitlab-pages`. For additional setup steps, consult the [administration guide](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/administration/pages/source.md) for your version of GitLab as the GitLab Pages daemon can be run several different ways. GitLab Pages uses [GNU Make](https://www.gnu.org/software/make/). This step is optional and only needed if you wish to host static sites from within GitLab. The following commands install GitLab Pages in `/home/git/gitlab-pages`. For additional setup steps, consult the [administration guide](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/administration/pages/source.md) for your version of GitLab as the GitLab Pages daemon can be run several different ways.
...@@ -729,8 +720,7 @@ sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production force=yes ...@@ -729,8 +720,7 @@ sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production force=yes
# When done, you see 'Administrator account created:' # When done, you see 'Administrator account created:'
``` ```
NOTE: **Note:** You can set the Administrator/root password and email by supplying them in environmental variables, `GITLAB_ROOT_PASSWORD` and `GITLAB_ROOT_EMAIL` respectively, as seen below. If you don't set the password (and it is set to the default one), wait to expose GitLab to the public internet until the installation is done and you've logged into the server the first time. During the first login, you'll be forced to change the default password. An Enterprise Edition license may also be installed at this time by supplying a full path in the `GITLAB_LICENSE_FILE` environment variable.
You can set the Administrator/root password and e-mail by supplying them in environmental variables, `GITLAB_ROOT_PASSWORD` and `GITLAB_ROOT_EMAIL` respectively, as seen below. If you don't set the password (and it is set to the default one), wait to expose GitLab to the public internet until the installation is done and you've logged into the server the first time. During the first login, you'll be forced to change the default password. An Enterprise Edition license may also be installed at this time by supplying a full path in the `GITLAB_LICENSE_FILE` environment variable.
```shell ```shell
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=yourpassword GITLAB_ROOT_EMAIL=youremail GITLAB_LICENSE_FILE="/path/to/license" sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=yourpassword GITLAB_ROOT_EMAIL=youremail GITLAB_LICENSE_FILE="/path/to/license"
...@@ -807,7 +797,6 @@ sudo /etc/init.d/gitlab restart ...@@ -807,7 +797,6 @@ sudo /etc/init.d/gitlab restart
## 9. NGINX ## 9. NGINX
NOTE: **Note:**
NGINX is the officially supported web server for GitLab. If you cannot or do not want to use NGINX as your web server, see [GitLab recipes](https://gitlab.com/gitlab-org/gitlab-recipes/). NGINX is the officially supported web server for GitLab. If you cannot or do not want to use NGINX as your web server, see [GitLab recipes](https://gitlab.com/gitlab-org/gitlab-recipes/).
### Installation ### Installation
...@@ -844,7 +833,6 @@ If you intend to enable GitLab Pages, there is a separate NGINX config you need ...@@ -844,7 +833,6 @@ If you intend to enable GitLab Pages, there is a separate NGINX config you need
to use. Read all about the needed configuration at the to use. Read all about the needed configuration at the
[GitLab Pages administration guide](../administration/pages/index.md). [GitLab Pages administration guide](../administration/pages/index.md).
NOTE: **Note:**
If you want to use HTTPS, replace the `gitlab` NGINX config with `gitlab-ssl`. See [Using HTTPS](#using-https) for HTTPS configuration details. If you want to use HTTPS, replace the `gitlab` NGINX config with `gitlab-ssl`. See [Using HTTPS](#using-https) for HTTPS configuration details.
### Test Configuration ### Test Configuration
...@@ -857,10 +845,18 @@ sudo nginx -t ...@@ -857,10 +845,18 @@ sudo nginx -t
You should receive `syntax is okay` and `test is successful` messages. If you receive errors check your `gitlab` or `gitlab-ssl` NGINX config file for typos, etc. as indicated in the error message given. You should receive `syntax is okay` and `test is successful` messages. If you receive errors check your `gitlab` or `gitlab-ssl` NGINX config file for typos, etc. as indicated in the error message given.
NOTE: **Note:** Verify that the installed version is greater than 1.12.1:
Verify that the installed version is greater than 1.12.1 by running `nginx -v`. If it's lower, you may receive the error below:
`nginx: [emerg] unknown "start$temp=[filtered]$rest" variable ```shell
nginx: configuration file /etc/nginx/nginx.conf test failed` nginx -v
```
If it's lower, you may receive the error below:
```plaintext
nginx: [emerg] unknown "start$temp=[filtered]$rest" variable
nginx: configuration file /etc/nginx/nginx.conf test failed
```
### Restart ### Restart
...@@ -880,7 +876,8 @@ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production ...@@ -880,7 +876,8 @@ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
If all items are green, congratulations on successfully installing GitLab! If all items are green, congratulations on successfully installing GitLab!
NOTE: Supply `SANITIZE=true` environment variable to `gitlab:check` to omit project names from the output of the check command. TIP: **Tip:**
Supply the `SANITIZE=true` environment variable to `gitlab:check` to omit project names from the output of the check command.
### Initial Login ### Initial Login
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment