Unterordner eines Apache Webservers freigeben?

Hallo, ich habe ein kleines Problem, bei dem ich dringend Hilfe gebrauchen könnte.

Ich habe unter Kali Linux einen Apache Webserver erstellt. Hierauf soll aus dem lokalen Netzwerk zugegriffen werden können. Das Standardverzeichnis ist hier /var/www/html. Die darin liegende index.html lässt sich auch Problemlos im Browser darstellen. Allerdings wollte ich einige Unterordner anlegen. So soll im Browser eine index.html angezeigt werden können, die im Verzeichnis /var/www/html/unterordner liegt. Versuche ich aber per Browser auf diesen Unterordner zuzugreifen, gebe also http://ip/unterordner an, stellt sich hieraus, dass ich keinen Zugriff darauf habe.

Es heißt hier:

Forbidden
You don't have permission to access this resource.

Im Titel der Seite steht zudem:

403 Forbidden

Es wurden keinerlei Änderungen in der Standardkonfiguration des Webservers vorgenommen. Standardmäßig sollte deshalb eigentlich der Zugriff auf alle Unterordner von /var/www/html und die darin liegende Dateien möglich sein.

Das ist jedoch nicht der Fall. Ich habe nun schon ein wenig recherchiert, aber irgendwie wollte nichts wirklich funktionieren.

Mein Verdacht, weshalb nicht auf die Unterordner zugegriffen werden kann, ist deshalb der, dass ich unter Linux für den Zugriff per FTP einen Nutzer angelegt habe, dessen Home-Verzeichnis /var/www ist.

Ich wäre sehr dankbar für jeden guten Ratschlag, wie sich das Problem lösen lassen könnte.

Computer, Technik, Linux, Apache, Technologie, Webserver, FTP-Server, Kali Linux
Alle verschiedenen Minecraft Server arten (Vanilla/Spiogt/Forge/...)?

Hey Leute,

ich bzw. wir sind derzeit daran ein Linux installations Script zu programmieren bzw. es ist vom Aufbau her Fertig, aber wir möchten gerne noch mehr hinzufügen.

Unser Installations Script soll sehr viele Sachen installieren können. Bisher kann man einen:

  • Minecraft Server (Vanilla/Spigot/Bukkit)
  • Teamspeak Server
  • Sinusbot (Musikbot für Teamspeak und Discord / UNENDLICH OFT INSTALLIERBAR!!!!)
  • Bannerbot für Teamspeak
  • Ranksystem für Teamspeak und
  • einen Webserver(Apache2, PHP, MySQL, PHPmyAdmin)

installieren. Wir fügen auch immer mehr Sachen hinzu. Ich wollt z.B. weitere Minecraft Versionen hinzufügen. Bisher gibt es Spigot, Bukkit und Vanilla. Diese gibt es für fast alle Versionen die es gibt. Doch ich möchte gerne noch weitere hinzufügen. Ich kenne bisher noch:

  • Bungeecord
  • Waterfall
  • Sponge
  • Forge
  • Cauldron

Ich weiß das es noch mehr gibt, aber ich weiß nicht (mehr) wie diese heißen. Wisst ihr vielleicht noch ein paar? Wäre echt nice

Spiele, Server, Computer, Teamspeak, Technik, Linux, Installation, Ubuntu, Gaming, Minecraft, Apache, Mc, Minecraft Server, MySQL, PHP, Script, sponge, Teamspeak 3, TeamSpeak Server, Technologie, Webserver, Apache2, Bukkit, Debian, mc-server, phpMyAdmin, Spigot, teamspeak-3-server, Bukkit server, musikbot, BungeeCord, Minecraft Forge Server, Discord, Sinusbot, Spiele und Gaming, Discord Bot
Problem mit Docker?

Problem mit Docker

und zwar haut bei mir der Befehl

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

nicht hin.

Ich erstelle ein Image über ein Dockerfile (docker build -t [name] .)

Das Image basierd auf debian:latest

