Pełna instalacja serwera LAMP Linux, Apache, MySql, PHP Debian 8
Ten poradnik opisuje jak kompleksowo zainstalować serwer LAMP czyli podstawowe usługi Apache, MySql, PHP oraz phpmyadmin.
Prok po kroku dokonamy instalacji wszystkich pakietów.
Zaczynamy od ustawienia poprawnego hostname serwera:
1 | nano /etc/hosts |
I edytujemy
1 2 3 4 5 6 7 | 127.0.0.1 localhost.localdomain localhost 94.130.246.172 node.serwerweb.pl node # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters |
Interesuje nas ta pogrubiona linijka.
Adresu IP nie ruszamy dokonujemy jedynie zmiany hostname jakim będzie widoczny nasz serwer.
Edytujemy również plik:
1 | nano /etc/hostname |
I zmieniamy na
1 | node.serwerweb.pl |
W celu zmian w całym systemie restartujemy serwer poleceniem:
1 2 | reboot |
sprawdzamy poprawność ustawionego hostname:
1 2 | hostname hostname -f |
Obydwa polecenia powinny nam zwrócić tą sąmą wartość:
node.serwerweb.pl
1 2 3 4 | root@node:/tmp# hostname node.serwerweb.pl root@node:/tmp# hostname -f node.serwerweb.pl |
Następnie wykonujemy aktualizację systemu:
1 2 | apt-get update apt-get upgrade |
Instalujemy silnik baz danych mariadb bądź mysql
MariaDB:
1 | apt-get -y install mariadb-server mariadb-client |
Mysql:
1 | apt-get install mysql-server mysql-client |
Instalator poprosi nas o ustalenie hasła do bazy.
Podajemy je dwukrotnie.
Instalujemy serwer www w tym wypadku Apache
1 | apt-get -y install apache2 |
Instalacja PHP:
1 | apt-get -y install php5 libapache2-mod-php5 |
Następnie wykonujemy restart apache aby moduły php zaczęły być widoczne.
1 | service apache2 restart |
Aby sprawdzić poprawność pracy php tworzymy plik phpinfo
1 | nano /var/www/html/info.php |
o zawartości:
1 | <!--?php phpinfo(); ?--> |
Po przejściu na stronę
1 | http://ADRESIP/info.php |
Powinniśmy zobaczyć stronę z informacjami o php:
Kolejnym krokiem jest dogranie modułów php do mysql i mariadb, przeszukujemy repozytorium:
1 | apt-cache search php5 |
1 | apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl |
I restart apache:
1 | service apache2 restart |
Instalacja APC Cache:
1 | apt-get install php5-apcu |
I restart apache:
1 | service apache2 restart |
Jak widać na poniższym obrazku moduły zostały pomyślnie zainstalowane widać je w phpinfo
Ostatnim krokiem jest instalacja PHPMYADMIN fraficzny interfejs zarządzania bazami danych napisany w php.
1 | apt-get -y install phpmyadmin |
I odpowiadamy na pytania w instalatorze:
1 2 3 4 | Web server to reconfigure automatically: <-- apache2 Configure database for phpmyadmin with dbconfig-common?<-- Yes Password of the database's administrative user: <-- Podajemy wcześciej ustalone hasło przy instalacji mysql/mariadb MySQL application password for phpmyadmin: <-- Ponownie podajemy hasło ustalone wcześniej |
PhpMyAdmin dostępny jest pod adresem:
1 | http://ADRESIPSERWERA/phpmyadmin |
To wszystko mamy w pełni działający serwer www z mysql 😉
Nie mogę zaisntalować mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
│ '/var/run/mysqld/mysqld.sock’ (111)
dwa dni googlowania problemu i nic.
Wygląda jak byś zgubił hasło mysql
Spróbuj dokonać reinstalacji:
yum remove mysql
yum -y install mariadb-server mariadb
service mariadb start
Potem logujesz się do serwera mysql poleceniem:
mysql -u root -p
Która z tych dwóch linii jest pogrubiona bo jak dla mnie to żadna z nich
127.0.0.1 localhost.localdomain localhost
94.130.246.172 node.serwerweb.pl node
poza tym. Czy „localhost.localdomain localhost” mam zamienić na nazwę własnego kompa np.: „mojkomp.localdomain mojkomp” czy pozostawić to nienaruszone? A w linii poniżej mam wpisać dokładnie ten adres IP jaki został podany w przykładzie czyi 94.130.246.172 czy może mój adres zewnętrzny IP ? Następnie mam podać adres serwera node.serwerweb.pl bez zmian czy może powinienem to zmienić na swoją domenę mojadomena.pl? Jak dla mnie za dużo niejasności w tej instrukcji i może to tylko zrozumieć ktoś, komu ta instrukcja w zasadzie nie jest potrzebna albo, ktoś, kto nie myśli i przepisuje wszystko w czambuł a potem zastanawia się dlaczego nie działa. Przepraszam jeśli moje wątpliwości kogoś śmieszą lub drażnią ale chciałbym to zrozumieć i zrobić poprawnie.