Überarbeitetes Install- Script ....

  • Thread starter Thread starter Briese
  • Start date Start date
Jo genau, also das ipchains is der Vorgänger von den iptables, sollte also nicht weiter relevant sein, wenn die iptables installiert sind. ;)

Das mit dem traffic log kann ich mir grad net erklären, woher das kommt, das hab ich auf Debian nicht.

In PHP5 kann man http_get_long_vars und register globals beides jeweils für vhosts freischalten. Haben wir bei unsren Kunden auch schon mehrmals gemacht. (Wir betreiben alle Server mit PHP5) Ob das dann schon für Mambo reicht weis ich nicht, aber bei Läuft z.B. OS Commerce.

Momentan habe ich noch das Problem, das unter Debian Etch der Proftpd nicht funktioniert, weil das proftpd Paket offenbar kaputt is, warum auch immer. Ich werde versuchen da noch irgendeine Lösung zu finden.

Starting ftp server: proftpd/etc/init.d/proftpd: line 91: 13392 Segmentation fault start-stop-daemon --start --quiet --pidfile "$PIDFILE" --exec $DAEMON -- $OPTIONS
failed!

Das is die Fehlermeldung dazu.
 
segmentation fault

Also, segmentation fault (Segmentierungsfehler) kenn ich nur in Zusammenhang mit kernel panic und einem defekten Speicher. Aber warum auch nicht einfach eine defekte binary.

Wenn die binaries defekt sind hilft wohl nur apt-get remove und wieder neu rein. Vieleicht dann vorher das Paket noch aus dem cache (bei mir /var/cache/apt/archives) schmeissen, damit es neu geladen wird.

Was PHP5 angeht, nun, ich glaub ich probier es mal aus. Ich habe da diverse Applikationen, die ich testen werde.
 
So endlich läuft das Vieh.

Es lag an der postgre_sql mod die is irgendwie kaputt oder was weis ich, jedenfalls muss man se einfach auskommentieren, dann der proftpd.conf noch die richtigen Login-Daten für die MySQL-Table geben, weil der das irgendwie net so ganz checkt.

SQLConnectInfo vhcs2@localhost vftp PASSWORT #{DATABASE_NAME}@{DATABASE_HOST} {DATABASE_USER} {DATABASE_PASS}

Das is die betreffende Zeile. ;) Wundert mich allerdings, dass das nicht vom VHCS-Setup angepasst wurde...

//UPDATE:
OK... keine Ahnung, was das vorher war, da hat der ProFTPd total verrückt gespielt, aber jetzt hat das installscript perfekt funktioniert. Dann werd ich mal die neue Version hochladen. ;)
 
So...

Ich habe jetzt nochmal eine völlig neue Version rausgebracht. Was heißt völlig neu... Ich habe einige Sachen in der proftp.conf optimiert. außerdem wird unter Debian Etch nun die proftpd.conf automatisch in /etc/proftpd/ kopiert und der ProFTPd restartet. Damit ist der FTP-Server von VHCS sofort einsatzbereit! :)

Die neueste Version findet ihr natürlich hier:

http://mirrors.penguinfriends.org/VHCS2/
 
Hi Armadillo,

ich habe mein vhcs 2.4.7.1 durch das "update" auf 2.4.8 RC1 wohl etwas "zerschossen" (Domain-Änderungen im Adminpanel funktionieren z.B. nicht mehr).

Kann ich mittels deinem Install-Skript die 2.4.7.1 quasi nochmal "drüber bügeln", so dass ich wieder ein funktionierendes VHCS haben sollte? Was muss ich hierbei alles beachten?

Danke!
 
Puh... also du musst wissen, dass das Script nichts anderes tut, als die Installation automatisch ablaufen zu lassen. Das bedeuted, dass die wesentlichen Installationsprozesse immernoch das VHCS-Setup macht. Und da weis ich leider überhaupt nicht, was das Setup macht, wenn man es versucht nochmal drüber zu installieren.

Was aber meiner Meinung nach auf jeden Fall passieren wird ist, dass es alle VHCS-Datenbanken komplett leeren und neu schreiben wird. Das heißt, dass jetzige eventuell angelegte User gelöscht werden.
Des Weiteren müsstest du sämtliche virtuelle User die durch eine alte Installation übrig geblieben sind von Hand entfernen.