Danach wird apt-get update & apt-get upgrade ausgeführt

Dann werden Komponenten installiert (sudo, apache2, php, cron, ...)

und wiederum danach werden die apache2 Konfigurierung angepasst das der Apache2-Server auf /webserver das DocumentRoot setzt

Soweit alles gut.

jetzt kann ich über den docker run befehl den parameter --mount hinzufügen und darüber ein externes Verzeichnis auf /webserver binden.

Bis hier her Funktioniert alles noch.

Jetzt wenn ich eine index.html aufrufe funktioniert das eine index.php funktioniert auch. Wenn ich jetzt jedoch in der .php Datei folgenden code Benutze(um auf MySql - Server zuzugreifen zu können):

      $mysqli = new mysqli("host_ip","bn","pw","tabelle");
      //echo mysqli_get_host_info($mysqli);
      if ($mysqli->connect_errno) {
          echo "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
          return false;
      }else{
          return $mysqli;
      }

Kommt ein 500-ServerError.

Soweit ich es jetzt ergoogeln konnte muss ich zusätzlich den Port 3306(MySql-Port) Exposen und zusätzlich mit -p 3306:3306 in den docker run befehl einbauen.

Außerdem muss man antscheinend mit

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

Das MySqli modul installieren & aktivieren.

Hier ist auch schon das Problem:

Wenn ich mit oben genannten befehl mein Image aus dem Dockerfile erstellen möchte kommt (wenn er an der Stelle mit "RUN docker-php..." ankommt):

RUN docker-php-ext-install mysqli
 ---> Running in bce06404a5ca
/bin/sh: 1: docker-php-ext-install: not found
The command '/bin/sh -c docker-php-ext-install mysqli' returned a non-zero code: 127

Und jetzt meine Frage wie kann ich diesen fehler Beheben, ich weiß leider nicht mehr weiter!

Für die vollständigkeit hier noch der docker run befehl(den ich benutze wenn ich das Funktionierende Image ohne "RUN docker-php-..." nutze):

docker run --name webserver \
-p 80:80 \
-p 3306:3306 \
--mount type=bind,source="/lokaler/pfad",destination=/webserver [name_des_images]
Computer, Technik, Apache, container, Image, MySQL, PHP, Port, Technologie, PDO, Docker, Spiele und Gaming
Lets Encrypt hinter Reverse Proxy nutzen?

Hi, aktuell baue ich mir ein Homelab und habe bereits einen Reverse Proxy mit Lets encrypt laufen, jetzt möchte ich aber auch noch die Zertifikate auf meinen Servern die hinter dem Proxy laufen installieren. Zum einen habe cih einen Nextcloud Server zum anderen möchte ich noch einen Gitlab Server installieren.

Kann mir jemand sagen wie ich dsa einrichten muss? Wenn ich Certbot auf dem Nextcloud Server ausführe bekomme ich immer einen Fehler.

Leider kann ich keinen A Eintrag setzen, da ich keine feste IP Adresse habe. Aktuell verwende ich einen Dyn DNS Dienst in meinem Router und einen CName Eintrag auf mehreren Subdomains bei einem 1und1 Konto.

Fehler:

Domain:

Type:  unauthorized

Detail: Invalid response from

DOMAIN/.well-known/acme-challenge/Ab2JXlpafv138Zk0LxgyVuUMj4LEMgMhJlhjGIvQCeM

  [79.231.202.163]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML

  2.0//EN\">\n<html><head>\n<title>404 Not

  Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"

  To fix these errors, please make sure that your domain name was

  entered correctly and the DNS A/AAAA record(s) for that domain

  contain(s) the right IP address.

Hier habe ich gelesen das man certbot auf http-01 Verifikation umstellen muss, das hat aber leider nicht geklappt.

https://community.letsencrypt.org/t/using-certbot-behind-an-ssl-reverse-proxy/36783

Server, Computer, Technik, Linux, Apache, Proxy, Technologie, Docker, Proxmox
Xampp Apache Server startet nicht(Ohne Log)?

