W artykule przedstawiam krok po kroku instalację środowiska Joomla! w wersji 1.5.15 w wybranej dystrybucji GNU/Linux (Xubuntu 9.10). Wszędzie, gdzie to tylko możliwe, posługuję się konsolą bash. Artykuł jest w pewnym zakresie ilustrowany zrzutami ekranów. W znacznej mierze jest to tłumaczenie strony, którą znalazłem na wiki dystrybucji Ubuntu, czyli tutaj.

Zapraszam do lektury!

 

Założenia:

 

  • wszystkie aplikacje potrzebne do instalacji środowiska Joomla! zostaną zainstalowane na naszym domowym komputerze,
  • jesteśmy jedynym użytkownikiem domowego komputera lub darzymy na tyle dużym zaufaniem pozostałych użytkowników, że nie obawiamy się ich złośliwej ingerencji w zainstalowane aplikacje.

Powyższe założenia oznaczają, że odpuścimy sobie w niektórych punktach bezpieczeństwo na rzecz prostowy instalacji i późniejszego użytkowania. Z tych samych względów  artykuł nie powinien być wykorzystywany podczas instalacji 'produkcyjnej', na maszynach, które mają pełnić rolę serwerów internetowych.

 

Dlaczego GNU/Linux i Joomla! ? Powodów jest kilka. Jądro GNU/Linux bardzo dobrze radzi sobie z serwerami, a właśnie takich aplikacji będziemy potrzebować, by uruchomić środowisko Joomla!. Jest to więc niejako wybór naturalny. Co prawda uruchamiając serwery na naszym domowym komputerze nie koniecznie poczujemy co to znaczy,  ale uważam, że dla czystej ciekawości warto spróbować.

Konfiguracja serwerów pod GNU/Linux być może komuś wydaje się zadaniem skomplikowanym. Serwer to nic innego, jak jeszcze jedna aplikacja. Serwery najczęściej konfiguruje się poprzez edycję plików konfiguracyjnych. Ot i wszystko. Mi konfiguracja systemu operacyjnego zajęła może 30 minut, a informatykiem nie jestem. Wystarczyła jasno napisana instrukcja i wola zwycięstwa ;-)

 

Czego będziemy potrzebować, by zainstalować środowisko Joomla! w systemie opartym na jądrze GNU/Linux? Mówiąc najprościej wystarczy, jeżeli zapalimy LAMP-ę... Ale po kolei.

 

Aplikacje niezbędne do instalacji środowiska Joomla!:

  • system operacyjny,
  • serwer www,
  • baza danych SQL,
  • serwer PHP.

Ponieważ jestem zwolennikiem wolności, czyli systemów operacyjnych spod znaku GNU/Linux oraz aplikacji o otwartym kodzie, wybrałem następujący zestaw narzędzi:

  • system operacyjny oparty na jądrze GNU/Linux,
  • serwer www o nazwie Apache2,
  • baza danych MySQL,
  • serwer PHP o nazwie PHP5.

Jeżeli spojrzymy na pierwsze litery wybranych aplikacji, to można z nich złożyć słowo LAMP, które po angielsku oznacza ni mniej ni więcej, jak właśnie lampę. Do dzieła! Lista pakietów, które chcemy zainstalować, wygląda następująco:

apache2 php5-mysql libapache2-mod-php5 mysql-server

 

Otwieramy konsolę i wpisujemy:

maciej@maciej-gucek2:~$ sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server

 

W efekcie zostaniemy poproszeni o podanie hasła administratora. Następnie na ekranie zostaną wyświetlone następujące komunikaty:

 

[sudo] password for maciej:
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Zostaną zainstalowane następujące dodatkowe pakiety:
apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl
libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-server-5.1 mysql-server-core-5.1 php5
php5-common
Sugerowane pakiety:
apache2-doc apache2-suexec apache2-suexec-custom php-pear dbishell libipc-sharedcache-perl tinyca
mailx php5-suhosin
Zostaną zainstalowane następujące NOWE pakiety:
apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl
libhtml-template-perl libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-server mysql-server-5.1
mysql-server-core-5.1 php5 php5-common php5-mysql
0 aktualizowanych, 22 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.
Konieczne pobranie 25,4MB archiwów.
Po tej operacji zostanie dodatkowo użyte 62,1MB miejsca na dysku.
Kontynuować [T/n]?

 

Jak widać instalacja wymienionych aplikacji będzie wymagała ściągnięcia 25,4 MB archiwów, co pewnie chwilę potrwa. Warto rzucić okiem na listę zaproponowanych pakietów. Wszystko to na wypadek, gdybyśmy kiedyś chcieli tych aplikacji się pozbyć.