Ich würde dir eher raten hier im Forum mal zu fragen, ob man deine Probleme mit der 2.4.8RC1 nicht irgendwie beheben kann, weil ich befürchte, dass das mit dem "Drüber-Installieren" alles nur noch schlimmer machen wird. Das wird vermutlich schief gehen. :(

Gruß Arma

//UPDATE:
Ich seh grad, dass du das Problem schonmal gepostet hast. Wärm den thread am besten nochmal auf und schreib mal rein, was du inzwischen schon alles versucht hast, vielleicht ergeben sich daraus neue Erkenntnisse. ;)
 
...das mit den virtuellen Usern usw wäre nicht das größte Problem, da nur Domains/User von mir präsent sind.

......
- Adminpanel-Problem hab ich nochmal aufgewärmt
- wg. dem proftpd-Problem bist Du ja scheinbar über selben Fehler gestolpert und du hast es hinbekommen, kannst Du nochmal über meinen proftpd-Thread sehen bitte?
 
Thema proftp

@armadillo:

Ich bin ebenfalls beim Thema proftp, jedoch auf ubuntu. Nun hast das Du Script ja schon ergänzt, dass die proftp.conf aus /etc in /etc/proftp kopiert wird.

Dazu habe ich eine Frage: In meiner zu kopierenden proftp.conf läuft der Server als Benutzer nobody bzw. nogroup und nicht wie der Standard es vorgibt proftpd und gruppe nogroup.

Nach meinem Verständniss solltem jedoch Dienste keinesfalls mit den Rechten des Benutzers nobody laufen. Soweit ich das weiss, können so Dateien mit Rechten für o (other) entstehen und ist daher eine Sicherheitslücke.

Wie sieht es bei Deiner Debian Installation aus?

Nachtrag: Wenn ich die proftp.conf aus dem /etc nehme, worin auch die Änderungen für VHCS enthalten sind erhalte ich:

fatal: unkown configuration directive 'SQLAuthTypes' on line 82 of '/etc/proftpd/proftpd.conf'

Ich werde mir wohl mal proftpfd anschauen müssen. Versionsproblem?
 
@ Heart: Also ich würde dir eher raten entweder die 2.4.8RC1 versuchen zum Laufen zu bekommen oder die entsprechenden Userdatenbanken, die zu den Webseiten gehören und deren Inhalt zu sichern und den Server neu aufzusetzen, weil beim drüber installieren doch einiges schief gehen kann, wenn man nicht die richtigen configs etc. sichert.

@ yavhcsu: Also bei Debian wird der ProFTPd mit dem user proftpd gestartet. Das is aber Sache des jeweiligen Paketes der Distribution, weil das normalerweise auch die benötigten User anlegt. Also denke ich schon, dass das in Ordnung geht, wenn das offizielle Ubuntu-Paket für den Proftpd den USer nobody vorsieht. ;)
Wie das dann mit dem Sicherheitsaspekt is, weis ich jetzt grad net, obs das als nobody so kritisch ist.
 
@armadillo:

Jau, auch bei Ubuntu ist wie bei Debain proftpd standardmäßig der user. Habe ich vieleicht falsch ausgedrückt.

Was ich nicht verstehe, ist die von VHCS gelieferte proftpd.conf, die sich wirkungslos in /etc befindet und in dem angepassten Script (1.2.1) schlicht in das /ect/proftpd kopiert wird.

Diese Konfigurationsdatei ist bei mir völlig unbrauchbar:

z.B.

Servername "(HOST_NAME)"

SQLConnectInfo {DATABASE_NAME}@{DATABASE_HOST} ...

Das sieht für mich so aus, als ob VHCS nur eine Art Musterdatei für PROFTP zur Verfügung stellt und man sich zumindest bei der ersten Installation selbst anpassen muss. Das bedeutet, dass das Setup von VHCS lediglich einen Eintrag in Datenbank macht (Admin und Passwort), eine Musterkonfiguration zur Verfügung stellt und man sich diese selbst anpassen muss.
 
