#!/bin/bash serverName="nginx" serverPackages="nginx" phpVersion="7.3" phpName="php$phpVersion" phpPackages="${phpName}-fpm ${phpName}-json ${phpName}-mysql ${phpName}-curl ${phpName}-intl ${phpName}-gd ${phpName}-zip ${phpName}-xml ${phpName}-mbstring php-imagick php-apcu" step_1_info() { echo "Installation of $serverName packages:" echoinfo "$serverPackages" } step_1_alias() { ALIAS="install"; } step_1() { exe apt update exe apt install $serverPackages endReturn -o $? "Server package installation error" } step_2_info() { echo "Basic nginx configuration for initial letsencrypt certificate creation"; } step_2() { # Writing acme-challenge code snipped for certbot web root authentication addConf -c "$snippetLetsencrypt" "$snippetLetsencryptLoc" # Writing minimal default (see below) addConf -c "$siteDefaultIp4" "$siteDefaultLoc" # try fix errors on first install attempt # (possible missing ipv6 support on system) if [ $ERNO -ne 0 ] ; then exe apt install nginx fi # create webroot exe mkdir -p "$siteLetsencryptWww" echo -n " [I] Restarting Nginx ... " exe service nginx restart && echo "ok" endReturn -o $? "Nginx error during startup" } snippetLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf" siteLetsencryptWww="/var/www/letsencrypt" snippetLetsencrypt="\ location ^~ /.well-known/acme-challenge/ { default_type \"text/plain\"; root ${siteLetsencryptWww}; }" siteDefaultLoc="/etc/nginx/sites-available/default" siteDefaultIp4="server { listen 80 default_server; include ${snippetLetsencryptLoc}; }" step_3_info() { echo "Installation of $phpName packages:" echoinfo "$phpPackages" } step_3() { exe apt install $phpPackages endReturn -o $? "$phpName error during startup" } phpFpmConfigLocation="/etc/php/${phpVersion}/fpm/conf.d/90-custom_pi.ini" phpFpmConfig="\ post_max_size=64M max_execution_time=600 apc.enable_cli=1 date.timezone = Europe/Berlin opcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1" phpCliConfigLocation="/etc/php/${phpVersion}/cli/conf.d/90-custom_pi.ini" phpCliConfig="\ date.timezone = Europe/Berlin" step_4_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; } step_4() { addConf -c "$phpFpmConfig" "$phpFpmConfigLocation" addConf -c "$phpCliConfig" "$phpCliConfigLocation" echo -n "Restarting ${phpName} ..." exe service ${phpName}-fpm restart endReturn -o $? "$phpName error during restart" echo "ok" } VERSION_SEQREV=10 . /usr/local/bin/sequencer.sh