apt install apache2 mariadb-server php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml
mysql_secure_installation
Anweisungen befolgen, Passwort setzen, alles andere bestätigen
Dann:
su --login mysql -uroot In mysql: CREATE DATABASE atze; CREATE USER 'atze'@'localhost' IDENTIFIED BY 'awaHg-1'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON *.* TO 'atze'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
In datenbank.sql muss eventuell noch der Befehl "USE datenbankname;" eingefügt werden.
su --login mysql -uroot < datenbank.sql
Die Konfiguration liegt unter /etc/apache2
In sites-available liegen sog VirtualHost Direktiven:
Entscheidend sind darin diese Zeilen:
ServerName erste.atz ServerAdmin webmaster@localhost DocumentRoot /home/atze/webseiten/erste
ServerName ist ein gültiger Domainname, DocumentRoot ein Verzeichnis im Dateisystem.
Der Nutzer, der mit dem Code arbeiten soll, muss Schreibrecht auf den Ordner haben.
chown -Rv nutzer:nutzer /var/www/html
Erlaubt nutzer die Arbeit im voreingestellten DocumentRoot
vim /etc/php/7.4/apache/php.ini
Suchen Sie nach "display_errors" und setzen Sie den Wert dahinter auf On
Apache neu starten:
systemctl restart apache2
session_start(); header('Content-Type: text/html; charset=utf-8'); //Erst einmal ein paar Voreinstellungen $login=false; $timestamp=time(); if(isset($_GET['out'])){ $_SESSION=array(); } if (isset($_SESSION['login'])){ if ($_SESSION['login'] === true){ $login=true; } } require ("dbkram.php"); //login abwickeln if (isset($_POST['login'])){ $user=str_replace("'","",$_POST['nutz']); $pass=str_replace("'","",$_POST['pass']); $login = db_checkLogin($user,$pass); if (!$login){ $loginMessage="<p>Login fehlgeschlagen</p>"; } else{ $_SESSION['login'] = true; $loginMessage="<p>Login erfolgreich</p>"; } }