Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu apache Kanał ATOM (tag: apache)

Autor wpisu: Tomasz Kowalczyk, dodany: 01.08.2013 11:46, tagi: php, apache

Witam wszystkich. Dzisiejszy wpis to suma pomysłów na co najmniej trzy artykuły, które przeleżały gdzieś z tyłu głowy przez ostatnie 2 miesiące. Nadal pracuję nad projektami o których wspominałem w poprzednich wpisach, cały czas rozbudowując, optymalizując i stając na głowie, … #LINK#

Autor wpisu: Jakub, dodany: 27.04.2013 22:37, tagi: apache, php/mysql

System kodowania Unicode UTF-8 jest najlepszym, i zarazem najpopularniejszym który obsługuje znaki diakrytyczne. Niestety często spotykanym problemem jest to, że wykonany skrypt PHP ma problemy z ich wyświetleniem lub przetworzeniem. Może to być spowodowane zła konfiguracją serwer, brakiem meta tagu lub kodowaniem pliku. Poniżej postaram się pokazać, jak w prosty sposób temu zaradzić.   1. Zła konfiguracja serwera. Może się zdarzyć, że Twój serwer ma ustawione błędne kodowanie. Aby to sprawdzić wywołaj funkcję phpinfo(), a następnie odszukaj pozycję default_charset. Jeżeli przyjmuje ona wartość no value lub utf-8, to twój serwer jest skonfigurowany poprawnie. W przeciwnym wypadku, jeżeli posiadasz Windows’a wystarczy odtworzyć w edytorze plik php.ini, a następnie zakomentować linijkę default_charset(u mnie 814). Jeżeli postawiłeś serwer na systemie Linux, w pliku httpd.conf dodaj AddDefaultCharset utf-8 (o ile nie jest już tak ustawione. Możesz zrobić to jeszcze w całkiem inny sposób, dodając zaraz po otwarciu klamry PHP:

1ini_set('default_charset', 'UTF-8');

  2. Kodowanie pliku. Każdy plik wykonywany wraz z uruchomieniem Twojej strony (zaincludowany też), musi mieć ustawione odpowiednie kodowanie. Zmienić je możesz za pomocą większości edytorów, jak np. Notepad++. Wystarczy że wejdziesz w sekcję Format, a następnie wybierzesz Koduj w UTF-8 (bez BOM).   3. Nagłówek. Jeżeli Twój kod znajduję się w szkielecie dokumentu HTML, upewnij się że zawiera on meta-tag:

1<meta http-equiv="Content-type" content="text/html; charset=utf-8">

W przypadku samego kodu PHP, dodaj na samym początku:

1header('Content-Type: text/html; charset=utf-8');

  4. Zapytanie MySQL. Jeśli Twoje dane pobierane są z bazy danych, to właśnie w niej może tkwić problem. Aby to naprawić, dodaj to zaraz po połączeniu się z bazą danych:

1mysql_query("SET NAMES utf8");

  I to by było na tyle. Pozdrawiam Jakub Cieślak.

Autor wpisu: Jakub, dodany: 27.12.2012 22:58, tagi: apache, mysql, php

Instalacja wirtualnego serwera na systemie Ubuntu, jest trudniejsza niż w przypadku pospolitego Windows’a. Należy jednak pamiętać, że Linux o wiele lepiej spełni zadanie wirtualnej maszyny z wielu oczywistych przyczyn. A więc zaczynajmy: 1. Zaczynamy od upewniania się, czy nasze oprogramowanie jest w pełni aktualne:

1sudo apt-get update

2. Następnie instalujemy fundament naszego serwera, czyli Apache:

1sudo apt-get install apache2

3. Teraz PHP:

1sudo apt-get install php5

Opcjonalnie, możemy jeszcze teraz doinstalować najważniejsze biblioteki PHP:

1234sudo apt-get install php-pear sudo apt-get install php5-xsl sudo apt-get install php5-gd sudo apt-get install php5-ming

4. Baza danych MySQL:

1sudo apt-get install mysql-server

Aby serwer MySQL był w pełni zintegrowany z PHP, musimy dołączyć jeszcze odpowiednie komponenty:

12sudo apt-get install libapache2-mod-auth-mysql sudo apt-get install php5-mysql

5. Dla ułatwienia naszej pracy, warto doinstalować jeszcze phpMyAdmn. Wklejamy do konsoli:

1sudo apt-get install phpmyadmin

I postępujemy zgodnie ze wskazówkami instalatora. Następnie wpisujemy komendę:

1sudo gedit /etc/apache2/apache2.conf

Otworzy nam się pewien plik, na koniec którego doklejamy poniższą linijkę:

1Include /etc/phpmyadmin/apache.conf

Zapisz i zamknij plik.   Gratulację! Od teraz, masz w pełni działający serwer!

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Marek, dodany: 18.09.2012 07:09, tagi: apache, php

Załóżmy, że skonfigurowaliśmy Apache pod SSL i nasz przykładowy serwis działa pod adresem https://tajne.moja-domena.pl. Jak przekierować na HTTPS użytkownika, który próbuje połączyć się z naszą stroną za pomocą nieszyfrowanego protokołu HTTP?

Poniżej kilka sposobów rozwiązania:

1. Modyfikacja httpd.conf

Używamy dyrektywy Redirect  z modułu mod_alias wg wzorca:

Redirect [status] URL-path URL

czyli w httpd.conf wpisujemy:

<VirtualHost moja-domena.pl:80>
 ServerName tajne.moja-domena.pl
 Redirect permanent / https://tajne.moja-domena.pl/
</VirtualHost>

Szczegóły w dokumentacji Apache

2. Modyfikacja pliku .htaccess

  1. Za pomocą sprawdzenia zmiennej HTTPS
    RewriteEngine on
    RewriteCond %{HTTPS} !=on
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
  2. Za pomocą sprawdzenia zmiennej SERVER_PORT:
    RewriteEngine on
    RewriteCond %{SERVER_PORT} ^80$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

 

Autor wpisu: Łukasz, dodany: 04.09.2012 12:44, tagi: php, apache

I like Ubuntu, on which I was working with my projects for all last year, but this system is very good as server, espescially dev’s server. But, as a desktop for working, that’s not it for me. Never nothing was working as it should work, but for my sympathy for Ubuntu, I will not give you details ;) . Worst thing I faced was running a virtual machine with Photoshop ;) . Some days ago I changed my old laptop for newer model, so I decided to configure my working environment smarter, than until now.