Nein das Problem ist ein anderes. Normalerweise sollte das VHCS-Setup die besagten Einträge durch die entsprechenden Usereingaben ersetzen. Jedoch hatte ich das Phänomen auch schon 2mal, dass er es nciht getan hat. Manchmal hat es funktioniert, manchmal nicht, obwohl ich nichts anders gemacht hatte. Kann ich mir momentan auch nicht erklären, woran das liegt, aber ich zieh mir mal das VHCS-Setup rein, vielleicht find ich ja den Grund. :(

//UPDATE:

So in /var/www/vhcs2/engine/setup/vhcs2-setup in Zeile 1787 findet sich das hier:

my %tag_hash = (
'{HOST_NAME}' => $main::cfg{'SERVER_HOSTNAME'},
'{DATABASE_NAME}' => $main::db_name,
'{DATABASE_HOST}' => $main::db_host,
'{DATABASE_USER}' => $main::ua{'db_ftp_user'},
'{DATABASE_PASS}' => $main::ua{'db_ftp_password'}
);

das ganze befindet sich in sub setup_ftpd { ... }, warum das Ganze manchmal ausgelöst wird und manchmal nicht, weis ich aber noch nicht.^^
 
proftp mit vhcs auf ubuntu 6.06 Dapper Drake

So, hat mich einiges an Zeit gekostet. Die bei VHCS mitgelieferte proftp.conf habe ich verworfen, sondern vielmehr die bei proftp standardmäßig installierte proftp.conf entsprechend angepasst.

Anhängend die komplette .conf wobei dei Endung von .txt in .conf geändert werden und noch die von der jeweiligen Installation abhängige Anpassung vorgenommen werden muss.

Die Anpassung sind von mir wie folgt gekennzeichnet:
# - necessary changes for VHCS begin -
# - necessary changes for VHCS end -

bzw.

# - very recommended changes for VHCS begin -
# - very recommended changes for VHCS end -

Erläuterungen:

# - necessary changes for VHCS begin -
ServerName "{HOST_NAME}"
# - necessary changes for VHCS end -

Anstelle von {HOST_NAME} muss der hostname eingetragen werden. Dient nur zur Anzeige, wenn sich der Cient am FTP-Server anmeldet.

# - necessary changes for VHCS begin -
RequireValidShell off
<IfModule mod_sql.c>
AuthOrder mod_sql.c
SQLBackend mysql
</IfModule>
UseReverseDNS off
IdentLookups off
# - necessary changes for VHCS end -


RequiredValidShell muss aus sein, sonst kann sich kein FTP-benutzer anmelden, da diese keine Shell haben.
AuthOrder und SQLBackend aktivieren die Authorisierung via SQL-Datenbank. Je nach Compilation sind werden auch andere Datenbanken unterstützt. Daher so Klarheit schaffen.

UseReversDNS aus, da wir jailen wollen, mehr dazu nachfolgend.
IdentLookups - Geschmackssache


# - very recommended changes for VHCS begin -
# chroot(jail) the user to their user home directory
DefaultRoot ~
# - very recommended changes for VHCS end -

Selbstredend, darf einfach nicht fehlen!

# - necessary changes for VHCS start -
#
# VHCS2 Managment;
#

<IfModule mod_sql.c>
SQLAuthTypes Crypt
SQLAuthenticate on
SQLConnectInfo {DATABASE_NAME}@{DATABASE_HOST} {DATABASE_USER} {DATABASE_PASS}
SQLUserInfo ftp_users userid passwd uid gid homedir shell
SQLGroupInfo ftp_group groupname gid members
SQLMinID 2000
</IfModule>

#
# VHCS2 Quota management;
#

QuotaEngine on
QuotaShowQuotas on
QuotaDisplayUnits Mb

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies

QuotaLock /var/run/proftpd/tally.lock
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
# - necessary changes for VHCS end -

Der Rest für VHCS an sich. DATABASE_NAME, DATABASE_HOST, DATABASE_USER und DATABASE_PASS müssen enstprechend angepasst werden.

Beispiel:
SQLConnectInfo vhcs2@localhost vftp meinpasswort
 
Hat die Conf die mitgeliefert wird bei dir nicht funktioniert, wenn du die Sachen in {} ersetzt hast?

Wenn nicht, welche Fehlermeldungen kamen denn?

Dann kann ich versuchen ne allgemeine Config bauen.
 
Nehme ich die von VHCS mitgelieferte proftp.conf, passe die {} Variablen an, erhalte ich beim Start bzw. Restart folgende Fehlermeldung:

- Fatal: unknown configuration directive 'SQLAuthTypes' on line 82 of '/etc/proftpd/proftpd.conf'

Jedoch ist die Direktive SQLAuthTypes alles anders als unbekannt. Vielmehr kommt der Parser aufgrund eines vorangegangen Fehlers offensichtlich ins Trudeln. Jetzt frag mich aber bloss nicht, wo der Fehler genau liegt.

Aber nehmen wir doch mal die in der VHCS Variante fehlende SQLBackEnd Direktive:

Das sagt die offizielle Seite (http://www.proftpd.org/docs/directives/linked/config_ref_SQLBackend.html):
Zitat:
"In 1.3.0rc1, the mod_sql module gained the ability to be compiled with multiple backend modules supported, e.g. to have both mod_sql_mysql and mod_sql_postgres usable in the same proftpd daemon. The SQLBackend directive configures which of these different database backends should be used."

Nun mit proftpd -v erhalte ich die Info ProFTPD version 1.3.0.

Ob das nun die RC1 ist oder nicht, kann man nur vermuten. Es ist jedoch die aktuelle Version.

Was anderes ist da noch die user nobody Geschichte. In der allgemeinen Literatur (Ich habe die Quelle gerade nicht im Kopf) rund um Linux wird aus Sicherheitsgründen davon abgeraten, Dienste (daemons) unter der Benutzerkennung nobody laufen zulassen.

Last but not least wird die proftp.conf von VHCS in den Pfad /etc generiert. PROFTP hat jedoch wie so manch andere inzwischen ein eigenes Unterverzeichnis in /etc.

Aus meiner Sicht ist die mit VHCS mitgelieferte proftp.conf völlig veraltet.

Das geänderte Installationsscript dürfte daher mit der Kopieranweisung in der jetzigen Form voraussichtlich für Ärger bei Neuinstallationen sorgen.

Da proftp die Verwendung der Direktive Include unterstützt, empfehle ich bei einer Verallgemeinerung unbedingt den Einsatz von Include am Ende der proftp.conf anstelle der direkten Änderungen in der Datei!

Warum? Nun, die Interpretation der Direktiven dürfte sequentiell erfolgen, d.h. die Quelle wird Zeile für Zeile ausgelesen, wenn ein Include kommt, wird die included Datei zunächst Zeile für Zeile ausgelesen, bevor in der übergeordneten Datei mit der nächsten Zeile fortgefahren werden muss. Bei doppelten Direktiven dürfte die zuletzt gelesene berücksichtigt werden.

Das vereinfacht spätere Updates von proftp, da man im Setup lediglich eine vhcs.conf mit den notwendigen Direktiven ins Verzeichnis /ect/proftp kopieren muss und dafür Sorge tragen muss, das am Ende der proftp.conf der Include steht.

Ist nur so ein Vorschlag von mir.
 
postfix und virtuelles Domain Hosting

So, nun noch eins zur VHCS-Installation.

Das virtuelle Domain Hosting mit postfix läuft m.E. nicht sauber. Die Absendeadressen werden nicht entsprechend den Angaben zu den email-Accounts umgeschrieben. Das ist nicht akzeptabel, da Konstallationen wie bundeskanzler dot bund dot de einfach nicht gehen dürfen.

Ich werde mich hier wohl noch reinknien müssen.

P.S.: Der amavis clamav hack des scripts scheint zu funzen, wenn man den logs glauben darf. Jetzt fehlt mir der spamassassin, da ist das Trio komplett. :-)
 
Jetzt mal halblang. Erstmal wird der ProFTPd gefixt, dann kann man weiterschauen.

Die Proftp conf habe ich übrigens etwas angepasst, weil es sonst unter Debian Etch auch nicht funktioniert hätte. und darum geht es mir momentan primär.
Ich hab mir zusätzlich grade noch eine Ubuntu LTS 6.06 VM gemacht, in der ich jetzt auch versuchen werde den Proftp zum laufe zu bekommen.

Fein-Einstellungen kann man dann machen, wenn alles läuft.

//UPDATE:
Habe das Setup grad durchlaufen lassen auf Ubuntu. Der Proftpd läuft auf jeden Fall schonmal mit der Config, wenn man UseIPv6 rausnimmt, weil er das aus irgendeinem Grund nicht parsen kann, unter Debian funzt es.
 
Bin ich zu schnell für Dich? :-)

