linux  webserver  apache

apache2

apache2 Installation unter debian 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

# Nur da wo es noch nicht der Fall ist (klappt nicht bei Erstinstallation)
find /var/www/html ! -group www-data -exec sudo chown www-data:www-data {} \;
find /var/www/html ! -user www-data -exec sudo chown www-data:www-data {} \;
find /var/www/html ! -perm 775 -exec sudo chmod 775 {} \;

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 775 /var/www/html

# mani zu www-data hinzufügen
sudo usermod -aG www-data mani
#reboot

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!)
 apache   linux   webserver