Installation.Startup
OrgaMon setzt massiv auf Datenbank-Relationen. Das bedeutet dass Informationen nicht mehrfach als Kopie gespeichert werden, sondern oftmals werden Informationen nur als Verweis auf die tatsächliche Information gespeichert. Ein Beispiel:
- Der Mehrwertsteuersatz wird nicht als Eigenschaft eines Artikels gespeichert. Artikel gehören jedoch Sortimenten an, Sortimente wiederum lassen sich Mehrwertsteuersätzen zuordnen. Wird intern also ein Artikelpreis gebildet, so muss nachgesehen werden in welchem Sortiment der Artikel zugeordnet ist, nachdem das Sortiment bekannt ist, wird nun die MwSt ermittelt.
- Ein Rechnungsbeleg speichert nicht die gesamten Adressdaten der Person, sondern nur eine Referenz (RID=Referenz Identifikation). Im Moment der Ausdrucks werden die Persondaten geladen und in den Beleg belichtet.
Aus diesen Gründen ist es notwendig - bevor Sie starten - einige Dinge anzulegen.
Mehrwertsteuersätze
Artikel-Bereich: "MwSt", "+" drücken, In der Spalte Satz "16" eingeben, gelber "v" Haken
Fremdkomponenten
- FBClient
- Putty 0.60
- 7zip - Command-Line
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
<?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>
- 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>
Verzeichnisschutz mit htpassed
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~