Crea sito
CREASITO
Lo script permette la creazione interattiva di un Virtual Host, chiede il nome del VH, il nome del database, dell'utente, la password e la password root del database. Genera il VH, il database e la configurazione apache.
Bash
#!/bin/bash
if [ "$EUID" -ne 0 ]
then
echo "Per favore, esegui questo script come root"
exit
fi
echo "Inserisci il nome del dominio (esempio.com):"
read -p "Dominio: " domain
echo "Inserisci il nome del database (esempio_db):"
read -p "Nome del database: " database
echo "Inserisci le credenziali dell'utente del database (esempio_user):"
read -p "Nome utente: " db_user
echo "Inserisci la password per l'utente del database:"
read -p "Password: " db_password
echo "Inserisci la password ROOT per il database:"
read -p "Password: " db_root_password
sudo tee /etc/apache2/sites-available/$domain.conf <<EOF
<VirtualHost *:80>
ServerName $domain
DocumentRoot /var/www/$domain
CustomLog /var/log/apache2/$domain-access.log combined
ErrorLog /var/log/apache2/$domain-error.log
<Directory /var/www/$domain>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
EOF
sudo a2ensite $domain.conf
sudo mkdir -p /var/www/$domain
sudo chown -R www-data:www-data /var/www/$domain
#sudo chmod -R 777 /var/www/$domain
sudo chmod -R g+rw /var/www/$domain
sudo service apache2 restart
# Creazione del database MariaDB
sudo mysql -uroot -p$db_root_password <<EOF
CREATE DATABASE $database;
CREATE USER '$db_user'@'localhost' IDENTIFIED BY '$db_password';
GRANT ALL PRIVILEGES ON $database.* TO '$db_user'@'localhost';
FLUSH PRIVILEGES;
EOF
echo "127.0.0.1 $domain" >> /etc/hosts
sudo systemctl restart cloudflared
echo "Virtual host e database creati con successo!"
⧉ Copied!