<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://wiki.opzsgu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Neo</id>
	<title>Podręcznik Administratora by OPZ SGU - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opzsgu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Neo"/>
	<link rel="alternate" type="text/html" href="https://wiki.opzsgu.pl/index.php?title=Specjalna:Wk%C5%82ad/Neo"/>
	<updated>2026-04-14T06:31:20Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.opzsgu.pl/index.php?title=Buforowanie_wyjscia_php&amp;diff=72</id>
		<title>Buforowanie wyjscia php</title>
		<link rel="alternate" type="text/html" href="https://wiki.opzsgu.pl/index.php?title=Buforowanie_wyjscia_php&amp;diff=72"/>
		<updated>2009-07-09T21:19:47Z</updated>

		<summary type="html">&lt;p&gt;Neo: Utworzył nową stronę „Jedną z nieocenionych zalet PHP jest możliwość buforowania wyjścia.  Buforowanie wyjścia znajdzie zastosowanie wszędzie tam gdzie chcemy pobrać do zmiennej tre…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jedną z nieocenionych zalet PHP jest możliwość buforowania wyjścia.&lt;br /&gt;
&lt;br /&gt;
Buforowanie wyjścia znajdzie zastosowanie wszędzie tam gdzie chcemy pobrać do zmiennej treść która normalnie została by wyświetlona na ekranie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Najprostszym i klasycznym przykładem jest przechwycenie tekstu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
ob_start();&lt;br /&gt;
echo &amp;quot;Jakiś tekst&amp;quot;;&lt;br /&gt;
echo &amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
echo &amp;quot;Jakiś tekst 2&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$pobrane = ob_get_clean();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
w zmiennej $pobrane mamy zapisany wynik działania trzech komend echo.&lt;br /&gt;
Możemy wykonać go jedną komendą&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
print($pobrane);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Buforowanie doskonale nadaje się do przechwytywania błędów które mają następnie by wysłane do administratora serwisu, dzięki temu, zobaczymy witrynę oczami użytkownika.&lt;br /&gt;
&lt;br /&gt;
Możliwe jest też wykorzystanie buforowania do uzupełnienia brakujących elementów.&lt;br /&gt;
W momencie ich uzyskania.&lt;br /&gt;
&lt;br /&gt;
Przykładowo zaczynamy generować stronę www, a pole META keywords zastępujemy  frazą tu_będą_słowa_kluczowe.&lt;br /&gt;
Kiedy strona będzie cała gotowa, a my będziemy mieli listę tagów, przed wysłaniem jej do użytkownika poprzez repleace zamieniamy powyższą frazę na słowa kluczowe, po czym wysyłamy stronę do przeglądarki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Buforowanie wyjścia nadaje się nie tylko do przechwytywania tekstu, ale i obrazów,plików.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ob_start();&lt;br /&gt;
ImagePNG($zdjecie);&lt;br /&gt;
$fotka = ob_get_clean();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Taka zmienna $fotka zawiera nasz obraz w trybie tekstowym, i z kolei może zostać zapisana z łatwością do MySQL.&lt;br /&gt;
&lt;br /&gt;
Aby wydrukować ją do użytkownika, wystarczy komenda określająca nagłówek, oraz proste wypisanie zawartości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Header(&amp;quot;Content-type: image/PNG&amp;quot;);&lt;br /&gt;
exit($fotka);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neo</name></author>
	</entry>
	<entry>
		<id>https://wiki.opzsgu.pl/index.php?title=Instalacja_serwera_poczty_zimbra&amp;diff=71</id>
		<title>Instalacja serwera poczty zimbra</title>
		<link rel="alternate" type="text/html" href="https://wiki.opzsgu.pl/index.php?title=Instalacja_serwera_poczty_zimbra&amp;diff=71"/>
		<updated>2009-07-09T13:10:15Z</updated>

		<summary type="html">&lt;p&gt;Neo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Instalujemy Ubuntu Server 8.04&lt;br /&gt;
&lt;br /&gt;
Pobieramy i rozpakowujemy najnowszą wersję oprogramowania Zimbra &lt;br /&gt;
[http://www.zimbra.com/community/downloads.html]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://h.yimg.com/lo/downloads/5.0.18_GA/zcs-5.0.18_GA_3011.UBUNTU8.20090708092550.tgz&lt;br /&gt;
tar -xvzf zcs-5.0.*&lt;br /&gt;
cd zcs*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Upewniamy się że nasz serwer posiada ustawioną poprawną domenę.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
treść&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
poczta.xxx.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
konfiguracja hostów&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
treść&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.0.1 localhost&lt;br /&gt;
192.168.0.17  poczta.xxx.pl xxx.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instalujemy brakujące pakiety które są wymagane do zainstalowania serwera Zimbra.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install libpcre3 libgmp3c2 libstdc++5 libltdl3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uruchamiamy instalator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./install.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Czeka nas kilka pytań, skupiających się do bezmyślnego wciskania klawisza Y lub entera.&lt;br /&gt;
&lt;br /&gt;
Pytanie&lt;br /&gt;
&amp;lt;pre&amp;gt;The system will be modified.  Continue? [N]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
jest podchwytliwe,  trzeba wybrać &#039;&#039;&#039;Y&#039;&#039;&#039;es :) a nie jak sugerują N.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
W momencie otwarcia menu konfiguracyjnego opisanego jako &amp;quot;Main menu&amp;quot;&lt;br /&gt;
Musimy ustawić hasło administratora.&lt;br /&gt;
&lt;br /&gt;
wciskamy kolejno&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podajemy hasło.&lt;br /&gt;
&lt;br /&gt;
Dajemy r&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
8&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dajemy a&lt;br /&gt;
&lt;br /&gt;
Kolejno pytania potwierdzające nasz wybór, zwieńczone podchwytliwym&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The system will be modified - continue? [No]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jak już wiemy, zmieniamy na Yes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resztę wykona za nas instalator.&lt;br /&gt;
Po około 10 minutach nasz serwer będzie gotowy do pracy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Plik:Zimbra user.png|200px|thumb|right|webmail - logowanie]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Webmail&lt;br /&gt;
http://192.168.0.18&lt;br /&gt;
[[Plik:Zimbra admin.png|200px|thumb|right|panel admina - logowanie]]&lt;br /&gt;
&lt;br /&gt;
Panel administratora&lt;br /&gt;
https://192.168.0.7071&lt;/div&gt;</summary>
		<author><name>Neo</name></author>
	</entry>
	<entry>
		<id>https://wiki.opzsgu.pl/index.php?title=Fsck&amp;diff=70</id>
		<title>Fsck</title>
		<link rel="alternate" type="text/html" href="https://wiki.opzsgu.pl/index.php?title=Fsck&amp;diff=70"/>
		<updated>2009-07-08T16:37:25Z</updated>

		<summary type="html">&lt;p&gt;Neo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sprawdzanie spójności systemu plików serwera, poprzez fsck  - &#039;&#039;metoda zatwierdzona przez opzsgu&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uruchamiamy serwer z nośnika live cd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fsck -fyC /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wykonujemy kolejno po wszystkich partycjach wykorzystywanych przez serwer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zalecane jest wykonywanie tej operacji każdorazowo po awarii zasilania nie powstrzymanej przez UPS i/lub zawieszeniu się systemu z niewyjaśnionych przyczyn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Manualne zlecanie wykonania fsck podczas kolejnego rozruchu systemu.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
touch /forcefsck&lt;br /&gt;
&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Po wykonaniu tych komend, w trakcie uruchamiania systemu zostanie rozpoczęte sprawdzanie systemu plików.&lt;/div&gt;</summary>
		<author><name>Neo</name></author>
	</entry>
	<entry>
		<id>https://wiki.opzsgu.pl/index.php?title=Sprawdzanie_rozszerzenia_w_php&amp;diff=69</id>
		<title>Sprawdzanie rozszerzenia w php</title>
		<link rel="alternate" type="text/html" href="https://wiki.opzsgu.pl/index.php?title=Sprawdzanie_rozszerzenia_w_php&amp;diff=69"/>
		<updated>2009-07-08T16:30:33Z</updated>

		<summary type="html">&lt;p&gt;Neo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Jak sprawdzić rozszerzenie w PHP dla stringa (końcówka).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ciag=&amp;quot;jakisplik.php.jpg&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$rozszerzenie = strrchr($ciag, &amp;quot;.&amp;quot;); &lt;br /&gt;
if($rozszerzenie == &amp;quot;.jpg&amp;quot;) { &lt;br /&gt;
print(&#039;Plik JPG&#039;);&lt;br /&gt;
} &lt;br /&gt;
else { &lt;br /&gt;
print(&#039;Niedozwolony plik &#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Taki kod wyświetli &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Plik JPG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zaczyna czytać ciąg od prawej strony, w związku z czym nie ma znaczenia czy w jego środku będą znajdować się dodatkowe kropki, czy inne znaki. &lt;br /&gt;
&lt;br /&gt;
Sprawdza do pierwszej kropki, od prawej strony.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:php]]&lt;/div&gt;</summary>
		<author><name>Neo</name></author>
	</entry>
</feed>