#!/bin/bash # Skrypt instalacyjny dla Apache2, PHP, MySQL i WordPressa na Ubuntu # Krok 1: Sprawdzenie wersji PHP echo "Sprawdzanie wersji PHP zainstalowanej w systemie..." php -v # Krok 2: Instalacja Apache2, PHP i MySQL echo "Instalowanie Apache2, PHP i MySQL..." sudo apt update sudo apt install -y apache2 mysql-server php libapache2-mod-php php-mysql php-cli php-zip php-gd php-xml php-mbstring # Krok 3: Edycja pliku php.ini echo "Edycja pliku php.ini w celu dostosowania ustawień PHP..." # Zmieniamy ustawienia dla WordPressa, np. maksymalny rozmiar uploadu, czas wykonania skryptów, itd. PHP_INI_PATH=$(php -r "echo php_ini_loaded_file();") sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 64M/' $PHP_INI_PATH sudo sed -i 's/post_max_size = 8M/post_max_size = 64M/' $PHP_INI_PATH sudo sed -i 's/max_execution_time = 30/max_execution_time = 300/' $PHP_INI_PATH sudo sed -i 's/max_input_time = 60/max_input_time = 300/' $PHP_INI_PATH sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' $PHP_INI_PATH # Krok 4: Utworzenie bazy danych MySQL echo "Tworzenie bazy danych MySQL dla WordPressa..." MYSQL_ROOT_PASSWORD="rootpassword" # Możesz zmienić na własne hasło DB_NAME="wordpress" DB_USER="wp_user" DB_PASSWORD="wp_password" # Logowanie do MySQL i tworzenie bazy danych sudo mysql -u root -p$MYSQL_ROOT_PASSWORD -e "CREATE DATABASE $DB_NAME;" sudo mysql -u root -p$MYSQL_ROOT_PASSWORD -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';" sudo mysql -u root -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" sudo mysql -u root -p$MYSQL_ROOT_PASSWORD -e "FLUSH PRIVILEGES;" # Krok 5: Instalacja WordPressa echo "Instalowanie WordPressa..." cd /tmp wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz sudo cp -r wordpress/* /var/www/html/ # Krok 6: Zmiana uprawnień do katalogu /var/www/html/ echo "Zmiana uprawnień do katalogu /var/www/html/..." sudo chown -R www-data:www-data /var/www/html/ sudo chmod -R 755 /var/www/html/ # Krok 7: Konfiguracja Apache dla domeny echo "Konfiguracja Apache do hostowania WordPressa..." # Dodajemy ServerName do pliku konfiguracyjnego Apache, aby uniknąć błędu echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf # Tworzenie pliku konfiguracyjnego dla wirtualnego hosta VHOST_CONF="/etc/apache2/sites-available/wordpress.conf" echo " ServerAdmin webmaster@localhost DocumentRoot /var/www/html ServerName localhost ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined AllowOverride All " | sudo tee $VHOST_CONF # Włączenie konfiguracji wirtualnego hosta i mod_rewrite sudo a2ensite wordpress.conf sudo a2enmod rewrite # Restart Apache sudo systemctl restart apache2 # Krok 8: Dodanie adresu IP 10.0.2.15 do pliku hosts echo "Dodawanie adresu IP 10.0.2.15 do pliku /etc/hosts..." echo "10.0.2.15 localhost" | sudo tee -a /etc/hosts # Krok 9: Sprawdzanie statusu Apache i MySQL echo "Sprawdzanie statusu Apache2 i MySQL..." sudo systemctl status apache2 sudo systemctl status mysql # Skrypt zakończony echo "Instalacja i konfiguracja zakończona pomyślnie!"