1
0
mirror of https://github.com/postfixadmin/postfixadmin.git synced 2025-07-04 19:02:25 +03:00
Files
postfixadmin/install.sh
David Goodwin b332bbb512 beautify
2025-05-31 13:53:27 +01:00

76 lines
2.4 KiB
Bash

#!/bin/bash
set -eu
# PostfixAdmin install script.
# 1. Downloads 'composer.phar' to the current directory, if 'composer' is not found in your PATH
# 2. Runs 'php composer install' which should install required runtime libraries for Postfixadmin
# 3. Runs 'mkdir templates_c && chmod 777 templates_c'
PATH=/bin:/usr/bin:/usr/local/bin
export PATH
COMPOSER_URL=https://getcomposer.org/download/latest-stable/composer.phar
type php >/dev/null 2>&1 || { echo >&2 "I require php but it's not installed. Aborting."; exit 1; }
cd "$(dirname "$0")"
# Check for $(pwd)/composer.phar
echo " * Checking for composer.phar "
if ! command -v composer >/dev/null 2>&1 ; then
# not in path, try and fall back to a local version
if [ ! -f composer.phar ]; then
echo " * 'composer' not found in your path, will try to download from $COMPOSER_URL "
# try and download it one way or another
if [ -x /usr/bin/wget ]; then
wget -q -O composer.phar $COMPOSER_URL
else
if [ -x /usr/bin/curl ]; then
curl -o composer.phar $COMPOSER_URL
else
echo " ** Could not find wget or curl; please download $COMPOSER_URL to pwd" >/dev/stderr
exit 1
fi
fi
fi
COMPOSER="$(pwd)/composer.phar"
# not sure if we can actually get here, wget/curl failing should kill the script due to 'set -e'
if [ ! -f "${COMPOSER}" ]; then
echo "Failed to download composer, download $COMPOSER_URL manually into this directory." > /dev/stderr
exit 1
fi
else
COMPOSER="$(which composer)"
fi
echo " * Using composer ( $COMPOSER )"
echo " * Installing libraries ( composer install --no-dev ... )"
php "${COMPOSER}" install --prefer-dist -n --no-dev
if [ ! -d templates_c ]; then
mkdir -p templates_c && chmod 777 templates_c
echo
echo " Warning: "
echo " templates_c directory didn't exist, now created."
echo
echo " You should change the ownership and reduce permissions on templates_c to 750. "
echo " The ownership needs to match the user used to execute PHP scripts, perhaps 'www-data' or 'httpd'"
echo
echo " e.g. chown www-data templates_c && chmod 750 templates_c"
echo
fi
echo
echo "Please continue configuration / setup within your web browser. "
echo "See also : https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT#L58 "
echo