/var/www/html vs public_html

Få hjælp og support til alt server-relateret. Guides og How-to's i forbindelse med servere hører også til her.
pm-c
Indlæg: 38
Tilmeldt: 20. aug 2019, 13:42

/var/www/html vs public_html

Indlæg af pm-c »

Hej Forum!
Har nogen en forklaring?

/var/www/html vs public_html
''''''''''''''''''''''''''''

Problemet er, at hjemmesiden skovenstrand vises fint med http://localhost/skovenstrandKopi (symlink), men
http://localhost/~peter/skovenstrandKopi resulterer i 'Der kan ikke oprettes forbindelse til dette website
localhost nægtede at oprette forbindelse ERR_CONNECTION_REFUSED'. apache2/error.log viser intet.

Procedurerne i https://wiki.ubuntu.com/UserDirectoryPHP, incl. 'Security note', er udført.

Alle kald virker, bortset fra http://localhost/~peter/skovenstrandKopi.

Kode: Vælg alt

~$ ls -l /var/www/html  ------  http://localhost
totalt 16
-rw-r--r-- 1 root root 10918 sep 13 17:17 index.html  (Apache2 Ubuntu Default Page)
-rw-r--r-- 1 root root    22 sep 13 17:45 info.php    (Viser 'PHP Version 7.2.19-0ubuntu0.18.04.2')
lrwxrwxrwx 1 root root    40 okt  5 17:49 skovenstrandKopi -> /home/peter/public_html/skovenstrandKopi

~$ ls -l public_html    ------   http://localhost/~peter
totalt 16
-rw-r--r--  1 peter peter   22 okt  8 13:51 info.php         (Viser 'PHP Version 7.2.19-0ubuntu0.18.04.2')
drwxr-xr-x  2 peter peter 4096 okt  6 13:12 skalOmkringHtml  (Folder omkring index.html-fil med lidt tekst)
drwxr-xr-x  2 peter peter 4096 okt  6 15:07 skalOmkringPHP   (Folder omkring index.php-fil med script)
drwxr-xr-x 15 peter peter 4096 sep 30 17:26 skovenstrandKopi  ERR_CONNECTION_REFUSED

~$ ls -la public_html/skovenstrandKopi  ------  Databasens indhold
totalt 1680
drwxr-xr-x 15 peter peter   4096 sep 30 17:26 .
drwxr-xr-x  5 peter peter   4096 okt  8 13:51 ..
-rwxr-xr-x  1 peter peter   2154 sep 30 15:50 adgangskontrol.php
-rwxr-xr-x  1 peter peter   2044 sep 30 15:50 adgangskontrolUpdateUpload.php
drwxr-xr-x  2 peter peter   4096 sep 30 16:51 adresser
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 doessingsFilm
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 dyrebilleder
-rwxr-xr-x  1 peter peter   1509 sep 30 15:50 fuldmagt.html
drwxr-xr-x  5 peter peter   4096 sep 30 15:50 historiskeKilder
-rwxr-xr-x  1 peter peter    104 sep 30 15:50 .htaccess
-rwxr-xr-x  1 peter peter    286 sep 30 15:50 ie.css
-rwxr-xr-x  1 peter peter  15889 sep 30 15:50 index.php
-rwxr-xr-x  1 peter peter   1103 sep 30 15:50 kontingentMv.html
-rwxr-xr-x  1 peter peter  10337 sep 30 15:50 matrikelHist765x430.jpg
-rwxr-xr-x  1 peter peter    470 sep 30 15:50 matrikelHist.html
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 matrikelKortII
-rwxr-xr-x  1 peter peter 280900 sep 30 15:50 matrikelnr.pdf
-rwxr-xr-x  1 peter peter 122894 sep 30 15:50 matrikelnrVejEjerskabRev3.pdf
drwxr-xr-x  3 peter peter   4096 sep 30 15:50 opdatering
-rwxr-xr-x  1 peter peter     34 sep 30 15:50 print.css
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 .protect
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 referater
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 regler
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 regnskaber
-rwxr-xr-x  1 peter peter  17622 sep 30 15:50 rikkeKomp48.jpg
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 rikkesBilleder
drwxr-xr-x  5 peter peter   4096 sep 30 15:50 skovenstrandDiverse
-rwxr-xr-x  1 peter peter   2012 sep 30 15:50 stilark.css
drwxr-xr-x  2 peter peter   4096 sep 30 15:50 strandrensning2019
-rwxr-xr-x  1 peter peter   7097 sep 30 15:50 style.css
-rwxr-xr-x  1 peter peter 106496 sep 30 15:50 Thumbs.db
-rwxr-xr-x  1 peter peter   6094 sep 30 15:50 updateUpload.php
-rwxr-xr-x  1 peter peter    532 sep 30 15:50 uploaderRef.php
-rwxr-xr-x  1 peter peter    534 sep 30 15:50 uploaderRgns.php
-rwxr-xr-x  1 peter peter   7382 sep 30 15:50 vedtaegter.html
-rwxr-xr-x  1 peter peter 514235 sep 30 15:50 vejledningRetningslinier3.pdf
-rwxr-xr-x  1 peter peter 507563 sep 30 15:50 vejledningRetningslinier.pdf



Venlig hilsen
Peter
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: /var/www/html vs public_html

Indlæg af AJenbo »

Er det meningen det skal være for alle brugere på maskinen eller blot for dig selv?
pm-c
Indlæg: 38
Tilmeldt: 20. aug 2019, 13:42

Re: /var/www/html vs public_html

Indlæg af pm-c »

Kun for mig selv.
Klaus Rasmussen
Admin
Indlæg: 5598
Tilmeldt: 26. apr 2010, 02:40
IRC nickname: ClaudiuS
Geografisk sted: Nyborg [fyn]

Re: /var/www/html vs public_html

Indlæg af Klaus Rasmussen »

Prøvet kommandoerne med sudo først?
Med Venlig Hilsen
Klaus

Kører Ubuntu 24.04.1 på ASUS All-Series, og Probook 4520s.
Gratis Ubuntumagasin: http://fullcirclemagazine.org/
https://mega.nz/folder/aJsmCYKa#dxMHKTi4Idmz6hiVpsI68Q
pm-c
Indlæg: 38
Tilmeldt: 20. aug 2019, 13:42

Re: /var/www/html vs public_html

Indlæg af pm-c »

Hvordan anvende sudo på http://localhost/~peter/skovenstrandKopi ??
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: /var/www/html vs public_html

Indlæg af AJenbo »

Det ville være godt at gøre det lidt tydeliger at de du ønsker hjælp med at opsætning af Apache2 til visning af PHP sider du har liggende in din hjemme mappe under public_html :)

Hvad er der i public_html/skovenstrandKopi/.htaccess og er der en tilsvarende public_html/skalOmkringPHP/.htaccess (for står det som at visning af denne mappe virker)?
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: /var/www/html vs public_html

Indlæg af thj01 »

Jeg tror ikke man kan køre det den vej... Altså at apache umiddelbart kan kigger i et symbolsk link....

Du skal have aktiveret personlige hjemmesider på serveren


Du kan finde en løsning der virker her: http://www.vidas.dk/guides/webserver.html (afsnit 4.3)

Jeg er ikke sikker på at, der ikke er nogle af tingene i afsnittene før der skal aktiveres, for at det virker, men du kan jo prøve dig frem
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."
pm-c
Indlæg: 38
Tilmeldt: 20. aug 2019, 13:42

Re: /var/www/html vs public_html

Indlæg af pm-c »

Tak for jeres svar. Jeg beklager, hvis jeg har udtrykt mig uklart.
LAMP er installeret, og phpmyadmin.

Jeg administrerer en hjemmeside, skovenstrand.dk, og har hidtil vedligeholdt den under Windows, bl.a. ved hjælp af Html-kit (292, den gratis version). Nu sker det ved at redigere i ~/public_html/skovenstrandKopi. Et symlink i /var/www/html til skovenstrandKopi gør, at http://localhost/skovenstrandKopi leverer en perfekt hjemmesidegengivelse, som er klart bedre end den gratis version af Html-kit under Windows.

Jeg har ændret skovenstrandKopi, www-data er tilføjet:

Kode: Vælg alt

peter@peter-UX305CA:~$ ls -ld ~/public_html/skovenstrandKopi
drwxrwxr-x 15 peter www-data 4096 okt 13 16:15 /home/peter/public_html/skovenstrandKopi


Nu giver /var/log/apache2/error.log enten ingen eller følgende fejlmeddelelse:

Kode: Vælg alt

[Sun Oct 13 14:57:17.850945 2019] [php7:notice] [pid 3080] [client ::1:51066] PHP Notice: Undefined index: bruger in /home/peter/public_html/skovenstrandKopi/adgangskontrol.php on line 25, referer: http://localhost/skovenstrandKopi/
[Sun Oct 13 14:57:17.851055 2019] [php7:notice] [pid 3080] [client ::1:51066] PHP Notice: Undefined index: php_self in /home/peter/public_html/skovenstrandKopi/adgangskontrol.php on line 47, referer: http://localhost/skovenstrandKopi/
[Sun Oct 13 15:00:51.285409 2019] [mpm_prefork:notice] [pid 3078] AH00169: caught SIGTERM, shutting down
[Sun Oct 13 15:01:15.266587 2019] [mpm_prefork:notice] [pid 1098] AH00163: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Sun Oct 13 15:01:15.273949 2019] [core:notice] [pid 1098] AH00094: Command line: '/usr/sbin/apache2'


info.php, skalOmktimgHtml og skalOmkringPHP vises uden fejl i browseren (localhost/~peter), det er kun skovenstrandKopi, der returnerer ERR_CONNECTION_REFUSED og giver ovenciterede fejl-log.
index_of_peter.png
index_of_peter.png (73.77 KiB) Vist 1780 gange

Det underlige er, at samme fil, skovenstrandKopi, som et symlink i /var/www/html/skovenstrandKopi (localhost/skovenstrandKopi) giver en perfekt fungerende hjemmesidegengivelse.

Kode: Vælg alt

peter@peter-UX305CA:~$ ls -l /var/www/html
totalt 16
-rw-r--r-- 1 root root 10918 sep 13 17:17 index.html
-rw-r--r-- 1 root root 22 sep 13 17:45 info.php
lrwxrwxrwx 1 root root 40 okt 5 17:49 skovenstrandKopi -> /home/peter/public_html/skovenstrandKopi


Man kan sige, at jeg kan være ligeglad: jeg har en perfekt hjemmesidegengivelse, som er nem at redigere.
Jeg vil imidlertid gerne forstå, nøgagtigt hvad der foregår i dette lille setup, før jeg installerer Brackets.
Nu vil jeg kigge nærmere på adgangskontrol.php.

.htaccess ligger udelukkende i skovenstrandKopi. Den er udfærdiget af dandomain.dk's support i forbindelse med etablering af SSL.
Indhold af .htaccess:

Kode: Vælg alt

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]


Indhold af adgangskontrol.php:

Kode: Vælg alt

<?php
session_start();

$accepteret_bruger = "xxx";
$accepteret_kode = "yyy";
$logintekst = "<h2>Grundejerforeningen Skoven Strand</h2>";
$hjemmeside = "http://www.skovenstrand.dk";   /*   M-C  6/9-2011     */


/* Hvis der er logget af */
if (isset($_REQUEST['logaf'])) {
  session_destroy();
  header("Location: $hjemmeside");
}

if (isset($_REQUEST['bruger'])) {
  $_SESSION['bruger'] = $_REQUEST['bruger'];
}

if (isset($_REQUEST['kode'])) {
  $_SESSION['kode'] = $_REQUEST['kode'];
}

/* Hvis ikke logget ind vises login-formular */
if ($_SESSION['bruger'] != $accepteret_bruger || $_SESSION['kode'] != $accepteret_kode) {
  ?>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <link rel="stylesheet" href="stilark.css" type="text/css">  <!--    ind 7/9-2011    M-C  -->
   <title>Du skal logge ind for at få adgang til siden</title>
  <!--   nyt    -------------------------- 6/9-2011   M-C   -->
  <script type="text/javascript">
  function fokus() {
  document.aaa.bruger.focus();
  }
  </script>
  <!--    nyt    ------------------------                   -->
  </head>
 
   <body onLoad=fokus()>   <!--  onLoad=fokus()  ind 6/9-2011    M-C  -->
  <div style="width:400px; text-align:center; margin-left:auto; margin-right:auto;">
  <p> &nbsp; </p>
   <?php echo $logintekst; ?>
  <p> &nbsp; </p>
  <form name=aaa action='<?php echo $_SERVER['php_self']; ?>' method='post'>
  <table style="width:400px;"><tr><td>Brugernavn:</td><td>Adgangskode:</td></tr>
  <tr><td><input style="width:175px;" type=text name="bruger"></td>
  <td><input style="width:175px;" type="password" name="kode"></td></tr>
  <tr><td colspan="2" align="center"><input value="Send" type="submit"> <input name="clear" value="Slet alt" title="Slet alt" type="reset"></td></tr>
  </table>
  </form>
  <p> &nbsp; </p>
   <img class="" border="0" style="width: 450px; height: 338px;" alt="" src="rikkeKomp48.jpg">
   
  </div>
  </body>
  </html>
  <?php
  exit();
}
?>
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: /var/www/html vs public_html

Indlæg af AJenbo »

Du må meget gerne markere kode beder som "Code", det går det meget nemmere at overskuge dit indlæg :) Jeg har redigeret det det for dig.

Det kan være du har konfigureret PHP til at køre med en lavere fejl tolerance end koden overholder.

Fejlbeskeden beskriver et problem i din php kode, jeg kan lige prøve at se på det. Det ville nok være godt at bruge nogle værktøjer der kan hjælpe med at identificere problemer i PHP kode. Det virker ikke som om du skriver objektorienteret eller bruger Composer, ellers ville jeg forslå PHPStan, men måske kan du bruge Phan eller Psalm istedet.
https://github.com/phan/phan
https://github.com/vimeo/psalm
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: /var/www/html vs public_html

Indlæg af AJenbo »

Jeg går ud fra at du har PHP 7 ellere nyre.

Den første fejl er at du prøver at tilgå en værdi på $_SESSION uden at tjekke om den er blevet sat.

Du bør ikke afslutte php med ?>, dette kan give problemer og har ingen fordel.

exit() er også noget der generelt bør undgåes, det betyder du ikke kan teste eller kombinere kode, og her er der ingen grund til at have den.

Jeg ville også sepere HTML delen ud i en anden fil som så kan inkluderes så du ikke har en blanding af flere sprog I samme fil, det bliver nemt rodet.

Jeg ville nok også lave kommentar i PHP kontekt så de ikke kommer med ud til brugeren. Måske ville det være en ide at akivere koden i git, så kan du nemt se hvem og hvornår noget er ændret frem for at have en masse kommentar i koden.

Det er også godt at bruge ===/!== frem for ==/!=, ellers tjekker PHP kun om værdierne liger, ikke om de er det samme. Det er særligt vigtigt ved et login da 'Jeg kender ikke koden' == true i visse tilfælde.

Udskrivning af bruger værdier så som $_SERVER['PHP_SELF'] er også farligt da det kan bruges til at overtage siden.

Sidst kunne du også med fordel gøre brug af "early return" så programmet stopper når du ved adgangde koden er ugyldig frem for at have en meget stor blok efter if. Det har du faktisk også glemt at gøre ved logaf funktionen.

Med alt det så ender vi med en kode der ser sådan her ud:

Kode: Vælg alt

<?php
session_start();

$accepteret_bruger = "xxx";
$accepteret_kode = "yyy";
$logintekst = "<h2>Grundejerforeningen Skoven Strand</h2>";
$hjemmeside = "http://www.skovenstrand.dk/"; // M-C  6/9-2011

// Hvis der er logget af
if (isset($_REQUEST['logaf'])) {
  session_destroy();
  header("Location: $hjemmeside");
  return;
}

if (isset($_REQUEST['bruger'])) {
  $_SESSION['bruger'] = $_REQUEST['bruger'] ?? null;
}
$bruger = $_SESSION['bruger'] ?? null;

if (isset($_REQUEST['kode'])) {
  $_SESSION['kode'] = $_REQUEST['kode'];
}
$bruger = $_SESSION['kode'] ?? null;

// Hvis ikke logget ind vises login-formular
if ($bruger !== $accepteret_bruger || $bruger !== $accepteret_kode) {
  ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <link rel="stylesheet" href="stilark.css" type="text/css"><?php // ind 7/9-2011    M-C
    ?><title>Du skal logge ind for at få adgang til siden</title><?php
  // nyt    -------------------------- 6/9-2011   M-C
  ?><script type="text/javascript">
  function fokus() {
    document.aaa.bruger.focus();
  }
  </script><?php
  // nyt    ------------------------
  ?></head>
    <body onLoad=fokus()><?php // onLoad=fokus()  ind 6/9-2011 M-C
  ?><div style="width:400px; text-align:center; margin-left:auto; margin-right:auto;">
  <p> &nbsp; </p>
    <?=$logintekst?>
  <p> &nbsp; </p>
  <form name=aaa action='<?=htmlentities($_SERVER['PHP_SELF'] ?? '')?>' method='post'>
  <table style="width:400px;"><tr><td>Brugernavn:</td><td>Adgangskode:</td></tr>
  <tr><td><input style="width:175px;" type=text name="bruger"></td>
  <td><input style="width:175px;" type="password" name="kode"></td></tr>
  <tr><td colspan="2" align="center"><input value="Send" type="submit"> <input name="clear" value="Slet alt" title="Slet alt" type="reset"></td></tr>
  </table>
  </form>
  <p> &nbsp; </p>
    <img class="" border="0" style="width: 450px; height: 338px;" alt="" src="rikkeKomp48.jpg">
  </div>
  </body>
  </html><?php
  return;
}
pm-c
Indlæg: 38
Tilmeldt: 20. aug 2019, 13:42

Re: /var/www/html vs public_html

Indlæg af pm-c »

Hej AJenbo!

Tak for koden.
Min PHP-version er 7.2.19.
Jeg har ændret xxx og yyy til de rigtige værdier og erstattet den hidtidige version af adangskontrol.php med din version.

Resultatet for localhost/skovenstrandkopi er, at jeg nu kun kommer til login billedet, men ikke kan komme videre, når jeg indtaster bruger og kode.

localhost/~peter/skovenstrandKopi er uændret: adgang nægtet.

Jeg har genstartet apache, slettet browserhstorik og genstartet ubuntu. Intet i error.log.

Venlig hilsen
Peter
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: /var/www/html vs public_html

Indlæg af AJenbo »

Slå fejl rapportering til for PHP og sænk muligvis fejl tolerencen.

Hvordan har du installere php og apache på maskinen?
Klaus Rasmussen
Admin
Indlæg: 5598
Tilmeldt: 26. apr 2010, 02:40
IRC nickname: ClaudiuS
Geografisk sted: Nyborg [fyn]

Re: /var/www/html vs public_html

Indlæg af Klaus Rasmussen »

Er dette ikke et server emne?
Med Venlig Hilsen
Klaus

Kører Ubuntu 24.04.1 på ASUS All-Series, og Probook 4520s.
Gratis Ubuntumagasin: http://fullcirclemagazine.org/
https://mega.nz/folder/aJsmCYKa#dxMHKTi4Idmz6hiVpsI68Q
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: /var/www/html vs public_html

Indlæg af AJenbo »

Jo
Klaus Rasmussen
Admin
Indlæg: 5598
Tilmeldt: 26. apr 2010, 02:40
IRC nickname: ClaudiuS
Geografisk sted: Nyborg [fyn]

Re: /var/www/html vs public_html

Indlæg af Klaus Rasmussen »

Flytter tråden til Servere.
Med Venlig Hilsen
Klaus

Kører Ubuntu 24.04.1 på ASUS All-Series, og Probook 4520s.
Gratis Ubuntumagasin: http://fullcirclemagazine.org/
https://mega.nz/folder/aJsmCYKa#dxMHKTi4Idmz6hiVpsI68Q