# apache-2.0.54-r31 mod_php-4.4.0-r2 und eine Menge neues

## sambatasse

 *Quote:*   

> 
> 
> emerge -pvuDt --newuse world
> 
> These are the packages that I would merge, in reverse order:
> ...

 

Hilfe was ist hir auf einmal los ?

Warum kloppt sich apache mit php ?

Woher und wozu ist diese ganze neue Zeug ?

----------

## pablo_supertux

https://bugs.gentoo.org/show_bug.cgi?id=106420

https://bugs.gentoo.org/show_bug.cgi?id=79606

dieses Problem gibt es seit gestern abend, hab vorerst nicht vor, meinen Serve rzu zerschießen, deswegen verzichte ich jetzt auf ein update von apache/mod_php bis alle Dependencies richtig hergestellt werden. Hab nur folgendes in der /etc/portage/package.mask eingetragen, damit alle andere updates nicht gestoppt werden.

```

>=net-www/apache-2.0.54-r30

>=dev-php/mod_php-4.4.0-r2

```

----------

## ank666

Das Problem scheint gefixt zu sein, werde es jetzt mal auf meiner Testumgebung testen.

So inzwischen ist auch das Produktiv-System hochgezogen, scheint alles noch zu laufen,

allerdings haben sich ein paar Configs geändert.

http://www.gentoo.org/doc/en/apache-upgrading.xml

http://www.gentoo.org/doc/en/apache-troubleshooting.xml

----------

## sambatasse

```
emerge -pvuDt --newuse world

These are the packages that I would merge, in reverse order:

Calculating world dependencies ...done!

[ebuild     U ] sys-apps/util-linux-2.12q-r3 [2.12i-r1] +crypt +nls -old-crypt +pam +perl (-selinux) -static 2,107 kB

[ebuild     U ] app-antivirus/clamav-0.87 [0.86.2] +crypt -mailwrapper -milter (-selinux) 4,173 kB

[ebuild  NS   ] dev-php/mod_php-4.4.0-r3  -X +apache2 +berkdb +crypt +curl -debug -doc -fdftk -firebird -flash -freetds +gd -gd-external +gdbm -gmp -hardenedphp +imap -informix -ipv6 -java +jpeg -kerberos -ldap -mcal -memlimit -mssql +mysql +nls -oci8 -odbc +pam +png -postgres -snmp +spell +ssl +tiff +truetype +xml2 -yaz 349 kB

[ebuild     U ] dev-php/php-4.4.0-r1 [4.4.0] -X +berkdb +crypt +curl -debug -doc -fdftk -firebird -flash -freetds +gd -gd-external +gdbm -gmp -hardenedphp +imap -informix -ipv6 -java +jpeg -kerberos -ldap -mcal -memlimit -mssql +mysql +ncurses +nls -oci8 -odbc +pam +png -postgres +readline -snmp +spell +ssl +tiff +truetype +xml2 -yaz 0 kB

[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.12-r10  -build -doc -symlink (-ultra1) 278 kB

[ebuild     U ] net-www/apache-2.0.54-r31 [2.0.54-r15] +apache2 -debug -doc -ldap -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker -no-suexec (-selinux) +ssl -static-modules -threads 51 kB

[ebuild  N    ]  dev-libs/apr-util-0.9.6-r2  +berkdb +gdbm -ldap 707 kB

[ebuild  N    ]  net-www/gentoo-webroot-default-0.2  -no-htdocs 64 kB

[ebuild  N    ]  app-misc/mime-types-3  5 kB

[ebuild  N    ]  dev-libs/apr-0.9.6-r3  -ipv6 1,001 kB

Total size of downloads: 8,738 kB

```

oky apache und php kloppen sich nicht mehr 

aber was hängt da warum an apache auf einmal alles dran ?

----------

## dertobi123

 *sambatasse wrote:*   

> oky apache und php kloppen sich nicht mehr 
> 
> aber was hängt da warum an apache auf einmal alles dran ?

 

Der oberfächliche Grund ist, dass die Apache Pakete in Gentoo grundlegend überarbeitet worden sind, um sie zukünftig besser betreuen zu können.

----------

## sambatasse

ist das irgendwo in deutsch dokumentiert

