strony www, sklepy internetowe, oprogramowanie

Archiwum kategorii ‘Serwer Debian’

Połączenie poprzez konsolę do serwera MongoDB

Czwartek, listopad 24th, 2011

W trakcie programowania systemów wykorzystujących bazę MongoDB, warto wspierać się poprzez testowanie zapisu i odczytu informacji poprzez konsolę.

Aby połączyć się do serwera tej bazy danych wykonujemy polecenie: /usr/bin/mongo 127.0.0.1:27017/nazwa_bazy_danych

które połączy nas do wskazanej bazy danych, a tam np możemy już wyszukiwać elementy poprze polecenie : db.collection_name.find();

Możemy również zapoznać się z całym szeregiem innych metod do wywołania poprzez polecenie help() np: db.help()

nginx i http_push_module = problem przy metodzie make

Sobota, wrzesień 3rd, 2011

Jeżeli próbujesz wykonać make nginx’a wraz z http_push_module w celu wykorzystania do Comet i trafiłeś na problem typu:

../nginx_http_push_module/src/ngx_http_push_module.c: In function ‘ngx_http_push_clean_timeouted_subscriber’:
../nginx_http_push_module/src/ngx_http_push_module.c:22: error: unused variable ‘chain’
../nginx_http_push_module/src/ngx_http_push_module.c: In function ‘ngx_http_push_handle_subscriber_concurrency’:
../nginx_http_push_module/src/ngx_http_push_module.c:554: error: unused variable ‘rc’
../nginx_http_push_module/src/ngx_http_push_module.c: In function ‘ngx_http_push_clean_timeouted_subscriber’:
../nginx_http_push_module/src/ngx_http_push_module.c:22: error: unused variable ‘chain’
../nginx_http_push_module/src/ngx_http_push_module.c: In function ‘ngx_http_push_handle_subscriber_concurrency’:
../nginx_http_push_module/src/ngx_http_push_module.c:554: error: unused variable ‘rc’
Rozwiązaniem jest zakomentowanie linii 22 i 554 we wskazanym pliku ngx_http_push_module.c poprzez dodanie na ich początku znaku // .
Rozwiązanie choć niejasne – jest skuteczne.

mssql i freetds w ubuntu lub debian

Środa, czerwiec 22nd, 2011

Jeżeli w swojej pracy bądź pasji tworząc nową aplikację trafiliście na konieczność współdziałania php z bazą mssql i do tego na serwerze opartym o debian/ubuntu na pewno trafiliście na problem braku sterownika do połączenia.

Aby móc połączyć naszą aplikację php z serwerem mssql konieczne będzie zainstalowanie i skonfigurowanie freetds.
Można zrobić to w kilku szybkich krokach – oto one:

  1. Instalujemy freetds z pakietów deb
    sudo apt-get install freetds-dev
  2. Instalujemy bibliotekę mssql w php (o ile nie została zainstalowana wcześniej)
    sudo apt-get install php5-mssql
  3. Znajdujemy plik konfiguracyjny freetds i edytujemy go
    sudo find / -name freetds

    Z listy wyszukanych plików wybieramy odpowiedni, w naszym przypadku jest to plik:
    sudo mcedit /etc/freetds/freetds.conf

    na końcu pliku dodajemy sekcję:
    [nasz_host]
    host=nasz_host
    port=1433
    tds version=8.0

  4. Edytujemy plik hosts
    sudo mcedit /etc/hosts

    i dodajemy w nim nasz host np.
    127.0.0.1 nasz_host

  5. Restartujemy apache
    sudo etc/init.d/apache2 restart

Od teraz możemy korzystać już z naszego host’a do połączeń z serwerem mssql .

/var/lib/dpkg/lock – open (11: Zasoby chwilowo niedostępne)

Czwartek, marzec 17th, 2011
E: Nie udało się uzyskać blokady /var/lib/dpkg/lock – open (11: Zasoby chwilowo niedostępne)
E: Nie udało się zablokować katalogu administracyjnego (/var/lib/dpkg/), czy inny proces go używa?

Zdarzyło się Wam kiedyś, że podczas instalacji pakietów w debianie nagle proces został przerwany, ale lock został i nie możecie powtórzyć instalacji ani rozpocząć nowej? Jeżeli tak, to przypuszczalnie zobaczycie komunikat podobny do tego poniżej:

E: Nie udało się uzyskać blokady /var/lib/dpkg/lock – open (11: Zasoby chwilowo niedostępne)

E: Nie udało się zablokować katalogu administracyjnego (/var/lib/dpkg/), czy inny proces go używa?

Co zrobić w takiej sytuacji? To proste:

  1. Kasujemy plik lock: sudo rm -f  /var/lib/dpkg/lock
  2. Naprawiamy problem związany z przerwaniem instalacji: sudo dpkg –configure -a
  3. Możemy przejść do ponownej instalacji pakietów

Bardzo szybki, prosty i skuteczny sposób.


Przekonfigurowanie pakietów

Wtorek, listopad 2nd, 2010

Czasami zdarza się, że podczas instalacji nowych pakietów .deb komputer odmówi nam posłuszeństwa lub nawet sami przypadkiem go zamkniemy, a po ponownym uruchomieniu nie jesteśmy w stanie zakończyć instalacji, ani przeinstalować pakietu poprzez apt-get .

Co wtedy zrobić? Należy skorzystać z polecenia:

defoma-reconfigure -f

które przekonfiguruje, w razie potrzeby przeinstaluje nasze pakiety tak, aby znowu wszystko było w porządku.

Opis ten dotyczy komputerów z zainstalowanymi Ubuntu/Debian

Usuwanie katalogów SVN – Ubuntu

Środa, lipiec 14th, 2010
Czasami zdarza nam się chcieć skopiować jakieś rozwiązanie znajdujące się już w innym projekcie.
Ponieważ wszystkie projekty są przechowywane w SVN, kopiując moduł kopiujemy i pliki SVN.
Aby takie dane zostały prawidłowo rozpoznane w nowym repozytorium musimy najpierw wyczyścić stare pliki SVN.
Aby to zrobić wchodzimy w linii komend do interesującej nas lokalizacji a następnie wywołujemy komendę:

rm -rf `find . -type d -name .svn`

Której zadaniem jest rekurencyjne przeszukanie katalogów i usunięcie tych które nazywają się ".svn" .

apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

Niedziela, lipiec 11th, 2010

Kolejny krótki wpis traktujący o konfiguracji Apache.

Jeżeli podczas restartu serwera Apache pojawia się komunikat:

apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

oznacza to, że musimy skonfigurować nasz ServerName. Aby to zrobić przechodzimy musimy dowiedzieć się jaki jest nasz hostname ( wywołujemy komendę hostname) a następnie przechodzimy do pliku httpd.conf (w ubuntu /etc/apache2/httpd.conf) i dodajemy/edytujemy w nim wpis ServerName tak aby był postaci “ServerName hostname” w naszym przypadku:

ServerName leadersmind

apr_sockaddr_info_get() failed

Niedziela, lipiec 11th, 2010

Krótki wpis rozwiązujący problem występujący przy restarcie Apache.

Gdy przy restarcie otrzymujemy komunikat typu:

apache2: apr_sockaddr_info_get() failed for leadersmind

gdzie “leadersmind” jest nazwą naszego lokalnego hosta

musimy w pliku hosts (/etc/hosts w przypadku ubuntu)  dodać hosta “leadersmind” do linijek opisujących localhost tak aby wyglądały one w następujący sposób:

127.0.0.1 localhost leadersmind

127.0.1.1 lukasz-laptop leadersmind

Plik zapisujemy i restartujemy serwer (/etc/init.d/apache2 restart). W ten banalny sposób rozwiązaliśmy nasz problem.

Rekompilacja PHP5 z pełnym GD

Środa, marzec 24th, 2010

Opiszemy tutaj problem, na który możemy napotkać gdy posiadamy serwer dedykowany i sami musimy dbać o oprogramowanie na nim zainstalowane.

Omówimy problem w oparciu o architekturę Debiana, chyba najpopularniejszego systemu wykorzystywanego na serwerach dedykowanych.

Na czym polega nasz problem? Otóż gdy tworzymy skrypty oparte o PHP, których zadaniem jest modyfikowanie lub też tworzenie grafiki korzystamy z biblioteki GD, ale niestety jej wersja dostępna w łatwo instalowalnych paczkach .deb nie zawiera pełnej wersji tej biblioteki. Brakuje np popularnej funkcji: imagefilter

Co musimy zrobić, aby móc z niej skorzystać? Musimy przekompilować PHP, utworzyć paczkę deb i ją zainstalować. W tym artykule omówimy to krok po kroku.

Musimy doinstalować niezbędne pakiety. Robimy to poleceniem:

apt-get install build-essential debhelper fakeroot

Następnie przechodzimy do lokalizacji:

cd /usr/src

W której musimy umieścić źródła PHP, wykonujemy to poleceniem:

apt-get source php5

Gdy już wszystko zostanie pobrane musimy doinstalować wszystko co będzie potrzebne do skompilowania ze źródeł PHP. Załatwi to za nas kod:

apt-get build-dep php5

Następnie wchodzimy do katalogu o nazwie zbliżonej do:

cd php5-5.2.3

w którym musimy zedytować plik z lokalizacji

debian/rules

W nim odnajdujemy linię:

–with-gd=shared,/usr –enable-gd-native-ttf

i zamieniamy ją na:

–with-gd=shared –enable-gd-native-ttf

Po tych operacjach nadchodzi czas na kompilowanie i tworzenie paczek deb. Robimy to przy pomocy polecenia:

dpkg-buildpackage -rfakeroot

Proces ten może potrwać nawet kilka kodzin, musimy więc być cierpliwi. Gdy proces zakończy się,  wychodzimy katalog wyżej  i uruchamiamy paczkę deb w której znajduje się nasze GD przy pomocy polecenia zbliżonego do:

dpkg -i php5-gd_5.2.3-1ubuntu6.3_i386.deb

Po poprawnej instalacji pozostało nam tylko zrestartować apache poleceniem:

etc/init.d/apache2 restart

I możemy cieszyć się pełną bibliotekę GD w naszym systemie. Gratulujemy!