#!/bin/bash app=phpBB # Retrieve arguments domain=$1 path=$2 is_public=$3 admin_login=$4 admin_pwd=$5 admin_email=$6 lang=$7 curl_inst=$8 #sudo yunohost app setting $app domain -v $domain # Removal of trailing / path=${path%/} # 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 sudo yunohost app setting $app admin_login -v $admin_login sudo yunohost app setting $app admin_pwd -v $admin_pwd sudo yunohost app setting $app admin_email -v $admin_email # 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 working directory sudo chown -R www-data:www-data $final_path # Special adjustements for phpBB BEFORE installation (according to documentation) sudo chmod 666 $final_path/config.php sudo chmod 777 $final_path/store sudo chmod 777 $final_path/cache sudo chmod 777 $final_path/files sudo chmod 777 $final_path/images/avatars/upload # 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 # 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/$domain\_$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 # Use cURL for automatic configuration [BROKEN - TO BE FIXED] if [ "$curl_inst" = "Yes" ]; then ###### BEGINNING OF IF ######################## # Configuration of phpBB via cURL #echo -e "\n 1 - Requirements"; sudo curl -kL -H "Host: $domain" -X POST "https://127.0.0.1$path/install/index.php?mode=install&sub=requirements" \ --data "img_imagick=/usr/bin" \ --data "submit=Start install" \ > /dev/null 2>&1 #echo -e "\n 2 - database"; sudo curl -kL -H "Host: $domain" -X POST "https://127.0.0.1$path/install/index.php?mode=install&sub=database" \ --data "img_imagick=/usr/bin" \ --data "language=en" \ --data "testdb=false" \ --data "dbms=mysqli" \ --data "dbhost=localhost" \ --data "dbport=" \ --data "dbname=$db_user" \ --data "dbuser=$db_user" \ --data "table_prefix=phpbb_" \ --data "dbpasswd=$db_pwd" \ --data "submit=Proceed to next step" \ > /dev/null 2>&1 #echo -e "\n 3 - admin"; sudo curl -kL -H "Host: $domain" -X POST "https://127.0.0.1$path/install/index.php?mode=install&sub=administrator" \ --data "img_imagick=/usr/bin" \ --data "default_lang=$lang" \ --data "check=false" \ --data "admin_name=$admin_login" \ --data "admin_pass1=$admin_pwd" \ --data "admin_pass2=$admin_pwd" \ --data "board_email=$admin_email" \ --data "img_imagick=/usr/bin" \ --data "language=en" \ --data "dbms=mysqli" \ --data "dbhost=localhost" \ --data "dbport=" \ --data "dbname=$db_user" \ --data "dbuser=$db_user" \ --data "dbpasswd=$db_pwd" \ --data "table_prefix=phpbb_" \ --data "submit=Proceed to next step" \ > /dev/null 2>&1 #echo -e "\n 4 - config_file"; sudo curl -kL -H "Host: $domain" -X POST "https://127.0.0.1$path/install/index.php?mode=install&sub=config_file" \ --data "img_imagick=/usr/bin" \ --data "language=en" \ --data "dbms=mysqli" \ --data "dbhost=localhost" \ --data "dbport=" \ --data "dbname=$db_user" \ --data "dbuser=$db_user" \ --data "dbpasswd=$db_pwd" \ --data "table_prefix=phpbb_" \ --data "default_lang=$lang" \ --data "admin_name=$admin_login" \ --data "admin_pass1=$admin_pwd" \ --data "admin_pass2=$admin_pwd" \ --data "board_email=$admin_email" \ --data "submit=Proceed to next step" \ > /dev/null 2>&1 #echo -e "\n 5 - advanced"; sudo curl -kL -H "Host: $domain" -X POST "https://127.0.0.1$path/install/index.php?mode=install&sub=advanced" \ --data "email_enable=1" \ --data "smtp_delivery=0" \ --data "smtp_host=" \ --data "smtp_auth=PLAIN" \ --data "smtp_user=" \ --data "smtp_pass=" \ --data "cookie_secure=1" \ --data "force_server_vars=0" \ --data "server_protocol=https://" \ --data "server_name=$domain" \ --data "server_port=443" \ --data "script_path=$path" \ --data "img_imagick=/usr/bin" \ --data "language=en" \ --data "dbms=mysqli" \ --data "dbhost=localhost" \ --data "dbport=" \ --data "dbname=$db_user" \ --data "dbuser=$db_user" \ --data "dbpasswd=$db_pwd" \ --data "table_prefix=phpbb_" \ --data "default_lang=$lang" \ --data "admin_name=$admin_login" \ --data "admin_pass1=$admin_pwd" \ --data "admin_pass2=$admin_pwd" \ --data "board_email=$admin_email" \ --data "submit=Proceed to next step" \ > /dev/null 2>&1 #echo -e "\n 6 - create database"; sudo curl -kL -H "Host: $domain" -X POST "https://127.0.0.1$path/install/index.php?mode=install&sub=create_table" \ --data "language=en" \ --data "dbms=mysqli" \ --data "dbhost=localhost" \ --data "dbport=" \ --data "dbuser=$db_user" \ --data "dbpasswd=$db_pwd" \ --data "dbname=$db_user" \ --data "table_prefix=phpbb_" \ --data "default_lang=$lang" \ --data "admin_name=$admin_login" \ --data "admin_pass1=$admin_pwd" \ --data "admin_pass2=$admin_pwd" \ --data "board_email=$admin_email" \ --data "img_imagick=/usr/bin" \ --data "ftp_path=" \ --data "ftp_user=" \ --data "ftp_pass=" \ --data "email_enable=1" \ --data "smtp_delivery=0" \ --data "smtp_host=" \ --data "smtp_auth=PLAIN" \ --data "smtp_user=" \ --data "smtp_pass=" \ --data "cookie_secure=1" \ --data "force_server_vars=0" \ --data "server_protocol=https://" \ --data "server_name=$domain" \ --data "server_port=443" \ --data "script_path=$path" \ --data "submit=Proceed to next step" \ > /dev/null 2>&1 # We need to rename the install folder sudo mv $final_path/install $final_path/install_old ###### END OF IF ######################## fi; # Special adjustements of phpBB AFTER installation (according to documentation) sudo chmod 644 $final_path/config.php sudo chmod 777 $final_path/store sudo chmod 777 $final_path/cache sudo chmod 777 $final_path/files sudo chmod 777 $final_path/images/avatars/upload