Debian 9 LAMP linux apache (http2) php 5.6/7.0/7.1/7.2/7.3 (php-fpm) mariadb + phpmyadmin + brotli

edited April 2019 in Web serveriai
LAMP linux apache (su http2 palaikymu) php 5.6/7/7.1/7.2/7.3 (php-fpm) mariadb + phpmyadmin + brotli Debian 9 aplinkoje diegimas.
PATARIAMA diegiant LAMP jeigu slaptažodyje naudojate skaičius - juos vesti naudojant viršutinę klaviatūros dalį ir įsitikinti, kad NĖRA nustatyta kokia nors kalba, kuri skaičius pakeičia kitomis reikšmėmis (pvz Lietuvių).
Mysql duomenų bazę galėsite valdyti per phpMyAdmin kurį pasieksite per šią nuorodą: http://serverio_ip/phpmyadmin (serverio_ip pakeiskite į Jūsų VPS serverio IP adresą).
Normaliam veikimui LAMP reikalauja bent 1 GB laisvos RAM atminties.
Pasijungus per putty (Kaip pasijungti per putty) vedame šias komandas kad atnaujinti visus esamus paketus (Jeigu serveris turi jau įdiegtų paketų ir tai nėra naujai ruošiamas serveris vykdant apt upgrade bei apt dist-upgrade komandas įsitikinkite ar po šių komandų Jūsų jau įdiegti servisai veiks):

apt update
apt upgrade apt dist-upgrade

Kadangi php-fpm standartiniuose repozitoriuose (main) nėra įsitikinkite, kad turite aktivave contrib ir non-free repozitorius (Kaip tvarkyti repozitorius galite paskaityti užėje čia). VPSnet.lt vartotojiems šių veiksmų atlikti nereikia.
Patikrinti ar aktyvuoti contrib ir non-free repozitoriai galima su šia komanda:

cat /etc/apt/sources.list | grep "contrib\|non-free"

Jeigu gausite kokį nors atsakymą vadinasi repozitoriai aktyvuoti.
Kadangi standartiškai Debian 9 palaiko tik php 7.0 diegiame papildomą repozitorių (Daugiau informacijos kas yra Repozitoriai bei kaip juos tvarkyti galima rasti čia), kad galėtumėme pasirikti kokią php versiją norime įdiegti, o taip pat ir papildomus repozitorius apache2 bei backportus, kad galėtumėme įdiegti http2 bei brotli palaikymą

apt install ca-certificates apt-transport-https
echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list
echo "deb https://packages.sury.org/apache2/ stretch main" > /etc/apt/sources.list.d/apache.list
echo "deb http://mirror.vpsnet.com/debian stretch-backports main" >> /etc/apt/sources.list
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
wget -q https://packages.sury.org/apache2/apt.gpg -O- | sudo apt-key add - apt update apt upgrade

Pasirinkite vieną versiją

Diegiame LAMP su php 5.6 bei phpmyadmin

apt install apache2 mysql-server php5.6-fpm php5.6-gd php5.6-curl php5.6-mbstring php5.6-xml php5.6-mysql php5.6-cli php5.6-common php5.6-json php5.6-readline phpmyadmin brotli libbrotli-dev

Diegiame LAMP su php 7.0 bei phpmyadmin

apt install apache2 mysql-server php7.0-fpm php7.0-gd php7.0-curl php7.0-mbstring php7.0-xml php7.0-mysql php7.0-cli php7.0-common php7.0-json php7.0-readline phpmyadmin brotli libbrotli-dev

Diegiame LAMP su php 7.1 bei phpmyadmin

apt install apache2 mysql-server php7.1-fpm php7.1-gd php7.1-curl php7.1-mbstring php7.1-xml php7.1-mysql php7.1-cli php7.1-common php7.1-json php7.1-readline phpmyadmin brotli libbrotli-dev

Diegiame LAMP su php 7.2 bei phpmyadmin

apt install apache2 mysql-server php7.2-fpm php7.2-gd php7.2-curl php7.2-mbstring php7.2-xml php7.2-mysql php7.2-cli php7.2-common php7.2-json php7.2-readline phpmyadmin brotli libbrotli-dev

Diegiame LAMP su php 7.3 bei phpmyadmin

apt install apache2 mysql-server php7.3-fpm php7.3-gd php7.3-curl php7.3-mbstring php7.3-xml php7.3-mysql php7.3-cli php7.3-common php7.3-json php7.3-readline phpmyadmin brotli libbrotli-dev
BŪTINAI SU SPACE KLAVIŠU PASPAUDŽIAME TIES APACHE2 IR TĘSIAME TIK TADA KAI ĮSITIKINAME, KAD APACHE2 PAŽYMĖTA


Diegiant toliau paprašys sukonfiguruoti duombazę phpmyadmin valdymo panelei, pasirodžiusiame lange užeiname ant Yes ir spaudžiam enter



Vedame phpmyadmin aplikacijos slaptažodį (galima vesti tą patį mysql root slaptažodį)