Po wciśnięciu 'T' zostaną ściągnięte niezbędne pakiety i rozpocznie się proces instalacji. W pewnym momencie na ekran wyskoczy nam komunikat jak na Obrazek 1. Pakiet bazy danych wymaga na etapie instalacji podania hasła administratora serwera bazy danych. Proponuję podać to samo hasło, którego na codzień używamy do wykonywania poleceń wymagających uprawnień administratora. Następnie zostaniemy poproszeni o ponowne wpisanie tego hasła (Obrazek 2).

images/stories//20100116_JoomlaLinux/640_LAMP_01.png

Obrazek 1

images/stories//20100116_JoomlaLinux/640_LAMP_02.png

Obrazek 2

Koniec końców na ekranie zostaną wyświetlone następujące komunikaty:

Prekonfiguracja pakietów ...
Zaznaczenie poprzednio niezaznaczonego pakietu libnet-daemon-perl.
(Odczytywanie bazy danych ... 117790 plików i katalogów obecnie zainstalowanych.)
Rozpakowanie libnet-daemon-perl (z .../libnet-daemon-perl_0.43-1_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libplrpc-perl.
Rozpakowanie libplrpc-perl (z .../libplrpc-perl_0.2020-2_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libdbi-perl.
Rozpakowanie libdbi-perl (z .../libdbi-perl_1.609-1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libdbd-mysql-perl.
Rozpakowanie libdbd-mysql-perl (z .../libdbd-mysql-perl_4.011-1ubuntu1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu mysql-client-5.1.
Rozpakowanie mysql-client-5.1 (z .../mysql-client-5.1_5.1.37-1ubuntu5_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu mysql-server-core-5.1.
Rozpakowanie mysql-server-core-5.1 (z .../mysql-server-core-5.1_5.1.37-1ubuntu5_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu mysql-server-5.1.
Rozpakowanie mysql-server-5.1 (z .../mysql-server-5.1_5.1.37-1ubuntu5_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libapr1.
Rozpakowanie libapr1 (z .../libapr1_1.3.8-1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libaprutil1.
Rozpakowanie libaprutil1 (z .../libaprutil1_1.3.9+dfsg-1ubuntu1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libaprutil1-dbd-sqlite3.
Rozpakowanie libaprutil1-dbd-sqlite3 (z .../libaprutil1-dbd-sqlite3_1.3.9+dfsg-1ubuntu1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libaprutil1-ldap.
Rozpakowanie libaprutil1-ldap (z .../libaprutil1-ldap_1.3.9+dfsg-1ubuntu1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu apache2.2-bin.
Rozpakowanie apache2.2-bin (z .../apache2.2-bin_2.2.12-1ubuntu2.1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu apache2-utils.
Rozpakowanie apache2-utils (z .../apache2-utils_2.2.12-1ubuntu2.1_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu apache2.2-common.
Rozpakowanie apache2.2-common (z .../apache2.2-common_2.2.12-1ubuntu2.1_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu apache2-mpm-prefork.
Rozpakowanie apache2-mpm-prefork (z .../apache2-mpm-prefork_2.2.12-1ubuntu2.1_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu apache2.
Rozpakowanie apache2 (z .../apache2_2.2.12-1ubuntu2.1_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu php5-common.
Rozpakowanie php5-common (z .../php5-common_5.2.10.dfsg.1-2ubuntu6.4_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libapache2-mod-php5.
Rozpakowanie libapache2-mod-php5 (z .../libapache2-mod-php5_5.2.10.dfsg.1-2ubuntu6.4_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libhtml-template-perl.
Rozpakowanie libhtml-template-perl (z .../libhtml-template-perl_2.9-1_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu mysql-server.
Rozpakowanie mysql-server (z .../mysql-server_5.1.37-1ubuntu5_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu php5.
Rozpakowanie php5 (z .../php5_5.2.10.dfsg.1-2ubuntu6.4_all.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu php5-mysql.
Rozpakowanie php5-mysql (z .../php5-mysql_5.2.10.dfsg.1-2ubuntu6.4_i386.deb) ...
Przetwarzanie wyzwalaczy dla man-db...
Przetwarzanie wyzwalaczy dla ureadahead...
ureadahead will be reprofiled on next reboot
Przetwarzanie wyzwalaczy dla ufw...
Konfigurowanie libnet-daemon-perl (0.43-1) ...
Konfigurowanie libplrpc-perl (0.2020-2) ...
Konfigurowanie libdbi-perl (1.609-1) ...
Konfigurowanie libdbd-mysql-perl (4.011-1ubuntu1) ...
Konfigurowanie mysql-client-5.1 (5.1.37-1ubuntu5) ...

Konfigurowanie mysql-server-core-5.1 (5.1.37-1ubuntu5) ...
Konfigurowanie mysql-server-5.1 (5.1.37-1ubuntu5) ...
* Stopping MySQL database server mysqld                                                                                                               [ OK ]
100115 23:12:28 [Note] Plugin 'FEDERATED' is disabled.
100115 23:12:28  InnoDB: Started; log sequence number 0 44233
100115 23:12:28  InnoDB: Starting shutdown...
100115 23:12:29  InnoDB: Shutdown completed; log sequence number 0 44233
100115 23:12:29 [Warning] Forcing shutdown of 1 plugins
* Starting MySQL database server mysqld                                                                                                               [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.

Konfigurowanie libapr1 (1.3.8-1) ...

Konfigurowanie libaprutil1 (1.3.9+dfsg-1ubuntu1) ...

Konfigurowanie libaprutil1-dbd-sqlite3 (1.3.9+dfsg-1ubuntu1) ...
Konfigurowanie libaprutil1-ldap (1.3.9+dfsg-1ubuntu1) ...
Konfigurowanie apache2.2-bin (2.2.12-1ubuntu2.1) ...
Konfigurowanie apache2-utils (2.2.12-1ubuntu2.1) ...
Konfigurowanie apache2.2-common (2.2.12-1ubuntu2.1) ...
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.

Konfigurowanie apache2-mpm-prefork (2.2.12-1ubuntu2.1) ...
* Starting web server apache2

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Konfigurowanie apache2 (2.2.12-1ubuntu2.1) ...

Konfigurowanie php5-common (5.2.10.dfsg.1-2ubuntu6.4) ...
Konfigurowanie libapache2-mod-php5 (5.2.10.dfsg.1-2ubuntu6.4) ...

Creating config file /etc/php5/apache2/php.ini with new version
* Reloading web server config apache2                                                                                                                        apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Konfigurowanie libhtml-template-perl (2.9-1) ...
Konfigurowanie mysql-server (5.1.37-1ubuntu5) ...
Konfigurowanie php5 (5.2.10.dfsg.1-2ubuntu6.4) ...
Konfigurowanie php5-mysql (5.2.10.dfsg.1-2ubuntu6.4) ...

Przetwarzanie wyzwalaczy dla libc-bin...
ldconfig deferred processing now taking place

 

I to by było na tyle.  Proces instalacji wymaganego oprogramowania właśnie został zakończony :-]

 

Testy

Sprawdźmy, czy oprogramowanie zainstalowało się tak, jak byśmy tego chcieli. Zaczynamy od serwera www (Apache2). Uruchamiamy przeglądarkę internetową i w pasku adresu wpisujemy:

http://localhost/

W odpowiedzi powinniśmy zobaczyć następujący komunikat:

images/stories//20100116_JoomlaLinux/640_It_works.png

Obrazek 3. 'It works!', czyli działa

 

Sprawdźmy, czy działa serwer bazodanowy. Jeżeli działa, to powinniśmy być w stanie uruchomić tzw. menedżera, czyli aplikację, która pozwala na administrację  bazami danych (zakładanie/usuwanie baz, dodawanie/usuwanie tablic, zarządzanie dostępem i wiele, wiele innych). Po wpisaniu w konsoli polecenia 'mysql -u root -p' zostaniemy zapytani o hasło administratora ('root') serwera bazy danych. Podajemy takie samo hasło, jak to, które wpisaliśmy na etapie konfiguracji pakietu bazy danych, patrz 'Obrazek 2' oraz 'Obrazek 3'. Po wprowadzeniu hasła znak zachęty zmieni się w 'mysql>', co oznacza, że zostaliśmy zalogowani i możemy teraz np. wpisać jedno z poleceń języka SQL. Nam chodziło jednak tylko o sprawdzenie, czy faktycznie możemy się porozumieć z serwerem bazy danych za pomocą menedżera, co właśnie uczyniliśmy.

maciej@maciej-gucek2:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

Opuszczamy menedżera bazy:

mysql> \q
Bye
maciej@maciej-gucek2:~$

 

Do sprawdzenia został nam serwer PHP.  Stworzymy najprostszy plik z roszerzeniem .php, który powinien zostać zinterpretowany przez serwer php.

maciej@maciej-gucek2:~$ sudo nano /var/www/testphp.php

 

Wklejamy następującą treść, następnie zapisujemy i opuszczamy edytor:

<?php phpinfo(); ?>

 

Ja, by móc obejrzeć efekt powyższych działań, musiałem jeszcze następującym poleceniem uruchomić parsera kodu php:

maciej@maciej-gucek2:~$ sudo a2enmod php5
Module php5 already enabled

 

Następnie zrestartowałem serwer www:

maciej@maciej-gucek2:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

 

Uruchamiamy przeglądarkę internetową. W polu adresu wpisujemy:

http://localhost/testphp.php

W efekcie na ekranie zostaną wyświetlone następujące informacje:

images/stories//20100116_JoomlaLinux/640_PHP_info.png

Obrazek 4. Efekt działania funkcji  'phpinfo'

 

Jeżeli wszystko jest w porządku, to na koniec warto jeszcze przemyśleć sposób, w jaki będziemy wykorzystywać nasze środowisko. Serwer www działa mniej więcej w ten sposób, że stara się interpretować wszystkie pliki umieszczone w konkretnym katalogu. Nasza strona internetowa to więc nic innego, jak pewien zbiór plików umieszczonych w określonym katalogu. Przykładowo jeżeli umieścimy przed chwilą utworzony plik 'testphp.php' w katalogu '/var/www' i posłużymy się przeglądarką internetową, to serwer www (Apache2) będzie w stanie wysłać klientowi serwera (przeglądarce internetowej) wymagane informacje (Obrazek 4). Jeżeli ten sam plik umieścimy w jakimś innym katalogu na dysku, to 'magia' nie zadziała, serwer nie będzie w stanie obsłużyć zapytania ze strony przeglądarki. Jak to już zostało napisane tym specjalnym katalogiem, do którego ma dostęp serwer www, jest '/var/www'.

 

Prace dodatkowe

Sprawdźmy, kto jest właścicielem katalogu '/var/www':

 

maciej@maciej-gucek2:~$ ls -ld /var/www
drwxr-xr-x 2 root root 4096 2010-01-15 23:43 /var/www

 

Jak widać jest nim administrator (root). Z punktu widzenia zwykłego użytkownika jest to sytuacja niepożądana, bo nie będziemy mogli wygodnie przenosić lub kopiować plików między naszym katalogiem domowym '/home/maciej' a katalogiem przypisanym serwerowi www. Do wyboru mamy co najmniej dwie drogi:

  • zostać właścicielem katalogu '/var/www',
  • przypisać serwerowi www jeden z katalogów znajdujących się w naszym katalogu domowym.

Proponuję wybrać drugą z możliwości, bo moim zdaniem jest bardziej elegancka. Serwerowi Apache2 można przypisać kilka różnych katalogów. Dla każdego z katalogów musimy jednak napisać  osobny plik konfiguracyjny. Pliki konfiguracyjne muszą się znajdować w katalogu '/etc/apache2/sites-available'. Domyślnie w tym katalogu znajduje się jeden plik konfiguracyjny o nazwie 'default' (ang. domyślny). Mając wiele plików konfiguracyjnych (powiązanych z katalogami) możemy włączać i wyłączać niektóre z nich, w zależności od potrzeb.

Przypiszemy serwerowi www przykładowy katalog znajdujący się w naszym katalogu domowym. Niech będzie to katalog '/home/maciej/strona_www':

maciej@maciej-gucek2:~$ mkdir strona_www

 

Sprawdźmy efekt naszych działań:

maciej@maciej-gucek2:~$ ls -ld /home/maciej/strona_www
drwxr-xr-x 2 maciej maciej 4096 2010-01-16 00:17 /home/maciej/strona_www

 

Będziemy się wzorować na domyślnym pliku konfiguracyjnym:

  • Skopiujmy go, by następnie wykorzystać jako wzór:

maciej@maciej-gucek2:~$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/strona_www

 

  • Zmienimy zgodnie z naszymi potrzebami, otwierając w dowolnie wybranym edytorze:

maciej@maciej-gucek2:~$ sudo nano /etc/apache2/sites-available/strona_www

 

  • Zmieniamy parametr 'DocumentRoot' tak, by wskazywał na nasz katalog '/home/maciej/strona_www'.
  • Zmieniamy parametr '<Directory /var/www/>' na '<Directory /home/maciej/strona_www/'>.
  • Warto rozważyć utworzenie osobnych plików z logami dla każdej z tworzonych w ten sposób stron poprzez zmianę parametrów 'ErrorLog' oraz 'CustomLog'.
  • Zapisujemy plik konfiguracyjny i opuszczamy edytor.

Ostatnim krokiem jest przekazanie serwerowi informacji o zmienionym katalogu, w którym przechowujemy pliki naszej strony www. W dystrybucjach *ubuntu (Ubuntu, Kubuntu, Xubuntu itp.) znajdziemy specjalne narzędzia: 'a2ensite' (apache2enable site, czyli w dowolnym tłumaczeniu: strona, która ma zostać przypisana do  serwera apache) oraz 'a2dissite' (apache2disable site, czyli w dowolnym tłumaczeniu: strona, która ma zostać odłączona od serwera apache).

maciej@maciej-gucek2:~$ sudo a2dissite default && sudo a2ensite strona_www

 

W efekcie zobaczymy na ekranie następujące komunikaty:

Site default disabled.

Enabling site strona_www.
Run '/etc/init.d/apache2 reload' to activate new configuration!

 

 

Zgodnie z sugestią restartujemy serwer www:

maciej@maciej-gucek2:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2                                           apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

 

Sprawdźmy, czy nowa konfiguracja działa. Jeżeli tak jest, to dowolny plik zrozumiały dla przeglądarki internetowej umieszczony w katalogu '/home/maciej/strona_www' powinien dać się odczytać przez przeglądarkę internetową. Utwórzmy taki przykładowy plik:

maciej@maciej-gucek2:~$ nano /home/maciej/strona_www/index.html

 

Wpisujemy następującą treść:

<b>Hello! It is working!</b>

 

Treść może nie spełnia wszystkich wymagań formalnych języka html, ale na nasze potrzeby to wystarczy. Następnie zapisujemy ją i opuszczamy edytor. W polu adresu przeglądarki internetowej wpisujemy:

http://localhost/

Oczom naszym powinien objawić się napis jak na Obrazek 5.

images/stories//20100116_JoomlaLinux/640_Hello.png

Obrazek 5.

 

Być może drażni nas ostrzeżenie pojawiające się przy każdym uruchomieniu serwera www:

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

 

By się go pozbyć utworzymy w odpowiednim miejscu plik 'fqdn':

maciej@maciej-gucek2:~$ sudo nano /etc/apache2/conf.d/fqdn

 

Wewnątrz umieszczamy tekst 'ServerName localhost'. Zapisujemy, opuszczamy edytor. Sprawdzamy efekt powtórnie uruchamiając serwer:

maciej@maciej-gucek2:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2                                            ... waiting                                                        [ OK ]

 

Pliki, które zostaną utworzone w katalogu zarządzanym przez serwer www będą domyślnie należały do użytkownika 'www-data' i grupy 'www-data'. Warto dodać siebie do grupy 'www-data' chociażby po to, by móc swobodnie dodawać czy usuwać pliki znajdujące w naszym domowym katalogu '/home/maciej/strona_www'. W przypadku dystrybucji *buntu wydajemy polecenie 'adduser', które doda nas do grupy użytkowników 'www-data':

maciej@maciej-gucek2:~$ sudo adduser maciej www-data

 

W odpowiedzi na ekranie zostaną wyświetlone następujące informacje:

[sudo] password for maciej:

Dodawanie użytkownika `maciej' do grupy `www-data'...

Adding user maciej to group www-data

 

Niestety po wykonaniu komendy 'groups', która służy do wyświetlenia grup, do których należy dany użytkownik, nie zobaczymy nowej grupy 'www-data' do chwili, gdy ponownie się nie zalogujemy do systemu. Warto o tym pamiętać.

 

Zakończenie

To wszystko. Osiągnęliśmy wyznaczone cele. Co dalej? Na przykład możemy zainstalować środowisko Joomla! lub utworzyć lokalnie, tj. na naszym komputerze, kopię strony www działającą gdzieś na publicznym serwerze www. Ale to są już tematy na osobne artykuły.

 

 

 

 

Informacje dodatkowe:

Wersja jądra GNU/Linux dla której została sporządzona poniższa instrukcja:

maciej@maciej-gucek2:~$ uname -a
Linux maciej-gucek2 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686 GNU/Linux

 

Podstawowe informacje o dystrybucji:

maciej@maciej-gucek2:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 9.10
Release:    9.10
Codename:    karmic

Komentowanie za pomocą rozszerzenia JComments zostało wyłączone. Zapraszam do dodawania komentarzy za pomocą aplikacji Disqus.