@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update install_ubuntu.sh to the new age

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

+60 -29
+60 -29
scripts/install/install_ubuntu.sh
··· 5 5 read -e ignored 6 6 } 7 7 8 - GIT='git' 8 + INSTALL_URI=" https://phurl.io/u/install" 9 + 10 + failed() { 11 + echo 12 + echo 13 + echo "Installation has failed." 14 + echo "Text above this message might be useful to understanding what exactly failed." 15 + echo 16 + echo "Please follow this guide to manually complete installation:" 17 + echo 18 + echo $INSTALL_URI 19 + echo 20 + echo "We apologize for the inconvenience." 21 + exit 3 22 + } 9 23 10 - LTS="Ubuntu 10.04" 11 24 ISSUE=`cat /etc/issue` 12 25 if [[ $ISSUE != Ubuntu* ]] 13 26 then ··· 15 28 echo "to be something else. Your results may vary."; 16 29 echo 17 30 confirm 18 - elif [[ `expr match "$ISSUE" "$LTS"` -eq ${#LTS} ]] 19 - then 20 - GIT='git-core' 21 31 fi 22 32 23 33 echo "PHABRICATOR UBUNTU INSTALL SCRIPT"; 24 - echo "This script will install Phabricator and all of its core dependencies."; 34 + echo "This script will install Apache, Phabricator and its core dependencies."; 25 35 echo "Run it from the directory you want to install into."; 26 36 echo 27 37 28 - ROOT=`pwd` 29 - echo "Phabricator will be installed to: ${ROOT}."; 30 - confirm 31 - 32 38 echo "Testing sudo..." 33 39 sudo true 34 40 if [ $? -ne 0 ] ··· 37 43 exit 1; 38 44 fi; 39 45 40 - echo "Installing dependencies: git, apache, mysql, php..."; 41 - echo 46 + echo 'Testing Ubuntu version...' 42 47 43 - set +x 48 + VERSION=`lsb_release -rs` 49 + MAJOR=`expr match "$VERSION" '\([0-9]*\)'` 44 50 45 - sudo apt-get -qq update 46 - sudo apt-get install \ 47 - $GIT mysql-server apache2 dpkg-dev \ 48 - php5 php5-mysqlnd php5-gd php5-dev php5-curl php-apc php5-cli php5-json 51 + if [ "$MAJOR" -lt 16 ] 52 + then 53 + echo 'This script is intented to install on modern operating systems; Your ' 54 + echo 'operating system is too old for this script.' 55 + echo 'You can still install Phabricator manually - please consult the installation' 56 + echo 'guide to see how:' 57 + echo 58 + echo $INSTALL_URI 59 + echo 60 + exit 2 61 + fi 49 62 50 - # Enable mod_rewrite 51 - sudo a2enmod rewrite 52 - 53 - HAVEPCNTL=`php -r "echo extension_loaded('pcntl');"` 54 - if [ $HAVEPCNTL != "1" ] 63 + # Ubuntu 16.04 LTS only has php 7.0 in their repos, so they need this extra ppa. 64 + # Ubuntu 17.4 and up have official 7.2 builds. 65 + if [ "$MAJOR" -eq 16 ] 55 66 then 56 - echo "Installing pcntl..."; 67 + echo 'This version of Ubuntu requires additional resources in order to install' 68 + echo 'and run Phabricator.' 69 + echo 'We will now add a the following package repository to your system:' 70 + echo ' https://launchpad.net/~ondrej/+archive/ubuntu/php' 57 71 echo 58 - apt-get source php5 59 - PHP5=`ls -1F | grep '^php5-.*/$'` 60 - (cd $PHP5/ext/pcntl && phpize && ./configure && make && sudo make install) 61 - else 62 - echo "pcntl already installed"; 72 + echo 'This repository is generally considered safe to use.' 73 + confirm 74 + 75 + sudo add-apt-repository -y ppa:ondrej/php || failed 63 76 fi 64 77 78 + ROOT=`pwd` 79 + echo "Phabricator will be installed to: ${ROOT}."; 80 + confirm 81 + 82 + echo "Installing dependencies: git, apache, mysql, php..."; 83 + echo 84 + sudo apt-get -qq update 85 + sudo apt-get install \ 86 + git mysql-server apache2 libapache2-mod-php \ 87 + php php-mysql php-gd php-curl php-apcu php-cli php-json php-mbstring \ 88 + || failed 89 + 90 + echo "Enabling mod_rewrite in Apache..." 91 + echo 92 + sudo a2enmod rewrite || failed 93 + 94 + echo "Downloading Phabricator and dependencies..." 95 + echo 65 96 if [ ! -e libphutil ] 66 97 then 67 98 git clone https://github.com/phacility/libphutil.git ··· 89 120 echo 90 121 echo " https://secure.phabricator.com/book/phabricator/article/configuration_guide/"; 91 122 echo 92 - echo "You can delete any php5-* stuff that's left over in this directory if you want."; 123 + echo 'Next step is "Configuring Apache webserver".'