Skocz do zawartości

Profesjonalny Serwer


tedew

Rekomendowane odpowiedzi

witam

ostatnio postanowiłem postawić sobie serwer na Apache który będzie widziany z zewnątrza - nie jako localhost. Poczytałem, poszukałem i prawie zrobiłem :) . Prawie bo mam problem z SSL - nie działa :(

 

oto listing z httpd.conf ważnych żeczyrzeczy z tym związanych

 

#
ServerRoot "/usr/local/apache2"


Listen 12.34.56.78:80
Listen 12.34.56.78:443


User nobody
Group #-1

#
ServerAdmin [email protected]


ServerName 12.34.56.78

DocumentRoot "/home/www/"

<Directory "/home/www/">

   AllowOverride None


</Directory>

#
UserDir public_html

#
#<Directory /home/*/public_html>
#    AllowOverride FileInfo AuthConfig Limit Indexes
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS PROPFIND>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS PROPFIND>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>

#
DirectoryIndex index.html index.html.var

#
AccessFileName .htaccess

AddDefaultCharset ISO-8859-2
#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ~ "^\.ht">
   Order allow,deny
   Deny from all
</Files>

#
#
<IfModule mod_ssl.c>
   Include conf/ssl.conf
</IfModule>


#
NameVirtualHost 12.34.56.78:80
NameVirtualHost 12.34.56.78:443

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost 12.34.56.78:80>
   ServerAdmin [email protected]
   DocumentRoot /home/wwww/
   ServerName 12.34.56.78
   ErrorLog logs/dummy-host.example.com-error_log
   CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

<VirtualHost 12.34.56.78:443>
DocumentRoot /home/wwww/
ServerName 12.34.56.78:443
ServerAdmin [email protected]
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
SetEnvIf User-Agent "."MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>

 

jak wpisze

http://12.34.56.78:80 to działa -zgłasza sie apache:)

jak pisze

https://12.34.56.78:443 nie działa :(

wywala

Not Found

The requested URL / was not found on this server.
Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7f Server at 12.34.56.78  Port 443

 

startowałem apache jako zwykły i jako ssl ,czyli :

apachectl start  
apachectl startssl

 

 

 

 

 

certyfikaty generowałem ,prawa sprawdzałem na kat (dałem naraznie 777 wszędzie dla testu ) , czytałem gdzie tylko sie da - ale nie mogę sobie poradzić :(

 

pozdr.

Odnośnik do komentarza
Udostępnij na innych stronach

Eeee każdy apacz odpalony jest widziany z sieci (domyślnie nasłuchuje na porcie 80).

 

Ja nie wiem po co sobie ustawiłeś nazwę serwera na 12.34.56.78. Zostaw to w spokoju, albo wpisz swoje ip. Tak samo z Lizten - wpisz po prostu porty, czyli

 

Listen 80

Listen 443

 

W dyrektywie VirtualHost zrób sobie

 

<VirtualHost *:80> i analogicznie dla SSL

 

A Co do Twojego błędu to w dyrektywie VirtualHost:

 

ServerName 12.34.56.78:443 winno być ServerName 12.34.56.78 i powinno działać.

 

Pozdrawiam

Bergo

Odnośnik do komentarza
Udostępnij na innych stronach

@bergo

Dzięki za pomoc :) - pomogło :)

 

mam teraz inny problem ( trzeba rozbudować serwer :D ) a php 4

 

użyłem takiej konfiguracji

/configure --prefix=/usr/local/php4 --with-config-file-path=/usr/local/php4 --sysconfdir=/usr/local/php4 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-openssl=/usr/local/openssl --enable-discard-path --enable-debug --enable-track-vars --enable-versioning --with-openssl=/usr/local/openssl --with-xml --enable-bcmath --with-bz2 --enable-calendar --with-ttf=/usr/lib --with-curl --with-db --with-dbase --with-pear --enable-exif --enable-ftp --with-gettext --with-iconv  --enable-mbstring   --with-zlib --with-gd --with-gd-native-ttf   --with-kerberos --with-ncurses

 

potem make i make install

 

wszytsko OKI

 

jak chce przeprowadzić test lub włączyć apache dostaje to

 

[root@localhost bin]# ./apachectl -t
Syntax error on line 234 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied

a jestem zalogowany na Root

 

linie o które się czepia to

234: LoadModule php4_module modules/libphp4.so 
235: AddType application/x-httpd-php .php
236: AddType application/x-httpd-php .php4

 

 

nie mam pojęcia o co mu chodzi :(

 

pozd.

Odnośnik do komentarza
Udostępnij na innych stronach

--enable-debug

Masz zamiar modyfikować kod php i go debugować?

[root@localhost bin]# ./apachectl -t
Syntax error on line 234 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied

Brakuje opcji --with-pic → http://cvs.fedora.redhat.com/viewcvs/rpms/...r1=1.65&r2=1.66

 

Jesli już samemu wszystko kompilujesz i nie używasz dystrybucyjnych paczek, to mam nadzieję, że zapiszesz się na grupy mailingowe informujące o nowych błędach bezpieczeńśtwa, a potem będziesz na bieżaco łatał ten serwer. Jak widzę jak niektórzy skompilują raz serwer i potem resztę olewają, to sie nóź w kieszeni otwiera...

Odnośnik do komentarza
Udostępnij na innych stronach

ta cała konfiguracja co podałem to znaleziona na necie .

Te opisy czesto robią ludzie nieznający się na rzeczy i wprowadzają tylko w błąd <_< Np. ta opcja debugowania - przez nią przecież php będzie chodziło wolniej.

 

Najprościej jest zainstalować gotowe paczki. Polityki bezpieczeństwa SELinux są do nich dostosowane, a deweloperzy dbają o szybkie łatanie.. Jeśli chodzi o aplikacje serwerowe w Fedorze, to głównie backportuje się patche, więc prawdopodobieństwo, że coś po aktualizacji nie będzie działać, spada do minimum.

 

yum install httpd mysql mysql-server php-mysql php-gd php-mbstring php

 

/edit/

Widzę, że chcesz PHP4. z PHP 5 nie działa dobrze? Jeśli koniecznie potrzeba Ci PHP4, to przekompiluj paczki srpm z FC3 (weź z repo updates). W yumie potem dodaj opcję exlude, by Ci się potem nie aktualizowały do php-5.

Odnośnik do komentarza
Udostępnij na innych stronach

hey:)

 

tylko tak generalnie chodzi o to że ja to wszystko robię tak z palca w celach edukacyjnych :)

sam sobie postawiłem apache , mysql , dodałem obsługę CGI i teraz przyszła pora na PHP 4 i 5 ( narazie 4 :) )

 

wyrzuciłem trochę z configure - tyle zostawiłem :)

 

/configure --prefix=/usr/local/php4 --with-config-file-path=/usr/local/php4 --sysconfdir=/usr/local/php4 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-openssl=/usr/local/openssl  --enable-track-vars --with-xml

 

ale dalej mam to samo :(

 

[root@localhost bin]# ./apachectl -t
Syntax error on line 235 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
[root@localhost bin]#

 

już naprawdę nie wiem co jest nie tak :(

 

 

DZIS :)

 

witam

niestety nie duało sie jako moduł - rózne wersjie PHP , HTTPD brałem - nie dało się ( możę w FC4 jest jakiś bug :blink:)

zainstalowałem PHP normalnie - tzn nie jako moduł tylko kompilowałem statycznie :) i działa :)

mam to co chciałem

Apache + SSL + PHP + MYSQL + CGI

ale to nie wszystko :) teraz żeby wbić sie na serwer musze wpisać sowje ip

http://my_ip

https://my_ip

 

czy można tak ustawić zebym nie musał wpisywać ip tylko jakiś adres np : www.tedew.wz dla http i www.tedew2.wz dla https ???

do czego jest moduł rewrite ? - bo trochę go nie za bardzo rozumiem

i najważniejsze - jak zabezpieczyć server APACHE - nie chodzi mi o info krok po kroku tylko wskazówki - reszte poszukam :)

pozd.

Odnośnik do komentarza
Udostępnij na innych stronach

tylko tak generalnie chodzi o to że ja to wszystko robię tak z palca w celach edukacyjnych :)

