From 828fa6940df42efa1c940b5686e39e680f031ec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaros=C5=82aw=20Karcewicz?= Date: Wed, 11 May 2022 17:43:53 +0200 Subject: [PATCH] . --- multivm/Vagrantfile | 37 +++++++++ multivm/apachephp.sh | 9 +++ multivm/mariadb.sh | 19 +++++ multivm/standard.sh | 8 ++ ubuntu-lamp-phpmyadmin/Vagrantfile | 75 ++++++++++++++++++ ubuntu-lamp-phpmyadmin/ubuntulamp.sh | 113 +++++++++++++++++++++++++++ ubuntu-lamp2/ubuntulamp.sh | 113 +++++++++++++++++++++++++++ 7 files changed, 374 insertions(+) create mode 100644 multivm/Vagrantfile create mode 100644 multivm/apachephp.sh create mode 100644 multivm/mariadb.sh create mode 100644 multivm/standard.sh create mode 100644 ubuntu-lamp-phpmyadmin/Vagrantfile create mode 100644 ubuntu-lamp-phpmyadmin/ubuntulamp.sh create mode 100644 ubuntu-lamp2/ubuntulamp.sh diff --git a/multivm/Vagrantfile b/multivm/Vagrantfile new file mode 100644 index 0000000..4f07010 --- /dev/null +++ b/multivm/Vagrantfile @@ -0,0 +1,37 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + config.vm.box = "ubuntu/focal64" + + config.vm.box_check_update = false + + config.vm.provision "shell", + path: "standard.sh" + + + config.vm.define "web" do |web| + web.vm.hostname = "websrv" + web.vm.network "forwarded_port", guest: 80, host: 8080 + web.vm.network "private_network", ip: "10.10.0.2" + web.vm.provision "shell", + path: "apachephp.sh" + + end + + + config.vm.define "db" do |db| + db.vm.hostname = "websrv" + db.vm.network "private_network", ip: "10.10.0.3" + db.vm.provision "shell", + path: "mariadb.sh" + + end + + + +end diff --git a/multivm/apachephp.sh b/multivm/apachephp.sh new file mode 100644 index 0000000..e730154 --- /dev/null +++ b/multivm/apachephp.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +#Instalacja Apache i MC +sudo apt -y install apache2 + +#Instalacja PHP +sudo apt -y install php php-{cli,mysql,json,opcache,xml,mbstring,gd,curl} + +sudo systemctl restart apache2 \ No newline at end of file diff --git a/multivm/mariadb.sh b/multivm/mariadb.sh new file mode 100644 index 0000000..878f92c --- /dev/null +++ b/multivm/mariadb.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +#Instalacja serwera baz danych +sudo apt -y install mariadb-server mariadb-client + +#Konfiguracja serwera baz danych (wykonanie m.in. "mysql_secure_installation") + +sudo mysql -e "UPDATE mysql.user SET Password = PASSWORD('Zaq12wsx') WHERE User = 'root'" +sudo mysql -e "DELETE FROM mysql.user WHERE User='';" +sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" +sudo mysql -e "DROP DATABASE IF EXISTS test;" +sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" +sudo mysql -e "use mysql; update user set plugin='' where User='root';" +sudo mysql -u root -e "CREATE DATABASE IF NOT EXISTS baza_test;" +sudo mysql -u root -e "SHOW DATABASES;" +sudo mysql -e "flush privileges;" + + + diff --git a/multivm/standard.sh b/multivm/standard.sh new file mode 100644 index 0000000..eda4640 --- /dev/null +++ b/multivm/standard.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +#Aktualizacja systemu +sudo apt update && sudo apt upgrade -y + +#Instalacja Apache i podstawowego oprogramowania +sudo apt -y install mc unzip tree bzip2 htop + diff --git a/ubuntu-lamp-phpmyadmin/Vagrantfile b/ubuntu-lamp-phpmyadmin/Vagrantfile new file mode 100644 index 0000000..6658347 --- /dev/null +++ b/ubuntu-lamp-phpmyadmin/Vagrantfile @@ -0,0 +1,75 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://vagrantcloud.com/search. + config.vm.box = "ubuntu/focal64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # NOTE: This will enable public access to the opened port + config.vm.network "forwarded_port", guest: 80, host: 8080 + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine and only allow access + # via 127.0.0.1 to disable public access + # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + # config.vm.network "private_network", ip: "192.168.33.10" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + # config.vm.synced_folder "./html", "/var/www/html" + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + # config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + # vb.memory = "1024" + # end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Enable provisioning with a shell script. Additional provisioners such as + # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the + # documentation for more information about their specific syntax and use. + # config.vm.provision "shell", inline: <<-SHELL + # apt-get update + # apt-get install -y apache2 + # SHELL + +config.vm.provision "shell", + path: "ubuntulamp.sh" + +end diff --git a/ubuntu-lamp-phpmyadmin/ubuntulamp.sh b/ubuntu-lamp-phpmyadmin/ubuntulamp.sh new file mode 100644 index 0000000..0239226 --- /dev/null +++ b/ubuntu-lamp-phpmyadmin/ubuntulamp.sh @@ -0,0 +1,113 @@ +#!/bin/bash + +#Aktualizacja systemu +sudo apt update && sudo apt upgrade -y + +#Instalacja Apache i MC +sudo apt -y install apache2 mc + +#Instalacja PHP +sudo apt -y install php php-{cli,mysql,json,opcache,xml,mbstring,gd,curl} + +#Instalacja serwera baz danych +sudo apt -y install mariadb-server mariadb-client + +#Konfiguracja serwera baz danych (wykonanie m.in. "mysql_secure_installation") + +sudo mysql -e "UPDATE mysql.user SET Password = PASSWORD('Zaq12wsx') WHERE User = 'root'" +sudo mysql -e "DELETE FROM mysql.user WHERE User='';" +sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" +sudo mysql -e "DROP DATABASE IF EXISTS test;" +sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" +sudo mysql -e "use mysql; update user set plugin='' where User='root';" +sudo mysql -e "flush privileges;" + + + +#Instalacja phpmyadmin +cd /tmp +wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz +sudo mkdir -p /www/phpmyadmin +sudo tar xvf /tmp/Downloads/phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /www/phpmyadmin +sudo cp /www/phpmyadmin/config.sample.inc.php /www/phpmyadmin/config.inc.php + + +sudo chmod 660 /www/phpmyadmin/config.inc.php +sudo chown -R www-data:www-data /www/phpmyadmin + +cat << 'EOF' > phpmyadmin.conf + +# phpMyAdmin default Apache configuration + +Alias /phpmyadmin /www/phpmyadmin + + + Options SymLinksIfOwnerMatch + DirectoryIndex index.php + + + AddType application/x-httpd-php .php + + + SetHandler application/x-httpd-php + + php_value include_path . + php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp + php_admin_value open_basedir /www/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/www/php/php-gettext/:/www/php/php-php-gettext/:/www/javascript/:/www/php/tcpdf/:/www/doc/phpmyadmin/:/www/php/phpseclib/ + php_admin_value mbstring.func_overload 0 + + + + AddType application/x-httpd-php .php + + + SetHandler application/x-httpd-php + + php_value include_path . + php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp + php_admin_value open_basedir /www/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/www/php/php-gettext/:/www/php/php-php-gettext/:/www/javascript/:/www/php/tcpdf/:/www/doc/phpmyadmin/:/www/php/phpseclib/ + php_admin_value mbstring.func_overload 0 + + +# Authorize for setup + + + + AuthType Basic + AuthName "phpMyAdmin Setup" + AuthUserFile /etc/phpmyadmin/htpasswd.setup + + Require valid-user + + + +# Disallow web access to directories that don't need it + + Require all denied + + + Require all denied + + + Require all denied + + +EOF + +sudo mv phpmyadmin.conf /etc/apache2/conf-available/phpmyadmin.conf + +cp /etc/apache2/apache2.conf apache2.conf +cat << 'EOF' >> apache2.conf + + +Options Indexes FollowSymLinks +AllowOverride None +Require all granted + + +EOF + +sudo mv apache2.conf /etc/apache2/apache2.conf + +sudo a2enconf phpmyadmin.conf +sudo systemctl restart apache2 \ No newline at end of file diff --git a/ubuntu-lamp2/ubuntulamp.sh b/ubuntu-lamp2/ubuntulamp.sh new file mode 100644 index 0000000..0239226 --- /dev/null +++ b/ubuntu-lamp2/ubuntulamp.sh @@ -0,0 +1,113 @@ +#!/bin/bash + +#Aktualizacja systemu +sudo apt update && sudo apt upgrade -y + +#Instalacja Apache i MC +sudo apt -y install apache2 mc + +#Instalacja PHP +sudo apt -y install php php-{cli,mysql,json,opcache,xml,mbstring,gd,curl} + +#Instalacja serwera baz danych +sudo apt -y install mariadb-server mariadb-client + +#Konfiguracja serwera baz danych (wykonanie m.in. "mysql_secure_installation") + +sudo mysql -e "UPDATE mysql.user SET Password = PASSWORD('Zaq12wsx') WHERE User = 'root'" +sudo mysql -e "DELETE FROM mysql.user WHERE User='';" +sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" +sudo mysql -e "DROP DATABASE IF EXISTS test;" +sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" +sudo mysql -e "use mysql; update user set plugin='' where User='root';" +sudo mysql -e "flush privileges;" + + + +#Instalacja phpmyadmin +cd /tmp +wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz +sudo mkdir -p /www/phpmyadmin +sudo tar xvf /tmp/Downloads/phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /www/phpmyadmin +sudo cp /www/phpmyadmin/config.sample.inc.php /www/phpmyadmin/config.inc.php + + +sudo chmod 660 /www/phpmyadmin/config.inc.php +sudo chown -R www-data:www-data /www/phpmyadmin + +cat << 'EOF' > phpmyadmin.conf + +# phpMyAdmin default Apache configuration + +Alias /phpmyadmin /www/phpmyadmin + + + Options SymLinksIfOwnerMatch + DirectoryIndex index.php + + + AddType application/x-httpd-php .php + + + SetHandler application/x-httpd-php + + php_value include_path . + php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp + php_admin_value open_basedir /www/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/www/php/php-gettext/:/www/php/php-php-gettext/:/www/javascript/:/www/php/tcpdf/:/www/doc/phpmyadmin/:/www/php/phpseclib/ + php_admin_value mbstring.func_overload 0 + + + + AddType application/x-httpd-php .php + + + SetHandler application/x-httpd-php + + php_value include_path . + php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp + php_admin_value open_basedir /www/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/www/php/php-gettext/:/www/php/php-php-gettext/:/www/javascript/:/www/php/tcpdf/:/www/doc/phpmyadmin/:/www/php/phpseclib/ + php_admin_value mbstring.func_overload 0 + + +# Authorize for setup + + + + AuthType Basic + AuthName "phpMyAdmin Setup" + AuthUserFile /etc/phpmyadmin/htpasswd.setup + + Require valid-user + + + +# Disallow web access to directories that don't need it + + Require all denied + + + Require all denied + + + Require all denied + + +EOF + +sudo mv phpmyadmin.conf /etc/apache2/conf-available/phpmyadmin.conf + +cp /etc/apache2/apache2.conf apache2.conf +cat << 'EOF' >> apache2.conf + + +Options Indexes FollowSymLinks +AllowOverride None +Require all granted + + +EOF + +sudo mv apache2.conf /etc/apache2/apache2.conf + +sudo a2enconf phpmyadmin.conf +sudo systemctl restart apache2 \ No newline at end of file