#!/bin/bash app=phpBB # Retrieve arguments domain=$1 path=$2 is_public=$3 admin_login=$4 admin_pwd=$5 admin_email=$6 lang=$7 # Check domain/path availability sudo yunohost app checkurl $domain$path -a $app if [[ ! $? -eq 0 ]]; then exit 1 fi db_user=$app #db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') db_pwd=$admin_pwd # Initialize database and store mysql password for upgrade sudo yunohost app initdb $db_user -p $db_pwd sudo yunohost app setting $app mysqlpwd -v $db_pwd # Copy files to the right place final_path=/var/www/$app sudo rm -rf $final_path sudo mkdir -p $final_path sudo cp -a ../sources/phpBB/* $final_path # We add french language pack if [ "$lang" = "fr" ]; then sudo cp -a ../sources/french_language/* $final_path/ fi # Set permissions to rainloop directory sudo chown -R www-data:www-data $final_path # phpBB requires imagemagick to manipulate pictures sudo apt-get update -qq > /dev/null 2>&1 sudo apt-get install -y imagemagick > /dev/null 2>&1 # Configuration of phpBB curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=requirements" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "dbms=mysqli" \ --data-urlencode "dbhost=localhost" \ --data-urlencode "dbname=$app" \ --data-urlencode "dbuser=$app" \ --data-urlencode "dbpasswd=$db_pwd" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=database" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=database" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "default_lang=$lang" \ --data-urlencode "admin_name=$admin_login" \ --data-urlencode "admin_pass1=$admin_pwd" \ --data-urlencode "admin_pass2=$admin_pwd" \ --data-urlencode "board_email=$admin_email" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=administrator" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=administrator" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=config_file" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "email_enable=1" \ --data-urlencode "smtp_delivery=0" \ --data-urlencode "smtp_auth=PLAIN" \ --data-urlencode "cookie_secure=1" \ --data-urlencode "force_server_vars=0" \ --data-urlencode "server_protocol=https://" \ --data-urlencode "server_name=$domain" \ --data-urlencode "server_port=443" \ --data-urlencode "script_path=$path" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=advanced" > /dev/null 2>&1 curl -k -X POST \ -H "Host: $domain" \ --data-urlencode "submit=ok" \ "https://127.0.0.1/forum/install/index.php?mode=install&sub=create_table" > /dev/null 2>&1 # We need to rename the install folder #sudo mv $final_path/install $final_path/install_old # Modify Nginx configuration file and copy it to Nginx conf directory sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf sed -i "s@NAMETOCHANGE@$app@g" ../conf/php-fpm.conf finalphpconf=/etc/php5/fpm/pool.d/$app.conf sudo cp ../conf/php-fpm.conf $finalphpconf sudo chown root: $finalphpconf sudo chmod 644 $finalphpconf # Make app public if necessary sudo yunohost app setting $app is_public -v "$is_public" if [ "$is_public" = "Yes" ]; then sudo yunohost app setting $app skipped_uris -v "/" fi # Reload Nginx and regenerate SSOwat conf sudo service php5-fpm reload sudo service nginx reload sudo yunohost app ssowatconf