mirror of
https://github.com/jlengrand/gitlab-recipes.git
synced 2026-03-10 08:11:17 +00:00
Move guidelines to main README, add info for epel repo in CentOS guide
This commit is contained in:
76
README.md
76
README.md
@@ -1,19 +1,71 @@
|
||||
gitlab-recipes
|
||||
==============
|
||||
|
||||
GitLab recipes for setup on different platforms, update etc.
|
||||
|
||||
## Guidelines on community contributions
|
||||
|
||||
Here you will find installation guides or automation scripts provided by the community,
|
||||
for systems other than the officially supported (Debian/Ubuntu).
|
||||
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).
|
||||
|
||||
Bare in mind that this repository is co-maintained by volunteers/contributors like you.
|
||||
|
||||
### Accepting Pull Requests
|
||||
# Contributing
|
||||
|
||||
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.
|
||||
## Naming guidelines
|
||||
|
||||
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.
|
||||
|
||||
### 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.
|
||||
@@ -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.
|
||||
|
||||
@@ -1,61 +1,2 @@
|
||||
## Naming guidelines
|
||||
|
||||
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
|
||||
|
||||
@@ -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.
|
||||
|
||||
- - -
|
||||
@@ -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.
|
||||
|
||||
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
|
||||
As part of the Fedora packaging community, EPEL packages are 100% free/libre open source software (FLOSS).
|
||||
|
||||
### Install the required tools for gitlab
|
||||
Download the GPG key for EPEL repository from [fedoraproject][keys] and install it on your system:
|
||||
|
||||
*logged in as **root***
|
||||
sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://fedoraproject.org/static/0608B895.txt
|
||||
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
|
||||
|
||||
yum -y groupinstall 'Development Tools'
|
||||
Verify that the key got installed successfully:
|
||||
|
||||
sudo rpm -qa gpg*
|
||||
gpg-pubkey-0608b895-4bd22942
|
||||
|
||||
Now install the `epel-release-6-8.noarch` package, which will enable EPEL repository on your system:
|
||||
|
||||
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
|
||||
|
||||
**Note:** Don't mind the `x86_64`, if you install on a i686 system you can use the same commands.
|
||||
|
||||
Verify that the EPEL repository is enabled as shown below. Now, you’ll see epel
|
||||
repository (apart from the standard base, updates and extras repositories):
|
||||
|
||||
sudo yum repolist
|
||||
repo id repo name status
|
||||
base CentOS-6 - Base 4,802
|
||||
epel Extra Packages for Enterprise Linux 6 - x86_64 7,879
|
||||
extras CentOS-6 - Extras 12
|
||||
updates CentOS-6 - Updates 814
|
||||
repolist: 13,507
|
||||
|
||||
If you can't see it listed use the folowing command to enable it:
|
||||
|
||||
sudo yum-config-manager --enable epel
|
||||
|
||||
### Install the required tools for GitLab
|
||||
|
||||
sudo yum -y groupinstall 'Development Tools'
|
||||
|
||||
### 'Additional Development'
|
||||
yum -y install vim-enhanced httpd readline readline-devel ncurses-devel gdbm-devel glibc-devel \
|
||||
sudo yum -y install vim-enhanced httpd readline readline-devel ncurses-devel gdbm-devel glibc-devel \
|
||||
tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc \
|
||||
sqlite-devel gcc-c++ libyaml libyaml-devel libffi libffi-devel \
|
||||
libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel \
|
||||
@@ -469,3 +506,5 @@ The setup has created an admin account for you. You can use it to log in:
|
||||
admin@local.host
|
||||
5iveL!fe
|
||||
|
||||
[EPEL]: https://fedoraproject.org/wiki/EPEL
|
||||
[keys]: https://fedoraproject.org/keys
|
||||
|
||||
Reference in New Issue
Block a user