habe nähmlich angst das mein system danach spinnt

bzw was ich später beachten muss im gegensatz zu jetzt

danke

----------

## pablo_supertux

 *sambatasse wrote:*   

> ist das irgendwo in deutsch dokumentiert
> 
> habe nähmlich angst das mein system danach spinnt
> 
> bzw was ich später beachten muss im gegensatz zu jetzt
> ...

 

Auf deutsch, weiß ich nicht, aber guckst du hier: http://www.gentoo.org/doc/en/apache-upgrading.xml

sonst wird dein apache spinnen, wenn du einfach so installierst und dich nicht um die Rekonfiguration (eher Migrierung der Config) nicht kümmerst.

edit: ich sehe, dass ank666 bereits diesen Link gepostet hat. Also sambatasse, du musst nur lesen, was wir posten, oder ignorierst du unsere Posts?

----------

## reptile

er scheints schon gelesen zu haben, er fragte ja nur, obs das auch in deutsch gibt...

----------

## sambatasse

jup lesen tuhe ich nur mein englisch ist sozusagen nicht vorhanden

und bei sowas heikles wäre es schon besser alles zu verstehen und nicht zu raten

ick werde es die tage ja mal in angrief nehmen müssen

wenn was ist werdeted hir schon lesen

----------

## pablo_supertux

Ok, dann schreib ich einfach das, was du tun sollst:

Tja, also, Im Dokument steht zuerst, warum das Layout von Apache und seine Module geändert werden. Das liegt daran, dass 1. die Konfiguration von Apache mit den gentoo Ebuilds sehr unterschiedlich war als die mainstream Konfiguration und für Leute, die neu sind, kann das ziemlich verwirrend (das empfand ich ebenfalls). Außerdem war es so schwer eine gute Unterstützung der Module zu gewährleisten und manche Features wie MPMs waren nicht verfügbar, außerdem sammelten sich die Bugs mehr und mehr.

Also hat sich das Gentoo apache team hingesetzt und das Layout geändert, damit man es einfacher konfigurieren kann, ähnlicher als die mainstream Konfiguration wird und vor allem, damit die devs die Pakete besser verwalten können.

So, zuerst muss man alle Depencendies von Apache neu mergen, wenn du app-portage/gentoolkit installiert hast, kannst du 

```

$ equery depends net-www/apache

```

ausführen und bekommst welche Pakete von apache abhängen. Wenn du  emerge -uD world ausführst, erledigt sich das von selbst.

So, net-www/apache-2.0.54-r31  wird installiert und bei Beenden bekommst die übliche Meldung, dass man etc-update ausführen soll.

Also führst du etc-update aus und am Anfang erfreust du dich, weil du siehst, dass nur 3 Datein überschrieben werden könnten, aber das ist ein Täuschung, weil das Grausame erst später kommt   :Wink: 

Die Dateien sind:

 /etc/conf.d/apache2

 /etc/init.d/apache2

 /etc/apache2/apache2-builtin-mods

Die erste ist die generelle Konfiguration von apache2 für /etc/init.d/apache2, ans ich kann nicht schaden, wenn du diese Datei übernimmst, aber dein altes APACHE2_OPTS wird auf APACHE2_OPTS="-D DEFAULT_VHOST" überschrieben, welches du später wieder verändern kannst.

Die zweite Datei solltest du überschreiben lassen, denn das ist das neue rc-script für apache2 (wahrscheinlich gibt es ein Haufen Fehler mit der alten Version)

Die dritte Datei kannst du auch problemlos übernehmen. außer wenn du diese explizit geändert hast.

So, jetzt kommt aber der Spaß, führe

```

$ /etc/init.d/apache stop

```

aus und du wirst dich fragen: "Wat soll denn des?" Erst jetzt bemerkst du, warum etc-update so wenig Dateien aktualisieren wollte. Die ganze Apache Konfigurationsdateien sind jetzt ganz irgendwo anders (naja, nicht gaz weit weg, aber irgendwo anders). Du musst nämlich Apache neu konfigurieren.

