Linux - Apache PHP mySQL IE (dla Ubuntu)

Tematy, które tyczą się webmasterstwa, a nie pasują do konkretnych działów.
gorylek
Zaczyna działać
Zaczyna działać
Posty: 427
Rejestracja: śr gru 19, 2007 7:29 pm

Linux - Apache PHP mySQL IE (dla Ubuntu)

Post autor: gorylek »

Witam,
od dłuższego już czasu mam przyjemność pracować na bardzo przyjaznej dystrybucji linuxa o nazwie Ubuntu który to wywodzi się z Debiana. Jako że każdemu kto choć troszkę na poważnie zajmuje się webmasterką potrzebny jest serwer WWW z PHP i mySQL oraz przynajmniej (Oprócz FireFox oczywiście) IE 6, postanowiłem napisać mały tutorial jak postawić serwer na tej dystrybucji pingwinka.
Zaznaczam że dostępne są już od dawna odpowiednie paczki także nie ma się czego bać. Cała zabawa sprowadzi się do kilku prostych komend. Dobre zarówno dla zaawansowanych użytkowników (którzy będą wiedzieć co zainstalować) jak i nowych (którzy dowiedzą się również jak zainstalować paczkę).

Wersja Ubuntu na której pracuje i do której powstał ten tutorial to 8.04.1

Co nam będzie potrzebne ?
~Apache2 (serwer HTTP)
~PHP5
~mysql-server
~wymagane do pracy dodatki
~WINE
~IE 6 (FireFox standardowo jest zawarty w systemie)

Pierwsza sprawa. Większość błędów w jakimkolwiek punkcie tego tutoriala spowodowana jest starą wersją oprogramowania. Zwłaszcza WINE. Na samym starcie powinniście wykonać kilka operacji.
Otwieramy terminal. Domyślnie znajduje się on w:

Kod: Zaznacz cały

Aplikacje -> Akcesoria -> Terminal
Przeprowadzimy teraz mały update waszego systemu aktualizując w pełni całe jego oprogramowanie. Wpisujemy:

Kod: Zaznacz cały

sudo apt-get update
Każdą komendę potwierdzamy ENTEREM. Zostajemy zapytani o nasze hasło. Podczas wpisywania nie widzimy go (nawet kropek) ze względów bezpieczeństwa.
Po wszystkim powinniśmy mieć aktualną listę oprogramowania wymagającego aktualizacji. Teraz ją przeprowadzimy wpisując:

Kod: Zaznacz cały

sudo apt-get upgrade
W zależności od tego jak dawno aktualizowaliśmy system może to potrwać parę sekund, kilka minut lub dłużej. Ma tu coś do powiedzenia prędkość naszego łącza internetowego.
Jeżeli istnieje nowsza wersja Ubuntu, możemy pokusić się o aktualizacje systemu poprzez komendę:

Kod: Zaznacz cały

sudo apt-get dist-upgrade
Do użycia gdy pojawi się nowa wersja systemu.

Po wszystkim zainstalujemy Apache2. Wpisujemy w terminal:

Kod: Zaznacz cały

sudo apt-get install apache2
Teraz potrzebne nam jest PHP. Wpisujemy:

Kod: Zaznacz cały

sudo apt-get install php5
Analogicznie postępujemy chcąc np wersje php4.

Pozostaje nam tylko zrestartować serwer by cieszyć się wsparciem dla PHP.

Kod: Zaznacz cały

sudo /etc/init.d/apache2 restart
Mamy już obsługę PHP. Jak to sprawdzić ? Wpisujemy w przeglądarkę:

Kod: Zaznacz cały

localhost
Jeżeli wszystko poszło pomyślnie, powinniśmy zobaczyć stronę z napisem It works!

Teraz przejmujemy prawa do zawartości katalogu /var/www/ w którym będziemy przechowywać nasze pliki. By to zrobić piszemy w konsoli:

Kod: Zaznacz cały

sudo chown [nazwa konta] /var/www/
Następnie by przejrzeć dane na temat naszego serwera PHP należy w katalogu /var/www/ utworzyć plik phpinfo.php i uzupełnić go. Wpisujemy w konsolę:

Kod: Zaznacz cały

gedit /var/www/phpinfo.php
w otwartym oknie wpisujemy:

Kod: Zaznacz cały

<?php phpinfo(); ?>
i zapisujemy plik.
Następnie uruchamiamy przeglądarkę i wpisujemy w niej:

Kod: Zaznacz cały

http://localhost/phpinfo.php
Teraz przydał by nam się serwer mySQL. Wpisujemy w konsolę:

Kod: Zaznacz cały

sudo apt-get install mysql-server
Należy również zainstalować dodatek do Apache pozwalający na komunikację z serwerem mySQL. Wpisujemy:

Kod: Zaznacz cały

sudo apt-get install libapache2-mod-auth-mysql
Oraz przyda nam się dodatek umożliwiający komunikację PHP z mySQL:

Kod: Zaznacz cały

sudo apt-get install php5-mysql
Dla osób nie lubiących bawić się z konsolą (nie z braku wiedzy a by zaoszczędzić czas) pasowało by również zainstalować phpMyAdmin. Wpisujemy:

Kod: Zaznacz cały

sudo apt-get install phpmyadmin
I to by było na tyle. Pozostaje nam jeszcze zrestartować serwer:

Kod: Zaznacz cały

sudo /etc/init.d/apache2 restart
Dostęp do phpMyAdmin mamy pod adresem:

Kod: Zaznacz cały

http://localhost/phpmyadmin/
W razie błędów phpMyAdmin należy jeszcze wykonać tzw dowiązanie symboliczne:

Kod: Zaznacz cały

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
Teraz nieszczęsne IE. Nie bijcie mnie :( Musiałem je zainstalować i niestety Wy też musicie. O ile z biegiem czasu będziecie potrafili przewidzieć 99% błędów jakie serwuje ten badziew o tyle problemy z hasLayout itp przy skomplikowanych układach pojawiają się w najmniej spodziewanym miejscu. By zainstalować IE potrzebny nam jest WINE. Instalujemy go za pośrednictwem menedżera pakietów lub poprzez komendę:

Kod: Zaznacz cały

sudo apt-get install wine
Następnie musimy mieć program który poradzi sobie z rozpakowaniem plików cab.

Kod: Zaznacz cały

sudo apt-get install cabextract
Teraz możemy brać się za instalowanie IE. Od razu mówię by NIE instalować IE na koncie roota. Zresztą próba przeprowadzenia takiej operacji zakończy się komunikatem:

Kod: Zaznacz cały

Jesteś zalogowany jako root! To jest bardzo nierozsądne! IE jest zbyt niebezpieczne aby dawać mu prawa administratora root.
Chcesz rady od przyjaciela? Uruchom mnie jako swojego normalnego użytkownika albo, co jest lepsze, jeśli możesz to stwórz oddzielnego użytkownika tylko do uruchamiania IE.
Swoją drogą z deka dowciapnym jeżeli mnie zapytacie o zdanie :D
Osobiście używam IE tylko do przeglądania stron offline (u mnie na serwie) i wam też to radze. Pomijając fakt że ta przeglądarka to i tak bomba sama w sobie :P No ale jak mus to mus.

Instalujemy IEs4Linux:
Za pośrednictwem przeglądarki ściągamy IEs4Linux. Nie radzę uruchamiać IE dostępnego pod WINE. Jeżeli to zrobicie, zostaniecie zapytanie czy zaaplikować mu silnik renderujący mozilli przez co wasz IE nie będzie się niczym różnił od FireFox jeżeli chodzi o wyświetlanie strony (pod Windowsem powinni tak zrobić :-D). Nam chodzi o zabugowaną przeglądarkę IE6 czyli tą zaserwowaną przez wielki Microsoft. Link:

Kod: Zaznacz cały

http://www.tatanka.com.br/ies4linux/downloads/ies4linux-2.0.5.tar.gz
Rozpakowujemy archiwum i odpalamy program. Zostaniemy zapytani o wersje IE oraz gdzie chcecie skróty. Dobierzecie się do IE (w wypadku braku skrótów) pod adresem:

Kod: Zaznacz cały

/home/[nazwa konta]/bin/ie6
Na koniec mogę polecić bardzo dobry edytor HTMl/PHP/CSS/SQL/XML/Perl/Python/C/C++ kolorujący składnie, otwierający pliki w zakładkach i posiadający wzorce klas, pętli itp itd. gPHPEdit. Zainstalujemy go z konsoli komendą:

Kod: Zaznacz cały

sudo apt-get install gphpedit
Kodowanie programu to UTF-8 (bez BOM).

Po wszystkim można usunąć pobrane pliki archiwum. Usuwamy zbędne pliki służące do instalacji zwalniając miejsce na dysku. Wpisujemy:

Kod: Zaznacz cały

sudo apt-get clean
Jakie informacje się wam mogą przydać ?
1. Pliki konfiguracyjne mają rozszerzenie .conf
2. Apache znajdziecie pod:

Kod: Zaznacz cały

/etc/apache2
3. PHP znajdziecie pod:

Kod: Zaznacz cały

/etc/php5
4. php.ini znadziecie pod:

Kod: Zaznacz cały

/etc/php5/apache2
5. Pliki bazy mySQL znajdziecie pod:

Kod: Zaznacz cały

/var/lib/mysql
6. Folder główny dla localhost:

Kod: Zaznacz cały

/var/www
7. Adres do phpMyAdmin:

Kod: Zaznacz cały

http://localhost/phpmyadmin/
8. Apache sterujemy z terminala (najwygodniej dla mnie). Przydatne komendy to:

Kod: Zaznacz cały

/etc/init.d/apache2 [komenda]
Za [komenda] wstawiamy:
start ~ Uruchamia nasz serwer
stop ~ Wyłączy nasz serwer
restart ~ Restartuje nasz serwer
Resztę dostępnych komend otrzymacie po wpisaniu w konsolę:

Kod: Zaznacz cały

/etc/init.d/apache2
Dobrym ułatwieniem przy korzystaniu z komendy /etc/init.d/apache2 [komenda] mogą być aliasy. Ułatwiają znacznie pracę. Przykładowo zamiast powyższego wpisu który de facto jest trudny do zapamiętania jeżeli ktoś nie wie co wpisuje, można używać wpisu serwer [komenda]. Jak to zrobić ?

Najpierw sprawdzamy czy alias serwer jest dla nas dostępny. Wpisujemy w konsolę:

Kod: Zaznacz cały

alias serwer
Jeżeli otrzymaliśmy wynik:

Kod: Zaznacz cały

bash: alias: serwer: nie znaleziono
możemy przystąpić do pracy, w innym wypadku należy wymyślić inny alias.

Edytujemy plik .bashrc w katalogu użytkownika:

Kod: Zaznacz cały

gedit /home/[nazwa konta]/.bashrc
Odnajdujemy wpis:

Kod: Zaznacz cały

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
#    . ~/.bash_aliases
#fi

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ] && [ -x /usr/bin/dircolors ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'

    #alias grep='grep --color=auto'
    #alias fgrep='fgrep --color=auto'
    #alias egrep='egrep --color=auto'
fi

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
I wpisujemy pod ostatnią z podanych tutaj linijek nasz alias. Najlepiej z komentarzem:

Kod: Zaznacz cały

# alias na potrzeby serwera HTTP
    alias serwer='sudo /etc/init.d/apache2'
Od teraz wpisując w konsoli:

Kod: Zaznacz cały

serwer [komenda]
możemy dowolnie sterować naszym apache.

PROBLEMY:
Znane problemy dla nowych użytkowników to problem z wystartowaniem serwera oraz to że uruchamia się on wraz z systemem.
Pierwszy problem wymaga uprawnień roota. Dlatego w powyższym aliasie użyłem sudo przed właściwą komendą. Sami uruchamiając/zatrzymując serwer powinniście w wypadku błędów używać takiej oto komendy:

Kod: Zaznacz cały

sudo /etc/init.d/apache2 [komenda]
Uruchamianie serwera wraz z systemem nieraz jest niepożądane. By to zmienić należy użyć taką oto komendę:

Kod: Zaznacz cały

sudo update-rc.d -f apache2 remove
Kolejnym problemem może być komunikat:

Kod: Zaznacz cały

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
przy starcie i zatrzymaniu serwera. By temu zaradzić otwieramy konsolę i wpisujemy:

Kod: Zaznacz cały

sudo gedit /etc/apache2/apache2.conf
Odnajdujemy w pliku sekcje pierwszą:

Kod: Zaznacz cały

### Section 1: Global Environment
i kilka linijek niżej wpis:

Kod: Zaznacz cały

# Do NOT add a slash at the end of the directory path.
#
ServerRoot "/etc/apache2"
Pod spodem dopisujemy:

Kod: Zaznacz cały

ServerName localhost
I to by było na tyle jeżeli chodzi o ten tutorial. Mam nadzieje że komuś się przyda (mi na pewno :-D). Wszelkie prawa zastrzeżone. Kopiowanie, tłumaczenie tylko za moją zgodą po uprzednim kontakcie. Kontakt pod adresem:

Kod: Zaznacz cały

adminsand(NIE SPAMEROM)gmail.com
Pozdrawiam
Dariusz P. (Gorylek)

PS: Wszelkie niejasności/błędy/niedomówienia kierować na PW/MAIL. Serwer mam od dawna postawiony i mogłem o czymś zapomnieć.
ODPOWIEDZ