|
|
Zeile 16: |
Zeile 16: |
| * grün: die Verarbeitung wurde erfolgreich durchgeführt | | * grün: die Verarbeitung wurde erfolgreich durchgeführt |
| * rot: bei der Verarbeitung gab es Fehler! | | * rot: bei der Verarbeitung gab es Fehler! |
|
| |
| == Internet Ablagen einrichten ==
| |
|
| |
| Dabei werden auf dem OrgaMon WebServer virtuelles Host eingerichtet, einer für jeden Auftraggeber.
| |
|
| |
| * Anlegen des Benutzers ~SubDomain~
| |
|
| |
| Der Benutzername sollte der TopLevelDomain Prefix des Auftraggebers sein. Die Auftraggeber sei eine Zahnradfabrik. Deren Domain ist http://www.zf.com. Somit ist unser SubDomain zf. Zukünftiger Datenaustausch erfolgt über die Adresse http://zf.orgamon.de. Erster Schritt ist die Anlage des Benutzers zf. Um die Erklärung allgemein zu halten verwenden wir ab jetzt anstelle von "zf" immer ~SubDomain~.
| |
|
| |
| yast
| |
| Sicherheit und Benutzer->Benutzer anlegen un bearbeiten
| |
| <ALT>&<H> für "Hinzufügen"
| |
| Bei "Benutzername": ~SubDomain~ eintragen
| |
| Bei "Passwort": Das generierte Passwort aus dem Orgamon eintragen
| |
| <ALT>&<D> für Details
| |
| Bei "Homeverzeichnis": /srv/www/htdocs/~SubDomain~
| |
| Bei "Leeres Home": eine Haken machen!
| |
| Bei "Login-Shell": /bin/false
| |
| Bei "Standardgruppe": "ftp" auswählen
| |
| Bei "weitere Gruppen": nur "www", "ftp" darf angehakt sein!
| |
| <ALT>&<W> für weiter.
| |
| <ALT>&<E> für Anlegen.
| |
| yast Verlassen
| |
|
| |
| * Internetablage vor-befüllen
| |
|
| |
| #
| |
| # Sicherstellen, dass samba Vollzugriff auf die Ablage
| |
| # hat.
| |
| chmod 777 /srv/www/htdocs/~SubDomain~
| |
|
| |
| # für index.php sorgen
| |
| # für sort.txt sorgen
| |
|
| |
| chmod 666 sort.txt
| |
|
| |
| * PHP - Script zur Dateianzeige
| |
|
| |
| <nowiki>
| |
| <?php
| |
| define(SortOrderFileName,"sort.txt");
| |
|
| |
| function save($s)
| |
| { $fp = fopen(SortOrderFileName,"w");
| |
| fputs($fp,$s);
| |
| fclose($fp);
| |
| }
| |
|
| |
| function load()
| |
| { $fp = fopen(SortOrderFileName,"r");
| |
| $s = trim(fgets($fp,10));
| |
| fclose($fp);
| |
| return $s;
| |
| }
| |
|
| |
| // Beim allerersten Skriptaufruf
| |
| if (!file_exists(SortOrderFileName) AND !isset($sortorder))
| |
| { $sortorder = "name"; // Standard-Einstellung
| |
| save($sortorder);
| |
| }
| |
|
| |
| // Beim jeweils ersten Skriptaufruf
| |
| if (file_exists(SortOrderFileName) AND !isset($sortorder)) { $sortorder = load(); }
| |
|
| |
| // Beim erneuten Skriptaufruf
| |
| if (file_exists(SortOrderFileName) AND isset($sortorder)) { save($sortorder); }
| |
|
| |
| ?>
| |
| <html>
| |
| <HEAD>
| |
| <Title>Dateiablage</title>
| |
| <META HTTP-EQUIV="Pragma" content="no-cache">
| |
| <META HTTP-EQUIV="Cache-Control" content="no-cache, must-revalidate">
| |
| <META HTTP-EQUIV="Expires" content="0">
| |
| <STYLE TYPE="text/css">
| |
| <!--
| |
| P.breakhere { page-break-before: always; }
| |
| table.border { border-color:#000000; border-style:solid; }
| |
| td { padding-left:5px; padding-right:5px; border-color:#000000; border-style:solid; border-bottom-style:solid; border-width:0px; border-bottom-width:0px; font-family:Verdana; font-size:13px; }
| |
|
| |
| a:link { font-family:Verdana,Arial; font-size:13px; color:#cc0000; text-decoration:none; }
| |
| a:visited { font-family:Verdana,Arial; font-size:13px; color:#999999; text-decoration:none; }
| |
| a:active { font-family:Verdana,Arial; font-size:13px; color:#cc0000; text-decoration:none; }
| |
| a:hover { font-family:Verdana,Arial; font-size:13px; color:#cc0000; text-decoration:none; background-color:#C8D8E0; }
| |
|
| |
| a:link.head { font-family:Verdana,Arial; font-size:13px; color:#000040; text-decoration:underline; }
| |
| a:visited.head { font-family:Verdana,Arial; font-size:13px; color:#000040; text-decoration:underline; }
| |
| a:active.head { font-family:Verdana,Arial; font-size:13px; color:#000040; text-decoration:underline; }
| |
| a:hover.head { font-family:Verdana,Arial; font-size:13px; color:#000040; text-decoration:underline; }
| |
| -->
| |
| </STYLE>
| |
| </HEAD>
| |
| <body bgcolor="#ffffff">
| |
| <center>
| |
| <table class=border cellpadding=0 cellspacing=2 border=1 width=500>
| |
| <tr><td colspan=2><b>zip Dateiablage</b><br><br></td></tr>
| |
| <tr>
| |
| <td width=70% bgcolor="#C8D8E0"><font face="Verdana" size=-1><a class="head" href="./<?php echo basename($PHP_SELF); ?>?sortorder=name"><b>
| |
| <?php
| |
| echo "Dateiname</b></a>";
| |
| if ($sortorder=="name")
| |
| {
| |
| echo " v";
| |
| }
| |
| ?>
| |
| </td>
| |
| <td width=30% bgcolor="#C8D8E0"><font face="Verdana" size=-1><a class="head" href="./<?php echo basename($PHP_SELF); ?>?sortorder=date"><b>
| |
| <?php
| |
| echo "Ablagedatum</b></a>";
| |
| if ($sortorder=="date")
| |
| {
| |
| echo " v";
| |
| }
| |
| ?>
| |
| </td>
| |
| </tr>
| |
| <!-- BEGIN BAUSTELLE -->
| |
| <?php
| |
|
| |
| $filename = array();
| |
| $filedate = array();
| |
| $n = 0;
| |
| if ($handle = opendir('.'))
| |
| { while (false !== ($file = readdir($handle)))
| |
| { if (strpos($file,".zip")>1)
| |
| { $filename[$n] = $file;
| |
| $filedate[$n] = filemtime($file);
| |
| $n++;
| |
| }
| |
| } closedir($handle);
| |
| }
| |
|
| |
| // $sortorder = "name";
| |
|
| |
| switch($sortorder)
| |
| { case("name") : array_multisort($filename, SORT_ASC, $filedate, SORT_DESC);
| |
| break;
| |
| case("date") : array_multisort($filedate, SORT_DESC, $filename, SORT_ASC);
| |
| break;
| |
| }
| |
|
| |
| for ($i = 0; $i < $n; $i++)
| |
| { $fn = $filename[$i];
| |
| $fd = $filedate[$i];
| |
| echo "<tr>";
| |
|
| |
| // Datei-Name
| |
| if (strpos($fn,".html")>1) {
| |
| echo "<td bgcolor=#FFFFCC><font face=\"Verdana\" size=-1>";
| |
| echo "<a href=$fn>";
| |
| echo $fn;
| |
| echo "</a></td>";
| |
| }
| |
| else {
| |
| echo "<td bgcolor=#E8F4F8><font face=\"Verdana\" size=-1>";
| |
| echo "<a href=$fn>";
| |
| echo $fn;
| |
| echo "</a></td>";
| |
| }
| |
|
| |
| // Datei-Datum
| |
| echo "<td bgcolor=#E8F4F8><font face=\"Verdana\" size=-1>";
| |
| echo date ("d.m.Y", $fd);
| |
| echo " ";
| |
| echo date ("H:i:s", $fd);
| |
| echo "</td>";
| |
|
| |
| echo "</tr>";
| |
| }
| |
|
| |
| ?>
| |
|
| |
| <!-- END BAUSTELLE -->
| |
| <!-- INSERT BAUSTELLE -->
| |
| </table>
| |
| </center>
| |
| </body>
| |
| </html>
| |
| </nowiki>
| |
|
| |
| * Virtueller Host auf die Ablage leiten
| |
|
| |
| Vorbereitung: in der listen.conf
| |
|
| |
| NameVirtualHost *
| |
|
| |
| Im Verzeichnis /etc/apache2/vhosts.d/
| |
|
| |
| #
| |
| # Datei ~SubDomain~.orgamon.de.conf
| |
| #
| |
| <VirtualHost *>
| |
| ServerName ~SubDomain~.orgamon.de
| |
| DocumentRoot /srv/www/htdocs/~SubDomain~
| |
| </VirtualHost>
| |
|
| |
| <Directory /srv/www/htdocs/~SubDomain~>
| |
| AuthType Basic
| |
| AuthName "Mandant Ablage"
| |
| AuthUserFile /srv/www/htdocs/~SubDomain~/.htpasswd
| |
| Require user ~SubDomain~
| |
| </Directory>
| |
|
| |
| <b>Verzeichnisschutz mit htpassed</b>
| |
| <br>
| |
| leider fehlte auf meinem Suse 9.2 der Befehl htpasswd. (Ich hab in mir von einem anderen Server gezogen, was ich dazu alles tun musste das Ding zum Laufen zu bringen: Ich rede nicht gerne davon!). Also ist die erste Hürde, das Ding zu installieren, danach ist es einfach
| |
|
| |
| # Wechsle in das html Verzeichnis, das Du schützen willst
| |
| # Wird ~DasPasswort~ weggelassen wird über die KOmmandozeile
| |
| # 2 fach nachgefragt.
| |
| htpasswd -cb .htpasswd ~SubDomain~ ~DasPasswort~
| |