Obsługa CRONa (Crontab)

Na niektórych typach serwerów (nie posiadających odpowiedniego panelu zarządzania, np. DirectAdmin czy cPanel) zachodzi konieczność ręcznej edycji poleceń CRONa.
Jeżeli chcielibyśmy edytować polecenia CRONa musimy zalogować się do serwera przez SSH. Następnie wydajemy polecenie
crontab -e
Inne polecenia:
crontab -l listowanie poleceń CRONa
crontab -r usunięcie wszystkich poleceń CRONa
Po uruchomieniu edycji wpisów, możemy je modyfikować używając następujących przycisków:
i zastąpnienie
a dodanie
x skasowanie
dd skasowanie całej linii
: początek komendy
:w zapisywanie
:q wyjście
:q! wyjście bez zapisywania
:wq wyjście z zapisaniem

Uruchomienie cURL na WebServ’erze

cURL jest domyślnie wyłączony na WebServerze. Aby go uruchomić należy:

1. Odpalić edycję pliku php.ini (z menu WebServ Ustawienia->PHP i z listy rozwijanej Edycja plików konfiguracyjnych wybieramy php.ini)

2. Znaleźć i odkomentować linijkę
;extension=php_curl.dll
Po zmianie linijka powinna wyglądać tak
extension=php_curl.dll

3. Zapisać zmiany i zrestartować WebServ

Często po takiej zmianie występuje problem z bibliotekami .dll. W takim przypadku w katalogu z WebServ znajdujemy dwie biblioteki:
ssleay32.dll (zazwyczaj lokalizacja wygląda tak C:/Program Files/WebServ/php/ssleay32.dll)
libeay32.dll (zazwyczaj lokalizacja wygląda tak C:/Program Files/WebServ/php/libeay32.dll).

Następnie obydwie biblioteki kopiujemy do głównego katalogu Windowsa, np C:/Windows.
Restartujemy WebServ – powinno już działać.

Przypisanie domeny do serwera home.pl

Niestety główni polscy hostingodawcy tacy jak nazwa.pl czy home.pl zrezygnowali z udostępniania swoim klientom ogólnie znanych paneli obsługi serwera takich jak DirectAdmin czy cPanel, na rzecz własnych, nie zawsze dopracowanych i zrozumiałych dla użytkowników. Także panele domen nie są zoptymalizowane pod kątem usability.

Problemem może okazać się np. dodanie domeny zakupionej w Home do serwera tego hostingodawcy. Po wejściu w panel zarządzania domeną, kliknięciu Usługi, następnie domeny która nas interesuje, a na końcu Konfiguracja usługi. Naszym oczom ukazuje się niewielki panel zarządzania wartościami konfiguracyjnymi domeny. Dopiero po kliknięciu przycisku Konfiguruj domenę (rys. poniżej)

przechodzimy do właściwej edycji pozwalającej na dodanie domeny do serwera.

Jeżeli domenę chcemy dodać do serwera home.pl, wybieramy opcję Przypisz domenę do usługi w home.pl, wpisujemy nazwę usługi (serwera) i hasło. W przypadku przekierowania na podkatalog zaznaczamy opcję Włącz przekierowanie na podkatalog i wpisujemy nazwę katalogu.

Po zapisaniu, zmiany powinny być widoczne po ok godzinie.

Wywołanie w CRON skryptu umieszczonego na innym serwerze

Polecenie wywołania skryptu przez CRONa, na lokalnym serwerze jest powszechnie znane i może przybrać postać:

/usr/local/bin/php /home/login_konta/sciezka_do_skryptu/twojskrypt.php

Problem pojawia się gdy chcemy wywołać skrypt znajdujący się na innym serwerze. Sytuacja taka typowa jest dla serwerów oferujących bardzo rzadkie wywołania z poziomu CRONa. Dla przykładu na serwerach nazwa.pl (autorski panel zarządzania serwerem), skrypty można wywoływać tylko co godzinę. Rozwiązaniem problemu jest wywoływanie skryptów z zewnętrznych serwerów, takich jak np. linuxpl.com (panel DirectAdmin).

Wywołanie skryptu znajdującego się na innym serwerze niż CRON, może przybrać następującą postać:

/usr/bin/lynx --dump http://twojawitryna.pl/twojskrypt.php/

SLL dla domeny i subdomeny na Linuxpl.com

Żeby dla danej domeny włączyć na serwerach Linuxpl.com certyfikat SSL logujemy się do DirectAdmina. Z menu wybieramy Zarządzanie domeną i klikamy na domenę która nas interesuje.

Zaznaczamy opcję

DirectAdmin SSL

Wystarczy zapisać i już możemy korzystać z protokołu https.

Konfiguracja ta nie jest wystarczająca do używania SSL dla subdomen. Jezeli chcemy wykorzystać protokół https także dla subdomen domeny która ma włączone SSL, w edycji domeny należy zaznaczyć także opcję

2DirectAdmin SSL dla subdomen

Przekierowania htaccess stron bez www na strony z www

Często zdarza się, iż chcielibyśmy przekierować naszą stronę wyświetlająca się bez www na adres www.twojawitryna.pl. Efekt taki uzyskamy dzięki prostym regułom htaccess:

RewriteCond %{HTTP_HOST} !^w{3}\.twojawitryna.pl [NC]
RewriteRule ^(.*)$ http://www.twojawitryna.pl/$1 [R=301,L]

gdzie twojawitryna.pl to adres naszej strony.

Kiedy powyższa sytuacja pojawia się w katalogu, np. /forum/ reguły będą wyglądały troszkę inaczej:

RewriteCond %{HTTP_HOST} !^w{3}\.twojawitryna.pl [NC]
RewriteRule ^(.*)$ http://www.twojawitryna.pl/forum/$1 [R=301,L]

Oczywiście te reguły umieszczamy w htaccess’ie znajdującym się w podkatalogu /forum/.

Dodatkowymi zaletami powyższych reguł jest przekierowywanie każdej domeny skierowanej na katalog z serwisem na adres główny, czyli www.twojawitryna.pl

Przekierowanie na podkatalog można też wykonać za pomocą następującego kodu:

RewriteCond %{HTTP_HOST} !^www.twojawitryna.pl [NC]
RewriteRule ^(.*)$ http://www.twojawitryna.pl%{REQUEST_URI} [R=301,L]

W tym przypadku nie trzeba dbać o nazwy podkatalogów w regule.

Katalog na serwerze chroniony hasłem – htaccess auth

Często się zdarz,a że chcemy chronić jakieś dane znajdujące się na serwerze. Oczywiście można napisać skrypt logowania, który umożliwi wyświetlenie zawartości danej strony jedynie zalogowanym użytkownikom. Co jednak jeśli chcemy chronić dostęp do wszystkich plików, podkatalogów znajdujących się w danym katalogu?

Z pomocą przychodzi nam .htaccess.

W katalogu, który chcemy chronić, tworzymy plik .htaccess z następującymi regułami:

AuthName "Tekst do wyświetlenia, np. podaj hasło"
AuthType Basic
AuthUserFile /SCIEZKA_BEZWZGLEDNA_DO_KATALOGU_Z_PLIKIEM_HASEL/.htpasswd
Require valid-user

W katalogu do którego nie ma dostępu zwykły user (np. katalog wyżej od public_html) tworzymy plik .htpasswd. W pliku tym będziemy przetrzymywali hasła. Ścieżka bezwzględna do pliku powinna zostać wpisana w pliku .htaccess zamiast SCIEZKA_BEZWZGLEDNA_DO_KATALOGU_Z_PLIKIEM_HASEL

Struktura pliku .htpasswd powinna mieć postać:

user1:password1
user2:password2
user3:password3

itd., gdzie “user1″ to nazwa użytkownika, a “password1″ to hasło dla tego użytkownika. Hasło musi przed wpisaniem do pliku zostać zakodowane. Narzędzie do kodowania haseł najdziecie tutaj http://www.kxs.net/support/htaccess_pw.html

Po wykonaniu powyższych kroków i wpisaniu do przeglądarki adresu katalogu bądź katalogów podrzędnych, powinno wyskoczyć okienko logowania. Kiedy wprowadzimy dane dowolnego usera z pliku .htpasswd uzyskamy dostęp do katalogu.

Problem ze skryptem po przeniesieniu na home.pl – home.hit.gemius.pl

