PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache + PHP + MySQL + mod_ssl : PHP funktioniert nicht



GreenShadow
03.06.05, 17:54
Folgendes wollte ich heute auf meinem Slackware Notebook installieren:


apache_1.3.33
php-5.0.4
mysql-5.0.4-beta
mod_ssl-2.8.22-1.3.33
openssl-0.9.7g


Ich orientierte mich grob an Dieser Anleitung (http://logidac.com/apache/apache-install-rpm.phtml), lud mir
alle Pakete nach /usr/local/src runter und begann, wie in der Anleitung empfohlen:


OpenSSL:
# cd openssl-0.9.7g
# ./configure --prefix=/usr/local
# make all
# make test
# make install


MySQL:
# cd mysql-5.0.4-beta
# ./configure --prefix=/usr/local
# make all
# make install


Apache mit mod_ssl patchen:
# cd mod_ssl-2.8.22-1.3.33
# ./configure --with-apache=../apache_1.3.33


Apache für PHP konfigurieren:
# cd apache_1.3.33
# ./configure --prefix=/usr/local/


PHP konfigurieren und für Apache compilen:
# cd php-5.0.4
# CFLAGS='-O2 -I../openssl-0.9.7g' ./configure --with-apache=../apache_1.3.33 --with-mysql=/usr/local
# make all
# make install


PHP konfigurieren und für Apache compilen:
# cd php-5.0.4
# CFLAGS='-O2 -I../openssl-0.9.7g' ./configure --with-apache=../apache_1.3.33 --with-mysql=/usr/local
# make all
# make install


Apache mit mod_ssl und PHP compilen
# cd apache_1.3.33
# SSL_BASE=../openssl-0.9.7g ./configure --prefix=/usr/local/ --enable-module=ssl --activate-module=src/modules/php5/libphp5.a
# make all
# make certificate
# make install




Läuft so alles glatt durch, bekomme keine Fehler beim compilen.
Leider funktioniert PHP aber nicht, ich sehe nur den Quelltext von .php Dateien.

Ich habe vor, SSL und PHP fest in Apache zu compilen und nicht als Modul zu laden.
Weiss jemand bescheid? :)

Würd mich um ne Antwort freuen...

MFG, GreenShadow

GreenShadow
03.06.05, 18:16
Ich versuche mich gerade noch einmal mit dem LAMP HowTo, vielleicht bringt das was. Würde mich dennoch um Unterstützung freuen :)

Tomek
03.06.05, 18:36
Hast du auch eine Zeile, wie diese in deiner Apache-Konfiguration?

AddType application/x-httpd-php .php

`kk
03.06.05, 19:56
Leute, so beschreibt mein sein Problem.
Ich wär für nen Pinn oder sowas...

Danke
Kai

Tomek
03.06.05, 22:46
Leute, so beschreibt mein sein Problem.
Ich wär für nen Pinn oder sowas...

Danke
Kai
Hmm, bitte was?

GreenShadow
04.06.05, 04:10
Ja, die Zeile war in meiner Config enthalten.

Ich bin nur ein wenig verwirrt, da die Apache config in meiner "alten" Version noch in mod_php.conf und mod_ssl.conf gesplittet war.

Ich werde das hier vervollständigen, wenn ich alles so wie ich es wollte zum laufen bringen kann. Vielleicht dient das dann so als Kurzreferenz im Vergleich zu LAMP oder so.

An Tomek: Ich glaube er meint einen Sticky oder so.

GreenShadow
04.06.05, 04:52
Okay, mein neuer Durchlauf sah nun wie folgt aus:
( Ich nahm nun zusätzlich dieses LAMP Howto (http://www.lamphowto.com/lampssl.htm) zur Hilfe )


MySQL:

Zu erst legt man sich die Gruppe und den Benutzer für mySQL an...
# groupadd mysql
# useradd -g mysql -c "MySQL Server" -d /dev/null -s /sbin/nologin mysql

...und startet dann das Standardprozedere:
# ./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--disable-maintainer-mode \
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--without-comment \
--without-debug \
--without-bench

# make && make install
# ./scripts/mysql_install_db

Setzt ein paar Rechte:
#chown -R root:mysql /usr/local/mysql
# chown -R mysql:mysql /usr/local/mysql/data
# cp support-files/my-medium.cnf /etc/my.cnf
# chown root:sys /etc/my.cnf
# chmod 644 /etc/my.cnf

# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig

und kümmert sich noch um die Startskripte.
# cp ./support-files/mysql.server /etc/rc.d/rc.mysql
# chmod +x /etc/rc.d/init.d/mysql

Abschließend setzt man noch die Symlinks, um die php tools von überall starten zu können:
# cd /usr/local/mysql/bin
# for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done

mySQL lässt sich starten, hat prima geklappt.
( Quelle: LAMP (http://www.lamphowto.com/lampssl.htm) )


OpenSSL:

# ./config \
--prefix=/usr/local/openssl \
-fPIC
# make all && make test && make install


Apache mit mod_ssl patchen:
# ./configure --with-apache=../apache_1.3.33 --with-ssl=../openssl-0.9.7g


Apache für compilen:

# CFLAGS='-DEAPI' \
SSL_BASE=../openssl-0.9.7g \
./configure \
--prefix=/usr/local/apache \
--enable-module=ssl \
--enable-shared=ssl \
--enable-module=rewrite \
--enable-shared=max \
--enable-module=so \
--activate-module=src/modules/perl/libperl.a \
--enable-module=perl

# make
# make certificate TYPE=custom
# make install


PHP konfigurieren und für Apache compilen:
# cd /usr/local/src/php-4.3.11

# CFLAGS='-O2 -I/usr/local/src/openssl-0.9.7g -DEAPI' \
./configure --with-apxs=/usr/local/apache/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-mbstring \
--enable-mm=shared \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/usr/local/mysql \
--with-regex=system \
--with-xml \
--with-mbstring \
--with-zlib-dir=/usr/lib

# make && make install
# cp php.ini-dist /usr/local/lib/php.ini



Nachdem ich nun die Config durchgegangen und die entsprechenden anpassungen vorgenommen hatte funktionierte nun php, ich konnte <? echo "PHP rennt."; ?> erfolgreich anzeigen lassen.

Allerdings zeigt mir phpinfo.php von phpMyAdmin noch folgendes an:


Configure Command
'./configure' '--with-apache=../apache_1.3.33' '--with-mysql=/usr/local'

Nochdazu meint phpMyAdmin folgendes:


The mbstring PHP extension was not found and you seem to be using a multibyte charset. Without the mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results.

Obwohö In der php.ini alle Kommentarzeichen vor den Einträgen zu mbstring entfernt und php ja mit der Option compiled worden ist.

Irgendwas macht mein PHP noch falsch...