On preinstalled Windows 7 I installed all, what I need for work. Editors, office tools, etc. Servers are handled by VirtualBox with Ubuntu 12. Configuration of Ubuntu itself, installation of mysql, Apache and PHP didn’t take long time – all that was needed was to run packet management application.

Next problem was visibility of host and virtual machine to each other. In option NAT, that was impossible. Next I tried “bridged” mode. That was also not best idea, computers were not seeing each other where host was not connected to network. Maybe it would not disturb in everyday work, but it was far away from ideal solution. Therefore, I tried to use “card of isolated network”(or something like that – my VirtualBox is in Polish). That’s it! I set manually IP and DNS on VM, so it has the same IP everytime (be carefult to use proper IP as a gate: we need IP that is used to connection with VM, in my case that was automatically given 192.168.137.1). And that was all. Pings are coming brilliant to both machines, and in browser I saw default web page of Apache.

Configuration of Samba (for need of sharing files – unfortunatelly sharing directories possible to do in VirtualBox didn’t work good – owner of directory mounted in that way was root and I was unable to change it in any way – that’s pity, very possible that it would work better) also wasn’t complicated. I created two shares of samba, for /var/www and for my home directory, and mounted it in Windows as network disks. For configuration I would recommend GSambad. You can of course edit configuration file manually, but – as I am not a no-life – I prefer simplier solutions. ;)

Why I did that, and not installed all on Windows? For this, that many libraries, and also PHP language, behave in another way on Linux and on Windows. And my applications are in 99% hosted on Linux hosts.

Autor wpisu: Marek, dodany: 21.06.2012 17:17, tagi: php, apache

Podczas próby uruchomienia aplikacji opartej o framework Kohana3.2 na lokalnym Apache’u przywitał mnie Internal Server Error z informacją w logu:

.htaccess: order not allowed here

W pliku .htaccess był wpis:

# Protect hidden files from being viewed
<Files .*>
	Order Deny,Allow
	Deny From All
</Files>

Aby umożliwić korzystanie z dyrektywy Files w pliku .htaccess trzeba w konfiguracji Apache’a pozwolić mu na to przez:

AllowOverride Limit

Po restarcie serwera WWW znów powitał mnie błąd 500 z informacją w logu:

.htaccess: SetEnv not allowed here

W pliku .htaccess była próba ustawienia środowiska:

SetEnv development

I tutaj również nadrzędne AllowOverride None nie pozwalało użyć tej dyrektywy w pliku .htaccess.

Rozwiązaniem jest dopisanie do konfiguracji:

AllowOverride FileInfo

Ostatecznie sekcja Directory może wyglądać tak:

<Directory "/sciezka/do/katalogu/www/">
Options -Indexes FollowSymLinks
AllowOverride Limit FileInfo
Order allow,deny
Allow from all
</Directory>

Autor wpisu: Marek, dodany: 11.04.2012 09:44, tagi: php, apache

Teraz trochę o logwatch’u. Jest to program, który dostarcza mi codziennie rano logi z serwera WWW do czytania przy porannej herbacie. Domyślnie logwatch skanuje wszystkie logi Apache wg zapisu w pliku konfiguracyjnym /usr/share/logwatch/default.conf/logfiles/http.conf:

LogFile = httpd/*access_log
LogFile = apache/*access.log.1
LogFile = apache/*access.log
LogFile = apache2/*access.log.1
LogFile = apache2/*access.log
LogFile = apache2/*access_log
LogFile = apache-ssl/*access.log.1
LogFile = apache-ssl/*access.log

Aby rozszerzyć sprawdzanie logów o inne pliki należy utworzyć plik /etc/logwatch/conf/logfiles/http.conf

i umieścić w nim namiary na konkretne pliki, np.

# konfiguracja dla niestandardowych plików
LogFile = /var/log/apache2/test/access.log
LogFile = /home/hekima/log/test2/access.log
LogFile = /home/hekima/log/test3/access.log

Żeby szybko przetestować zmiany wystarczy odpalić:

sudo logwatch --mailto=moj@e-mail.pl
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.