Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:apache

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
open:it:apache [2024/08/15 16:56] – [Apache Web-Server] Kaiopen:it:apache [2025/01/06 10:54] (aktuell) – [Webseiten & virtueller Host] Kai
Zeile 6: Zeile 6:
   - [[open:it:ssh|SSH-Zugang einrichten]]   - [[open:it:ssh|SSH-Zugang einrichten]]
   - [[open:it:mysql|MySQL-Datenbank]]   - [[open:it:mysql|MySQL-Datenbank]]
 +  - [[open:it:php|PHP einrichten]]
  
   * https://httpd.apache.org/docs/2.4/   * https://httpd.apache.org/docs/2.4/
Zeile 16: Zeile 17:
   sudo systemctl status apache2   sudo systemctl status apache2
  
-[[open:it:net#firewall|Firewall einrichten]] \\ 
-Firewall-Freigabe für Webseiten 
-  sudo ufw allow 80/tcp 
-Firewall-Freigabe für Webseiten verschlüsselt 
-  sudo ufw allow 443/tcp 
 Verzeichnis für Webseiten anlegen.  Verzeichnis für Webseiten anlegen. 
   sudo mkdir /var/www/sites   sudo mkdir /var/www/sites
Zeile 28: Zeile 24:
 Den Main-User in die Gruppe www-data aufnehmen, damit er Schreibrechte im Bereich der HTML-Seiten hat. Den Main-User in die Gruppe www-data aufnehmen, damit er Schreibrechte im Bereich der HTML-Seiten hat.
   sudo usermod -aG www-data <SUDO-USER>   sudo usermod -aG www-data <SUDO-USER>
 +
 +==== Firewall ====
 +[[open:it:net#firewall|Firewall einrichten]] \\
 +Freigabe für Webseiten
 +  sudo ufw allow 80/tcp
 +Firewall-Freigabe für verschlüsselte Webseiten
 +  sudo ufw allow 443/tcp
 +
 +
 ===== FTP-Zugang ===== ===== FTP-Zugang =====
   sudo apt install vsftpd   sudo apt install vsftpd
Zeile 159: Zeile 164:
   </html>   </html>
  
 +===== Proxy-Server =====
 +Erweiterungen installieren
 +  sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl
 +
 +Konfiguration mit SSL, hier für eine Subdomain, siehe auch [[open:it:apache|Apache Web-Server]]:
 +  sudo nano  /etc/apache2/sites-available/<SUBDOMAIN>.conf
 +
 +  <IfModule mod_ssl.c>
 +  <VirtualHost *:443>
 +    ServerName calibre.<DOMAIN>.de
 +    ...
 +    ...
 +    ProxyPass        / http://localhost:8080/
 +    ProxyPassReverse / http://localhost:8080/
 +    ...
 +    ...
 +  </VirtualHost>
 +  </IfModule>
 +
 +<DOMAIN> ersetzen \\
 +DocumentRoot kann entfernt oder deaktiviert (#) werden
 +
 +  sudo apachectl configtest
 +
 +  sudo systemctl restart apache2
 +
 +Anschließend kann die Firewall für den Port 8080 (sofern verwendet) wieder deaktiviert werden, da der Aufruf nun über den Domainnamen bzw. Subdomain erfolgt. Siehe auch [[open:it:net#firewall|Firewall]].
 ===== SSL-Zertifikate ===== ===== SSL-Zertifikate =====
-https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-20-04-de \\+[[https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-20-04-de|Einrichtung: Ubuntu -> Apache]] \\ 
 +[[https://www.ssllabs.com/ssltest/|SSL-Zertifikat testen]] \\
 ==== DNS-Einstellungen ==== ==== DNS-Einstellungen ====
 Die DNS-Zeiger der Domain(s) müssen vorher beim Domainprovider eingestellt sein: Die DNS-Zeiger der Domain(s) müssen vorher beim Domainprovider eingestellt sein:
Zeile 216: Zeile 249:
 SSL-Zertifikat registrieren SSL-Zertifikat registrieren
   sudo certbot --apache   sudo certbot --apache
- 
-===== PHP ===== 
- 
-==== Ubuntu ==== 
- 
-https://php.watch/articles/install-php82-ubuntu-debian 
- 
-==== Debian ==== 
- 
-Der Apache-Server kann parallel mit unterschiedlichen PHP-Versionen betrieben und eine Version davon einer Domain explizit zugewiesen werden. \\ 
-Quelle: https://www.codinghood.de/blog/2021/05/php-7-4-und-php-8-0-zeitgleich-auf-einem-debian-10-mit-apache-und-php-fpm-installieren/ 
- 
-Benötigte Pakete wie curl installieren 
-  sudo apt-get -y install apt-transport-https lsb-release ca-certificates curl 
-Mit dem sury PHP Repository kommunizieren > Schlüssel herunterladen und installieren 
-  sudo curl -sSL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg 
-sury PHP Repository zur Source-List hinzufügen 
-  sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' 
- 
-Paketlisten neu einlesen und aktualisieren. 
-  sudo apt-get update 
- 
-PHP-Versionen installieren (je nach Bedarf) 
-  sudo apt install php7.4 php7.4-bcmath php7.4-cli php7.4-common php7.4-curl php7.4-dev php7.4-fpm php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-sqlite3 php7.4-tidy php7.4-xsl php7.4-zip 
- 
-  sudo apt install php8.0 php8.0-bcmath php8.0-cli php8.0-common php8.0-curl php8.0-dev php8.0-fpm php8.0-gd php8.0-imap php8.0-intl php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-readline php8.0-soap php8.0-sqlite3 php8.0-tidy php8.0-xml php8.0-xsl php8.0-zip 
- 
-  sudo apt install php8.2 php8.2-bcmath php8.2-cli php8.2-common php8.2-curl php8.2-dev php8.2-fpm php8.2-gd php8.2-imap php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-soap php8.2-sqlite3 php8.2-tidy php8.2-xml php8.2-xsl php8.2-zip 
- 
-Check Installiert - sollte bei allen Versionen klappen 
-  sudo systemctl status php7.4-fpm.service 
- 
-Apache-Module zum Umgang mit den PHP-FPM Installationen 
-  sudo apt-get install libapache2-mod-fcgid php-fpm 
- 
-  sudo a2enmod actions alias fcgid proxy_fcgi  
- 
-Version auswählen (Server intern) 
-  sudo update-alternatives --config php 
- 
-Auswahl Basisversion (Server intern) 
-  sudo update-alternatives --config php-fpm.sock 
- 
-Standartversion Apache festlegen -> hier nur eine Version, die anderen, sofern aktiviert, mit a2disconf abschalten 
-  sudo a2enconf php8.2-fpm.conf 
- 
-  sudo systemctl reload apache2 
-   
-Nur wenn eine Domain/Subdomain eine andere, als die PHP-Standard-Version, benötigt, die entsprechende Apache-Conf-Datei konfigurieren und Zeile einfügen. \\ 
-  sudo nano /etc/apache2/sites-available/xxx.conf 
-Zum Beispiel: 
-  Include /etc/apache2/conf-available/php8.0-fpm.conf 
- 
-  sudo systemctl reload apache2 
- 
-Check PHP-Version auf Webseite 
-  sudo nano /var/www/sites/.../phpinfo.php 
- 
-    <?php  
-      phpinfo(); 
-    ?> 
-   
  
open/it/apache.1723733799.txt.gz · Zuletzt geändert: 2024/08/15 16:56 von Kai