Page MenuHomePhabricator

D19394.diff
No OneTemporary

D19394.diff

diff --git a/scripts/install/install_ubuntu.sh b/scripts/install/install_ubuntu.sh
--- a/scripts/install/install_ubuntu.sh
+++ b/scripts/install/install_ubuntu.sh
@@ -5,9 +5,22 @@
read -e ignored
}
-GIT='git'
+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
+}
-LTS="Ubuntu 10.04"
ISSUE=`cat /etc/issue`
if [[ $ISSUE != Ubuntu* ]]
then
@@ -15,20 +28,13 @@
echo "to be something else. Your results may vary.";
echo
confirm
-elif [[ `expr match "$ISSUE" "$LTS"` -eq ${#LTS} ]]
-then
- GIT='git-core'
fi
echo "PHABRICATOR UBUNTU INSTALL SCRIPT";
-echo "This script will install Phabricator and all of its core dependencies.";
+echo "This script will install Apache, Phabricator and its core dependencies.";
echo "Run it from the directory you want to install into.";
echo
-ROOT=`pwd`
-echo "Phabricator will be installed to: ${ROOT}.";
-confirm
-
echo "Testing sudo..."
sudo true
if [ $? -ne 0 ]
@@ -37,31 +43,56 @@
exit 1;
fi;
-echo "Installing dependencies: git, apache, mysql, php...";
-echo
+echo 'Testing Ubuntu version...'
-set +x
+VERSION=`lsb_release -rs`
+MAJOR=`expr match "$VERSION" '\([0-9]*\)'`
-sudo apt-get -qq update
-sudo apt-get install \
- $GIT mysql-server apache2 dpkg-dev \
- php5 php5-mysqlnd php5-gd php5-dev php5-curl php-apc php5-cli php5-json
-
-# Enable mod_rewrite
-sudo a2enmod rewrite
+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
-HAVEPCNTL=`php -r "echo extension_loaded('pcntl');"`
-if [ $HAVEPCNTL != "1" ]
+# 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 "Installing pcntl...";
+ 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
- apt-get source php5
- PHP5=`ls -1F | grep '^php5-.*/$'`
- (cd $PHP5/ext/pcntl && phpize && ./configure && make && sudo make install)
-else
- echo "pcntl already installed";
+ 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
@@ -89,4 +120,4 @@
echo
echo " https://secure.phabricator.com/book/phabricator/article/configuration_guide/";
echo
-echo "You can delete any php5-* stuff that's left over in this directory if you want.";
+echo 'Next step is "Configuring Apache webserver".'

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 1:33 PM (21 h, 8 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6722622
Default Alt Text
D19394.diff (3 KB)

Event Timeline