mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 15:20:13 +01:00
revisions
parent
85d2d6cba2
commit
8565335efc
1 changed files with 29 additions and 35 deletions
|
|
@ -1,8 +1,4 @@
|
||||||
# Installing Tracks 2.2.2 on CentOS 6.5 Minimal x86_64 (draft)
|
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.
|
||||||
|
|
||||||
_**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.
|
|
||||||
|
|
||||||
Build Overview
|
Build Overview
|
||||||
|
|
||||||
|
|
@ -10,18 +6,14 @@ Build Overview
|
||||||
1. Prerequisite packages
|
1. Prerequisite packages
|
||||||
1. User account & sudo
|
1. User account & sudo
|
||||||
1. MySQL database
|
1. MySQL database
|
||||||
1. Ruby Version Manager
|
1. Ruby Version Manager (rvm)
|
||||||
1. Ruby 1.9
|
1. Ruby 1.9
|
||||||
1. Bundler
|
1. Bundler
|
||||||
1. Phusion Passenger
|
1. Phusion Passenger
|
||||||
1. Tracks 2.2.2
|
1. Tracks 2.2.2
|
||||||
1. Apache2
|
1. Apache2
|
||||||
1. Done(?)
|
1. Done(?)
|
||||||
|
1. Other Considerations
|
||||||
Other Considerations
|
|
||||||
1. SELinux Passenger Module
|
|
||||||
1. Phusion Passenger, Rails, & Sub-URIs
|
|
||||||
1. Nginx reverse proxy
|
|
||||||
|
|
||||||
## 1. Base operating system
|
## 1. Base operating system
|
||||||
|
|
||||||
|
|
@ -37,16 +29,18 @@ Base CentOS Installation Task Overview
|
||||||
|
|
||||||
### Obtain media
|
### 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.
|
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
|
### 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
|
### Basic configuration
|
||||||
Network interface settings
|
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:
|
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)
|
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 ~]# cd /etc/sysconfig/network-scripts
|
||||||
[root@localhost network-scripts]# vi ifcfg-eth0
|
[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
|
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
|
[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
|
### 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
|
[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
|
###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
|
[root@www ~]# cat /etc/sysconfig/clock
|
||||||
ZONE="America/New_York"
|
ZONE="America/New_York"
|
||||||
|
|
@ -299,14 +293,12 @@ ZONE="America/New_York"
|
||||||
```
|
```
|
||||||
|
|
||||||
###EPEL
|
###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.
|
For CentOS 6.5 64 bit
|
||||||
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
|
|
||||||
```
|
```
|
||||||
# rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
|
# 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
|
# 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
|
##2. Prerequisite packages
|
||||||
|
|
||||||
Including RVM prerequisites, mysql server, apache, and system-config packages for ease of administration.
|
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: 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.
|
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
|
##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'
|
Create user 'tracks'
|
||||||
```
|
```
|
||||||
|
|
@ -555,7 +551,7 @@ Configure tracks user to use 'sudo';
|
||||||
# visudo
|
# 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
|
tracks ALL=(ALL) ALL
|
||||||
```
|
```
|
||||||
|
|
@ -576,16 +572,14 @@ to
|
||||||
PermitRootLogin No
|
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
|
$ sudo service sshd restart
|
||||||
```
|
```
|
||||||
|
|
||||||
##4. MySQL database
|
##4. MySQL database
|
||||||
|
|
||||||
Initial MySQL configuration.
|
Start mysqld.
|
||||||
|
|
||||||
Start mysql
|
|
||||||
```
|
```
|
||||||
$ sudo service mysqld start
|
$ sudo service mysqld start
|
||||||
```
|
```
|
||||||
|
|
@ -600,7 +594,7 @@ Enable automatic startup and shutdown; init script.
|
||||||
$ sudo chkconfig mysqld on
|
$ 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
|
$ mysql -u root -p
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue