Serwer www – cache – część pierwsza.

To, że trzeba keszować, i co trzeba keszować, a czego nie można to już wiemy. Wiemy też jak powinniśmy keszować. Mając tą wiedzę, przejdźmy do czynu!

Keszowanie to dość rozległy temat. Ten artykuł to pierwsza część, obejmująca konfigurację serwera http oraz PHP.

Keszować możemy na różne sposoby, bardziej lub mniej wydajnie.
Najpowszechniejsze metody keszowania to:
1. modyfikacja nagłówków http, kompresja po stronie httpd, kompresja php po stronie php
2. serwer keszujący, np. Varnish
3. keszowanie pehapa przez x-cache
4. keszowanie *sql wykorzystując np. memcache
5. keszowanie aplikacji webowych, np. WordPress


Continue reading

Nanana!

Ah, przez moment poczułem się sławny w internecie! 🙂
Przyznaję, że do mojego ostatniego wpisu zainspirował mnie film Unknowa z UW-Team.org. Linkiem do artykułu
postanowiłem podzielić się pod filmikiem.
Liczyłem bardziej na spotkanie z krytyką, jednak ku mojemu zaskoczeniu(jak najbardziej miłemu) zostałem podlinkowany przez samego Unknowa na profilu na facebooku UW-Team.org.
Cieszę się, że moje wypociny okazały się w najmniejszym choćby stopniu uzyteczne, jednocześnie zmotywowało mnie to do dalszej pracy.
Może następny artykuł o cachowaniu? ]:->

Jak zawsze, jestem otwarty na konstruktywną krytykę, uwagi i sugestie 😉

TP-Link naprawa bootloadera, uboot

TP-Link: Naprawa Bootloadera i Instalacja Alternatywnego Oprogramowania (U-Boot)

Wszystkie opisane poniżej operacje zostały przetestowane i wykonane. Nie daję jednak żadnej gwarancji ich skuteczności. Wykonujesz je na własną odpowiedzialność. Autor nie ponosi odpowiedzialności za uszkodzony sprzęt, utratę danych czy przypalone kotlety.

Problemy z routerem TP-Link?

Jeśli masz jeden z poniższych problemów:

  • Router TP-Link TP-XXXXX miga diodą YYYY i nie uruchamia się.
  • Nie możesz połączyć się z routerem, nawet po przywróceniu ustawień fabrycznych.
  • Router nie jest widoczny w sieci.
  • Albo... brzydko pachnie. 😉

Nie martw się (no, poza tym ostatnim przypadkiem). Większość problemów można rozwiązać przez nadpisanie oprogramowania routera. Ale co zrobić, jeśli router nie odpowiada na żadne połączenia?

Rozwiązaniem jest konsola szeregowa. W tym artykule pokażę, jak z niej skorzystać, bazując na przykładzie routera TP-Link MR3020.


Krok po kroku: Plan działania

  1. Rozbieramy router.
  2. Lokalizujemy złącza konsoli szeregowej.
  3. Lutujemy goldpiny.
  4. Nawiązujemy połączenie z routerem.
  5. Wgrywamy nowe oprogramowanie:
    • Za pomocą serwera TFTP.
    • Opcjonalnie wgrywamy zmodyfikowany bootloader.
  6. Profit!

Rozbieranie routera TP-Link MR3020

Najpierw musimy dostać się do wnętrza urządzenia. W przypadku MR3020 należy delikatnie podważyć obudowę od strony przeciwnej do diod sygnalizacyjnych. Uważaj, by nie uszkodzić plastikowych zatrzasków. Po zdjęciu obudowy zobaczysz płytę główną:

Płyta główna MR3020

Na płytce znajdują się złącza konsoli szeregowej, które wyglądają tak:

Złącza konsoli szeregowej

Lutowanie goldpinów

