phabricator install script on ubuntu

phabricator install script on ubuntu

https://secure.phabricator.com/book/phabricator/article/installation_guide/

https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_ubuntu.sh

#!/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".'
sudo apt-get update
sudo apt-get install aptitude
sudo aptitude install git dpkg-dev
sudo aptitude install apache2 libapache2-mod-php mysql-server
sudo aptitude install php php-dev php-fpm php-mysql php-apcu php-cli
sudo aptitude install php-mbstring php-gd php-curl php-json

sudo a2enmod rewrite
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo systemctl restart apache2.service
sudo systemctl status apache2.service
sudo systemctl status php7.0-fpm.service
mkdir -p /opt/www
chown -R www-data:www-data /opt/www
cd /opt/www
git clone https://gitee.com/lsgx/speedtest
cd speedtest
git checkout -b develop origin/develop
git checkout develop
git pull
cd ..
chown -R www-data:www-data /opt/www
git clone https://gitee.com/lsgx/libphutil.git
git clone https://gitee.com/lsgx/arcanist.git
git clone https://gitee.com/lsgx/phabricator.git
git clone https://gitee.com/lsgx/phabricator_zh_Hans.git

cd /opt/www/phabricator/
mkdir conf/custom
cat conf/custom/mysql.conf.php
echo custom/mysql > conf/local/ENVIRONMENT
./bin/storage upgrade

============ End

原文地址:https://www.cnblogs.com/lsgxeva/p/14111685.html