Pisałam ostatnio o tym jak można edytować projekt zdalnie, jednak doskonale wiem, że to nie jest najlepsze rozwiązanie i o wiele lepiej jest pracować na lokalnym serwerze a dopiero ukończoną wersję umieszczać na serwerze produkcyjnym. Do pracy na serwerze lokalnym potrzebny jest pakiet oprogramowania zwany w skrócie LAMP.
L jak Linux
A jak Apache (serwer http)
M jak MySQL
P jak PHP lub Python
Ostatnio uczę się Pythona i zamierzam w nim pracować jednak PHP nie zamierzam porzucać. Zatem i Python i PHP będą mi potrzebne. Ale po kolei. Linuksa już mamy, przynajmniej ja, w wersji Ubuntu 16.04 x64 (bardzo przyjemna dystrybucja).
Apache
Żeby zainstalować serwer apache wystarczy wykonać następujące instrukcje.
$ sudo apt-get update
$ sudo apt-get install apache2
Jeśli instalator poprosi o potwierdzenie przy instalacji pakietów śmiało należy dać komendę ‘Y’. I już po chwili możemy się cieszyć lokalnym serwerem. Żeby sprawdzić czy wszystko działa należy w przeglądarce wpisać: http://localhost/ or http://server-ip-address/, gdzie server-ip-address to numer ip naszego serwera i można go odczytać podając komendę:
$ ip route get 1 | awk ‘{print $NF; exit}’
albo:
$ hostname -I
Po wpisaniu któregoś z powyższych adresów zobaczymy w przeglądarce taki widok:
MySQL
Aby zainstalować system do obsługi bazy danych MySQL wystarczy komenda:
$ sudo apt-get install mysql-server mysql-client
Podczas instalacji pojawia się okno z prośbą o zdefiniowanie hasła roota (głównego użytkownika bazy z pełnymi uprawnieniami):
Zaraz po tem pojawia się drugie okno, w którym to hasło nalezy powtórzyć (zapobiega to literówkom i innym pomyłkom):
Po tym baza danych jest już zainstalowana. Żeby to sprawdzić wystarczy wykonać komendę:
$ sudo systemctl status mysql
Zobaczymy wtedy coś takiego:
mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since śro 2016-12-21 19:54:27 CET; 3h 51min ago
Process: 1102 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=ex
Process: 1096 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exit
Main PID: 1101 (mysqld)
CGroup: /system.slice/mysql.service
└─1101 /usr/sbin/mysqld
PHP
Czas na instalację PHP. Żeby skomunikować php z apache i bazą nalezy zainstalować kilka modułów, wystarczy w tym celu wykonać komendy:
$ sudo apt-get update
$ sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
Żeby wymusić instalację PHP7 należy wykonać komendy:
$ sudo apt-get update
$ sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7
Można sprawdzić jaka wersja php została zainstalowana. W tym celu wystarczy zapytanie:
$ php -v
Można też sprawdzić jakie dokładnie pakiety PHP zostały zainstalowane. W tym celu w katalogu /var/www/html tworzymy plik testphp.php:
$ sudo vi /var/www/html/testphp.php
Po otwarciu pliku w edytorze wpisujemy zawartość:
<?php phpinfo(); ?>
Wtedy w przeglądarce wystarczy wpisać adres: http://localhost/testphp.php żeby zobaczyć szczegółowe informacje na temat zainstalowanej dystrybucji PHP:
PhpMyAdmin
Skoro mamy już zainstalowany serwer http, baze danych i php, można przejść do instalacji phpMyAdmin, przeglądarkowego interfejsu ułatwiającego obsługę bazy MySQL. Ponieważ tak jak poprzednie pakiety jest on dostępny w repozytoriach Debiana wystarczy wykonać komendę:
$ sudo apt-get install phpmyadmin
Pojawi się seria okien pozwalających na połączenie z bazą danych i podstawową konfigurację. W pierwszym, jako webserwer należy wskazać zainstalowany wcześniej serwer apache2:
W drugim wystarczy potwierdzić konfigurację bazy danych.
W trzecim oknie należy podać hasło do MySQL, to samo, które ustawiliśmy instalując bazę.
W ostatnich dwóch trzeba podać i potwierdzić hasło do phpMyAdmin.
I to wszystko. Interfejs został zainstalowany i żeby z niego korzystać wystarczy wpisać w przeglądarce http://localhost/phpmyadmin/ i już można się logować.
Jeśli zamiast tradycyjnego panelu logowania do phpMyAdmin widzimy kod błędu 404 Not Found trzeba ręcznie poprawić konfigurację. W tedminalu otwieramy do edycji plik konfiguracyjny apache:
$ sudo nano /etc/apache2/apache2.conf
Następnie na koncu pliku dopisujemy linię:
Include /etc/phpmyadmin/apache.conf
Zapisujemy (ctrl+o), wychodzimy (ctrl+x) i restartujemy apache:
$ sudo systemctl restart apache2
Python
Większość dystrybucji Linuksa zawiera w sobie instaluje Pythona wraz z instalacją systemu. Żeby sprawdzić czy masz zainstalowanego Pythona i jaką jego wersję wystarczy wykonać zapytanie:
python -V
Żeby sprawdzić czy masz Pythona w wersj3 3 trzeba zapytać tak:
python3 -V
Gdyby się okazało, że Python nie został zainstalowany wystarczy komenda:
$ sudo apt-get install idle-python3.4
I to już cały LAMP potrzebny do pracy na lokalnym serwerze.
Nie wiem jak w Ubuntu 16.04, ale we wcześniejszych edycjach z powodzeniem można było wykorzystać jedno polecenie:
apt-get install lamp-server
:)
Bardzo możliwe, chociaż nie natknęłam się na tę informację szukając w sieci instrukcji. Siłą rzeczy już teraz nie sprawdzę ;)
Hej, w dzisiejszych czasach instalowanie wszystkiego na wlasnym hoscie to juz relikt i totalny zawalacz. Teraz mamy Docker – jedyne sluszne i dajace niesamowite mozliwosci rozwiazanie.
Male co nieco jak zaczac opisalem tutaj:
http://nospor.pl/docker-zaprzegamy-kontenery-do-pracy.html
zas w necie jest tego duzo duzo wiecej