Ubuntu 20.04 LAMP linux apache php 5.6/7.0/7.1/7.2/7.3/7.4/8.0/8.1 (php-fpm) mysql + phpmyadmin
LAMP linux apache (su http2 palaikymu) php 5.6/7.0/7.1/7.2/7.3/7.4/8.0/8.1 (php-fpm) mariadb + phpmyadmin + brotli ubuntu 20.04 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 standartiškai Ubuntu 20.04 palaiko tik php 7.4 diegiame du papildomus repozitorius (Daugiau informacijos kas yra Repozitoriai bei kaip juos tvarkyti galima rasti čia), kad galėtumėme pasirinkti kokią php versiją norime įdiegti bei veiktu naujas http2 protokolas
apt install software-properties-common add-apt-repository ppa:ondrej/php add-apt-repository ppa:ondrej/apache2 add-apt-repository ppa:phpmyadmin/ppa apt update apt upgrade
Pasirinkite vieną versiją
Diegiame LAMP su php 5.6 bei phpmyadmin
Diegiame LAMP su php 7.0 bei phpmyadmin
Diegiame LAMP su php 7.1 bei phpmyadmin
Diegiame LAMP su php 7.2 bei phpmyadmin
Diegiame LAMP su php 7.3 bei phpmyadmin
Diegiame LAMP su php 7.4 bei phpmyadmin
Diegiame LAMP su php 8.0 bei phpmyadmin
Diegiame LAMP su php 8.1 bei phpmyadmin
Diegiame LAMP su php 5.6 bei phpmyadmin
apt install apache2 mariadb-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 libapache2-mod-fcgid libapache2-mod-php5.6
apt install apache2 mariadb-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 libapache2-mod-fcgid libapache2-mod-php7.0
Diegiame LAMP su php 7.1 bei phpmyadmin
apt install apache2 mariadb-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 libapache2-mod-fcgid libapache2-mod-php7.1
Diegiame LAMP su php 7.2 bei phpmyadmin
apt install apache2 mariadb-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 libapache2-mod-fcgid libapache2-mod-php7.2
Diegiame LAMP su php 7.3 bei phpmyadmin
apt install apache2 mariadb-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 libapache2-mod-fcgid libapache2-mod-php7.3
Diegiame LAMP su php 7.4 bei phpmyadmin
apt install apache2 mariadb-server php7.4-fpm php7.4-gd php7.4-curl php7.4-mbstring php7.4-xml php7.4-mysql php7.4-cli php7.4-common php7.4-json php7.4-readline phpmyadmin brotli libbrotli-dev libapache2-mod-fcgid libapache2-mod-php7.4
Diegiame LAMP su php 8.0 bei phpmyadmin
apt install apache2 mariadb-server php8.0-fpm php8.0-gd php8.0-curl php8.0-mbstring php8.0-xml php8.0-mysql php8.0-cli php8.0-common php8.0-bcmath php8.1-mcrypt php8.0-json php8.0-readline phpmyadmin brotli libbrotli-dev libapache2-mod-fcgid libapache2-mod-php8.0
Diegiame LAMP su php 8.1 bei phpmyadmin
apt install apache2 mariadb-server php8.1-fpm php8.1-gd php8.1-curl php8.1-mbstring php8.1-xml php8.1-mysql php8.1-cli php8.1-common php8.1-bcmath php8.1-mcrypt php8.1-readline phpmyadmin brotli libbrotli-dev libapache2-mod-fcgid libapache2-mod-php8.1
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 60
Server version: 10.1.38-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
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)]>
Your MariaDB connection id is 60
Server version: 10.1.38-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
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ę (Nebūtina):
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 suteitki vartotojui teises prie visų duombazių naudokite sekančiame punkte esančią komandą
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 http2 brotli bei php-fpm palaikyma
Jeigu php 5.6
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi
a2enconf php5.6-fpm
Jeigu php 7.0
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php7.0-fpm
Jeigu php 7.1
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php7.1-fpm
Jeigu php 7.2
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php7.2-fpm
Jeigu php 7.3
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php7.3-fpm
Jeigu php 7.4
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php7.4-fpm
Jeigu php 8.0
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php8.0-fpm
Jeigu php 8.1
a2enmod proxy_fcgi setenvif actions http2 brotli proxy_fcgi a2enconf php8.1-fpm
Perkrauname apache serverį (galima daryti pilną perkrovimą su komanda service apache2 restart)
systemctl restart apache2
Jeigu phpmyadmin neveikia su klaida:
Error in processing request
Error code: 500
Error text: Internal Server Error (rejected)
It seems that the connection to server has been lost. Please check your network connectivity and server status.
Tai yra dėl to, kad phpmyadmin repozitoriuose neatnaujintas ir laikinas pataisymas būtu toks:
Tai yra dėl to, kad phpmyadmin repozitoriuose neatnaujintas ir laikinas pataisymas būtu toks:
sed -i -e 's/newInstanceArgs($arguments)/newInstanceArgs(array_values($arguments))/g' /usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php && cat /usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php | grep "newInstanceArgs"
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