mod_rewrite

DeeDee0815

DeeDee0815

Doppel-As
Hallo,

ich würde gerne auf meinem Ubuntu Feisty Server bei Apache mod_rewrite nutzen. In der Datei /etc/apache2/httpd.conf habe ich entsprechend folgende Zeilen eingefügt:

Code:
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c

Danach lässt sich apache aber nicht mehr starten.

Code:
sudo /etc/init.d/apache2 restart
 * Forcing reload of web server (apache2)...
apache2: Syntax error on line 189 of /etc/apache2/apache2.conf:
Syntax error on line 1 of /etc/apache2/httpd.conf:
Cannot load /etc/apache2/modules/mod_rewrite.so into server:
/etc/apache2/modules/mod_rewrite.so:
cannot open shared object file:
No such file or directory
                                                              [fail]

Offensichtlich ist das Modul nich verfügbar. Kann man das irgendwie nachinstallieren?

MfG
DeeDee0815
 
Zuletzt bearbeitet:
Eigentlich sollte es bei der Default-Installation dabei sein. Allerdings sollte man zum Aktivieren von Modulen a2enmod nutzen.
 
Naja, der Meldung, die man vorhin leider nicht richtig lesen konnte, weil sie nicht umbrach, zu folge, ist mod_rewrite nicht vorhanden. Wenn es vorhanden wäre, würde es doch auf meine Weise gehen, oder nicht? Wenn nicht: Was mache ich falsch.

MfG
DeeDee0815
 
Bist du sicher, dass der Pfad stimmt? Ich bin mir ziemlich sicher, dass das nicht der Fall ist. :P Benutze einfach a2enmod zum aktivieren des Moduls. Du wirst Bauklötze staunen, dass man seine Konfigurationen nicht unnötig zumüllen muss. ;)
 
Zuletzt bearbeitet:
Bist du sicher, dass der Pfad stimmt?
Genau das hab ich auch gedacht, die Apache / Apache2 Module liegen bei Debian unter /usr/lib/apache[2]/modules.
Ich denke in der config würde nur in /etc/apache2/modules gesucht werden, korrekt müsste der Eintrag also lauten:
Code:
LoadModule rewrite_module /usr/lib/apache2/modules//mod_rewrite.so

Trotzdem sollte man das mit a2enmod machen, falls bei dir mod_rewrite wo anders liegt kannst du auch manuell einen Eintrag in /etc/apache2/mods-available erstellen.
 
Hi,

also ersmal Danke an euch beide für eure schnelle Hilfe.

Mit a2enmod geht's aber leider nicht:
Code:
administrator@srv0:~$ sudo a2enmod mod_rewrite
This module does not exist!

Mit einem manuellen Eingriff in der httpd.conf entprechend der Pfadangabe von blue-dev klappt es zur Hälfte.

Code:
* Forcing reload of web server (apache2)...
Syntax error on line 2 of /etc/apache2/httpd.conf:
Invalid command 'AddModule', perhaps misspelled or defined by a module not
included in the server configuration [fail]

Streicht man die Zeile mit AddModule startet der Server, ob mod_rewrite dann aber funktioniert, weiß ich nicht: Zum diesbezüglichen testen habe ich jetzt keine Zeit mehr. Schreibe ich morgen in diesen Beitrag.

MfG
DeeDee0815
 
Gib einfach mal 'a2enmod' ohne irgendwelche Parameter (als root) ein. :rolleyes:
 
Auf die Gefahr das dies jetzt völlig falsch ist,
ich glaube das bei beide Module noch garnicht auf dem Rechner installiert sind und deshalb du diese beim Apache nicht aktivieren kannst.
 
@rdg: Du liegst mit ziemlicher Sicherheit falsch.

Hier siehst du, dass ich nur den Default-Apache installiert habe:

Code:
bitmuncher@deepthought:~$ dpkg -l | grep apache
ii  apache2                                    2.0.55-4ubuntu4                      next generation, scalable, extendable web server
ii  apache2-common                             2.0.55-4ubuntu4                      next generation, scalable, extendable web server
ii  apache2-mpm-worker                         2.0.55-4ubuntu4                      high speed threaded model for Apache2
ii  apache2-utils                              2.0.55-4ubuntu4                      utility programs for webservers

Und wenn man sich dann a2enmod anschaut:

Code:
bitmuncher@deepthought:~$ sudo a2enmod
Which module would you like to enable?
Your choices are: actions asis auth_anon auth_dbm auth_digest auth_ldap cache cern_meta cgid cgi dav_fs dav deflate disk_cache expires ext_filter file_cache headers imap include info ldap mem_cache mime_magic proxy_connect proxy_ftp proxy_http proxy rewrite speling ssl suexec unique_id userdir usertrack vhost_alias
Module name?
Sieht man dort auch ein rewrite. :)

Der Output stammt übrigens von einem Ubuntu.
 
glaube aber nicht das es deshalb auch installiert ist.
Kenn mich aber auch mit ubuntu nicht so aus.
 
glaube aber nicht das es deshalb auch installiert ist.

Noch ein Beweis. :rolleyes:

Code:
bitmuncher@deepthought:~$ apt-file search mod_rewrite.so | grep apache2
apache2-common: usr/lib/apache2/modules/mod_rewrite.so

Ich hoffe, dass du es jetzt glaubst. ;)
 
Gut ok das ist überzeugend,
hät aber sein können.

hast gewonnen;)
 
Streicht man die Zeile mit AddModule startet der Server, ob mod_rewrite dann aber funktioniert, weiß ich nicht: Zum diesbezüglichen testen habe ich jetzt keine Zeit mehr. Schreibe ich morgen in diesen Beitrag.

Es heißt "LoadModule" und nicht "AddModule".
Und das Modul das du mit a2enmod laden musst heißt nur "rewrite" und nicht mod_rewrite.
Sollte das ganze nicht funktionieren (was ich stark bezweifle) legst du dir eine config im Ordner /etc/apache2/mods-available/ an. Name: xxxx.load
Der Inhalt der Datei ist _nur_ :
Code:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Da a2enmod nur die configs von available nach enabled verlinkt, und diese aus available ausließt, solltest du nun mit a2enmod xxxx (ohne .load) das Modul aktivieren können.
Falls das auch nicht geht (was aber fast unmöglich ist wenn du dich nicht zu blöde anstellst) kannst du die config mit ln -s in das andere Verzeichnis linken.
/etc/init.d/apache2 reload sollt das ganze dann zum laufen bringen.
In die httpd.conf gehört das aber unter Debian definitiv nicht.
 
Und das Modul das du mit a2enmod laden musst heißt nur "rewrite" und nicht mod_rewrite.

Genau das war mein Fehler. Bei der bloßen Eingabe von a2enmod, die ich übrigens schon gestern ausprobierte, schaute ich bei "m" nach "mod_rewrite". Deshalb habe ich es nicht gefunden.

So klappt alles:

Code:
administrator@srv0:/etc/apache2$ sudo a2enmod rewrite
Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
administrator@srv0:/etc/apache2$ sudo /etc/init.d/apache2 force-reload
 * Forcing reload of web server (apache2)...
apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.178.2 for ServerName
apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.178.2 for ServerName
[ OK ]
administrator@srv0:/etc/apache2$

Also vielen Dank für Deine Hilfe.

Aber nochwas:
Es heißt "LoadModule" und nicht "AddModule".

@ blue-dev: Ich hatte nicht nur "AddModule" geschrieben:
Code:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
AddModule mod_rewrite.c

Also dann nochmals vielen Dank für eure Hilfe.

MfG
DeeDee0815
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

X startet nichtmehr

Aura for PHP Konfigurationsproblem

Apache /var/www zu /home/ich/www wechseln

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Zurück
Oben