Często spotykanym problemem podczas przenosin serwisów z serwera na serwer, jest nagłe “wysypanie się” skryptu.

Jeżeli przenosiliście portal na home.pl, jeden ze skryptów przestał działać, pokazuje się pusta strona, a na dolnym pasku przeglądarki, obok paska postępu wyświetla się napis “Przesyłanie danych z home.hit.gemius.pl…” poniżej prezentuję rozwiązanie problemu.

Bug ten związany jest ze statystykami home.pl. Wywołanie adresu home.hit.gemius.pl w jakiś sposób blokuje prawdopodobnie niektóre JSy (mi zablokowało jquery). Generowany jest błąd zawieszający przeglądarkę.

Rozwiązanie problemu jest banalne. Wchodzimy w panel zarządzania serwerem na home.pl i przechodzimy do zakładki konfiguracja www.  Na samym dole w ramce Statystyki stat.pl z listy rozwijanej wybieramy serwis, który chcemy naprawić. Klikamy wybierz. Po załadowaniu odpowiedniego portalu (domeny) odhaczamy opcję dodaj automatycznie skrypt zliczający do serwisu ‘twojawitryna.pl’home.hit.gemius.pl

Klikamy zapisz.

Problem powinien zniknąć

Porównanie hostingodawców – dobre, tanie serwery

Wczoraj pisałem o oszczędzaniu na domenach, dzisiaj będzie o serwerach.

Wybór, wydaje mi się, iż jest jeszcze większy niż w przypadku operatorów rejestrujących domeny. Na polskim rynku dwóch największych graczy to zapewne nazwa.pl oraz home.pl. Potężne, nowoczesne serwerownie, dobre łącza to u nich podstawowe atuty. Odstraszają natomiast ceną. Najtańsza opcja kosztuje rocznie 366zł. Dla osoby prowadzącej bloga, czy małą prywatną stronkę, kwota zabójcza (ale i serwer 100 razy mocniejszy niż potrzeby).

Alternatywą może być zamówienie hostingu u mniejszych dostawców – np. kei.pl. Ceny też nie są niskie – najtańsza opcja za 183zł rocznie jakoś nigdy mnie nie skusiła;)

Duży wybór hostingodawców mamy na allegro.pl. Nie polecałbym jednak zamawiania serwerów w małych, anonimowych firemkach. Dziś taka istnieje, jutro możemy stracić nasze dane. Oczywiście nie jest to regułą, ale ja bym się jednak nie zdecydował…

Przez wiele lat szukałem jakiejś dobrej oferty dla siebie. Najpierw były serwery w mniejszych firmach (już nawet nie pamiętam nazw), potem serwer Active w nazwa.pl.  Kiedy mocno rozrosły mi się serwisy, chciałem znaleźć kilka tańszych, ale dobrych serwerów. Bałem się powierzać swoich danych jakimś anonimowych firmom… Spróbowałem natomiast z linuxpl.com. Przyznam szczerze, że jeżeli znalazłbym ich ofertę na allegro, pewnie nie zamówiłbym serwera. Tak się jednak składa, że szwagier też jest programistą i już jakiś czas korzystał z ich usług. Był zadowolony, więc polecił mi wypróbowanie ich usług.

Mogę powiedzieć tylko tyle – na razie nie żałuję:) Cena jest niska – 48zł za rok (2GB pojemności, 20GB/miesiąc transfer), serwer w miarę niezawodny (być może uptime jest nawet lepszy niż w nazwa – muszę to sprawdzić).

Za kwotę którą płaciłem Netart mogę mieć teraz 7 serwerów, na 7 różnych ip, a co za tym idzie konsekwentnie realizować swoją strategię SEO. Serwisy są rozproszone, więc nawet awaria jednego z serwerów, nie stanowi dla mnie już takiego problemu jak kiedyś.

Jeżeli serwer nie musi być zlokalizowany w Polsce, otwiera się przed nami ogromne pole manewru. W tysiącach ofert, głównie z USA, na pewno znajdziemy coś dla siebie. Na zagranicznym rynku doświadczenia dużego nie mam. Mogę polecić jedynie HostGator.com – serwer niezawodny, dobra pomoc techniczna, ceny dosyć wysokie, ale za to praktycznie brak ograniczeń. Dla dużych serwisów serwer jak w sam raz.