From 433fac4964b70f45bddcee38be004cfb6d610fa2 Mon Sep 17 00:00:00 2001 From: Axilleas Pipinellis Date: Sat, 17 Aug 2013 10:22:03 +0300 Subject: [PATCH] Move guidelines to main README, add info for epel repo in CentOS guide --- README.md | 76 +++++++++++++++++++++++++++++++++++----- install/README.md | 63 ++------------------------------- install/centos/README.md | 63 ++++++++++++++++++++++++++------- 3 files changed, 120 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 70a51d4..abcefbb 100644 --- a/README.md +++ b/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. diff --git a/install/README.md b/install/README.md index 08a925a..dff4a42 100644 --- a/install/README.md +++ b/install/README.md @@ -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). diff --git a/install/centos/README.md b/install/centos/README.md index 9cc6ee9..8f45bd8 100644 --- a/install/centos/README.md +++ b/install/centos/README.md @@ -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