1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-08 16:02:40 +01:00
phorge-phorge/scripts/install/install_ubuntu.sh
epriestley 3e38579fee Update install and upgrade documentation for libphutil
Summary:
Ref T13395. Libphutil has merged into Arcanist and no longer needs to be installed or upgraded. Additionally:

  - The minimum PHP version is now PHP 5.5.
  - Although older versions of PHP should still install APC, modern versions come with Opcache and do not need APC. Setup issues guide administrators thorugh the correct install procedure now.

Test Plan: Read documentation.

Maniphest Tasks: T13395

Differential Revision: https://secure.phabricator.com/D21550
2021-02-08 10:20:00 -08:00

117 lines
2.9 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 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".'