Nur keine Hektik, ich gehe nur gerade die letzten Dinge durch, da ist mir das mit dem postfix aufgefallen und wollte es nur mal festhalten. Ich habe schon Mambo und moregroupware mal draufgepackt, mit ein paar geeigneten php Direktiven läuft hier alles bestens.

Obwohl ich im Bezug auf VHCS und apache2 schon wieder was zu maulen hätte. Aber ich habe erst mal mit .htpasswd und .htaccess den Server abgeriegelt. Sonst kommt mir da schon wieder einer in die Quere.

Ich habe sowieso vor, nachdem ich einmal alles durchgegangen bin - also auch das abschliessende feintuning - den ganzen Server nochmal plattzumachen, alle Installationen der Reihe durchzuführen und schauen was passiert.

Für mich gibt es nichts schlimmeres, als nur oberflächlich an der Server-Konfiguration rumzufummeln. Ich muss die Anwendungsdaten (scripte und mysql) sichern, den Server platt machen und wieder komplett mit allen Anwendungen wieder neu aufsetzen können, und das im Schlaf. Das hierbei Konfigurationsdateien nicht einfach wieder zurückgesichert werden, ist für mich obligatorisch. Solange eine Distro gepflegt wird, sind auch in den Konfigurationsdateien stets mit wichtigen Änderungen zu rechnen, die bei einer Neuinstallation berücksichtigt werden wollen.