Hallo, ich benutze seit Jahren für meinen Windows Rechner Xampp, um einen Lokalen Apache Server laufen zu lassen. Bisher gab es nie Probleme nur auf einmal lässt es sich nicht mehr Starten. Wenn ich Xampp starte, kommt keine Fehlermeldung und der Port 80 ist nicht belegt. Selbst, wenn ich einen anderen Port wähle, kommt dieselbe Meldung. Und zwar wird mir dies ausgegeben beim Starten:

02:58:01 [Apache]   Attempting to start Apache app...
02:58:01 [Apache]   Status change detected: running
02:58:02 [Apache]   Status change detected: stopped
02:58:02 [Apache]   Error: Apache shutdown unexpectedly.
02:58:02 [Apache]   This may be due to a blocked port, missing dependencies, 
02:58:02 [Apache]   improper privileges, a crash, or a shutdown by another method.
02:58:02 [Apache]   Press the Logs button to view error logs and check
02:58:02 [Apache]   the Windows Event Viewer for more clues
02:58:02 [Apache]   If you need more help, copy and post this
02:58:02 [Apache]   entire log window on the forums 

Als erstes habe ich natürlich den Log angesehen aber dort ist leer. Der letzte error log Eintrag ist 1 Monate her und hängt nicht damit zusammen. Hat einer dieses Problem bereits schon einmal gehabt oder hat eine Idee, wie ich wenigstens einen Fehlercode bekommen könnte?

MFG DreamGamer

Server, Computer, Wissen, Technik, programmieren, Apache, xampp, Erfahrungen
Wie kann ich ein SSL Zertifikat auf einem Apache2 Server aktivieren (Docker)?

Ich versuche schon über mehrere Tage es irgendwie hinzubekommen, dass der Webserver mit "https" erreichbar ist. Das gültige Zertifikat/ die Dateien habe ich schon:

cert.pem  chain.pem  fullchain.pem  privkey.pem

Jedoch läuft der Apache-Webserver als Docker Image. Ich weiß jedoch nicht, wie ich das SSL Zertifikat hinzufüge, da keine "normale" Apache2 Config vorliegt.

<VirtualHost *:443>
  SSLEngine on
  SSLCertificateChainFile "path to fullchain.pem"
  SSLCertificateKeyFile "path to privkey.pem"
</VirtualHost>

Dies habe ich ich dann via in den Apache2 Server-config importiert. (Wichtig zu wissen ist, dass der Pfad "sites-available" nicht exsestiert.

./configfile.conf:/etc/apache2/sites-available/000-default.conf

Port 80, also http funktioniert auch noch weiter... (80 und 443 sind freigegeben)

Weiß jemand, wie ich ein SSL Zertifikat auf einem Apache2 Server aktiviere, welcher auf Docker läuft / Wie ich die Config Datei richtig lade (denke nämlich nicht, dass diese richtig geladen wird)

Hier nochmal meine docker-compose.yml (unvollständing) :

   web:
    build:
        context: ./php
        dockerfile: Dockerfile
    container_name: php73
    depends_on:
      - db
    volumes:
      - /home/pi/web_dev/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
      - ./php:/var/www/html/
      - ./my_vhost.conf:/vhosts/myapp.conf:ro
      - ./certs:/certs
    ports:
      - 443:443
      - 80:80

Und meine Dockerfile:

FROM php:7.3.3-apache

RUN a2enmod ssl && a2enmod rewrite
RUN mkdir -p /etc/apache2/ssl

COPY /etc/letsencrypt/live/MYIP/*.pem /etc/apache2/ssl/
COPY ../config/000-default.conf /etc/apache2/sites-available/000-default.conf


RUN apt-get update && apt-get upgrade -y
RUN docker-php-ext-install mysqli
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
ADD php.ini /home/pi/web_dev
EXPOSE 80
EXPOSE 443
Computer, Internet, Technik, Apache, SSL, Zertifikat, Apache2, SSL-Zertifikat, Docker, Docker container