Zawartość artykułu
Klon strony internetowej
Jeśli Twoja strona bazuje na którymś z popularnych skryptów jak WordPress czy PrestaShop (opartym o technologię PHP + MySQL) to możesz przy użyciu Twojego Ubuntu Linux 22.04 (inne wersje też się sprawdzą) uruchomić serwer lokalny. Następnie odpowiednio skonfigurować plik z hostami i z poziomu Twojego komputera możesz bez szkody dla bieżącej strony zainstalować inny szablon, dodatki lub wykonać inne eksperymenty na witrynie. Na Twoim komuterze będzie uruchomiony serwer Apache, na którym bez problemu będą działać tego typu systemy CMS.
Oto co potrzebujemy.
Instalacja serwera Apache
1 |
sudo apt install apache2 |
Po tej czynności wystarczy, że odwiedzisz adres: http://127.0.0.1/
Ukaże Ci się monit:
Od razu umożliwimy nadpisywanie adresów przez mod_rewrite:
1 2 |
sudo a2enmod rewrite sudo /etc/init.d/apache2 restart |
Instalacja MySQL
1 |
sudo apt install mysql-server |
Zaloguj się do serwera bazy danych jako root:
1 |
sudo mysql |
I wywolaj:
1 2 |
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TWOJE-HASŁO-TUTAJ'; mysql> exit |
Instalacja PHPmyADMIN:
1 |
sudo apt install phpmyadmin |
Wybierz domyślne ustawienia + przypisz hasło dla użytkownika phpmyadmin
Ważne, do PMA będziesz mógł/mogła się zalogować także jako root
Wywołaj:
1 |
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin |
Aby PMA był dostępny po adresie:
Instalacja PHP
W sumie bez interpretatora PHP nic Ci nie zadziała 🙂 Zatem wykonaj:
1 |
sudo apt install php libapache2-mod-php php-mysql |
Wersję PHP sprawdź za pomocą:
1 |
php -v |
Przykład:
1 2 3 4 |
PHP 8.1.2-1ubuntu2.13 (cli) (built: Jun 28 2023 14:01:49) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2-1ubuntu2.13, Copyright (c), by Zend Technologies |
Tworzenie wirtualnego hosta
1 |
cd /etc/apache2/sites-available/ |
1 |
sudo gedit strona.conf |
Wklej tam:
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> ServerName twoja-domena.pl ServerAlias www.twoja-domena.pl DocumentRoot "/var/www/strona" <Directory "/var/www/strona"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order Allow,Deny Allow from All </Directory> </VirtualHost> |
Aktywuj hosta:
1 |
sudo a2ensite strona.conf |
1 |
sudo /etc/init.d/apache2 restart |
Wgranie plików strony
Do folderu:
1 |
/var/www/strona |
Musisz wgrać kopie plikow Twojej strony. Najlepiej zmień uprawnienia aby to zrobić i aby skrypty PHP mogły zapisywać w folderach.
Tworzymy folder:
1 |
sudo mkdir -p /var/www/strona |
Stosujemy uprawnienia:
1 |
sudo chmod 777 /var/www/strona -R |
1 |
sudo chown {TWÓJ-USER-W-UBUNTU} /var/www/strona -R |
Po wgraniu plików strony warto ponowić ww. komendy z ustawianiem uprawnień. Wtedy bez przeszkód skrypty będą mogły wgrywać pliki lub je nadpisywać.
Lokalne wskazanie domeny przez plik z hostami
Po tej czynności przeglądarki internetowe będą wskazywać na host wirtualny z pominięciem sieci Internet. Wręcz nie będziemy potrzebować aktywnego łącza internetowego (możemy pracować off-line) aby strona z klonem zadziałała.
Aby to zrobić na końcu tego pliku:
1 |
/etc/hosts |
Wklej:
1 |
127.0.0.1 twoja-domena.pl www.twoja-domena.pl |
czyli wywołaj:
1 |
sudo gedit /etc/hosts |
i tam to doklej powyższą linijkę.
Zapisz plik + przeładuj Apache’a:
1 |
sudo /etc/init.d/apache2 restart |
Końcowa konfiguracja
Oczywiście pozostaje naniesienie odp. uprawnień w pliku do łączenia z MySQL i wgranie zrzutu bazy.
Bazę wgrasz przez komendę:
1 |
mysql -uroot -p{HASŁO-MYSQL} nazwa-bazy < plik-zrzutu.sql |
Przy odrobinie trudu i wprawy – możemy cieszyć się kopią naszego WordPressa na którym możemy działać jak na poligonie bez szkody na bieżącą stronę.
Podczas instalacji WordPress może być konieczna dodatkowa zmienna globalna aby instalować nowe wtyczki:
WordPress – problem przy instalacji nowej wtyczki lub aktualizacji – prośba o połączenie FTP
Oczywiście aby „prawdziwa” strona zadziałała ponownie – musimy zakomentować lub usunąć wpis w
1 |
/etc/hosts |
Poprzez poprzedzeznie go hashem:
1 |
#127.0.0.1 twoja-domena.pl www.twoja-domena.pl |
grafika: pexels.com