GitLab recipes for setup on different platforms, update etc.
Unofficial guides for using GitLab with different software (operating systems, webservers, etc.)
provided by the community, for systems other than the officially supported (Debian/Ubuntu).
## Guidelines on community contributions
Bare in mind that this repository is co-maintained by volunteers/contributors like you.
Here you will find installation guides or automation scripts provided by the community,
for systems other than the officially supported (Debian/Ubuntu).
# Contributing
Bare in mind that this repository is co-maintained by volunteers/contributors like you.
## Naming guidelines
### Accepting Pull Requests
For better maintainance and clarity, some naming guidelines should be followed.
* Installation guides should be provided in README files so that they render first when viewing the repository.
* Installation scripts reside in a `scripts/` directory inside every platform folder.
### Scripts
There are scripts doing similar things
? Scripts should be named after the following scheme: platform-platform_version
Example: `ubuntu-server-12.04.sh`
## Install information
If you have an installation guide to provide, fill in the template and place it on top
of your guide or include it in your installation script (commented), again on top.
In each parent directory (install, init, web-server, etc.) you will find some conventions
you need to follow in order for your Pull Request to be accepted.
### Template
```
Distribution :
GitLab version :
Web Server :
Init system :
Database :
Contributor :
Additional Notes :
```
### Explanation
| Label | Explanation |
| ---------------- | ------------------------- |
| Distribution | The official name and version of the platform/distribution, case sensitive. |
| GitLab version | GitLab version on which the guide/script was tested. |
| Web Server | The web server used to serve GitLab. May be two-fold, eg. apache with mod_passenger. |
| Init system | (Optional but recommended) The init system used by the platform if any. Examples: `sysvinit`, `systemd`, `upstart`, `openrc`, etc |
| Database | The database used for installation. Examples: `mysql`, `postrgres`, `mariadb`.
| Contributor | Your github username (recommended in order to track you and give credits) or your real name or both. Example of the latter: **thedude (Jeffrey Lebowski)** |
| Additional Notes | Anything else you want to add. Any deviations form the official guide can be reported here. Eg. using rvm for ruby install, storing in different locations, etc.|
### Example
```
Distribution : Fedora 19
GitLab version : 5.4
Web Server : apache with mod_passenger
Init system : systemd
Database : mariadb
Contributor : thedude
Additional Notes : the script uses rvm to install ruby
```
### Accepting Pull Requests
Please stick as close as possible to the guidelines. That way we ensure quality guides
and easy to merge requests.
Loading
Loading
@@ -21,3 +73,9 @@ and easy to merge requests.
Your Pull Request will be reviewed by one of our volunteers and you will be
asked to reformat it if needed. We don't bite and we will try to be as flexible
as possible, so don't get intimidated by the extent of the quidelines :)
## Notes
* We try to test everything before accepting PRs, in a clean, newly installed platform.
* You should read a script and understand what it does prior to running it.
* If something goes wrong during installation and you think the guide/script needs fixing, file a bug report or a Pull Request.
For better maintainance and clarity, some naming guidelines should be followed.
* Guides should be provided in README files so that they render first when viewing the repository.
* Installation scripts reside in a `scripts/` directory inside every platform folder.
### Scripts
TODO: How to name multiple scripts doing similar things?
? Scripts should be named after the following scheme: platform-platform_version
Example: `ubuntu-server-12.04.sh`
## General information
If you have an installation guide to provide, fill in the template and place it on top
of your guide or include it in your installation script (commented), again on top.
### Template
```
Distribution :
GitLab version :
Web Server :
Init system :
Database :
Contributor :
Additional Notes :
```
### Explanation
| Label | Explanation |
| ---------------- | ------------------------- |
| Distribution | The official name and version of the platform/distribution, case sensitive. |
| GitLab version | GitLab version on which the guide/script was tested. |
| Web Server | The web server used to serve GitLab. May be two-fold, eg. apache with mod_passenger. |
| Init system | (Optional but recommended) The init system used by the platform if any. Examples: `sysvinit`, `systemd`, `upstart`, `openrc`, etc |
| Database | The database used for installation. Examples: `mysql`, `postrgres`, `mariadb`.
| Contributor | Your github username (recommended in order to track you and give credits) or your real name or both. Example of the latter: **thedude (Jeffrey Lebowski)** |
| Additional Notes | Anything else you want to add. Any deviations form the official guide can be reported here. Eg. using rvm for ruby install, storing in different locations, etc.|
### Example
```
Distribution : Fedora 19
GitLab version : 5.4
Web Server : apache with mod_passenger
Init system : systemd
Database : mariadb
Contributor : thedude
Additional Notes : the script uses rvm to install ruby
```
## Notes
* We try to test everything before accepting PRs, in a clean, newly installed platform.
* You should read the script and understand what it does prior to running it.
* If something goes wrong during installation and you think the guide/script needs fixing, file a bug report or a Pull Request.
In this directory you will find installation guides and scripts for various platforms.
If you have something to contribute please read the [contributing guidelines](../README.md#Contributing).
@@ -15,8 +15,8 @@ Additional Notes : Selinux is not disabled but properly configured.
Please read `doc/install/requirements.md` for hardware and platform requirements.
This guide installs gitlab on a bare system from scratch using MySQL as the database.
All Postgress installation steps are absent as they have not been tested yet.
This guide installs GitLab on a bare system from scratch, using MySQL as the database.
All Postgres installation steps are absent as they have not been tested yet.
### Important Notes
Loading
Loading
@@ -27,12 +27,12 @@ violate any assumptions GitLab makes about its environment.
#### If you find a bug
If you find a bug/error in this guide please submit an issue or pull request
following the contribution guide (see `CONTRIBUTING.md`).
following the contribution guide (see `install/README.md`).
#### Security
Many setup guides of Linux software simply state: "disable selinux and firewall".
The original gitlab installation for ubuntu disables StrictHostKeyChecking completely.
The original GitLab installation for Ubuntu disables StrictHostKeyChecking completely.
This guide does not disable any of them, we simply configure them as they were intended.
- - -
Loading
Loading
@@ -51,28 +51,65 @@ The GitLab installation consists of setting up the following components:
# 1. Installing the operating system (CentOS 6.4 Minimal)
We start with a completely clean CentOS 6.4 "minimal" installation which can be accomplished by downloading the appropriate installation iso file. Just boot the system of the iso file and install the system.
We start with a completely clean CentOS 6.4 "minimal" installation which can be
accomplished by downloading the appropriate installation iso file. Just boot the
system of the iso file and install the system.
Note that during the installation you use the *"Configure Network"* option (it's a
button in the same screen where you specify the hostname) to enable the *"Connect automatically"*
option for the network interface and hand (usually eth0).
Note that during the installation you use the *"Configure Network"* option (it's a button in the same screen where you specify the hostname) to enable the *"Connect automatically"* option for the network interface and hand (usually eth0).
**If you forget this option the network will NOT start at boot.**
The end result is a bare minimum CentOS installation that effectively only has network connectivity and (almost) no services at all.
## Updating and adding basic software and services
### Add EPEL repository
*logged in as **root***
[EPEL][] is a volunteer-based community effort from the Fedora project to create
a repository of high-quality add-on packages that complement the Fedora-based
Red Hat Enterprise Linux (RHEL) and its compatible spinoffs, such as CentOS and Scientific Linux.