I am creating a code to automate the initialization of a development environment in Ubuntu (LEMP STACK). Here I put Server NginX + MariaDb + PHP7.0 + Laravel, ..., etc. The complete list with comments is HERE .
It works like this:
source sysInit
. Then the chosen applications are installed one by one without the need for human interaction.
Between one install block and another I put a " clear " to clean the terminal. But I'd like to pause a few seconds before going to the next block. Could anyone suggest how to do this?
The code is not yet in its final version, but I leave it below for anyone who has an interest. Note: the linux server is "ila". Change "ila" to "your user".
sudo apt-get update
sudo apt-get install -y figlet
clear
figlet LEMP_STACK
clear
figlet TREE
sudo apt-get install -y tree
clear
figlet Only_for_virtual_machine_users
figlet VIRTUALBOX_GUEST_DKMS
sudo apt-get install -y virtualbox-guest-dkms
clear
figlet Only_for_virtual_machine_users
figlet ADD_USER_TO_VBOXSF_GROUP
sudo groups ila
sudo usermod -aG vboxsf ila
sudo groups ila
clear
figlet Only_64bits
figlet GOOGLE_CHROME
sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
sudo apt-get install -y google-chrome-stable
clear
figlet SUBLIME_TEXT_3
sudo add-apt-repository -y ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install -y sublime-text-installer
clear
figlet NGINX
sudo apt-get install -y nginx
clear
figlet PHP_7.0
sudo apt-get install -y php7.0-dev
sudo apt-get install -y php7.0-cgi
sudo apt-get install -y php7.0-fpm
sudo apt-get install -y php7.0-mcrypt
sudo apt-get install -y php7.0-mbstring
sudo apt-get install -y php7.0-mysql
sudo apt-get install -y php7.0-curl
sudo apt-get install -y php7.0-json
sudo apt-get install -y php7.0-xsl
sudo apt-get install -y php7.0-intl
#sudo apt-get install -y libapache2-mod-php7.0
sudo apt-get install -y phpunit
clear
figlet GIT
sudo apt-get install -y git
clear
figlet GITK
sudo apt-get install -y gitk
clear
figlet GIT_GUI
sudo apt-get install -y git-gui
clear
figlet NODE_JS
sudo apt-get install -y nodejs
nodejs -v
figlet MAKING_NODE_JS_TO_NODE
cd /usr/bin/
ln -s nodejs node
node -v
clear
figlet NPM
sudo apt-get install -y npm
npm -v
clear
figlet BOWER
npm install -g bower
bower -v
clear
figlet GULP
npm install -g gulp
gulp -v
clear
//Note, the key must be constantly updated from the oficial web site https://getcomposer.org/download/ to avoid error
figlet COMPOSER
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '61069fe8c6436a4468d0371454cf38a812e451a14ab1691543f25a9627b97ff96d8753d92a00654c21e2212a5ae1ff36') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/bin/composer
clear
figlet JAVA_9
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install -y oracle-java9-installer
sudo apt-get install -y oracle-java9-set-default
java -version
figlet MYSQL_WORKBENCH
sudo apt-get install -y mysql-workbench
clear
figlet MARIA_DB_SERVER
sudo apt-get install -y mariadb-server
clear
figlet ADDING_ROOT_USER_TO_MARIA_DB
sudo mysql -e "CREATE USER 'ila'@'localhost' IDENTIFIED BY '123'; GRANT ALL PRIVILEGES ON * . * TO 'ila'@'localhost'; FLUSH PRIVILEGES;select Host,User,Password from mysql.user;"
clear
figlet NODE_RED
sudo npm install -g node-red
clear
So this is final code aversion:
sudo apt-get update
sudo apt-get install -y figlet
clear
figlet LEMP_STACK
sleep 5s
clear
figlet TREE
sudo apt-get install -y tree
sleep 5s
clear
figlet Only_for_virtual_machine_users
figlet VIRTUALBOX_GUEST_DKMS
sudo apt-get install -y virtualbox-guest-dkms
sleep 5s
clear
figlet Only_for_virtual_machine_users
figlet ADD_USER_TO_VBOXSF_GROUP
sudo groups ila
sudo usermod -aG vboxsf ila
sudo groups ila
sleep 5s
clear
figlet Only_64bits
figlet GOOGLE_CHROME
sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
sudo apt-get install -y google-chrome-stable
sleep 5s
clear
figlet SUBLIME_TEXT_3
sudo add-apt-repository -y ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install -y sublime-text-installer
sleep 5s
clear
figlet NGINX
sudo apt-get install -y nginx
sleep 5s
clear
figlet PHP_7.0
sudo apt-get install -y php7.0-dev
sudo apt-get install -y php7.0-cgi
sudo apt-get install -y php7.0-fpm
sudo apt-get install -y php7.0-mcrypt
sudo apt-get install -y php7.0-mbstring
sudo apt-get install -y php7.0-mysql
sudo apt-get install -y php7.0-curl
sudo apt-get install -y php7.0-json
sudo apt-get install -y php7.0-xsl
sudo apt-get install -y php7.0-intl
#sudo apt-get install -y libapache2-mod-php7.0
sudo apt-get install -y phpunit
sleep 5s
clear
figlet GIT
sudo apt-get install -y git
sleep 5s
clear
figlet GITK
sudo apt-get install -y gitk
sleep 5s
clear
figlet GIT_GUI
sudo apt-get install -y git-gui
sleep 5s
clear
figlet NODE_JS
sudo apt-get install -y nodejs
nodejs -v
sleep 5s
figlet MAKING_NODE_JS_TO_NODE
cd /usr/bin/
ln -s nodejs node
node -v
sleep 5s
clear
figlet NPM
sudo apt-get install -y npm
npm -v
sleep 5s
clear
figlet BOWER
npm install -g bower
bower -v
sleep 5s
clear
figlet GULP
npm install -g gulp
gulp -v
sleep 5s
clear
//Note, the key must be constantly updated from the oficial web site https://getcomposer.org/download/ to avoid error
figlet COMPOSER
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '61069fe8c6436a4468d0371454cf38a812e451a14ab1691543f25a9627b97ff96d8753d92a00654c21e2212a5ae1ff36') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/bin/composer
sleep 5s
clear
figlet JAVA_9
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install -y oracle-java9-installer
sudo apt-get install -y oracle-java9-set-default
java -version
sleep 5s
clear
figlet MYSQL_WORKBENCH
sudo apt-get install -y mysql-workbench
sleep 5s
clear
figlet MARIA_DB_SERVER
sudo apt-get install -y mariadb-server
sleep 5s
clear
figlet ADDING_ROOT_USER_TO_MARIA_DB
sudo mysql -e "CREATE USER 'ila'@'localhost' IDENTIFIED BY '123'; GRANT ALL PRIVILEGES ON * . * TO 'ila'@'localhost'; FLUSH PRIVILEGES;select Host,User,Password from mysql.user;"
sleep 5s
clear
figlet NODE_RED - IoT
sudo npm install -g node-red
sleep 5s
clear