From Łukasz Graczykowski
(Difference between revisions)
|
|
(2 intermediate revisions not shown) |
Line 166: |
Line 166: |
| | | |
| ==System zarządzania treścią CMS== | | ==System zarządzania treścią CMS== |
- | ===Zadanie 5: instalacja systemu Wordpress=== | + | ===Krok 5: instalacja systemu Wordpress=== |
| System zarządzania treścią (ang. Content Management System, CMS) jesto to oprogramowanie pozwalające na proste tworzenie oraz późniejszą aktualizację serwisu WWW, umożliwiające dalszą rozbudowę przez redakcyjny personel nietechniczny. Dodawane informacje zapisywane są w bazie danych (najczęściej MySQL), a sam system napisany jest zwykle w języku PHP. | | System zarządzania treścią (ang. Content Management System, CMS) jesto to oprogramowanie pozwalające na proste tworzenie oraz późniejszą aktualizację serwisu WWW, umożliwiające dalszą rozbudowę przez redakcyjny personel nietechniczny. Dodawane informacje zapisywane są w bazie danych (najczęściej MySQL), a sam system napisany jest zwykle w języku PHP. |
| | | |
Line 173: |
Line 173: |
| * Ściągnij ze strony https://wordpress.org/download/ oraz rozpakuj w dowolnym katalogu paczkę Wordpress | | * Ściągnij ze strony https://wordpress.org/download/ oraz rozpakuj w dowolnym katalogu paczkę Wordpress |
| * Wrzuć zawartość paczki do katalogu strony hostowanej przez serwer Apache 2. | | * Wrzuć zawartość paczki do katalogu strony hostowanej przez serwer Apache 2. |
- | * Skrypt instalacyjny można odpalić wchodząc na adres hostowanej strony. | + | * Skrypt instalacyjny można odpalić wchodząc na adres hostowanej strony (w zależności od użytych nazw, czy też miejsca wypakowania plików, np. [http://localhost/wordpress http://localhost/wordpress]). |
| * Podczas instalacji należy podać informacje związane z bazą danych gdzie będą przechowywane treści: należy podać nazwę użytkownika oraz nazwę bazy danych utworzonych uprzednio w zadaniu dotyczącym MySQL. | | * Podczas instalacji należy podać informacje związane z bazą danych gdzie będą przechowywane treści: należy podać nazwę użytkownika oraz nazwę bazy danych utworzonych uprzednio w zadaniu dotyczącym MySQL. |
| + | * W trakcie instalacji może się pojawić informacja o konieczności ręcznego utworzenia pliku tekstowego z konkretną zawartością. W takim wypadku należy wykonać zasugerowane kroki. |
| * Proszę zmodyfikować/dodać pierwszy wpis do nowo utworzonego bloga. | | * Proszę zmodyfikować/dodać pierwszy wpis do nowo utworzonego bloga. |
Latest revision as of 10:15, 1 December 2020
Zadania
Projekt 3
Na maszynie wirtualnej należy zainstalować oraz skonfigurować zestaw oprogramowania LAMP a następnie stworzyć stronę internetową zarządzaną poprzez CMS.
Kroki:
- Zainstalować serwer Apache 2.
- Należy stworzyć własnego wirtualnego hosta (Virtual Host) o nazwie
Kowalski.net
(podstawiając własne nazwisko) i zmodyfikować plik /etc/hosts
tak, by po wpisaniu: http://Kowalski.net uruchomiła się odpowiednia strona.
- Instalujemy serwer MySQL oraz tworzymy nową bazę
MojaBaza
oraz użytkownika admin
, któremu nadajemy wszelkie uprawnienia do tej bazy danych.
- Instalujemy PHP.
- Instalujemy system CMS Wordpress, ściągając paczkę ze strony: https://wordpress.org/download/.
Instalujemy go w folderze naszego wirtualnego hosta i sprawdzamy, czy umiemy dostawić post w naszej stronie.
Platforma LAMP
LAMP jest to zestaw oprogramowania typu open source stanowiący popularną platformę serwerową dynamicznych stron WWW. Na LAMP składają się (zgodnie ze skrótem):
- Linux (system operacyjny)
- Apache (serwer WWW)
- MySQL (system baz danych)
- PHP, lub w zamian Perl, czy Python (język skryptowy)
Platforma LAMP jest idealną bazą do uruchamiania różnego rodzaju systemów CMS (Content Management Systems), takich jak MediaWiki, Joomla, Wordpress czy Drupal, które są podstawą nowoczesnych stron internetowych.
Celem zajęć będzie zainstalowanie i skonfigurowanie platformy LAMP w wersji Apache+MySQL+PHP. Następnie, w ramach przetestowania konfiguracji, postawimy prostą stronę internetową opartą na systemie zarządzania treścią Wordpress.
Serwer Apache 2
Apache to wieloplatformowy serwer WWW na licencji wolnego oprogramowania. Jest najszerzej stosowanym serwerem HTTP w Internecie.
Drugim bardzo popularnym serwerem HTTP na rynku jest nginx. Decyzja, który z serwerów wykorzystać w konkretnym przypadku wymaga zawsze dokładnej oceny. Serwerem nginx nie będziemy się zajmować na zajęciach, jednakże instrukcje do jego instalacji można znaleźć tutaj: Instalacja serwera nginx.
Zanim zaczniesz instalację LAMP
Zanim zaczniesz cokolwiek instalować:
sudo apt-get update
oraz ewentualnie:
sudo apt-get dist-upgrade
Krok 1: instalacja Apache2
Włączyć przeglądarkę i przejść do adresu http://localhost/ - nie powinno się nic wyświetlić.
Następnie należy zainstalować paczkę apache2
i przetestować czy działa: odświeżyć stronę. Powinna pojawić się strona Apache2 Debian Default Page.
Strona serwowana w tym momencie przez nasz komputer znajduje się w katalogu /var/www/html/
(plik index.html
). W ramach testu proszę wejść do tego katalogu i stworzyć wewnątrz plik tekstowy foo.html
z dowolną treścią (np. “Ala ma kota”). Plik powinien zostać poprawnie wyświetlony przez przeglądarkę po wpisaniu http://localhost/foo.html. Podobnie, po wpisaniu adresu IP komputera na którym uruchomiony jest serwer np. http://194.29.175.132/foo.html możemy oglądać zawartość strony z dowolnego innego komputera (oczywiście znajdującego się w takiej sieci, w której widzi nasz adres IP).
Krok 2: własna strona WWW - Virtual Host
W ogólności na jednym serwerze WWW może znajdować się więcej niż jedna strona (domena). Takie pojedyncze strony nazwyane są wirtualnymi hostami - Virtual Hosts. Aby stworzyć własną stronę:
- Tworzymy katalog przechowywujący wszystkie pliki naszej strony. Zwykle strony przechowujemy w folderze
/var/www
. Polecane jest stworzenie folderu o nazwie wybranej dla strony domeny - ten przykład jest rozpisany dla strony o nazwie example.com
. W Państwa przypadku - proszę stworzyć stronę o domenie związanej z Waszym nazwiskiem, np. Kowalski.net
.
- Ponieważ jest to folder systemowy, należałoby rozpocząć od ustawienia odpowiednich uprawnień:
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www
- Stwórz plik tekstowy
index.html
zawierający dowolną frazę.
Tworzenie wirtualnego hosta (Virtual Host)
Wirtualne hosty tworzy się oraz konfiguruje w katalogach platformy Apache 2, mianowicie w folderze /etc/apache2
. Najważniejsze elementy konfiguracji serwera Apache 2:
-
apache2.conf
: główny plik konfiguracyjny serwera.
-
sites-available/
: katalog zawierający wszystkie pliki wirtualnych hostów, które definiują kolejne strony WWW. W tym katalogu znajdują się wszystkie dostępne strony (nie wszystkie strony muszą być aktywne i dostępne).
-
sites-enabled/
: katalog określający które ze stron będą hostowane przez serwer Apache 2. Zwykle folder ten zawiera linki symboliczne do plików w katalogu sites-available
.
By skonfigurować wirtualny host najłatwiej jest skopiować domyślny plik konfiguracyjny 000-default.conf
znajdujący się w katalogu sites-avaliable
. Polecane jest nadanie mu nazwy odpowiadającej nazwie domeny, np. example.com.conf
. Nowy plik musi kończyć się rozszerzeniem *.conf!
Następnie należy go odpowiednio zmodyfikować:
- Odkomentować i zmodyfikować linijkę:
ServerName http://www.example.com
- Zmienić ścieżkę w
DocumentRoot
:
DocumentRoot /var/www/example.com
- Dodaj linijkę zawierającą alias:
ServerAlias example.com
Ostatnim krokiem jest aktywacja hosta oraz restart serwera Apache 2.
- W katalogu
/etc/apache2/sites-enabled
stwórz dowiązanie symboliczne do modyfikowanego przed chwilą pliku znajdującego się w /etc/apache2/sites-available
. Utworzony link symboliczny powinien mieć dokładnie tę samą nazwę co odpowiadający plik *.conf
w folderze sites-available
.
Uwaga! Dowiązanie symboliczne (link symboliczny) jest to specjalny rodzaj pliku, który wskazuje (odwołując się za pomocą nazwy/ścieżki) na dowolny inny plik lub katalog, który może nawet w danej chwili nie istnieć; odwołanie jest niewidoczne na poziomie aplikacji - dowiązanie symboliczne jest traktowane jak zwykły plik lub katalog.
Uwaga 2! Do stworzenia dowiązania symbolicznego służy komenda ln -s [SKĄD] [NAZWA_LINKU_SYMBOLICZNEGO]
.
Alternatywnie można użyć polecenia serwera Apache 2, które zrobi link symboliczny za nas:
sudo a2ensite example.com.
Po ustawieniu wirtualnych hostów, musimy zrestartować serwe Apache 2:
sudo service apache2 restart
Uwaga 3! Domyślną stroną WWW wyświetlaną przez serwer po wpisaniu http://localhost jest strona określona przez pierwszy (alfabetycznie) plik konfiguracyjny znajdujący się w katalogu sites-enabled
. Możemy zatem usunąć (albo lepiej - zmienić nazwę) plik 000-default.conf
i sprawdzić co się wyświetli po wpisaniu: http://localhost.
Plik /etc/hosts
Plik /etc/hosts
służy do mapowania (przypisywania) domen (nazw) internetowych do konkretnych adresów IP. Kiedyś używany powszechnie, w dzisiejszych czasach zwykle zastąpiony przez dedykowane serwery DNS. W systemie Linux jest to zwykły plik tekstowy znajdujący się w folderze /etc
.
Pliki hosts
są używane do dziś, np. w małych firmach, które nie chcą stawiać firmowych serwerów DNS.
Należy zmodyfikować plik /etc/hosts
w ten sposób, by dodać nowe mapowanie:
127.0.1.2 example.com
Należy wpisać w pasku przeglądarki http://example.com (a właściwie w Państwa przypadku: http://Kowalski.net) i sprawdzić, czy uzyskujemy utworzoną stronę WWW.
Uwaga! Jeśli domena jest wpisana w pliku /etc/hosts
, to zawsze będze używany IP z tego pliku, a komputer w ogóle nie wykona zapytania do serwera DNS.
Bazy danych MySQL
Krok 3: instalacja i przetestowanie MySQL
MySQL jest to wolnodostępny system zarządzania relacyjnymi bazami danych.
Należy zainstalować paczki: mysql-server
i mysql-client
.
Uwaga! przy instalacji serwera MySQL zostanie poproszone o hasło roota dla MySQL'a. Należy zapamiętać ustawione hasło!
Zadaniem jest stworzenie bazy danych MojaBaza
, oraz użytkownika admin
, który będzie posiadał pełne uprawnienia dostępu do niej.
Zapoznajmy się teraz z działaniem MySQL:
- Logowanie do bazy danych (dla użytkownika
root
).
mysql -u root -p
- Wylistowanie wszystkich dostępnych baz danych:
SHOW DATABASES;
- Stworzenie nowej bazy danych:
CREATE DATABASE nazwa;
- Stworzenie nowego użytkownika:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
- Nadawanie uprawnień użytkownikom:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
Należy nadać uprawnienia ALL PRIVILEGES
nowo stworzonemu użytkownikowi dla nowo utworzonej bazy danych oraz wszystkich znajdujących się w jej wnętrzu tabel (w tym celu należy użyć *
):
GRANT ALL PRIVILEGES ON nazwa. * TO 'newuser'@'localhost';
By przetestować, czy wszystko zostało utworzone poprawnie proszę wyjść z linii poleceń MySQL (polecenie exit
) i zalogować się ponownie na utworzonego użytkownika, a następnie wypisać widoczne dla niego bazy danych (powinna być widoczna nowo stworzona baza!). Jeśli wszystko działa, to MySQL jest zainstalowany i skonfigurowany poprawnie.
Język PHP
Krok 4: instalacja serwera PHP
PHP to skryptowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistnym. Można go umieszczać razem z kodem HTML.
Należy zainstalować paczki: php
, php-pear
, php-mysql
oraz libapache2-mod-php
.
Następnie, w ramach testu, należy stworzyć plik info.php
oraz umieścić go w katalogu naszej uprzednio utworzonej strony WWW (hostowanej przez Apache 2). Plik powinien zawierać kilka linijek napisanych w języku PHP, np.:
<?php
echo "Ala ma kota";
phpinfo();
?>
Znaczniki <?php oraz ?> oznaczają początek oraz koniec skryptu PHP. Funkcja echo
działa podobnie jak w języku skryptowym bash, natomiast phpinfo()
wypisuje informacje o systemie.
Na koniec, by przetestować czy wszystko działa poprawnie, zrestartuj serwer Apache 2 i srawdź, czy strona wyświetlana jest poprawnie wpisując w przeglądarce adres: http://localhost/info.php .
System zarządzania treścią CMS
Krok 5: instalacja systemu Wordpress
System zarządzania treścią (ang. Content Management System, CMS) jesto to oprogramowanie pozwalające na proste tworzenie oraz późniejszą aktualizację serwisu WWW, umożliwiające dalszą rozbudowę przez redakcyjny personel nietechniczny. Dodawane informacje zapisywane są w bazie danych (najczęściej MySQL), a sam system napisany jest zwykle w języku PHP.
Wordpress, najpopularniejszy CMS na świecie, zaprojektowany jest głównie do obsługi blogów. Jest darmowy i rozpowszechniony na licencji GNU. Jeśli interesują Cię inne CMS możesz zerknąć tutaj: http://jakicmswybrac.pl/ .
- Ściągnij ze strony https://wordpress.org/download/ oraz rozpakuj w dowolnym katalogu paczkę Wordpress
- Wrzuć zawartość paczki do katalogu strony hostowanej przez serwer Apache 2.
- Skrypt instalacyjny można odpalić wchodząc na adres hostowanej strony (w zależności od użytych nazw, czy też miejsca wypakowania plików, np. http://localhost/wordpress).
- Podczas instalacji należy podać informacje związane z bazą danych gdzie będą przechowywane treści: należy podać nazwę użytkownika oraz nazwę bazy danych utworzonych uprzednio w zadaniu dotyczącym MySQL.
- W trakcie instalacji może się pojawić informacja o konieczności ręcznego utworzenia pliku tekstowego z konkretną zawartością. W takim wypadku należy wykonać zasugerowane kroki.
- Proszę zmodyfikować/dodać pierwszy wpis do nowo utworzonego bloga.