146 lines
3.7 KiB
Bash
Executable File
146 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Create new Drupal installation
|
|
# + database
|
|
# + database user
|
|
#
|
|
|
|
RED="\e[0;31m"
|
|
GRN="\e[0;32m"
|
|
BLU="\e[0;34m"
|
|
WHT="\e[0;97m"
|
|
BOLDRED="\e[1;31m"
|
|
BOLDGRN="\e[1;32m"
|
|
BOLDBLU="\e[1;34m"
|
|
BOLDWHT="\e[1;97m"
|
|
END="\e[00m"
|
|
|
|
DBUSER="root"
|
|
DBPASS="1234"
|
|
|
|
NAME=$1
|
|
|
|
function ok() {
|
|
echo -e "${BOLDGRN} [ OK ]${END}"
|
|
}
|
|
|
|
function fail() {
|
|
echo -e "${BOLDRED} [FAIL]${END}"
|
|
echo
|
|
exit
|
|
}
|
|
|
|
echo
|
|
echo -ne " 💧 Create new drupal in dir ${WHT}$NAME${END} ..."
|
|
composer --no-interaction create-project drupal/recommended-project:9.5.10 $NAME > /dev/null 2>&1
|
|
#CMD="composer --no-interaction create-project drupal/recommended-project:9 $NAME > /dev/null 2>&1"
|
|
#CMD="composer create-project drupal/recommended-project:9 $NAME"
|
|
#sudo su -l apache -s /bin/bash -c "cd $PWD; $CMD"
|
|
if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo -ne " 🐬 Create database ${WHT}$NAME${END} ..."
|
|
mysql -uroot -p1234 -e "CREATE DATABASE $NAME"
|
|
if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo -ne " 🐬 Create database user ${WHT}$NAME${END} with password '1234' ..."
|
|
mysql -uroot -p1234 -e "CREATE USER $NAME@localhost IDENTIFIED BY \"1234\""
|
|
if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo -ne " 🐬 Grand user ${WHT}${NAME}${END} permissions to database ${WHT}${NAME}${END} ..."
|
|
mysql -uroot -p1234 -e "GRANT ALL ON $NAME.* TO $NAME@localhost"
|
|
if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo -ne " 🐬 Flush privilages ..."
|
|
mysql -uroot -p1234 -e "FLUSH PRIVILEGES"
|
|
if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
# echo -ne " 🍒 Drupal settings.php"
|
|
# cd $NAME/web
|
|
# cp sites/default/default.settings.php sites/default/settings.php
|
|
# cat >> sites/default/settings.php <<EOL
|
|
# \$databases['default']['default'] = array (
|
|
# 'database' => '$NAME',
|
|
# 'username' => '$NAME',
|
|
# 'password' => '1234',
|
|
# 'prefix' => '',
|
|
# 'host' => 'localhost',
|
|
# 'port' => '3306',
|
|
# 'namespace' => 'Drupal\\\\mysql\\\\Driver\\\\Database\\\\mysql',
|
|
# 'driver' => 'mysql',
|
|
# 'autoload' => 'core/modules/mysql/src/Driver/Database/mysql/',
|
|
# );
|
|
|
|
# EOL
|
|
# if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo -ne " 🐷 Change files owner to user ${WHT}apache${END}"
|
|
cd $NAME/web
|
|
mkdir sites/default/files
|
|
cd ../..
|
|
chown apache:apache $NAME -R
|
|
find $NAME -type d -exec chmod 755 {} \;
|
|
find $NAME -type f -exec chmod 644 {} \;
|
|
if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
#echo -ne " 🍒 link html to ${WHT}$NAME${END}"
|
|
#unlink /var/www/html
|
|
#ln -s /var/www/sites/$NAME/web /var/www/html
|
|
#if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo
|
|
ls -l --color=auto /var/www/site[1234]
|
|
echo
|
|
|
|
# echo -ne " 🌈 Restart httpd "
|
|
# systemctl restart httpd
|
|
# if [ $? = 0 ]; then ok; else fail; fi
|
|
#
|
|
# echo -ne " 🌈 Restart php "
|
|
# systemctl restart php-fpm
|
|
# if [ $? = 0 ]; then ok; else fail; fi
|
|
#
|
|
# echo -ne " 🌈 Restart mysql "
|
|
# systemctl restart mysql
|
|
# if [ $? = 0 ]; then ok; else fail; fi
|
|
|
|
echo
|
|
echo -e "Finish the installation..."
|
|
echo
|
|
echo -e "URL : http://192.168.56.101"
|
|
echo -e "Database: ${NAME}"
|
|
echo -e "Username: ${NAME}"
|
|
echo -e "Password: 1234"
|
|
echo
|
|
read -p "...and press [ENTER] to continue installing extra modules"
|
|
echo
|
|
exit
|
|
|
|
echo -e "🍓"
|
|
|
|
# Headless backend rest api server
|
|
drush en serialization
|
|
drush en rest
|
|
drush en jsonapi
|
|
drush cr
|
|
|
|
composer require 'drupal/rest_views:^2.0'
|
|
drush en rest_views
|
|
|
|
composer require 'drupal/restui:^1.21'
|
|
drush en restui
|
|
|
|
composer require 'drupal/rpb:^1.0@beta'
|
|
|
|
#composer require 'drupal/decoupled_rest_views:^1.0@alpha'
|
|
#composer require 'drupal/entity_rest_extra:^2.1'
|
|
#composer require 'drupal/rest_entity_recursive:^2.0@RC'
|
|
|
|
# Devel
|
|
composer require 'drupal/rest_views:^2.0'
|
|
composer require 'drupal/devel'
|
|
rm -rf vendor/autoload.php vendor/autoload_runtime.php vendor/composer
|
|
composer install
|
|
drush cr
|
|
drush en devel_generate
|
|
|