PHP/WWW nie działa wina apache?

Wilhelm | 2018-01-29 10:26:54 UTC | #1

Witam zainstalowałem na mojej maszynie Debian pakiety takie jak PHP 7.0, Apache 2, PhpMyAdmin, MySQL. Po zainstalowaniu owych pakietów nie miałem żadnych błędów czy problemów. Katalog var/www został poprawnie utworzony, lecz po wpisaniu w przeglądarkę adresu mojej maszyny nic się nie wyświetla. Ładuje się, ładuje i nic… Próbowałem stworzyć testowy plik .php lecz ten się nie odpala. Próbowałem też wejść w phpmyadmin to samo zero rezultatu. Nie wiem co jest grane, próbowałem robić ścierzkę do phpmyadmin w var/www która jest i nic nie pomogło. Próbowałem restartu Apache i Php, nie pomogło. Próbowałem aktualizacji pakietów, są zaktualizowane… Nie wiem o co chodzi i proszę o pomoc.


bopke | 2018-01-29 10:58:43 UTC | #2

Spróbuj sudo a2enmod php7.0, a jak nie pomoże, to sudo apt-get install libapache2-mod-php7.0, może nie został on wgrany.


Wilhelm | 2018-01-29 11:45:54 UTC | #3

Bez zmian 0 zaktualizowanych, 0 poprawionych, aktualna wersja jest najnowsza. Może to mieć jakiś związek z tym że wczoraj ręcznie zrobiłem plik www? A potem usunąłem gdy się zorientowałem że Apache nie mam, i je zainstalowałem wcześniej usuwając mój plik www?


bopke | 2018-01-29 11:46:53 UTC | #4

sudo systemctl status apache2 i pokaż co Ci tam wyskoczy


Wilhelm | 2018-01-29 11:52:14 UTC | #5

 ESCOD
 apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
   Active: active (running) since Mon 2018-01-29 12:44:23 CET; 6min ago
  Process: 11444 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCES
  Process: 8707 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/S
  Process: 11454 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCC
 Main PID: 11458 (apache2)
    Tasks: 6 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─11458 /usr/sbin/apache2 -k start
           ├─11459 /usr/sbin/apache2 -k start
           ├─11461 /usr/sbin/apache2 -k start
           ├─11462 /usr/sbin/apache2 -k start
           ├─11463 /usr/sbin/apache2 -k start
           └─11464 /usr/sbin/apache2 -k start

Jan 29 12:44:23 wilhelm1720 systemd[1]: Stopped The Apache HTTP Server.
Jan 29 12:44:23 wilhelm1720 systemd[1]: Starting The Apache HTTP Server...
Jan 29 12:44:23 wilhelm1720 apachectl[11454]: [Mon Jan 29 12:44:23.278349 2018]
Jan 29 12:44:23 wilhelm1720 systemd[1]: Started The Apache HTTP Server.
~
~
~

bopke | 2018-01-29 11:53:55 UTC | #6

Czy instalowałeś już jakieś regułki firewalla? Może wyciąłeś porty http omyłkowo?


Wilhelm | 2018-01-29 12:10:14 UTC | #7

Nie przypominam sobie czegoś takiego. Gdzie się sprawdzało porty?


Infinity | 2018-01-29 15:17:49 UTC | #8

Sprawdz iptables (iptables -nL) czy ma jakies wpisy.


Pantoflarz | 2018-01-29 17:19:14 UTC | #9

[quote=”Wilhelm, post:3, topic:5196”]
mój plik www?
[/quote]

dafuq is a plik www?

ja bym se narazie darował majsterkowanie przy php, a zajął bym się samym apach’em. Najlepiej to wogóle zabrać pliki strony, reinstala walnąć i po problemie. Zwykle wychodzi szybciej niż szukanie błędu - no chyba że faktycznie masz tam dużo danych.


Wilhelm | 2018-01-29 17:55:30 UTC | #10

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:28016
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:28015
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Niestety znajdują się tam rzeczy których bym nie chciał stracić. Z tego co widzę porty 28015 i 28016 są przydzielone do jednego programu/serwera i teraz nie pamiętam czy były one dodawane ręcznie czy z automatu tam są… I czy to czegoś wspólnego nie ma.


Infinity | 2018-01-29 18:30:32 UTC | #11

A ja widzę, że masz zablokowane wszystkie porty oprócz 22, 28016 i 28015 oraz dozwolone RELATED i ESTABLISHED. Nie widzę wpisu o porcie 80 w twoim firewalu.

iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -p tcp –dport 443 -j ACCEPT

Opcja użycia conntracka też, dla nowych połączeń, bardziej “zaawansowana”:

iptables -A INPUT -p tcp –dport 80 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp –dport 443 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT


Wilhelm | 2018-01-29 19:51:36 UTC | #12

target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:28016
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:28015
DROP       all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 ctstate NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443 ctstate NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Zresetowałem Apache i dalej tak samo :(


Infinity | 2018-01-30 09:56:16 UTC | #13

Zobacz na kolejnosc w iptables, dalej masz zablokowany port.

Kolejność licz od góry, czyli najpierw dopuszczasz port stan RELATED,ESTABLISHED, potem port 22, 28016 28015 potem ODRZUCASZ WSZYSTKO, potem masz dopiero zezwolenie na porty www.

Najszybciej bedzie jak walniesz:

iptables -X
iptables -F

Wyczyści ci to wszystkie regułki iptables. Wtedy sprawdź czy www działa (nie musisz restartowac apache2). Jeśli tak, to dostosuj swojego firewalla. Jeśli masz automatyczne regułki (przy starcie systemu) to musisz poszukac gdzie sie zapisują i z jakiego skryptu korzystasz do tego (czy persistant, services czy jakiegos wlasnego, zalezy tez jaki system masz).

Jeśli będziesz potrzebowac pomocy z tym, to pisz smialo, cos poradzimy.


MTGmati | 2018-01-30 02:27:18 UTC | #14

Jeżeli na VPS nie posiadasz nic WAŻNEGO!


Instalacja na Ubuntu 16.04


  1. aptupdate && apt-get dist-upgrade && apt-get autoclean && apt-get autoremove
  2. apt install apache2
  3. sudo apt install php-mbstring php-gettext
  4. apt install mysql-server
  5. apt install phpmyadmin
  6. sudo phpenmod mcrypt
  7. sudo phpenmod mbstring
  8. sudo systemctl restart apache2
  9. ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
  10. URL: http://IP_VPS/phpmyadmin/

Gotowe! :smile:


Infinity | 2018-01-30 07:41:41 UTC | #15

Jesteś świadom, że on ma problem z poblokowanymi portami a nie z PHP czy apache2? :smiley:
Apache2 działa u niego, na co dawał dowody w postaci “systemctl status apache2”.


Wilhelm | 2018-01-30 10:22:32 UTC | #16

Infinity pomogło! W końcu działa… Dzięki wielkie za pomoc i zaangażowanie, bo bez Ciebie nie dał bym rady ;)


Infinity | 2018-01-30 11:46:02 UTC | #17

Mogę jeszcze pomóc dodać te regułki do uruchamianych przy starcie vpsa (czy przy reboocie, jesli trzeba). Oznacz rozwiązanie w temacie i w razie czego pisz PW :slight_smile:


Aylin | 2018-12-20 00:40:04 UTC | #18