Pakartojame tą patį slaptažodį



LAMP įdiegtas dabar konfiguruojame, kad viskas veiktu kaip priklauso.
Visu pirma reikia sutvarkyti mariadb serverio saugumą ir tai galima padaryt su komanda

mysql_secure_installation

Įvedus šią komandą reikės spausti tokias reikšmes:
Enter current password for root (enter for none): Nieko neveskite (spauskite enter) nes tik instaliuotas mariadb neturi slaptažodžio
Set root password? [Y/n] Spauskite y ir enter
New password: Įveskite skaptažodį ir spauskite enter (TURĖKITE OMENYJE, KAD VEDANT SLAPTAŽODĮ SIMBOLIAI *** NEATSIRANDA, BET VESKITE SLAPTAŽODĮ NEKREIPIANT DĖMESIO Į TAI)
Re-enter new password: Pakartokite slaptažodį ir spauskite enter (TURĖKITE OMENYJE, KAD VEDANT SLAPTAŽODĮ SIMBOLIAI *** NEATSIRANDA, BET VESKITE SLAPTAŽODĮ NEKREIPIANT DĖMESIO Į TAI)
Remove anonymous users? [Y/n] Spauskite y ir enter
Disallow root login remotely? [Y/n] Spauskite y ir enter
Remove test database and access to it? [Y/n] Spauskite y ir enter
Reload privilege tables now? [Y/n] Spauskite y ir enter
Saugumas sukonfiguruotas, dabar reikia sukurti vartotoją prie kurio galėsite prisijungti per phpmyadmin nes standartiškai mariadb prie root vartotojo prisijungti neleidžia
Jungiamės prie mariadb serverio:

mysql -u root -p

įvedus šią komandą Jūsų paprašys slaptažodžio Enter password: Įveskite slaptažodį tą patį kurį nustatėte naudodami mysql_secure_installation komandą (TURĖKITE OMENYJE, KAD VEDANT SLAPTAŽODĮ SIMBOLIAI *** NEATSIRANDA, BET VESKITE SLAPTAŽODĮ NEKREIPIANT DĖMESIO Į TAI)
Pasijungus į mariadb matysite panašų vaizdą:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 21
Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]>

Kuriame duomenų bazę:

CREATE DATABASE aloha;

Kuriame vartotoją:

CREATE USER 'VARTOTOJAS'@'localhost' IDENTIFIED BY 'SLAPTAŽODIS';

Komandoje su kuria kūriate vartotoją jums reikia pakeisti VARTOTOJAS į norimą vartotojo vardą (pamokoje naudosime admin) ir SLAPTAŽODIS į norimą nustatyti vartotojui slaptažodį (pamokoje naudosima labas (Turėkite omenyje, kad tokius lengvus slaptažodžius naudoti negalima nes tokiu atveju yra labai lengva įsilaužti))

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'labas';

Dabar reikia suteikti admin vartotojui kurį katik sukūrėme visas teises prie duombazės aloha kurią sukūrėme seniau:

GRANT ALL PRIVILEGES ON aloha.* to 'admin'@'localhost';

Jeigu norite sukurtam vartotojui suteikti teises prie visų duombazių ir sukurti kažką panašaus kaip senesnėse versijose buvo root vartotojas - komanda būtu tokia:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

Ir perkrauti privilegijas bei įšeiti iš mariadb:

FLUSH PRIVILEGES;
quit

Dabar galite prisijungti prie phpmyadmin su katik sukurtu vartotoju (jeigu naudoti pamokoje nurodytus prisijungimo duomenys tai būtu - prisijungimo vardas: admin slaptažodis: labas)
Duombazės serveris mariadb pilnai sutvarkytas.

Aktyviname proxy_fcgi setnenvif actions bei php-fpm palaikyma
Jeigu php 5.6

a2enmod proxy_fcgi setenvif actions http2 brotli
a2enconf php5.6-fpm

Jeigu php 7.0

a2enmod proxy_fcgi setenvif actions http2 brotli
a2enconf php7.0-fpm

Jeigu php 7.1

a2enmod proxy_fcgi setenvif actions http2 brotli
a2enconf php7.1-fpm

Jeigu php 7.2

a2enmod proxy_fcgi setenvif actions http2 brotli
a2enconf php7.2-fpm

Jeigu php 7.3

a2enmod proxy_fcgi setenvif actions http2 brotli
a2enconf php7.3-fpm

Perkrauname apache serverį (galima daryti pilną perkrovimą su komanda systemctl restart apache2)

systemctl reload apache2

Viskas, apache, php, php-fpm, mysql-server bei phpmyadmin įdiegtas
Į phpmyadmin galite pasijungti per nuorodą http://VPS_IP/phpmyadmin 
Svetainės failus laikyti reikia /var/www/html/ direktorijoje kuriuos galite įkelti naudojant winscp (Kaip pasijungti naudojant winscp), filezilla (Kaip prisijungti naudojant filezilla) ar kitas programas

Sign In or Register to comment.