revisions

rharmonson 2014-06-26 14:27:11 -07:00
parent 85d2d6cba2
commit 8565335efc

@ -1,8 +1,4 @@
# Installing Tracks 2.2.2 on CentOS 6.5 Minimal x86_64 (draft)
_**document state: draft in-progress**_
The purpose of this document is describe the installation process for Tracks 2.2.2 on CentOS 6.5 Minimal x86_64 using epel repository, rvm, mysql, apache, and phusion passenger. This is but one method of installing Tracks. I am open to suggestions and constructive criticism.
The purpose of this document is to describe the installation process for Tracks 2.2.2 on CentOS 6.5 Minimal x86_64 using epel repository, rvm, mysql, apache, and phusion passenger. This is but one method of installing Tracks, and I am open to suggestions and constructive criticism.
Build Overview
@ -10,18 +6,14 @@ Build Overview
1. Prerequisite packages
1. User account & sudo
1. MySQL database
1. Ruby Version Manager
1. Ruby Version Manager (rvm)
1. Ruby 1.9
1. Bundler
1. Phusion Passenger
1. Tracks 2.2.2
1. Apache2
1. Done(?)
Other Considerations
1. SELinux Passenger Module
1. Phusion Passenger, Rails, & Sub-URIs
1. Nginx reverse proxy
1. Other Considerations
## 1. Base operating system
@ -37,16 +29,18 @@ Base CentOS Installation Task Overview
### Obtain media
If you are new to Linux or new to CentOS minimal installations, I would advise reviewing all the information at the URL below. Otherwise, scroll down and select the download URL under section 2. We will be using x86_64 version, also, known as 64 bit. The 32 bit version *should* work as well.
http://wiki.centos.org/Manuals/ReleaseNotes/CentOSMinimalCD6.5
Reference: http://wiki.centos.org/Manuals/ReleaseNotes/CentOSMinimalCD6.5
### Installation
Boot from media and, generally, accept the defaults. You have an opportunity to provide time zone, a host name, configure network interfaces, provide DNS IPs, and domain search. If configured at this point, the installation script automatically configures the resulting installation using these settings. It is a time saver, however, I am going to assume either these setting have not been set or changes will be needed.
Boot from media and, generally, accept the defaults. You have an opportunity to provide time zone, a host name, configure network interfaces, provide DNS IPs, and domain search. If configured at this point, the installation script automatically configures the resulting installation using these settings. It is a time saver, however, I am going to assume these setting have not been set or changes will be needed.
You may skip to the section titled "Verify Operation" if you complete all the settings using the installation GUI.
You may skip to the section titled "Verify operation" if you completed all the settings using the installation GUI.
### Basic configuration
Network interface settings
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html
Reference: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html
The default interface settings will be as follows with the exception that your HWADDR and UUID will differ:
```
@ -111,7 +105,7 @@ lo Link encap:Local Loopback
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
```
If you are going to use a static IP address, then update ifcfg-eth0 options with values for your network. Note the NM-CONROLLED can be safely ignored ore removed for on CentOS minimal installations, NM or Network Manager is not installed.
If you are going to use a static IP address, then update ifcfg-eth0 options with values for your network. Note the NM-CONROLLED can be safely ignored or removed for on CentOS minimal installations, NM or Network Manager is not installed.
```
[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# vi ifcfg-eth0
@ -170,7 +164,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 1002 0 0 eth0
```
Update the "network" file with both the network and fully qualified domain name (FQDN). This will result with a default layer 3 or routing gateway. Note a log off and on or reboot is needed to see 'hostname' updated.
Update the "network" file with both the network and your host's fully qualified domain name (FQDN). This will result with a default layer 3 or routing gateway. Note a log off and on or reboot is needed to see 'hostname' updated.
```
[root@localhost ~]# vi /etc/sysconfig/network
@ -221,7 +215,7 @@ Bringing up interface eth0: Determining if ip address 192.168.113.150 is alread
```
### Resolution settings
Configure DNS resolution settings. Current setting shown below are a result of using DHCP, initially. Your resolv.conf may differ.
Configure DNS resolution settings. Current settings shown below are a result of using DHCP, initially. Your resolv.conf may differ.
```
[root@www ~]# cat /etc/resolv.conf
@ -255,7 +249,7 @@ rtt min/avg/max/mdev = 8.256/9.808/13.490/1.924 ms
```
###Time zone
After installation, the default time zone is America/New_York. Changing the time can be done several ways. My preference is to first identify the time zone by listing /usr/share/zoneinfo. For example, /usr/share/zoneinfo/America/Los_Angeles, then update /etc/sysconfig/clock.
After installation, the default time zone is America/New_York. Changing the time can be done several ways. My preference is to first identify the time zone by listing `/usr/share/zoneinfo`. For example, `/usr/share/zoneinfo/America/Los_Angeles`, then update `/etc/sysconfig/clock`.
```
[root@www ~]# cat /etc/sysconfig/clock
ZONE="America/New_York"
@ -299,14 +293,12 @@ ZONE="America/New_York"
```
###EPEL
EPEL installation steps are as follows:
EPEL repository installation steps are as follows:
* Install the repository's key, so the package can be verified and trusted.
* Installl the repository package for your distribution.
* Configure, if desired, the repository configuration files found `/etc/yum.repos.d`.
Install the repository's key, so the package can be verified and trusted.
Installl the repository package for your distribution.
Configure, if desired, the repository configuration files found /etc/yum.repos.d.
Install key and package on CentOS 6.5 64 bit
For CentOS 6.5 64 bit
```
# rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
@ -426,9 +418,13 @@ Restart to utilize the new packages and drivers.
##2. Prerequisite packages
Including RVM prerequisites, mysql server, apache, and system-config packages for ease of administration.
reference: https://rvm.io/rvm/prerequisites <-- their list is incomplete!
Reference: https://rvm.io/rvm/prerequisites <-- their list is incomplete!
Note: sqlite-devel package is required for Tracks and bundler.
Note: libxml2-devel, libxslt, and libxslt-devel packagea is required for Tracks, specifically for nokogiri.
Note: libxml2-devel, libxslt, and libxslt-devel packagea is required for Tracks, specifically, nokogiri.
Note: httpd-devel and libcurl-devel and dependencies packages are required for passenger.
```
@ -543,7 +539,7 @@ Is this ok [y/N]:
```
##3. User account & sudo
A decision needs to be made to either use root or an user account. In practice, using a dedicated user could decreases the risk of root exploits, however, this assumes you do not granting sudo with wide open privileges (command access) to the user. I am over simplifying, so do some googling and decide for yourself. I will be using a user account named tracks with the intent of removing sudo access after testing is complete.
You may use root or an user account to install Tracks. In practice, using a dedicated user could decrease the risk of root exploits, however, this assumes you do not granting sudo with wide open privileges (command access) to the user. I am over simplifying, so do some googling and decide for yourself. I will be using a user account named tracks with the intent of removing sudo access after testing is complete.
Create user 'tracks'
```
@ -555,7 +551,7 @@ Configure tracks user to use 'sudo';
# visudo
```
Add the following which essentially gives user tracks root equivalent privileges using sudo.
Add the following which essentially gives user tracks root equivalent privileges when using sudo.
```
tracks ALL=(ALL) ALL
```
@ -576,16 +572,14 @@ to
PermitRootLogin No
```
For the changes to take effect immediately, or you can wait until next system restart
For the changes to take effect immediately, restart sshd.
```
$ sudo service sshd restart
```
##4. MySQL database
Initial MySQL configuration.
Start mysql
Start mysqld.
```
$ sudo service mysqld start
```
@ -600,7 +594,7 @@ Enable automatic startup and shutdown; init script.
$ sudo chkconfig mysqld on
```
Create a new database, user, and grant privileges. Replace dbuser and <password> with your own values.
Create a new database, user, and grant privileges. Replace dbuser and password with your own values.
```
$ mysql -u root -p