Wirf mal einen Blick auf /etc/apache2 und wirst sehen, dass es neben Verzeichnis conf (/etc/apache2/conf) viele neue Datein gekommen sind (httpd.conf, mime.types, usw). Das liegt daran, dass /etc/apache2 der neue Konfigurationsverzeichnis ist solange /etc/apache2/conf existirt, wird sich /etc/init.d/apache sich weigern, irgendetwas anders zu tun außer die Fehlermeldung anzeigen.

Aber LÖSCHE!!! /etc/apache2/conf nicht, weil sonst wirst du apache from scratch wieder konfigurieren müssen, und das kann schon ne gute Stunde oder mehr dauern, wenn du nicht mehr weißt, was du alles so geändert hattest. Also tu nur:

```

$ cd /etc/apache2

$ mv conf conf2

$ /etc/init.d/apache stop

```

Und nun müssen wir apache Konigurieren. Falls du /etc/conf.d/apache2 überschrieben hast, solltest du die Variable APACHE2_OPTS wieder mit deinen alten Sachen setzen, z.b. mit SSL Support, Mit PHP Support und ~/public_html

```

APACHE2_OPTS="-D DEFAULT_VHOST -D PHP4 -D SSL -D SSL_DEFAULT_VHOST -D USERDIR"

```

So, jetzt öffne lieber eine neue shell oder öffne einfach die Dateien von /etc/apache2/conf2. Du wirst sehen, dass die apache.conf und common.conf (oder so) nicht mehr existieren (im neuen Verzeichnis) sondern wird alles in httpd.conf gemacht. In /etc/apachd2/httpd.conf solltest du ändern

```

ServerAdmin supertux@supertux.homelinux.org

ServerName supertux.homelinux.org:80

```

(natürlich mit deinen eigenen Einträgen) und das war's eigentlich.

Dann mach

```

$ cd /etc/apache2/vhosts.d

```

und dort findest du die Datei 00_default_vhost.conf. Diese datei enthält die Kofniguration der vhosts  Sofern du  deinDocumentRoot unter /var/www/localhost/htdocs hast, brauchst du eigentlich nichts mehr zu ändern. Wenn du früher Alias hattest, dann solltest du diese hier reinpacken, bei mir sieht diese Datei z.b. so aus:

```

NameVirtualHost *:80

<IfDefine DEFAULT_VHOST>

<VirtualHost *:80>

    DocumentRoot "/var/www/localhost/public_docs"

    <Directory "/var/www/localhost/public_docs">

            Options Indexes FollowSymLinks MultiViews

            AllowOverride All

            <IfModule mod_access.c>

                Order allow,deny

                Allow from all

            </IfModule>

    </Directory>

    Alias /serveradmin "/var/www/localhost/admin"

        <Directory "/var/www/localhost/admin">

                Options Indexes FollowSymLinks

                AllowOverride None

                Order allow,deny

                Allow from all

        </Directory>

        

    <IfModule peruser.c>

        # this must match a Processor

        ServerEnvironment apache apache

        

        # these are optional - defaults to the values specified in httpd.conf

        MinSpareProcessors 4

        MaxProcessors 20

    </IfModule>

</VirtualHost>

</IfDefine>

```

Ok, wenn du SSL hast, dann müssen wir das nochmal einstellen:

```

$ cd /etc/apache2/modules.d

```

Dort findest du folgende Dateien:

 00_apache_manual.conf  

 40_mod_ssl.conf  

 41_mod_ssl.default-vhost.conf  

 45_mod_dav.conf  

 70_mod_php.conf

00_apache_manual.conf ist die Konfiguration von http://localhost/manual dort findest du die apache Dokumentation

40_mod_ssl.conf ist die Konfiguration von mod_ssl, vor allem an welchen Port Apache lauschen muss (default: 443) usw.

41_mod_ssl.default-vhost.conf ist die Konfiguration von den vhosts unter SSL, also unter https:// und da rein müssen wir

So, dort musst du ähnlich wie bei /etc/apache2/vhosts.d/00_default_vhost.conf die vhosts ändern und die Pfade für die Zertifikate. Du musst keine neuen machen, du kannst deine alte übernehemn, angenommen sie waren unter /etc/apache2/conf/ssl gespeichert, dann mach

```

$ cp /etc/apache2/conf2/ssl/* /etc/apache2/ssl -r

```

bei mir sieht z.b. die Datei so aus:

```

<IfDefine SSL>

 

  <IfDefine SSL_DEFAULT_VHOST>

<IfModule mod_ssl.c>

<VirtualHost _default_:443>

DocumentRoot "/var/www/localhost/public_docs"

ServerName supertux.homelinux.org:443

ServerAdmin supertux@supertux.homelinux.org

ErrorLog logs/ssl_error_log

Alias /serveradmin "/var/www/localhost/admin"

<Directory "/var/www/localhost/admin">

   Options Indexes FollowSymLinks

        AllowOverride None

        Order allow,deny

        Allow from all

</Directory>

<IfModule mod_log_config.c>

   TransferLog logs/ssl_access_log

</IfModule>

 for this virtual host.

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

#wichtig!

SSLCertificateFile conf/ssl/server.crt

# auch wichtig!

#SSLCertificateKeyFile conf/ssl/server.key

SSLCertificateKeyFile conf/ssl/server_nopasswd.key

<Files ~ "\.(cgi|shtml|phtml|php?)$">

    SSLOptions +StdEnvVars

</Files>

<Directory "/var/www/localhost/cgi-bin">

    SSLOptions +StdEnvVars

</Directory><IfModule mod_setenvif.c>

    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown \

    downgrade-1.0 force-response-1.0

</IfModule>

<IfModule mod_log_config.c>

CustomLog logs/ssl_request_log \

          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</IfModule>

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteOptions inherit

</IfModule>

</VirtualHost>                                  

</IfModule>

  </IfDefine>

</IfDefine>

```

also, im Prinzip brauchst du nur DocumentRoot, ServerName, ServerAdmin, SSLCertificateFile und SSLCertificateKeyFile zu ändern.

45_mod_dav.conf ist die Konfigurationsdatei von ??? muss ehrlich sagen, ich weiß es nicht, hab sie nicht geändert.  :Wink: 

70_mod_php.conf ist die Konfigurationsdatei von PHP4, im Prinzip nur die Angabe welche Dateiendungen durch php geparst werden sollten, usw. Diese Einstellungen sind Standard und brauchen eigentlich nicht verändert zuw erden, aber wenn du andere Einstellungen hattest, solltest diese hier vornehmen.

Und das war's, dein Apache ist neu rekonfiguriert und nun kannst du ausführen

```

$ /etc/init.d/apache start

```

und schauen, ob alles geklappt hat unter http://localhost/

----------

## ank666

Etwas OT hat jemand schon eAccelerator zum Laufen bekommen, mit welchem MPM, Apache mit threads Flag kompiliert?

----------

## sambatasse

also erstmal riesen mega danksagung an pablo_supertux

DANKE

so habe mir die zeit genommen soweit ist alles uptodate

nur laufen tuht meine alte config nichtmehr

ich habe bzw hatte mehre  virtuelle hosts 

ca 10 domains auf eine ip nu bekomme ick keine mehr hin immer nur die seite von apache hallo es geht

naja es is halb 1 werde mich da wohl morgen ran machen müssen

die neue logik kapiere ick im moment überhaupt nicht

----------

## sambatasse

Ick brauche mal dringest hilfe bekomme nix mehr online

eine der alten confs 

die geht nicht

```
<VirtualHost X.X.X.X>

ServerName www.XXX.de

ServerPath /XXX.de

DocumentRoot /server/www/XXX.de

</VirtualHost>

<Directory "/server/www/XXX.de"> 

Options -Indexes FollowSymLinks MultiViews

Options +FollowSymLinks +Includes 

AllowOverride All

</Directory>

```

angepast an die neue logik

geht auch nicht

```

<VirtualHost *:80>

ServerName www.XXX.de

ServerAlias XXX.de

DocumentRoot /server/www/XXX.de

<Directory /server/www/XXX.de>

AllowOverride All

</Directory>

</VirtualHost>
```

der beweis bin uptodate

```
 emerge -pvuDt --newuse world

These are the packages that I would merge, in reverse order:

Calculating world dependencies ...done!

[ebuild     U ] app-admin/webmin-1.230 [1.210-r1] +apache2 -postgres +ssl -webmin-minimal 8,770 kB

[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.12-r10  -build -doc -symlink (-ultra1) 278 kB

Total size of downloads: 9,048 kB

```

----------

