diff --git a/manage_vhosts.sh b/manage_vhosts.sh
new file mode 100644
index 0000000..8122578
--- /dev/null
+++ b/manage_vhosts.sh
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+# Check for root privileges
+if [[ $EUID -ne 0 ]]; then
+ echo "This script must be run as root (use sudo)"
+ exit 1
+fi
+
+# Ensure SELinux management tools are present for permanent contexts
+if ! command -v semanage &> /dev/null; then
+ echo "Installing policycoreutils for SELinux management..."
+ dnf install -y policycoreutils-python-utils
+fi
+
+create_vhost() {
+ echo ""
+ read -p "Enter the domain name to CREATE (e.g., example.com): " DOMAIN
+
+ if [[ -z "$DOMAIN" ]]; then
+ echo "Domain cannot be empty."
+ return
+ fi
+
+ SITE_DIR="/var/www/$DOMAIN/public_html"
+ CONF_FILE="/etc/httpd/conf.d/$DOMAIN.conf"
+
+ if [ -f "$CONF_FILE" ]; then
+ echo "Warning: A virtual host for $DOMAIN already exists!"
+ return
+ fi
+
+ echo "Creating Virtual Host directories for $DOMAIN..."
+ mkdir -p "$SITE_DIR"
+
+ # Create a basic index.html for testing
+ echo "
$DOMAINSuccess! $DOMAIN is live on Fedora.
" > "$SITE_DIR/index.html"
+
+ # Set Permissions and PERMANENT SELinux Contexts
+ chown -R apache:apache "/var/www/$DOMAIN"
+ semanage fcontext -a -t httpd_sys_content_t "/var/www/$DOMAIN(/.*)?" 2>/dev/null
+ restorecon -Rv "/var/www/$DOMAIN" >/dev/null
+
+ # Create the Apache Configuration File
+ cat < "$CONF_FILE"
+
+ ServerName $DOMAIN
+ ServerAlias www.$DOMAIN
+ DocumentRoot $SITE_DIR
+
+ ErrorLog /var/log/httpd/$DOMAIN-error.log
+ CustomLog /var/log/httpd/$DOMAIN-access.log combined
+
+
+ AllowOverride All
+ Require all granted
+
+
+EOF
+
+ # Test and Restart Apache
+ echo "Testing Apache configuration..."
+ apachectl configtest
+
+ if [ $? -eq 0 ]; then
+ systemctl restart httpd
+ echo "----------------------------------------------------"
+ echo "Virtual Host Created Successfully!"
+ echo "Site Root: $SITE_DIR"
+ echo "Config File: $CONF_FILE"
+ echo "----------------------------------------------------"
+ else
+ echo "Configuration error detected. Rolling back config file..."
+ rm -f "$CONF_FILE"
+ fi
+}
+
+delete_vhost() {
+ echo ""
+ read -p "Enter the domain name to DELETE (e.g., example.com): " DOMAIN
+
+ if [[ -z "$DOMAIN" ]]; then
+ echo "Domain cannot be empty."
+ return
+ fi
+
+ SITE_DIR="/var/www/$DOMAIN"
+ CONF_FILE="/etc/httpd/conf.d/$DOMAIN.conf"
+
+ if [ ! -f "$CONF_FILE" ] && [ ! -d "$SITE_DIR" ]; then
+ echo "Error: No Virtual Host or directory configuration found for $DOMAIN."
+ return
+ fi
+
+ echo "CRITICAL WARNING: This will permanently delete:"
+ echo " - Configuration: $CONF_FILE"
+ echo " - All web files in: $SITE_DIR"
+ read -p "Are you absolutely sure you want to proceed? (y/n): " CONFIRM
+
+ if [[ "$CONFIRM" =~ ^[yY]([eE][sS])?$ ]]; then
+ echo "Removing configurations and files..."
+ rm -f "$CONF_FILE"
+ rm -rf "$SITE_DIR"
+
+ # Clean up SELinux database rules for this directory
+ semanage fcontext -d -t httpd_sys_content_t "$SITE_DIR(/.*)?" 2>/dev/null
+
+ echo "Testing configuration and reloading Apache..."
+ apachectl configtest && systemctl restart httpd
+ echo "----------------------------------------------------"
+ echo "Virtual Host $DOMAIN has been completely removed."
+ echo "----------------------------------------------------"
+ else
+ echo "Deletion canceled."
+ fi
+}
+
+# --- Main Menu Loop ---
+while true; do
+ echo ""
+ echo "================================="
+ echo " Fedora Apache Site Manager "
+ echo "================================="
+ echo "1) Create a New Virtual Host"
+ echo "2) Delete an Existing Virtual Host"
+ echo "3) Exit"
+ echo "================================="
+ read -p "Choose an option (1-3): " MENU_CHOICE
+
+ case "$MENU_CHOICE" in
+ 1)
+ create_vhost
+ ;;
+ 2)
+ delete_vhost
+ ;;
+ 3)
+ echo "Exiting Site Manager. Goodbye!"
+ break
+ ;;
+ *)
+ echo "Invalid choice. Please select 1, 2, or 3."
+ ;;
+ esac
+done
\ No newline at end of file