[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 3 confirm() { 4 echo "Press RETURN to continue, or ^C to cancel."; 5 read -e ignored 6 } 7 8 RHEL_VER_FILE="/etc/redhat-release" 9 10 if [[ ! -f $RHEL_VER_FILE ]] 11 then 12 echo "It looks like you're not running a Red Hat-derived distribution." 13 echo "This script is intended to install Phabricator on RHEL-derived" 14 echo "distributions such as RHEL, Fedora, CentOS, and Scientific Linux." 15 echo "Proceed with caution." 16 confirm 17 fi 18 19 echo "PHABRICATOR RED HAT DERIVATIVE INSTALLATION SCRIPT"; 20 echo "This script will install Phabricator and all of its core dependencies."; 21 echo "Run it from the directory you want to install into."; 22 echo 23 24 RHEL_REGEX="release ([0-9]+)\." 25 26 if [[ $(cat $RHEL_VER_FILE) =~ $RHEL_REGEX ]] 27 then 28 RHEL_MAJOR_VER=$BASH_REMATCH[1]} 29 else 30 echo "Ut oh, we were unable to determine your distribution's major" 31 echo "version number. Please make sure you're running 6.0+ before" 32 echo "proceeding." 33 confirm 34 fi 35 36 if [[ $RHEL_MAJOR_VER < 6 && $RHEL_MAJOR_VER > 0 ]] 37 then 38 echo "** WARNING **" 39 echo "A major version less than 6 was detected. Because of this," 40 echo "several needed dependencies are not available via default repos." 41 echo "Specifically, RHEL 5 does not have a PEAR package for php53-*." 42 echo "We will attempt to install it manually, for APC. Please be careful." 43 confirm 44 fi 45 46 echo "Phabricator will be installed to: $(pwd)."; 47 confirm 48 49 echo "Testing sudo/root..." 50 if [[ $EUID -ne 0 ]] # Check if we're root. If we are, continue. 51 then 52 sudo true 53 SUDO="sudo" 54 if [[ $? -ne 0 ]] 55 then 56 echo "ERROR: You must be able to sudo to run this script, or run it as root."; 57 exit 1 58 fi 59 60 fi 61 62 if [[ $RHEL_MAJOR_VER == 5 ]] 63 then 64 # RHEL 5's "php" package is actually 5.1. The "php53" package won't let us install php-pecl-apc. 65 # (it tries to pull in php 5.1 stuff) ... 66 yum repolist | grep -i epel 67 if [ $? -ne 0 ]; then 68 echo "It doesn't look like you have the EPEL repo enabled. We are to add it" 69 echo "for you, so that we can install git." 70 $SUDO rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm 71 fi 72 YUMCOMMAND="$SUDO yum install httpd git php53 php53-cli php53-mysql php53-process php53-devel php53-gd gcc wget make pcre-devel mysql-server" 73 else 74 # RHEL 6+ defaults with php 5.3 75 YUMCOMMAND="$SUDO yum install httpd git php php-cli php-mysql php-process php-devel php-gd php-pecl-apc php-pecl-json php-mbstring mysql-server" 76 fi 77 78 echo "Dropping to yum to install dependencies..." 79 echo "Running: $YUMCOMMAND}" 80 echo "Yum will prompt you with [Y/n] to continue installing." 81 82 $YUMCOMMAND 83 84 if [[ $? -ne 0 ]] 85 then 86 echo "The yum command failed. Please fix the errors and re-run this script." 87 exit 1 88 fi 89 90 if [[ $RHEL_MAJOR_VER == 5 ]] 91 then 92 # Now that we've ensured all the devel packages required for pecl/apc are there, let's 93 # set up PEAR, and install apc. 94 echo "Attempting to install PEAR" 95 wget http://pear.php.net/go-pear.phar 96 $SUDO php go-pear.phar && $SUDO pecl install apc 97 fi 98 99 if [[ $? -ne 0 ]] 100 then 101 echo "The apc install failed. Continuing without APC, performance may be impacted." 102 fi 103 104 pidof httpd 2>&1 > /dev/null 105 if [[ $? -eq 0 ]] 106 then 107 echo "If php was installed above, please run: /etc/init.d/httpd graceful" 108 else 109 echo "Please remember to start the httpd with: /etc/init.d/httpd start" 110 fi 111 112 pidof mysqld 2>&1 > /dev/null 113 if [[ $? -ne 0 ]] 114 then 115 echo "Please remember to start the mysql server: /etc/init.d/mysqld start" 116 fi 117 118 confirm 119 120 if [[ ! -e libphutil ]] 121 then 122 git clone https://github.com/phacility/libphutil.git 123 else 124 (cd libphutil && git pull --rebase) 125 fi 126 127 if [[ ! -e arcanist ]] 128 then 129 git clone https://github.com/phacility/arcanist.git 130 else 131 (cd arcanist && git pull --rebase) 132 fi 133 134 if [[ ! -e phabricator ]] 135 then 136 git clone https://github.com/phacility/phabricator.git 137 else 138 (cd phabricator && git pull --rebase) 139 fi 140 141 echo 142 echo 143 echo "Install probably worked mostly correctly. Continue with the 'Configuration Guide':"; 144 echo 145 echo " http://www.phabricator.com/docs/phabricator/article/Configuration_Guide.html";
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |