linux  webserver  apache

apache2

apache2 Installation unter Linux mit einer Grundkonfiguration

Installation

sudo apt install apache2 libapache2-mod-php php php-cli php-cgi php-xml php-gd php-sqlite3 php-curl

#ggf. PHP-Version explizit installieren
sudo apt install apache2 libapache2-mod-php8.2 php8.2 php8.2-cli php8.2-cgi php8.2-xml php8.2-gd php8.2-sqlite3 php8.2-curl

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 775 /var/www/html
sudo usermod -aG www-data mani
# Bei www-data hinter dem letzten : die User der Gruppe angeben, mehrere User mit , getrennt angeben

Apache Dienst verwalten

sudo systemctl stop apache2
sudo systemctl start apache2
sudo systemctl restart apache2
sudo systemctl reload apache2
sudo systemctl status apache2

.htaccess aktivieren

sudo nano /etc/apache2/apache2.conf
Strg+W override
<Directory /var/www/>
       AllowOverride ALL
sudo service apache2 restart

Apache Sicherheitsfeature

Strict-Transport-Security

sudo nano /etc/apache2/sites-available/000-default-ssl.conf

<IfModule mod_headers.c>
        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
        Header always set X-Content-Type-Options "nosniff"
        Header always set X-Xss-Protection "1; mode=block"
        Header always set Referrer-Policy "no-referrer"
        Header always set X-Frame-Options "SAMEORIGIN"
<⁄IfModule>

sudo a2enmod headers
sudo service apache2 restart

php Version für den Apache ändern

#installiert sein muss der libapache2-mod-php mod!
sudo a2dismod php8.0
sudo a2enmod php8.2
sudo service apache2 restart

#php.ini Konfiguration in eine neue Version übernehmen (auch von Nextcloud die Einstellungen!)