Skip to content

Commit 79bd089

Browse files
authored
Merge pull request #210 from stefopl/noobs-197
fix #197 ujednolicenie chce_LAMP.sh
2 parents 2cdf953 + 77d7795 commit 79bd089

File tree

2 files changed

+93
-77
lines changed

2 files changed

+93
-77
lines changed

scripts/chce_LAMP.sh

100755100644
Lines changed: 93 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,116 @@
11
#!/bin/bash
22
# LAMP = Linux + Apache + MySQL (MariaDB) + PHP
33
# Autor: Jakub 'unknow' Mrugalski
4+
# Edited and modified by: Andrzej 'Ferex' Szczepaniak, Jarosław 'Evilus' Rauza, Artur 'stefopl' Stefański
5+
6+
function show_help() {
7+
echo "Użycie: $0 [--php-fpm | --php-mod]"
8+
echo "Opcje:"
9+
echo " --php-fpm Zainstaluj Apache z FPM/FastCGI"
10+
echo " --php-mod Zainstaluj Apache z mod_php"
11+
echo " -h, --help Wyświetl pomoc"
12+
echo ""
13+
}
14+
15+
[[ $EUID != 0 ]] && { echo "Uruchom jako root" ; exit; }
16+
17+
USE_PHP_FPM=false
18+
19+
if [[ $# -eq 0 ]]; then
20+
show_help
21+
fi
22+
23+
for arg in "$@"; do
24+
case $arg in
25+
--php-fpm)
26+
USE_PHP_FPM=true
27+
;;
28+
--php-mod)
29+
USE_PHP_FPM=false
30+
;;
31+
-h|--help)
32+
show_help
33+
exit 0
34+
;;
35+
*)
36+
echo "Błąd: Nieprawidłowa opcja '$arg'."
37+
show_help
38+
exit 1
39+
;;
40+
esac
41+
done
442

543
apt update
6-
apt install -y software-properties-common
44+
apt install -y software-properties-common
745

8-
# Repozytoria zewnętrzne z najnowszym Apachem i PHP (nie ma ich w standardowym Ubuntu)
46+
# Repozytoria zewnętrzne z najnowszymi PHP i Apache2 (nie ma ich w standardowym Ubuntu)
947
add-apt-repository -y ppa:ondrej/apache2
1048
add-apt-repository -y ppa:ondrej/php
1149

12-
# apache + najpopularniejsze moduły do PHP
13-
apt install -y apache2 php libapache2-mod-php php-zip php-xml php-sqlite3 php-pgsql php-mysql php-mcrypt php-mbstring php-intl php-gd php-curl php-cli php-bcmath
14-
15-
# dodanie MariaDB (klient i serwer)
16-
apt install -y mariadb-server mariadb-client
17-
18-
# uruchomienie serwera mariadb
19-
systemctl start mariadb
50+
# Instalacja Apache2 oraz popularnych modułów PHP
51+
if [ "$USE_PHP_FPM" = true ]; then
52+
apt install -y apache2 libapache2-mod-fcgid php php-fpm php-curl php-common php-igbinary php-imagick php-intl php-mbstring php-xml php-zip php-bcmath php-gd php-cli php-memcached php-memcache php-sqlite3 php-pgsql php-mysql php-mcrypt
53+
# Zmiana mpm_prefork na mpm_event mpm-prefork działa kiedy instalujemy libapache2-mod-php a mpm_event dla php-fpm
54+
a2dismod mpm_prefork
55+
if ! apache2ctl -M | grep -q 'mpm_event'; then
56+
a2enmod mpm_event
57+
fi
58+
# Aktywacja konfiguracji modułu php-fpm dla apache2
59+
PHP_VERSION="$(/usr/bin/php.default -v | head -1 | cut -c5-7)"
60+
a2enconf php"$PHP_VERSION"-fpm
61+
a2enmod rewrite setenvif proxy proxy_fcgi
62+
else
63+
apt install -y apache2 libapache2-mod-php php php-curl php-common php-igbinary php-imagick php-intl php-mbstring php-xml php-zip php-bcmath php-gd php-cli php-sqlite3 php-pgsql php-mysql php-mcrypt
2064

21-
# aktywacja mod_rewrite dla wspierania krótkich linków - np. w Wordpress
22-
a2enmod rewrite
65+
PHP_VERSION="$(/usr/bin/php.default -v | head -1 | cut -c5-7)"
66+
a2disconf php"$PHP_VERSION"-fpm
67+
a2dismod mpm_event
68+
if ! apache2ctl -M | grep -q 'mpm_prefork'; then
69+
a2enmod php"$PHP_VERSION"
70+
a2enmod mpm_prefork
71+
fi
72+
a2enmod rewrite
73+
fi
2374

24-
# restart usługi po dodaniu nowego modułu
75+
# Restart Apache
2576
systemctl restart apache2
2677

27-
# dodanie autostartu do mariadb i apache
78+
# Instalacja MariaDB (klient i serwer)
79+
apt install -y mariadb-server mariadb-client
80+
# Uruchomienie serwera mariadb
81+
systemctl start mariadb
82+
# Dodanie MariaDB i Apache2 do autostartu
2883
systemctl enable apache2
2984
systemctl enable mariadb
3085

31-
# Usuwamy domyślną
32-
rm /var/www/html/index.html
3386

34-
# Dowód na działanie PHP
35-
echo '<?php echo "2 + 2 = ".(2+2); ' >/var/www/html/index.php
87+
if [ -f /var/www/html/index.html ]; then
88+
echo "Plik /var/www/html/index.html istnieje. Usuwanie..."
89+
rm /var/www/html/index.html
90+
fi
3691

37-
# == Lekki hardening ustawień ==
92+
if [ -f /var/www/html/index.php ]; then
93+
read -p "Plik /var/www/html/index.php już istnieje. Czy chcesz go nadpisać? (t/n): " choice
94+
if [[ "$choice" != "t" ]]; then
95+
echo "Plik nie został nadpisany."
96+
exit 0
97+
fi
98+
fi
3899

100+
echo '<?php
101+
echo "<h1>Test PHP</h1>";
102+
echo "<p>Wynik dodawania 2 + 2 = " . (2 + 2) . "</p>";
103+
echo "<p>Aktualny czas: " . date("d.m.Y H:i:s") . "</p>";
104+
echo "<p>Wersja PHP: " . phpversion() . "</p>";
105+
echo "<p>Server API: " . php_sapi_name() . "</p>";
106+
echo "<p>Domyślna strona utworzona za pomocą skryptu <a href=\"https://github.com/unkn0w/noobs/\">NOOBS</a> <a href=\"https://github.com/unkn0w/noobs/blob/main/scripts/chce_LAMP.sh\">chce_LAMP.sh</a></p>";
107+
?>' >/var/www/html/index.php
108+
109+
# == Lekki hardening ustawień ==
39110
# Serwer ma się nie doklejać swojej stopki nigdzie
40111
sed -i -e "s/^ServerSignature OS*.*\$/ServerSignature Off/" '/etc/apache2/conf-available/security.conf'
41-
42-
# Serwer będzie się przedstawiał jako "Apache" - bez wersji softu i OS
112+
# Serwer będzie się przedstawiał jako "Apache" - bez wersji softu i OS
43113
sed -i -e "s/^ServerTokens OS*.*\$/ServerTokens Prod/" '/etc/apache2/conf-available/security.conf'
44114

115+
# Restart Apache
116+
systemctl restart apache2

scripts/chce_LAMP_FastCGI.sh

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)