To na pewno nie będzie profesjonalny serwer :P Jakbyś to robił na poważnie, to robiłbyś pakiety RPM albo przerabiałabyś już gotowe.

 

Nie wiem po co chcesz instalować ręcznie. Nic na tym w ogóle nie zyskasz. Jak chcesz się nauczyć kompilowania programów to zacznij od czegoś prostszego.

ale dalej mam to samo :(

Mówiłem przecież, że brakuje opcji --with-pic.

niestety nie duało sie jako moduł - rózne wersjie PHP , HTTPD brałem - nie dało się ( możę w FC4 jest jakiś bug :blink:)

SELinux blokuje dostęp do takich bibliotek, gdyż stanowią zagrożenie dla systemu:

http://www.redhat.com/archives/fedora-seli...e/msg00255.html

 

Jak skompilujesz z opcją --with-pic to powinno ruszyć bez problemów (najwyżej trzeba nadać poprawny kontekst modułowi).

zainstalowałem PHP normalnie - tzn nie jako moduł tylko kompilowałem statycznie :) i działa :)

Programy kompilowane statycznie zużywają więcej RAMu.

czy można tak ustawić zebym nie musał wpisywać ip tylko jakiś adres np : www.tedew.wz dla http i www.tedew2.wz dla https ???

Dodać odpowiedni wpisy do serwera nazw ;-)

do czego jest moduł rewrite  ? - bo trochę go nie za bardzo rozumiem

Przepisuje URLe na inną postać. Przydatne, gdy przenosisz jakieś pliki pod inny adres lub chcesz osiągnąć taki efekt jak tutaj → http://pmwiki.org/wiki/Cookbook/CleanUrls

najważniejsze - jak zabezpieczyć server APACHE - nie chodzi mi o info krok po kroku tylko wskazówki - reszte poszukam :)

http://httpd.apache.org/docs/2.0/misc/secu...urity_tips.html

http://fedora.redhat.com/docs/selinux-apache-fc3/

 

Nie wiem czy SELinux będzie Ci chronił ręcznie kompilowane mysql, php i apache :/

Odnośnik do komentarza
Udostępnij na innych stronach

hey:)

 

@gajownik

skompilowałem php z opcją --with-pic ,

./configure --prefix=/usr/local/php4_1 --with-config-file-path=/usr/local/php4_1 --sysconfdir=/usr/local/php4_1 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl --enable-discard-path --enable-debug --enable-track-vars --enable-versioning --with-openssl=/usr/local/ssl --with-xml --enable-bcmath --with-bz2 --enable-calendar --with-ttf=/usr/lib --with-curl --with-db --with-dbase --with-pear --enable-exif --enable-ftp --with-gettext --with-iconv  --enable-mbstring   --with-zlib --with-gd --with-gd-native-ttf   --with-kerberos --with-ncurses --with-pic

 

 

ale dalej jest to samo .

[root@localhost bin]# ./apachectl -t
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied

 

 

Pisałeś coś o nadaniu poprawnego kontekstu modułowi - nie za bardzo wiem o co chodzi :blink:

 

???

 

pozdr

Odnośnik do komentarza
Udostępnij na innych stronach

skompilowałem php z opcją --with-pic

Hmmm, to może w php4 jakos inaczej się nazywa :/ Odpal ./configure --help i zobacz co tam jest dostępnego.

 

Wywal opcję --enable-debug. Przeciez pisałem, że nie jest ona Ci potrzena. Jak chcesz zobaczyć jakich używać opcji, to zerknij do speca z Fedory → http://cvs.fedora.redhat.com/viewcvs/*chec...p/FC-4/php.spec

Pisałeś coś o nadaniu poprawnego kontekstu modułowi - nie za bardzo wiem o co chodzi  :blink:

U mnie ma taki:

[rpm-build@X i386]$ ls -Z /usr/lib/httpd/modules/libphp5.so
-rwxr-xr-x  root     root     system_u:object_r:texrel_shlib_t /usr/lib/httpd/modules/libphp5.so
[rpm-build@X i386]$

Chyba będziesz musiał u siebie zrobić coś takiego:

chcon -t texrel_shlib_t /ściezka/do/modułu/php

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ę...