 15e6e2adea
			
		
	
	15e6e2adea
	
	
	
		
			
			Summary: Ref T4200. Since the last time this script was written, Ubuntu has made lots of changes. Try to keep up with those. Test Plan: Ran this on frash installs of Ubuntu 16.04 LTS and 18.04 LTS (Pre-release). Got to see Phabricator running. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: amckinley, Korvin Maniphest Tasks: T4200 Differential Revision: https://secure.phabricator.com/D19394
		
			
				
	
	
		
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| confirm() {
 | |
|   echo "Press RETURN to continue, or ^C to cancel.";
 | |
|   read -e ignored
 | |
| }
 | |
| 
 | |
| INSTALL_URI="   https://phurl.io/u/install"
 | |
| 
 | |
| failed() {
 | |
|   echo
 | |
|   echo
 | |
|   echo "Installation has failed."
 | |
|   echo "Text above this message might be useful to understanding what exactly failed."
 | |
|   echo
 | |
|   echo "Please follow this guide to manually complete installation:"
 | |
|   echo
 | |
|   echo $INSTALL_URI
 | |
|   echo
 | |
|   echo "We apologize for the inconvenience."
 | |
|   exit 3
 | |
| }
 | |
| 
 | |
| ISSUE=`cat /etc/issue`
 | |
| if [[ $ISSUE != Ubuntu* ]]
 | |
| then
 | |
|   echo "This script is intended for use on Ubuntu, but this system appears";
 | |
|   echo "to be something else. Your results may vary.";
 | |
|   echo
 | |
|   confirm
 | |
| fi
 | |
| 
 | |
| echo "PHABRICATOR UBUNTU INSTALL SCRIPT";
 | |
| echo "This script will install Apache, Phabricator and its core dependencies.";
 | |
| echo "Run it from the directory you want to install into.";
 | |
| echo
 | |
| 
 | |
| echo "Testing sudo..."
 | |
| sudo true
 | |
| if [ $? -ne 0 ]
 | |
| then
 | |
|   echo "ERROR: You must be able to sudo to run this script.";
 | |
|   exit 1;
 | |
| fi;
 | |
| 
 | |
| echo 'Testing Ubuntu version...'
 | |
| 
 | |
| VERSION=`lsb_release -rs`
 | |
| MAJOR=`expr match "$VERSION" '\([0-9]*\)'`
 | |
| 
 | |
| if [ "$MAJOR" -lt 16 ]
 | |
| then
 | |
|   echo 'This script is intented to install on modern operating systems; Your '
 | |
|   echo 'operating system is too old for this script.'
 | |
|   echo 'You can still install Phabricator manually - please consult the installation'
 | |
|   echo 'guide to see how:'
 | |
|   echo
 | |
|   echo $INSTALL_URI
 | |
|   echo
 | |
|   exit 2
 | |
| fi
 | |
| 
 | |
| # Ubuntu 16.04 LTS only has php 7.0 in their repos, so they need this extra ppa.
 | |
| # Ubuntu 17.4 and up have official 7.2 builds.
 | |
| if [ "$MAJOR" -eq 16 ]
 | |
| then
 | |
|   echo 'This version of Ubuntu requires additional resources in order to install'
 | |
|   echo 'and run Phabricator.'
 | |
|   echo 'We will now add a the following package repository to your system:'
 | |
|   echo '  https://launchpad.net/~ondrej/+archive/ubuntu/php'
 | |
|   echo
 | |
|   echo 'This repository is generally considered safe to use.'
 | |
|   confirm
 | |
| 
 | |
|   sudo add-apt-repository -y ppa:ondrej/php  || failed
 | |
| fi
 | |
| 
 | |
| ROOT=`pwd`
 | |
| echo "Phabricator will be installed to: ${ROOT}.";
 | |
| confirm
 | |
| 
 | |
| echo "Installing dependencies: git, apache, mysql, php...";
 | |
| echo
 | |
| sudo apt-get -qq update
 | |
| sudo apt-get install \
 | |
|   git mysql-server apache2 libapache2-mod-php \
 | |
|   php php-mysql php-gd php-curl php-apcu php-cli php-json php-mbstring \
 | |
|   || failed
 | |
| 
 | |
| echo "Enabling mod_rewrite in Apache..."
 | |
| echo
 | |
| sudo a2enmod rewrite  || failed
 | |
| 
 | |
| echo "Downloading Phabricator and dependencies..."
 | |
| echo
 | |
| if [ ! -e libphutil ]
 | |
| then
 | |
|   git clone https://github.com/phacility/libphutil.git
 | |
| else
 | |
|   (cd libphutil && git pull --rebase)
 | |
| fi
 | |
| 
 | |
| if [ ! -e arcanist ]
 | |
| then
 | |
|   git clone https://github.com/phacility/arcanist.git
 | |
| else
 | |
|   (cd arcanist && git pull --rebase)
 | |
| fi
 | |
| 
 | |
| if [ ! -e phabricator ]
 | |
| then
 | |
|   git clone https://github.com/phacility/phabricator.git
 | |
| else
 | |
|   (cd phabricator && git pull --rebase)
 | |
| fi
 | |
| 
 | |
| echo
 | |
| echo
 | |
| echo "Install probably worked mostly correctly. Continue with the 'Configuration Guide':";
 | |
| echo
 | |
| echo "    https://secure.phabricator.com/book/phabricator/article/configuration_guide/";
 | |
| echo
 | |
| echo 'Next step is "Configuring Apache webserver".'
 |