Goldpiny można przylutować za pomocą standardowej lutownicy. Ważne: pady lutownicze na MR3020 mogą mieć problem z przyjmowaniem spoiwa. Przed lutowaniem odtłuść powierzchnię zarówno goldpinów, jak i padów.

Wlutowane goldpiny


Połączenie z konsolą szeregową

Aby nawiązać połączenie z routerem, potrzebujesz konwertera USB → RS232, obsługującego poziomy napięć TTL (np. z układem MAX232). Możesz kupić taki adapter za kilkanaście złotych. Oto przykład:

Adapter USB → RS232

Podłączanie kabli

Podłącz przewody w następujący sposób:

  • RX routeraTX adaptera
  • TX routeraRX adaptera
  • GND routeraGND adaptera

Uwaga: Aby połączenie było stabilne, podłącz rezystor 10 kΩ pomiędzy portem TX i VCC na routerze.

Podłączanie rezystora


Konfiguracja programu do konsoli

Dane z konsoli możesz odczytać za pomocą programów takich jak screen lub Putty. W tym artykule użyjemy Putty, ponieważ jest prosty w konfiguracji i dostępny na wielu platformach.

Ustawienia Putty

  1. Port szeregowy: Sprawdź numer portu, wykonując polecenie dmesg. Najczęściej będzie to /dev/ttyUSBX lub /dev/ttySX.
  2. Prędkość transmisji: Ustaw 115200 bps.
  3. Kontrola przepływu: Wyłącz kontrolę parzystości i płynności przepływu.

Twoje ustawienia powinny wyglądać tak:

Konfiguracja Putty - krok 1
Konfiguracja Putty - krok 2


Wgrywanie bootloadera przez TFTP

Konfiguracja serwera TFTP

Najprostszym narzędziem do tego celu jest dnsmasq. Zainstaluj go na swoim komputerze:

sudo apt-get install dnsmasq

Skonfiguruj dnsmasq:

port=0
interface=eth0
bind-interfaces
enable-tftp
tftp-root=/tmp/tftp

Skopiuj plik bootloadera (np. uboot.bin) do katalogu /tmp/tftp.

Ustawienia sieciowe

Przypisz adresy IP ręcznie:

ip link set eth0 up
ip addr add 192.168.1.2/24 dev eth0

Na routerze ustaw IP w konsoli:

hornet> setenv ipaddr 192.168.1.1
hornet> setenv serverip 192.168.1.2
hornet> printenv

Pobranie i zapis nowego bootloadera

Pobierz bootloader z serwera TFTP:

hornet> tftpboot 0x80800000 uboot.bin

Usuń stary bootloader (uważaj, nie odłączaj zasilania!):

hornet> erase 0x9F000000 +0x10000

Zapisz nowy bootloader:

hornet> cp.b 0x80800000 0x9F000000 0x10000

Testowanie nowego bootloadera

Zrestartuj router:

hornet> reset

Jeśli bootloader działa poprawnie, powinieneś zobaczyć następujący komunikat w konsoli:

HTTP server is starting for firmware update...

Przejdź do interfejsu WWW routera, aby wgrać nowe oprogramowanie:

Interfejs aktualizacji firmware


Uwaga końcowa

Jeśli zdecydujesz się na modyfikowany bootloader, pamiętaj, że nie wspiera on oryginalnego oprogramowania TP-Link. Musisz używać alternatywnego firmware, np. OpenWRT, Gargoyle, czy DD-WRT.


Przydatne linki


Gratulacje! Twój router znów działa. Jeśli masz pytania, zostaw komentarz poniżej. 😊

Mam Bloga!

Tak tak, zdecydowałem się utworzyć bloga.
Po co? No na pewno nie dla tego, że muszę wylać swoje żale.
Często robię coś jednorazowo, mam na myśli konfigurację jakiejś usługi, a gdy jakiś czas później muszę to zrobić ponownie - pojawia się problem z pamięcią.
Dlatego też co ciekawsze rzeczy zamierzam zapisywać tutaj.