Skocz do zawartości

Mysql + Apache


Martee

Rekomendowane odpowiedzi

witam

przeszukalem forum ale nie znalazlem podobnego problemu wiec pisze. Chodzi o to ze podczas konfiguracji MySQL pod Apache 2.2.3 na Fedorze 5 mam taka sytuacje. Wpisuje

[root@martee php-5.1.6]# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql

to dostaje w odpowiedzi taki blad

checking for MING support... no
checking for mSQL support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find MySQL header files under /usr/bin/mysql.
Note that the MySQL client library is not bundled anymore!

 

Mam zainstalowane z rpmow pakiety

 

[root@martee ~]# rpm -qa |grep mysql
libdbi-dbd-mysql-0.8.1a-1.2.1
php-mysql-5.1.4-1
mysql-connector-odbc-3.51.12-1.2.1
mysql-5.0.22-1.FC5.1
mysql-server-5.0.22-1.FC5.1

 

skompilowanego ze zrodel Apacha 2.2.3 a takze php takze ze zrodel w wersji php 5.1.6

prosze o fachowa porade

 

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

[root@martee php-5.1.6]# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql

 

Skoro tak kompilujesz PHP, to Ci już powiem z miejsca, że libphp5.so będzie miało relokacje w segmencie programu, przez co będzie:

1° wymagało więcej RAM-u

2° będzie stanowiło większe niebezpieczeństwo dla systemu.

 

[root@martee ~]# rpm -qa |grep mysql
libdbi-dbd-mysql-0.8.1a-1.2.1
php-mysql-5.1.4-1
mysql-connector-odbc-3.51.12-1.2.1
mysql-5.0.22-1.FC5.1
mysql-server-5.0.22-1.FC5.1

Ja tu żadnego pakietu mysql*-devel nie widzę... Podstawy się kłaniają → http://wiki.fedorapl.org/Administracja/RPM#devel

 

 

skompilowanego ze zrodel Apacha 2.2.3 a takze php takze ze zrodel w wersji php 5.1.6

prosze o fachowa porade

 

Założę się, że nie skompiloweś go jako Position Independent Executable. Będziesz miał apache bardziej podatnego na ataki włamywaczy. Pewnie też nie włączyłeś Stack Smaching Protector i FORTIFY_SOURCE...

 

Wolalem zapodac ze zrodel zeby wszystko bylo dopasowane pod mojego kompa

 

Ustawiłeś chociaż poprawne flagi (zmienne CFLAGS i CXXFLAGS)? Bez tego bedziesz miał wolniejsze binarki, gdyż te fedorowe sa kompilowane z opcją --mtune=generic → http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01045.html

 

Lepiej jest zmodyfikować istniejące pakiety SRPM lub je tylko przekompilować.

 

i zebym sam decydowal co gdzie jest

 

Po co? FHS 2.3 wyraźnie definiuje gdzie ma co być → http://www.pathname.com/fhs/pub/fhs-2.3.html

 

Trochę zgryźliwie napisałem tego posta, ale denerwuje mnie, jak ktoś się bierze za coś bez odpowiedniej wiedzy. Przez takie postawione "serwery" potem tylko włamują się na Linuksa i psują statystyki. Lepiej przeczytaj tego posta, a najlepiej cały watek → http://groups.google.com/group/alt.pl.comp...c2321f18b925765

Odnośnik do komentarza
Udostępnij na innych stronach

sciagnij pliki srpm dla apache, mysql i php

dalej

[rpm-build@gim34 ~]$ echo $CFLAGS
-march=pentium2 -O2 -pipe -fomit-frame-pointer -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -m32 -fasynchronous-unwind-tables
[rpm-build@gim34 ~]$

to po 1. ustawiasz w /etc/profile poleceniem

export CHOST='i686-pc-linux-gnu'
export CFLAGS='-march=pentium2 -O2 -pipe -fomit-frame-pointer -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  -m32  -fasynchronous-unwind-tables'
export CXXFLAGS='-march=pentium2 -O2 -pipe -fomit-frame-pointer  -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -m32 -fasynchronous-unwind-tables'

 

dalej

 

[rpm-build@gim34 ~]$ cat .rpmmacros
%_topdir      %(echo $HOME)/rpmbuild
%_tmppath       %(echo $HOME)/tmp
%_smp_mflags  -j3
%__arch_install_post   /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot
%optflags -march=pentium2 -O2 -pipe -fomit-frame-pointer  -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -m32 -fasynchronous-unwind-tables'

 

zmien z pentium2 na np. pentium4 i dopiero masz optymalizacje programu

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 month later...

na moje oko to jak byk pisze, że nie może znaleźć plików nagłówkowych od mysqla, plików z rozszerzeniem *.h

 

jak kompilujesz php ze źródeł, to już wszystko rób ze źródeł...

a tak apropo to poszukaj gdzie masz takie pliki z rozszerzeniem *.h i tego katalogu, jeśli się nie mylę powinien nazywać się mysql i przy kompilacji wpisz

--with-mysql=/sciezka/do/plikow/z*.h

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...