Noch ein Hinweis: Nicht das wir uns falsch verstehen, mit der von mir beschriebenen Modifikation der proftp.conf läuft proftp auf Ubuntu Daper Drake in Verbindung mit VHCS einwandfrei.
 
Jo ich versteh schon, dass du nen perfektes System oder zumindest nen annähernd perfektes System haben willst, aber du musst halt auch sehen, dass die Confs für die verschiedensten Distributionen funktionieren müssen.

Aber da wäre eventuell ne FAQ von dir, zur Optimierung der Autoinstallation hier im FAQ-Bereich im Forum gut, wo dann erklärt wird, wie man was genau optimieren kann und was das bewirkt. :)

Ich habe jetzt mal nochn kleine Optimierungen an der Conf durchgeführt und außerdem veranlasst, dass die proftpd.conf auch bei ubuntu Dapper Drake und Debian 3.1 in das richtige Verzeichnis verschoben wird! ;)

Du hattest erwähnt, dass die Post conf ebenfalls nciht akzeptabel ist, weil der die Senderadresse nciht checkt, ich seh das auch so, dass das nciht sien darf, wenn du mir sagen kannst, wie ich das abstellen kann, dann bau ich das in die Standard-Config mit ein! ;)
 
Zwischenstand zu postfix

Also, mir qualmt schon der Kopf.

Da habe ich mich schon durch sendmail gequält und dachte, da postfix wesentlich moderner ist, dass Phantasie-Absenderadressen auch von mit SMTP-Auth authentifizierten Benutzer eigentlich ein Unding sein sollten.

Leider Fehlanzeige. Mit canonical lassen sich für lokale Benutzer wunderbar die korrekten email-Absenderadressen mappen, jedoch für virtual domain hosting, wie hier mit VHCS der Fall, habe ich kein Pendant hierzu entdecken können.

Jetzt bleiben mir noch die virtual_transport, um hier eine Adressumschreibung zu vollziehen.

Ich könnte ja auch einfach mit smtpd restrictions direktiven arbeiten die hier die email ablehnen. Da freut sich der Anwender über die Fehlermeldungen im Outlook.

Ich werde mal sehen, was akzeptabel ist. Da VHCS ja gerade für das Hosten von x Webpräsenzen gedacht ist, halte ich eine restriktive Konfiguration von postfix in diesem Fall für sinnvoll.
 
Hi,

das was du suchst sollten folgende Regeln übernehmen:
Code:
smtpd_sender_login_maps = hash:/etc/postfix/vhcs2/aliases

smtpd_sender_restrictions =
  reject_sender_login_mismatch
 
Back
Top